Skip to content

Latest commit

 

History

History
92 lines (76 loc) · 2.19 KB

README.md

File metadata and controls

92 lines (76 loc) · 2.19 KB

WildFire

Designing scalable, performant and high fault tolerance system that scales to handle high(m's) load.

Motivation
Aim to discuss system and software design patterns and implement DevOps friendly example scenario following proposed principles.

Principles of Distributed System Design (In progress)

not in particular order

  • High-availability
  • Performance
  • Scalability
  • Manageability
  • Reliability
  • Cost

TODO: summary

Components (In progress)

Example Scenario Suggestions

  • Realtime Backend as a Service
  • E-Commerce
  • Messaging service for online gaming
  • ...

Example scenario (In progress)

E-Commerce

Sample application is cross-platform either at the server and client side and the architecture proposes a simplified microservice oriented architecture implementation with multiple autonomous microservices (each one owning its own data/db and of course we will be discussing pros/cons later on) and implementing different approaches within each microservice using different programming languages.

Sample (In progress)

Application Architecture

#TODO

CI/CD (In progress)

Everything will be implemented as "Pipeline as Code"

#TODO

Infrastructure (In progress)

Kubernetes on AWS will be used (There is a plan to create Terraform templates for other vendors if I have time.)

Cluster provisioning
AWS integration
Ingress
Cluster autoscaling
OAuth/IAM
Operations/monitoring

Steps

  • Create ectd cluster seperately
  • Use kops to create Kubernetes cluster on AWS
  • TODO:

#TODO

License @MIT