Greenstand's setup on Digital Ocean includes the following components:
- We have 4
load balancersto help manage the traffic. - There are 37
Kubernetes nodesin 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 clustersare 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.