Greenstand Architecture Walkthrough

Since day 1 Greenstand has counted on Digital Ocean as a solid and reliable cloud provider.

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.