35
Date: Presente r: Docker and the Enterprise DevOps Journey 6/9/2016 Aater Suleman

Docker and the Enterprise Dev Ops journey

Embed Size (px)

Citation preview

Page 1: Docker and the Enterprise Dev Ops journey

Date:

Presenter:

Docker and the Enterprise DevOps Journey

6/9/2016

Aater Suleman

Tamarie Ellis
I'm still working on these - may do in offline synch mode
Aater Suleman
Tam, pls fix the terminology
Aater Suleman
Infrastructure delivery Workflow -
Vishnupriya Balasundaram
delete later
Vishnupriya Balasundaram
Aater, should we combine the problem - outcomes slides to a single slide?
Vishnupriya Balasundaram
update
Page 2: Docker and the Enterprise Dev Ops journey

Achievements

About Flux7

Aater Suleman Co-Founder & CEO Flux7 Faculty, UT Austin

Flux7: Cloud and DevOps Solutions

Founded in 2013Team of 35+Headquartered in Austin,

Texas

AWS DevOps, Healthcare, and Life Sciences Competencies

TechTarget’s “Impact Best AWS Consulting Partner” two years in a row (2015 & 2016)

Partner Recognition Award at AWS reInvent 2015

Customers featured on stage at AWS re:Invent three years in a row

Docker Foundation and authorized consulting partner

150+ happy customers

Page 3: Docker and the Enterprise Dev Ops journey

★ Frontend HTML/JS developers

★ Backend developers★ Operations folks ★ Business:

Managers/executives

Quick Poll

HOW MANY?

★ Enterprise (> 1B in cap)

★ Mid-tier ★ SMBs

HOW MANY?

Page 4: Docker and the Enterprise Dev Ops journey

POP

Purpose: To demonstrate the role of Docker in the enterprise journey to DevOps

Outcomes:- What role does Docker play in the journey?- What does a journey to DevOps look like?

Plan:- Why DevOps- Where does Docker fit in- Journey to DevOps Using Docker - case studies- Where do you get started?

Page 5: Docker and the Enterprise Dev Ops journey

Why DevOps

Release faster to meet demands

Build for multiple platforms

Better UserExperience

Pressure to deliver technology

Page 6: Docker and the Enterprise Dev Ops journey

Technology Delivery

CodeInfrastructure

Server Configuratio

ns

Security Rules

The four key components:

Page 7: Docker and the Enterprise Dev Ops journey

High developer productivity

Increasing speed, maintaining quality

Fast infrastructure provisioning

Repeatable configurations

Automated security and

policy enforcements

Requirements

Page 8: Docker and the Enterprise Dev Ops journey

Bottlenecks and Roadblocks

Interdependencies Poor communication

Page 9: Docker and the Enterprise Dev Ops journey

Example: Common Bottleneck

Submit Ticket

Review

Ticket

Email back

Implement

Change

Update

Ticket

ReviewChange

Close Ticket

Page 10: Docker and the Enterprise Dev Ops journey

Example: Common Bottleneck

Submit Ticket

Review

Ticket

Email back

Implement

Change

Update

Ticket

ReviewChange

Close Ticket

UpdateTicket

Page 11: Docker and the Enterprise Dev Ops journey

Fast Technology Delivery requires ...

Decoupling - Self service provisioning- Automated code deployments

Streamlining - Infrastructure as code- Configuration management

Page 12: Docker and the Enterprise Dev Ops journey

Eliminating Bottlenecks

Edit Template

Version control

Is there an easy button?

Press button on service

catalog

Email back

Email back

Yes

NoDeploy

Review

Page 13: Docker and the Enterprise Dev Ops journey

Eliminating Bottlenecks

Edit Template

Version control

Is there an easy button?

Press button on service

catalog

Email back

Email back

Yes

NoDeploy

Review

More

Fast & non-ambiguous

Page 14: Docker and the Enterprise Dev Ops journey

✓ Run and orchestrate containers

✓ Provides a layer of abstraction between infrastructure and application

Where Does Docker Fit InApp Container (App, Assets, App config)

Config Docker engine

Page 15: Docker and the Enterprise Dev Ops journey

By providing developers with:○ Control over configuration via Dockerfiles ○ End-to-end ownership of application and its

configuration ○ Control networking and provisioning○ An easy path to request infrastructure

By providing operations with:○ Focus on building a robust infrastructure to run the

containers rather than collecting and implementing requirements

By providing Information Security with: ○ Immutable containers ○ Smaller and more consistent perimeter○ Automated analysis at build time

Docker Enables the DevOps Journey

Page 16: Docker and the Enterprise Dev Ops journey

A more productive and autonomous Dev team

An operations team more focused on the health of the production environment and creating self-service portals

An information security team focused on building rules for automated analysis

The Enterprise Journey to DevOps

Docker’s role

Page 17: Docker and the Enterprise Dev Ops journey

Journey to DevOpsCase Studies

Page 18: Docker and the Enterprise Dev Ops journey

RentACenter

Lengthy deployment cycles; non-scalable infrastructure; numerous manual steps involved in provisioning new servers; manual process to prepare the OS and server images.

The company had a young DevOps department with no technologists, and needed help and guidance in improving their development and IT processes.

Business Challenge

Fortune 500 retail

organization

Page 19: Docker and the Enterprise Dev Ops journey

RAC (Virtual Acceptance Now)

The solution that Flux7 implemented

for us ensures agility in our IT operations and development

efforts, enabling us to focus on giving our customers a high-quality experience.

A DevOps-based streamlined infrastructure that included a high degree of automation that met security and uptime requirements.

RAC’s initial project has served as a proof of concept around which they have extended their infrastructure and DevOps culture.

Presentation at AWS Chicago Summit 2016: https://www.youtube.com/watch?v=JVzrGr4Fkzc

Outcome

Page 20: Docker and the Enterprise Dev Ops journey

Architecture Diagram

Prod

Security

ApacheApacheWeb

RDS

CloudFormationS3

Jump

LogManager

Jenkins

Threat Manager

HQ

Note: All tiers are designed for automated multi-AZ failover

ApacheApacheApp

Shared SVC

ApacheApacheWAF

Page 21: Docker and the Enterprise Dev Ops journey

F1000 Financial Company

New business opportunities and a need for increased agility helped drive a decision to migrate on-premise infrastructure to AWS.

The company needed to ensure development was able to deliver high quality, secure solutions against tight deadlines.

Business Challenge

Fortune 1000 retail

point of sale organization

Page 22: Docker and the Enterprise Dev Ops journey

F1000 Financial Company

Docker based automation tamed the project’s complex microservices, provides highly available, portable environments to improve agility and increase fidelity of new releases. Unique build - deploy system uses Docker for CI/CD, enables self-service IT for dev teams.

Security is extended by making sensitive configuration data available based on role, while ensuring development meets security processes and controls.

Outcome

Invent & Simplify Award

re:Invent 2015APN Summit

Page 23: Docker and the Enterprise Dev Ops journey

Code Deploy

CI

Docker Registry

Deploy

Jenkins

Code + Dockerfile Jenkins

On-premise

AWS

Trigger docker pull

S3

Docker build

Artifacts +Dockerfile Imag

e

For isolated pre-commit dev testing

Servers

Servers

Page 24: Docker and the Enterprise Dev Ops journey

Large Healthcare Startup

SaaS product for patient engagement

Requires HIPAA compliance

Competitive landscape requires fast technology delivery

Concurrent switch to a microservices architecture

Business Challenge

Page 25: Docker and the Enterprise Dev Ops journey

✓ Microservices developed to run inside Docker containers

✓ Auto-scaling, self-healing Docker cluster created in Amazon Web Services

✓ CI/CD of containers setup via Jenkins

Solution

Large Healthcare Company

Page 26: Docker and the Enterprise Dev Ops journey

Code Promotion

DevPass/Fail + URL

Pass/Fail

Test traffic

Master DB

Dev/test Cluster

Prod Cluster

1

2

6

7

8

9

5

3

10

14

12

15

code/config

metadata

13

1. Commit code to feature branch

2. Receive hook, build container and push to Artifactory

3. Create new ECS service4. Receive URL of new

service5. Create/deploy new

nginx.conf file6. Trigger testing 7. Run integration tests 8. Report pass/fail 9. Notify Developer of results

10.Merge to master with a release tag

11.Receive hook, build container and push to Artifactory

12.Create new ECS service13.Receive URL14.Create/deploy new

nginx.conf file15.Update master DB to tell

universal login a new version is available

11

ECS

ECS4

Page 27: Docker and the Enterprise Dev Ops journey

✓ Faster code delivery

✓ Developers autonomous to not just update but also create new services

✓ New infrastructure provisioned via automation and self-service

✓ Infrastructure changes not automated reviewed in the form of CloudFormation template “pull requests”

Outcomes

Large Healthcare Company

Page 28: Docker and the Enterprise Dev Ops journey

How to get started

Page 29: Docker and the Enterprise Dev Ops journey

DevOps

Page 30: Docker and the Enterprise Dev Ops journey

Journey to DevOps

Build POC(s)

Build COE*Launch COE

COE Helps Dev and IT

COE Trains IT and Dev Teams

The No

Exploration

COE Learns, Iterates, and Trains

Closed Open-source model

Assess, Attune, KT

Engage

Summit

Propel

*COE -Center of Excellence

Page 31: Docker and the Enterprise Dev Ops journey

Tip

Measurement is key

Provides results, motivation, and helps in ROI analysis

Page 32: Docker and the Enterprise Dev Ops journey

5 Key DevOps KPIs

Deployment frequency

Deployment latency -

committed code to deployment

Percentage of deployments

that cause failure

Recovery time - Time from failure

detection to service getting back up

Employee Satisfaction

Page 33: Docker and the Enterprise Dev Ops journey

7 Steps to Jumpstart DevOps + Docker

1. Interview development teams in your company to find the one which is most blocked by infrastructure

2. Schedule a Docker 101 training for this team

3. Schedule a Workshop for this team to learn how to containerize an actual app

4. Turn it into Hackathon for the developer to containerize their app (2-weeks)

Phase 1

Page 34: Docker and the Enterprise Dev Ops journey

7 Steps to Jumpstart DevOps + Docker

5. Schedule a session with Enterprise Architects to solidify a Docker-at-scale strategya. Tip: Start simple, you can change it later easily

6. Schedule a session with Information Security to learn Docker and build security policies for Docker

7. Schedule a workshop for operations team to learn about monitoring, logging, backups, and DR of Docker setups

Phase 2

Page 35: Docker and the Enterprise Dev Ops journey

Thank YouAater SulemanCEOFlux7.comAustin, Texaswww.flux7.com

@flux7Labs

@FutureChips