containers, devops, apache mesos and cloud · introducing apache mesos program against your...

39
Containers, DevOps, Apache Mesos and Cloud Reshaping how we develop and delivery software https://twitter.com/marceloancelmo Marcelo Sousa Ancelmo [email protected] [email protected] marceloancelmo http://www.slideshare.net/marceloancelmo https://www.linkedin.com/in/marceloancelmo

Upload: others

Post on 17-Jul-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Containers, DevOps, Apache Mesos and CloudReshaping how we develop and delivery software

https://twitter.com/marceloancelmo

Marcelo Sousa [email protected]@gmail.com

marceloancelmo

http://www.slideshare.net/marceloancelmo

https://www.linkedin.com/in/marceloancelmo

Page 2: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Are your application ready?

Page 3: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Decompose the applications into self-contained services

Be stateless (As much as possible)

NFR's are king, be aware on latency, throughput, etc...

Expect an impact on your application architecture

Fault tolerant Scalable ElasticMulti-tenant

Page 4: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

!!!MICROSERVICES!!!

Page 5: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Microservices...

… or more Spaghetti

Page 6: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

“There are 17 million shipping containers in existence, packed with every physical good imaginable. Every single one of them can be loaded onto the same boats, by the same cranes, in the same facilities, and sent anywhere in the World with incredible efficiency. It is embarrassing to think that a 30 ton shipment of coffee can safely travel half-way across the World in less time than it takes a software team to deliver its code from one datacenter to another sitting 10 miles away.”

5th principle of Open Container Initiative - https://github.com/opencontainers/specs/blob/master/principles.md

Why Use Containers?

Page 7: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Collaboration @ Container

Page 8: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Your usual Delivery Pipeline...

Page 9: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

… Is now Baking your image

Page 10: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

And potentially can use all your computing power

Page 11: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Introducing Apache Mesos

Program against your datacenter like it’s a single pool of resources

“Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.”

http://mesos.apache.org/

Used by Twitter, AirBNB, eBay, Netflix, Apple and many others

http://mesos.apache.org/documentation/latest/powered-by-mesos/

Page 12: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Apache Mesos Overview

Batch Processing Long Running Services

Page 13: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Way of work

Page 15: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Resource Offer example

Page 16: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Auto-Scale

Page 17: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Application

300 users

Page 18: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Autoscaling UP

600 users

Page 19: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Autoscaling DOWN

400 users

Page 21: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Application Running

300 users

Page 22: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Node Failure

300 users300 users

Page 23: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Starting a new node for the application

300 users300 users

Page 24: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Application Running

300 users

Page 25: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Continuous DeliveryBlue-Green Deployments

Page 26: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Continuous Delivery – Blue / Green

Page 27: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Deploy the application

Production

Page 28: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Test the application

Production

Page 29: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Flip the application

Production

Page 30: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Empowering everyone

Production

Page 31: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Continuous DeliveryCanary Release

Page 32: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Continuous Delivery – Canary Release

Page 33: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Deploy the new version

Production100%

Page 34: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Test and Evaluate the new version

Production80%

Production20%

Page 35: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Rollout the new Release

Page 36: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Putting into perspective

“If a Docker application is a Lego brick, Kubernetes would be like a kit for building the Millennium Falcon and the Mesos cluster would be like a whole Star Wars universe made of Legos.” ~ Solomon Hykes

Page 37: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Cloud + Microservices + Containers + CDIs this the Perfect Storm?

Page 38: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Questions?

Page 39: Containers, DevOps, Apache Mesos and Cloud · Introducing Apache Mesos Program against your datacenter like it’s a single pool of resources “Apache Mesos abstracts CPU, memory,

Thank You

MerciGrazie

Gracias

Obrigado

Danke

Japanese

English

French

Russian

German

Italian

Spanish

Brazilian Portuguese

Arabic

Traditional Chinese

Simplified Chinese

Hindi

Tamil

Thai

Korean

DziękujęPolish

Marcelo Sousa [email protected]@gmail.com