docker and the enterprise dev ops journey
Upload: flux7-award-winning-it-consultancy-focused-on-cloud-containers-cicd-and-configuration-managemen
Post on 16-Apr-2017
485 views
TRANSCRIPT
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
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
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
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
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