webcast: devops in aws is different! how can containers help?

23
DevOps in AWS is Different! How can Containers Help? Ed Lee Saradhi Sreegiriraju Feb 2 2017 @ 10:05 PST VOIP or Dial-in (see chat) Questions? Hit the GTW chat or @applatix

Upload: applatix

Post on 12-Apr-2017

358 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Webcast: DevOps in AWS is different! How can containers help?

DevOps in AWS is Different!

How can Containers Help?

Ed Lee Saradhi Sreegiriraju

Feb 2 2017 @ 10:05 PSTVOIP or Dial-in (see chat)

Questions? Hit the GTW chat or @applatix

Page 2: Webcast: DevOps in AWS is different! How can containers help?

Who are we?

Ed Lee Saradhi Sreegiriraju

Page 3: Webcast: DevOps in AWS is different! How can containers help?

Challenges we address (without the product pitch)

Page 4: Webcast: DevOps in AWS is different! How can containers help?

What we will talk about• Warning: Public cloud ≠ private cloud!• To get the benefits of the public cloud, you must operate

differently • How DevOps and containers are critical to success in public

cloud• Our lessons learned in working with containers at scale in AWS

Page 5: Webcast: DevOps in AWS is different! How can containers help?

Two important questions in computing• P = NP?

• If true, no fundamental difference between solving a problem and verifying the solution to a problem

• Anyone who could appreciate Mozart, could compose like Mozart

• Answer: Unknown

Page 6: Webcast: DevOps in AWS is different! How can containers help?

Two important questions in computing• Public Cloud = Private Cloud?

• If true, no fundamental difference between using public cloud vs. private cloud

• No new skills, tools or processes are needed and there are no special benefits to using public cloud vs. private cloud

• Answer: Public Cloud ≠ Private Cloud

Page 7: Webcast: DevOps in AWS is different! How can containers help?

How is Public Cloud Different?

Page 8: Webcast: DevOps in AWS is different! How can containers help?

The public cloud is• Programmable (API driven)

• Enables developer self-service

• Huge on-demand marketplace

• New tools and skills

Private cloud

Public Cloud

VMs

Self-serviceSpot instances

Global scale

Agility

ServerlessMicroservices

Auto-scale

Page 9: Webcast: DevOps in AWS is different! How can containers help?

A public cloud instance is not a VM!• Public cloud instance is more like a server than a VM

• Lift and shift (right-size instances) ➜ sticker shock (meter is always running)

• How do Google and Facebook get 80% utilization? Containers!

ContainerOn-Premises Public Cloud

VMs Instances

Page 10: Webcast: DevOps in AWS is different! How can containers help?

On-premises is driven by silos• Manage a fixed pool of resources

• Ticket-driven operations

• Resource constraints => utilization

Dev

Ops

Infra

40+ tools

VMs

On-Premises

Chef, Puppet, …

Git, Jenkins, …

cmds

CODE

use/operatescripts

Page 11: Webcast: DevOps in AWS is different! How can containers help?

Public cloud is driven by APIs• Manage a fixed pool of resources

• Ticket-driven operations

• Resource constraints => utilization

• Infinite, on-demand resources

• Developer self-service via APIs

• Auto-scale => focus on cycle time

Dev

Ops

Infra

40+ tools

VMs

On-Premises

Chef, Puppet, …

Git, Jenkins, …

Public Cloud

Dev Ops

Infra APIscmds

CODE

CODE CODEuse/operate programscripts

Page 12: Webcast: DevOps in AWS is different! How can containers help?

Traditional thinking is Resource Constrained“Prioritize projects to use the available fixed resources”

Cloud thinking is Time Constrained “Is this job worth the cost of running it?”

Page 13: Webcast: DevOps in AWS is different! How can containers help?

Unshackle your most precious resources – engineers!• An engineer costs $200K/year ➡

$800/work day• 10% for infrastructure ➡ $80/ work day

• $80 on AWS buys• m4.large ➡ 800 instance hours per day• 8 hour day ➡ 100 m4.large instances

• What does this mean? • Think and operate differently in public

cloud• Auto-scaling, bursting, spot instances

provide great leverage

Page 14: Webcast: DevOps in AWS is different! How can containers help?

DevOps and Containers help succeed in Public

Cloud

Page 15: Webcast: DevOps in AWS is different! How can containers help?

What is DevOps? • “Continuous delivery to enable business agility” – business definition

• “CI + CD + Automated Testing + CM + deployment” – process definition

• “DevOps is a culture” – analyst definition

• Regardless of your definition, DevOps is a must to use public cloud effectively

Page 16: Webcast: DevOps in AWS is different! How can containers help?

What are containers?

Page 17: Webcast: DevOps in AWS is different! How can containers help?

How do containers help with DevOps in the public cloud?• Containers provide light weight virtualization ➡ 80% utilization

• Avoid de-virtualization and sticker shock!

• Containers provide portability and consistency• Ideal for DevOps, specifically in dynamic public cloud environments

• Containers provide better analytics• Cost, perf, resource usage at a “job” rather than “server” granularity

• Containers allow converting servers to services• Leverage microservices for fast iteration & quick software delivery

Page 18: Webcast: DevOps in AWS is different! How can containers help?

Challenges in running containers on AWS at scale• Container orchestration at scale

(scheduling across a cluster)

• Auto-scaling (up and down) cluster

• Public vs. private subnets

• Service discovery and routing to apps

• AWS API call limits

• Persistent storage – stability, efficiency

• Lots of OS/container related bugs

• Networking, load-balancers, and DNS

• Application-level log management

• Application level security & control

Page 19: Webcast: DevOps in AWS is different! How can containers help?

What does it all mean?

Page 20: Webcast: DevOps in AWS is different! How can containers help?

So, what do you need to execute successful DevOps strategy?• Infrastructure management

• EC2 (47+ types), S3, …

• AWS monitoring/governance• E.g. AWS Cost Explorer, AWS

Cloud Watch, …

• Container orchestration• Kubernetes, Docker Swarm,

Mesos

• Persistent volume management• EBS, EFS, Flocker, …

• Routing and load balancing• ELB, NGINX, VPC peering

• DevOps tools & processes• Jenkins, Chef, Puppet, …

• Artifact management• Nexus, ECR, Artifactory,

• Tie everything together• Experimentation• Scripting

Page 21: Webcast: DevOps in AWS is different! How can containers help?

Key Takeaways• Public cloud ≠ private cloud

• VM != instance ➡ use containers for virtualization & efficiency

• Switch from resource constrained thinking to time constrained thinking

• A lot of research and experimentation of APIs and tools to put together a solution ➡ resource intensive

Page 22: Webcast: DevOps in AWS is different! How can containers help?

Thank you! • For more resources see http://applatix.com/resources

• Feedback? Questions? [email protected] or @applatix

•Our next Webinar: Day 1 with AWS: What practices to put in place NOW?Feb 19th, 10 am PT

Page 23: Webcast: DevOps in AWS is different! How can containers help?

Extra slides