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.

Cloudsolutionday 2016: DevOps workflow with Docker on AWS

363 views

Published on

DevOps workflow with Docker on AWS @ Cloudsolutionday 2016

Published in: Technology
  • Be the first to comment

Cloudsolutionday 2016: DevOps workflow with Docker on AWS

  1. 1. DevOps workflow with Docker on AWS Nov 19 2016 @Wayarmy – Quanpc@topica.edu.vn Topica Edumall SysAdmin
  2. 2. About me • @wayarmy • Interested: Cloud Computing, AWS, Docker, IaaS, SaaS, PaaS, Apache Stack, Elastic Stack, Hashi Stack, Ruby on Rails, Linux, Unix… • Github: http://github.com/wayarmy • Sysadmin, SysOps, DevOps, HumanOps
  3. 3. 1. DevOps 2. CI - CD
 3. System Design with Docker on AWS 4. CI - CD workflow with Docker
 5. Q&A Techtalk AWS and Docker
  4. 4. DEVOPS • DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. 
 
 
 
 https://theagileadmin.com
  5. 5. DevOps requirement • DevOps Skills • Program Language, Application design... • Knowhow about system design • Experience with SaaS, PaaS, IaaS... • Knowhow about Cloud Computing, Virtualization. • Knowhow about concept of CI - CD
  6. 6. 1. DevOps 2. CI - CD 
 3. System Design with Docker on AWS 4. CI - CD workflow with Docker
 5. Q&A Techtalk AWS and Docker
  7. 7. Continous Intergration • Continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day. - Wiki Pedia - • Implement: • Source code managerment • Automation testing • Automation QA • Automation releasing
  8. 8. Continous Delivery • Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time • - Wiki Pedia -
  9. 9. Target • Optimize released-time of Production. • Optimize Dev workflow. • Decrease number of tester - Optimize business benefit.
  10. 10. 1. DevOps 2. CI - CD 3. System Design with Docker on AWS 4. CI - CD workflow with Docker
 5. Q&A Techtalk AWS and Docker
  11. 11. Difficulty of DevOps in System • So hard to get experience with physical, network • So difficult to know all SaaS, PaaS, IaaS... • Everything with Dev is code, everything with developer will be moved to code • So difficult to maintain software
 
 => System need "write once, run forever"
  12. 12. Topica Edumall (old) System Design
  13. 13. AWS EC2 Feature • Autoscale • High Availability • Secure
  14. 14. Edumall Infrastructure System Design on AWS
  15. 15. Benifit • High availability system • Easy with scale and everything will be automated • Auto healing • Save much money ( save about 40% with 100% running application on AWS )
  16. 16. Difficult with DevOps • Server is not transparent with Dev • Deploy with Command line, get error when deploy • Application environment is not isolate • Deploying is not automation • Hardware is still get high, cannot optimize
  17. 17. Difficult with DevOps • Server is not transparent with Dev • Deploy with Command line, get error when deploy • Application environment is not isolate • Deploying is not automation • Hardware is still get high, cannot optimize
 => Need a system with isolate environment and orchestration tools for platform
  18. 18. Docker • Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment. • Build – Ship – Run • Build once, run any where
  19. 19. Kubernetes • Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. • “Write once, run forever” • Build Auto-scale and self-healing system
  20. 20. Final Design
  21. 21. Some numbers • Video content transfer: 1,5 TB (/1 day) • Static Content (image, js, html, css): 100GB • Total Request: ~ 5 mil • Total Ram: ~ 2TB • Total CPU: ~400vCpus • Unique Visitor: ~50k • Total User: ~20m • Maximum Unique Visitors: ~5k • EC2 Start: ~ 5 (M4 2xLarge)
  22. 22. Techtalk AWS and Docker 1. DevOps 2. CI - CD 3. System Design with Docker on AWS 4. CI - CD workflow with Docker 
 5. Q&A
  23. 23. Target • Server is transparent with Dev • PaaS • Everything is Automation • Easy with operation • Document as Code
  24. 24. Element • Source code managerment: Gitlab • CI builder: Gitlab multi runner • Platform: Docker • Docker registry: Private registry store on AWS S3, ECR • Provisioning: Gitlab runner / Ansible (Near future)
  25. 25. CI-CD workflow Developer push a new commit to gitlab Gitlab Trigger Gitlab Runner fetch and pull repo Gitlab-runner build Docker image from Dockerfile Excute test on all target With all environment Delivery images to Docker hub Or Private registry Deploy to K8s Cluster
  26. 26. Sumary • DevOps workflow with AWS IaaS, Kuberntes, Gitlab... • Isolate application environment with Docker • Increase team productivity • Decrease the number of member in Developer Team, SysAdmin Team, increase the benefit • Write one, run any where and forever!!!!!!
 
 
 => Don't care about the system, take care of your health
  27. 27. Techtalk AWS and Docker 1. DevOps 2. CI - CD 3. System Design with Docker on AWS 4. CI - CD workflow with Docker 5. Q&A
  28. 28. Thank You
  29. 29. Meetup: www.meetup.com/AWS-vietnam
 
 FB: www.facebook.com/groups/amazonwebservicevietnam
 
 Join Slack: https://aws-vn.herokuapp.com/


×