Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bleeding Edge Meetup - Docker as a strategic enabler for development teams

2,108 views

Published on

Bleeding Edge Meetup - Docker as a strategic enabler for development teams

September 28, 2016

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Bleeding Edge Meetup - Docker as a strategic enabler for development teams

  1. 1. Docker as a strategic enabler for development teams Flux7 September 28, 2016
  2. 2. Achievements About Flux7 Flux7: Cloud and DevOps Solutions Founded in 2013 Team of 35+ Headquartered in Austin, Texas AWS DevOps, Migration, Healthcare, and Life Sciences Competencies TechTarget’s “Impact Best AWS Consulting Partner” two years in a row (2015 & 2016) Partner Recognition Award by AWS at reInvent 2015 Customers featured on stage at AWS re:Invent three years in a row Docker Foundation and authorized consulting partner 150+ happy customers through word of mouth “[Flux7] taught us how to do 10x the work in 1/10th the time” - Patrick K, AWS Re:invent’14, CTO’s Keynote
  3. 3. Release cycles What is Docker? Accelerating release cycles with Docker Docker in code pipeline Outcomes
  4. 4. Releasing Technology CodeInfrastructure Server Configurations Security Rules The four key components:
  5. 5. High developer productivity Accelerating Releases Fast infrastructure provisioning Repeatable configurations Automated policy enforcements
  6. 6. Startups: Code first Infrastructure is developed right before launch or post-launch → Down times, sub-optimized infrastructure, low productivity What tends to happen? Enterprises: Checks and balances try to ensure progress in lock step The entire release is slower → The window of opportunity may be missed
  7. 7. Infrastructure and security policies are considered non-agile and brittle What is needed: Treat everything as code - Automated code pipelines (CI/CD) - Infrastructure as code - Configuration management Why?
  8. 8. What is Docker? Has its own process space Builds from the concept of Linux containers, but a lot more … Has its own file system (similar to chroot), IP, and set of ports
  9. 9. Lightweight Portable Hardware Agnostic Docker’s attraction
  10. 10. Helps with Ineffective code pipeline management Inconsistency across environments Mismatches in dev and prod environments Resource provisioning takes ages Increasing infrastructure bills
  11. 11. Build Once, Configure Once & Run Anywhere Docker in Docker terms...
  12. 12. ✓ Provides a layer of abstraction between infrastructure and application How does it help developers? Without Docker App App, Assets (WAR file, config files) Container (WAR file, JAVA, config files) Config Apache, JAVA Docker engine VM OS OS Infrastructure Networking, security, etc Networking, security, etc Ops owned Dev owned
  13. 13. ✓ Provides a layer of abstraction between infrastructure and application How does it help developers? Without Docker With Docker App App, Assets (WAR file, config files) Container (Apache, JAVA, WAR file, config files) Config Apache, JAVA Docker engine VM OS OS Infrastructure Networking, security, etc Networking, security, etc Ops owned Dev owned
  14. 14. Developers with: ○ End-to-end ownership of application and configuration ○ Control networking and provisioning ○ An easy path to request infrastructure Operations with: ○ Application agnostic requirements, i.e., just need to run containers robustly Information Security with: ○ Immutable environments ○ Smaller and more consistent perimeter ○ Automated analysis at build time Docker Accelerates …
  15. 15. Journey to DevOps Case Studies
  16. 16. 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
  17. 17. 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
  18. 18. VeriFone Commerce Portal 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
  19. 19. VeriFone Commerce Portal 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 2015 APN Summit
  20. 20. cars.com Video from DockerCon 2014: https://www.youtube.com/watch?v=PBBUnNS4dRw Fugro OARS Video from DockerCon 2016: https://www.youtube.com/watch?v=S7B-pEDoSeE Pristine Video from AWS Re:invent 2014: https://www.youtube.com/watch?v=ktKzSuD9InM Other Stories
  21. 21. 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 Result
  22. 22. How does one start?
  23. 23. Web Developer Workflows Developer Local Test QA Production Least expensive but most executed Most expensive but least executed
  24. 24. Web Developer Workflows Developer Local Test QA Production Local development environment Clean test envs Self-healing, immutable architectures
  25. 25. Code Pipeline with Docker CI/CD Tool Dev Pass/Fail 2 8 6 code/config metadata Old service, new code: 1. Test code locally 2. Merge code to master branch 3. CI/CD detects new commit via polling 4. Builds artifacts, container, and pushes to Docker repository 5. Runs test on a new QA environment 6. Updates cluster 7. Cluster downloads new container 8. Notify Developer of results 3 4 SCM Registry 5 7 1
  26. 26. Developer Next Steps ✓ Install Docker locally ✓ Develop Dockerfiles for your application ✓ Develop docker-compose.yml files for your entire stack, i.e., app, DB, etc ✓ Deploy the stack locally
  27. 27. QA Next Steps (with Jenkins) ✓ Configure Jenkins (TeamCity or your tool) to build Docker containers ✓ Configure Jenkins (TeamCity or your tool) to do QA by creating a fresh env each time
  28. 28. Production Next Steps (AWS) ✓ Provision an EC2 Container Service (ECS) cluster (ideally using CloudFormation) ✓ Create an ECS Task Definition for your services, e.g., number of containers, CPU/memory needs of each container ✓ Deploy the ECS services
  29. 29. Summary ■ Docker is emerging as a key component of future code pipelines ■ Docker accelerates the entire flow: Dev, QA, Ops, and InfoSec ■ Work usually starts at the development teams ■ Several solutions to leveraging it in QA and Production
  30. 30. Thank You Aater Suleman CEO Flux7.com Austin, Texas www.flux7.com @flux7Labs @FutureChips

×