moving from monolith to microservices

18
Webinar October 20th, 2016 How to move from Monolith to Microservices

Upload: mistio

Post on 16-Apr-2017

229 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Moving from Monolith to Microservices

Webinar October 20th, 2016

How to move from Monolith to Microservices

Page 2: Moving from Monolith to Microservices

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

Agenda

● Why microservices?

● Architecture principles

● Mist.io use case

● Management pain points

● Tools demo

● Q&A

3

Page 4: Moving from Monolith to Microservices

Why Microservices? ● Scalability + uptime

● Security

● Faster dev., testing, and bug fixes

● A new management paradigm

4

Page 5: Moving from Monolith to Microservices

When should you consider microservices?

Is it just about scalability?

5

Page 6: Moving from Monolith to Microservices

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

Microservices - What’s the reality?

7

“It’s not a state it’s a journey”

Page 8: Moving from Monolith to Microservices

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

Mist.io Use Case9

Page 10: Moving from Monolith to Microservices

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

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

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

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

Kubernetes Management Challenges

14

● Provisioning a cluster

● Healing (HA)

● Scaling a cluster

● Auto scaling

● Monitoring

Page 15: Moving from Monolith to Microservices

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

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

Demos

17

● Mist.io’s Cloudify as a Service -

Kubernetes blueprint

● Cloudify Kubernetes blueprint

Page 18: Moving from Monolith to Microservices

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