際際滷

際際滷Share a Scribd company logo
Journey to a multi-tenant e commerce solution in the cloud with Kubernetes - AWS Loft Bucharest
Journey to a multi-tenant
eCommerce solution in the
cloud with Kubernetes
Vlad Stnescu
CTO & Founder @ Blugento
Former CEO & Founder @ MindMagnet
@VladStanescu
Adrian Balcan
DevOps @ Blugento
10 yrs experience in DevOps
@Adrian_Balcan
Journey to a multi-tenant e commerce solution in the cloud with Kubernetes - AWS Loft Bucharest
 Monolith PHP application
 Relies on local storage
 Not built for cloud
WHAT WE DO / Application
 Deploy with one command
 Upgrade with one command
 Run application in isolated environment
GOAL PRODUCT MARKET FIT
THE STONE AGE / Requirements
THE STONE AGE / The Setup
THE STONE AGE / Deployment
 Individual git repos for each module
 Deploy with Git Pull
 Core modules on create, optional modules added manually
 Manual update of modules
THE STONE AGE / The Problem
 Does it work
 Isolated
 Resilient
 Scalable
 Affordable
 Maintainable
 Manageable
 Monitoring
  YES
  YES
  NO
  NO
  NOT with scale
  NOT really
  Somewhat
  NOT really
Product Market Fit Match!
Time for next step
NEW SETUP / Requirements Checklist
 No single point of failure
 Namespace isolation
 Cost efficient (low load => low cost)
 Centralized management
 PaaS MySQL
 PaaS Filesystem
 PaaS DNS
1.0
AWS Architecture
1.0
Kubernetes Architecture
1.0
AWS Architecture - KOPS
Advantages
 Best option to deploy Kubernetes on AWS
 Infrastructure as code
 Ease of deployment
 Ease of management
 Flexibility of Kubernetes version
Challenges
 Self-management of Masters
 ETCD know-how
1.0
Deployment
1.0
Deployment
1.0
Whats Great
 No single point of failure
 Stable & Scalable
 Centralised Management
ToDo
 Monitoring
Issues & Problems
 ElastiCache instability/latency due to multi-db
 EFS mount problems
 Networking
 Manual SSL certificate management
2.0
AWS Architecture
2.0
Kubernetes Architecture
2.0
Whats Great
 More Stable & Scalable
 Monitoring
ToDo
 Enhance monitoring
 Improve Logging performance
Issues & Problems
 Autoscaler
 Networking
 Heavy linux distribution and scaling (minor)
3.0
AWS Architecture
3.0
Kubernetes Architecture
MONITORING
 Access Logs (with time)
 Pods
 CPU
 Memory
 IO
 Nodes/Cluster
 CPU
 Memory
 IO
 Networking
 MySQL Queries
 Admin audit trail
3.0
Whats Great
 More Stable & Scalable
 Great Monitoring and Logging
 CentOS distribution
Issues & Problems
 Multi-account EFS
THE FUTURE
Blugento 2.0 Application
 Upgrade from Magento 1 to Magento 2
 Implement frontend in PWA
 Microservice oriented approach
 Serverless components
 No more local storage
NEXT
Kubernetes Architecture - Frontend
NEXT
AWS Architecture
NEXT
Kubernetes Architecture
Backend Application
NEXT
Build Process
NEXT
CONCLUSIONS
CONCLUSIONS
 New technologies are painful
  but worth it
 Use PaaS wherever possible
 Infrastructure as code
 Monitoring is key
 Automate everything
 Pay attention to Limits & Costs
o EFS/EBS IOPS & Burst Balance
o Network traffic costs
o Aurora IOs
o CloudWatch costs
o EFS, S3 count limit (soft and hard)
Thank you!
Vlad Stnescu
CTO & Founder @ Blugento
Former CEO & Founder @ MindMagnet
@VladStanescu
Adrian Balcan
DevOps @ Blugento
10 yrs experience in DevOps
@Adrian_Balcan

More Related Content

Journey to a multi-tenant e commerce solution in the cloud with Kubernetes - AWS Loft Bucharest