docker and the enterprise dev ops journey

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

TRANSCRIPT

Date:

Presenter:

Docker and the Enterprise DevOps Journey

6/9/2016

Aater Suleman

Achievements

About Flux7

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

Flux7: Cloud and DevOps SolutionsFounded 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

★ Frontend HTML/JS developers★ Backend developers★ Operations folks ★ Business: Managers/executives

Quick Poll

HOW MANY?

★ Enterprise (> 1B in cap)★ Mid-tier ★ SMBs

HOW MANY?

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?

Why DevOps

Release faster to meet demands

Build for multiple platforms

Better UserExperience

Pressure to deliver technology

Technology Delivery

CodeInfrastructure Server Configurations

Security Rules

The four key components:

High developer productivity

Increasing speed, maintaining quality

Fast infrastructure provisioning

Repeatable configurations

Automated security and policy enforcements

Requirements

Bottlenecks and Roadblocks

Interdependencies Poor communication

Example: Common Bottleneck

Submit Ticket

Review Ticket

Email back

ImplementChange

Update Ticket

ReviewChange

Close Ticket

Example: Common Bottleneck

Submit Ticket

Review Ticket

Email back

ImplementChange

Update Ticket

ReviewChange

Close Ticket

UpdateTicket

Fast Technology Delivery requires ...

Decoupling - Self service provisioning- Automated code deployments

Streamlining - Infrastructure as code- Configuration management

Eliminating Bottlenecks

Edit Template

Version control

Is there an easy

button?Press button on service catalog

Email back

Email back

Yes

NoDeploy

Review

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

✓ Run and orchestrate containers

✓ Provides a layer of abstraction between infrastructure and application

Where Does Docker Fit In

App Container (App, Assets, App config)

Config Docker engine

OS OS

Infrastructure Networking, security, etc

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

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

Journey to DevOpsCase Studies

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

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

Architecture Diagram

ProdSecurity

Apache

ApacheWeb

RDS

CloudFormationS3

Jump

LogManager

Jenkins

Threat Manager

HQ

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

Apache

ApacheApp

Shared SVC

Apache

ApacheWAF

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

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

Code Deploy

CI

Docker Registry

Deploy

Jenkins

Code + Dockerfile

Jenkins

On-premise AWS

Trigger docker pull

S3

Docker build

Artifacts +Dockerfile

Image

For isolated pre-commit dev testing

Servers

Servers

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

✓ 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

Code Promotion

Dev

Pass/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 branch2. Receive hook, build container

and push to Artifactory3. 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

✓ 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

How to get started

DevOps

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

Tip

Measurement is key

Provides results, motivation, and helps in ROI analysis

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

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

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

Thank YouAater SulemanCEOFlux7.comAustin, Texaswww.flux7.com

@flux7Labs @FutureChips