Upgrade to Pro — share decks privately, control downloads, hide ads and more …

devops-best-practices

 devops-best-practices

DevOps current, future and the past - where is DevOps going?
I would share best practices about DevOps. There is a certain hype about it and a lot of failed attempts in the industry http://memegenerator.net/instance2/323531

“You can’t do today’s job with yesterday’s tools and still be in business tomorrow”

sergiubodiu

July 01, 2015
Tweet

More Decks by sergiubodiu

Other Decks in Technology

Transcript

  1. © Copyright 2014 Pivotal. All rights reserved. © Copyright 2015

    Pivotal. All rights reserved. DevOps Best Practices You can’t do today’s job with yesterday’s tools and still be in business tomorrow 1 DevOps Singapore | July 2015 Sergiu Bodiu | Pivotal @dreamsergiu
  2. © Copyright 2015 Pivotal. All rights reserved. 2 My Personal

    Journey meetup.com/singasug https://speakerdeck.com/sergiubodiu/devops-best-practices [email protected]
  3. Meet Henry (Business Owner) He needs an app built in

    the next 8 weeks He knows what the app should do He expects competitors to try to beat us to market 4
  4. Meet Jane (App Architect) Jane is a little worried: Not

    everyone understands agile here Environment setup takes a long time 8 Weeks isn’t much time to release to prod (!) 5
  5. © Copyright 2015 Pivotal. All rights reserved. 7 The Innovation

    Gap in Traditional IT W eeks/M onths Developer Operator
  6. Cycle Time How Long Does It Take To Deploy One

    Line Of Code To Production? 8
  7. DEV learn from OPS to think about Resources (CPU, RAM,

    Disk) Services (Start, Stop, Status) Dependencies (Start DB before App) Logfiles (Rotate, Remove) Disk Space Monitoring and Alarming 14
  8. OPS learn from DEV to think about Incremental Improvement Infrastructure

    as Code Version Control System (git, mercurial…) Coding (OO, Functions, Libraries …) Code Quality (Static Analysis, Metrics Test Automation (Unit & Integration Tests) 15
  9. DevOps do Test First Unit Tests Test the smallest possible

    components in an artifical environment. System Tests Test the entire application in a real(istic) environment together with other applications. 16
  10. Strategies For Success Do Deploy Less More Frequently 27 "

    " " " " " " " " " " " " " " " " " v2.1 " " " " v2.1 " " " v2.3 " " " " " " " v2.2
  11. Strategies For Success Do Automate All Testing Where Test Failures

    Would Prevent A Production Release From Occurring 28
  12. Strategies For Success Do Try To Use Tools That Support

    The Process (But Don’t Get Stuck In Tool Selection Hell!) 29 g
  13. © Copyright 2015 Pivotal. All rights reserved. 31 The Cloud

    Platform Evolution TRADITIONAL IAAS Virtualization Platform Operating System Data base Web Server Mess aging Your Application Code Physical Servers Data base Web Server Mess aging Your Application Code IAAS Your Application Code PAAS IAAS PAAS
  14. 39 Promote Apps Through Environments With The Same Process #

    $ # $ # $ Cloud Foundry Helps Jane… %
  15. Cloud Foundry Helps Jane… By Providing New Options: + Canary

    Deployment + Zero Downtime Deployment + A/B Testing + Scale Apps On-Demand + Autoscaling Apps 40
  16. ‹#› © Copyright 2015 Pivotal Software. All rights reserved. Component:

    is independently upgradeable and replaceable serves one purpose; Components are generally plugged into other technology systems.
 Monolith: a single deployable artifact that delivers system features and functions.
 Platform: a business system recognized by long- term organizational commitment, organized and operated as a composite of underlying Components, Apps and Services.
  17. ‹#› © Copyright 2015 Pivotal Software. All rights reserved. Service:

    a functional component that supports machine-to-machine communication over a network through a standard contract
 App: a composite of source code and components that provide a logical grouping of functionality. in a distributed manner to deliver logically distinct business functionality to a consumer. Microservices: single-purpose services that communicate over a network and aggregate
  18. Continuous Delivery != Continuous Deployment 46 twitter.com/ccaum/statuses/372620989257232384 “Continuous Delivery is

    a software development discipline where you build software in such a way that the software can be released to production at any time.” Martin Fowler “Continuous Deployment means that every change goes through the pipeline and automatically gets put into production” Martin Fowler The Difference: Who Presses The Button For A Production Deployment?