Greenstand's setup on Digital Ocean includes the following components:
- We have 4
load balancers
to help manage the traffic. - There are 37
Kubernetes nodes
in total on the load balancers - Our environments are organized using 6
Digital Ocean Spaces
. - We operate across two
locations
: sfo2 and nyc3. - We use 8 different
domains for our services
. - Our system runs on 2
Kubernetes clusters
. - 3
database clusters
are used to provide the PostgreSQL database services
Data Analytics:
Big Data Processing: For analytics and reporting, Greenstand utilizes Apache Kafka
for stream processing, which feeds into a data warehouse for deeper analysis.
Image Processing
One of the view computing tasks and cloud services that is not running on Digital Ocean is the Image Processing mainly due to a legacy architecture decision.
Authentication:
Greenstand is in the process of implementing a holistic authentication solution with Keycloak
at its core. The currently used OAuth2.0
and JWT
will be replaced by this versatile open source solution.
Data Encryption:
All data, both at rest and in transit, is encrypted using industry-standard encryption protocols to ensure privacy and compliance.
CI/CD Pipelines:
Automated pipelines are implemented using Jenkins
, which facilitates continuous integration and deployment across development, testing, and production environments.
Monitoring and Logging:
Prometheus
and Grafana
are used for monitoring the health of the services, while ELK Stack
is employed for logging and debugging.
Code Quality and Testing Tools
Greenstands developer base utilities Jest
as automated testing tool, ESlint
as Coder linter, Prettier
as code formatting tool and Husky to manage pre-commit git hooks.
Automation
We use a self managed Airflow
instance for automating maintenance, migrations and other backend related tasks
Project Management
In 2023 Open Project
kindly gave Greenstand a full license to support our mission. This runs on an individual droplet on Digital Ocean.
The future
DigitalOcean plays a crucial role as the sole infrastructure provider for Greenstand. The use of DigitalOcean Kubernetes ensures high availability and scalability of services, which is critical for the global scope of Greenstand's operations. The simplicity and reliability of DigitalOcean’s solutions, combined with robust support and extensive documentation, empower Greenstand to focus more on its mission rather than the complexities of infrastructure management.