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.

What is DevOps?

279 views

Published on

Prepared for the Utah county operation code meetup.

Published in: Engineering
  • Login to see the comments

What is DevOps?

  1. 1. What is DevOps? Tyler McCleve
  2. 2. Disclaimer TL;DR: My opinions are my own. The views and opinions expressed in this presentation are those of the author and do not necessarily reflect the official policy or position Willis Towers Watson. Examples of analysis performed within this article are only examples. They should not be utilized in real-world products as they are based only on very limited and open source information. Assumptions made within the analysis are not reflective of the position of Willis Towers Watson.
  3. 3. Goals Define DevOps First cursory glance into day to day Introductions to CI/CD Introductions to Linux automation Get a feel for future hands on workshops Learning resources
  4. 4. DevOps First glance A concatenation of Development and Operations
  5. 5. DevOps According to an ops engineer The development team that services the operation teams automation needs. Handles system automation.
  6. 6. DevOps According to a developer The operations side of the development organization. Deals with build pipeline and production applications. (CI/CD)
  7. 7. DevOps According to non-tech people
  8. 8. My Definition DevOps is an adoption of a culture revolving around the 12 factor app principle. In a startup culture, it’s something that the developer should own. At scale, it makes sense to integrate this into your architecture teams for a top down approach.
  9. 9. A twelve factor what?
  10. 10. 1. Codebase One codebase tracked in revision control, many deploys
  11. 11. 2. Dependencies Explicitly declare and isolate dependencies
  12. 12. 3. Config Store config in the environment
  13. 13. 4. Backing Services Treat backing services as attached resources
  14. 14. 5. Build, Release, Run Strictly separate build and run stages
  15. 15. 6. Process Execute the app as one or more stateless processes
  16. 16. 7. Port Binding Export services via port binding
  17. 17. 8. Concurrency Scale out via the process model
  18. 18. 9. Disposability Maximize robustness with fast startup and graceful shutdown
  19. 19. 10. Dev/Prod Parity Keep development, staging, and production as similar as possible
  20. 20. 11. Logs Treat logs as event streams
  21. 21. 12. Admin Process Run admin/management tasks as one-off processes
  22. 22. Tools of the trade
  23. 23. Jenkins/GoCD/CircleCI/Travis/Teamcity/Etc Plenty to choose from Handles build/testing your code Trigger automated deploy to dev once tests pass Automated smoke testing Handles semantic versioning
  24. 24. Config Management Ansible CF Engine Chef Powershell Desired State Configuration Puppet Salt Stack
  25. 25. Virtual Machine Pipeline Vagrant Packer Terraform Nomad Vault
  26. 26. Docker Linux Windows Utilizes cgroups and namespaces to isolate processes Shares kernel space with parent machine running the Docker Engine Stateless containers are best containers Plenty of orchestration tools Not a VM
  27. 27. Demo
  28. 28. Docker Resources Free: https://12factor.net/ https://docs.docker.com/get-started/ http://training.play-with-docker.com/ Paid: https://linuxacademy.com/devops/training/course/name/introduction-to-docker https://www.pluralsight.com/browse/it-ops/docker
  29. 29. CI/CD Resources Free: https://www.tutorialspoint.com/jenkins/index.htm https://dzone.com/articles/get-started-with-jenkins-20-with-docker
  30. 30. Configuration Management Resources Free: https://learn.chef.io/ https://www.ansible.com/get-started https://docs.saltstack.com/en/getstarted/ https://learn.puppet.com/elearning/what-is-puppet

×