moving from monolith to microservices
TRANSCRIPT
![Page 1: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/1.jpg)
Webinar October 20th, 2016
How to move from Monolith to Microservices
![Page 2: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/2.jpg)
Who are the speakers?
Dimitris “Dimo”
Moraitis
● Mist.io
● Co-founder and CTO
DeWayne Filppi
● Cloudify
● Sr. Architect, office of
the CTO
2
![Page 3: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/3.jpg)
Agenda
● Why microservices?
● Architecture principles
● Mist.io use case
● Management pain points
● Tools demo
● Q&A
3
![Page 4: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/4.jpg)
Why Microservices? ● Scalability + uptime
● Security
● Faster dev., testing, and bug fixes
● A new management paradigm
4
![Page 5: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/5.jpg)
When should you consider microservices?
Is it just about scalability?
5
![Page 6: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/6.jpg)
Why Kubernetes for container orchestration?
Mesos ● Stability● Momentum● Active community● Easier to conf. adv. use cases● Delivering on promise
6
Docker Swarm
Kubernetes
![Page 7: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/7.jpg)
Microservices - What’s the reality?
7
“It’s not a state it’s a journey”
![Page 8: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/8.jpg)
Architecture Principles
8
● Make services stateless
● Design for monitoring in
mind
● Prepare for failure
● Prepare for eventual
consistency
● Keep services and teams
small, let them design their
own structures
![Page 9: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/9.jpg)
Mist.io Use Case9
![Page 10: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/10.jpg)
Mist.io Use Case
Deploying code Before● Could be scary, no easy
way to roll back ● Manual w/ lots of steps ● Error prone
10
CI / automation
Scaling infrastructure
Infrastructure configuration
After● Predictable, easy to rollback● Faster, less work● Automated - using k8s to
map and automate steps
![Page 11: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/11.jpg)
Mist.io Use Case
Deploying code Before● Used Jenkins - not
friendly, time consuming, bad UI, and hard to configure, and bad syntax
● Maintained by QA team
11
CI / automation
Scaling infrastructure
Infrastructure configuration
After● Use GitLab - easier to use
with less friction● Easier to implement more
advanced workflows● Workflows are part of
development process
![Page 12: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/12.jpg)
Mist.io Use Case
Deploying code Before● Time consuming● Limited; not optimal● Manual/semi automated
provisioning● Machines under utilized
12
CI / automation
Scaling infrastructure
Infrastructure configuration
After● Can scale seamlessly ● Serve more users and pay
less for infrastructure ● 50% costs reduction
![Page 13: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/13.jpg)
Mist.io Use Case
Deploying code Before● Server “pets”; manual
administration● Deploy code to each
server● Configure servers to
become part of deployment
● AWS; 8 XL instances
13
CI / automation
Scaling infrastructure
Infrastructure configuration
After● Elastic k8s clusters; ● Just add nodes, Kubernetes
orchestrates and schedules app using available nodes
● 12 medium instances
![Page 14: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/14.jpg)
Kubernetes Management Challenges
14
● Provisioning a cluster
● Healing (HA)
● Scaling a cluster
● Auto scaling
● Monitoring
![Page 15: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/15.jpg)
Dev & Testing Challenges w/ k8s
15
● Development
○ Local development w/
k8s
○ Local dev w/out K8s
● Testing
○ Kubernetes
○ Stress testing
○ Automation /
autoscaling
![Page 16: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/16.jpg)
What was gained?● Reduced infrastructure costs by 50% due to better
utilization
● Better scalability of app, infrastructure, and dev
team
● Better reliability of app
● Predictable deployments w/ no downtime
● Streamlined QA process
![Page 17: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/17.jpg)
Demos
17
● Mist.io’s Cloudify as a Service -
Kubernetes blueprint
● Cloudify Kubernetes blueprint
![Page 18: Moving from Monolith to Microservices](https://reader031.vdocuments.net/reader031/viewer/2022021503/586e8d1a1a28aba0038b8741/html5/thumbnails/18.jpg)
Q&AMist.io
● Mario Olivarez - [email protected]
Create a Kubernetes lab and test environment - FREE account. Sign up at Mist.io
18
Cloudify Webinar Series
● getcloudify.org/webinars.html