Current Situation Analysis
- Private Cloud
- Large K8s clusters (~1000 cores, ~1000 GB in Memory, TB-scale storage)
- Challenges:
- Limited scaling capabilities
- H/A limitations
- Network stability issues
- Difficult system upgrades
- Higher storage costs (60% more than AWS)
- But good compute costs (1/3 of AWS)
Architecture Plan
Distribution Strategy
Firstly, we start with distribution strategy, with simpliest approach: keep primary infrastructure on premise (private cloud) and AWS as a secondary choice
Purpose for private cloud
- Keep compute-intensive workloads
- Keep data that must remain in region due to compliance
- Maintain current advantages of lower compute costs
Purpose for Secondary Cloud (AWS)
- DR (Disaster Recovery) site
- Storage-heavy workloads
- Stateless applications that need auto-scaling
- Database replicas for HA
Component
With common approach of infra structure on new adopted private cloud, we assume that: they do not have many managed service, just based on several common component:
- network
- k8s cluster
- some docker cluster to install database storage (sql, redis)
- block storage
Network
Refer to Network
Kubenetes
Refer to Kubenetes Setup
Database
database on multi-cloud/multi-datacenter