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

DevOps 101

DevOps 101

A Basic introduction to DevOps, from the author of 'DevOps for Dummies'. Download free at: http://ibm.co/1dSqfyh

Sanjeev Sharma

August 21, 2013
Tweet

More Decks by Sanjeev Sharma

Other Decks in Technology

Transcript

  1. DevOps 101 Concepts and Overview Sanjeev Sharma (@sd_architect) IBM WorldWide

    Lead – DevOps Technical Sales [email protected] DevOps Blog: http://bit.ly/sdarchitect © 2013 IBM Corporation
  2. Acknowledgements and disclaimers 2 © Copyright IBM Corporation 2013. All

    rights reserved. – U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. IBM, the IBM logo, ibm.com, Rational, the Rational logo, Telelogic, the Telelogic logo, Green Hat, the Green Hat logo, and other IBM products and services are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml If you have mentioned trademarks that are not from IBM, please update and add the following lines: [Insert any special third-party trademark names/attributions here] Other company, product, or service names may be trademarks or service marks of others. Availability: References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
  3. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  4. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  5. Software Delivery is critical to success 5 54% of companies

    believe software delivery is critical 25% leverage software delivery effectively today But only… 69% outperform those who don’t leverage software delivery effectively Source: “The Software Edge: How effective software development drives competitive advantage,” IBM Institute of Business Value, March 2013
  6. And a lack of continuous delivery impacts the entire business

    6 Costly, error prone manual processes and efforts to deliver software across an enterprise CHALLENGES Upgrade risk due to managing multiple application configurations and versions across servers Slow deployment to development and test environments leave teams waiting and unproductive CHALLENGES Operations/ Production Development/ Test Customers Business Owners Software glitch costs trading firm Knight Capital $440 million in 45 minutes A bad software upgrade at RBS Bank left millions unable to access money for four days New Zealand’s biggest phone company, Telecom paid out $2.7 million to some 47,000 customers who were overcharged after a software glitch
  7. Patterns of challenges Differences in dev and ops environments cause

    failures Backlog of agile releases that Ops cannot handle Manual (tribal) processes for release lack repeatability/speed Lack of feedback and quality metric leads to missed service level targets Daily Build Monthly Delivery Who did this last time? Dave… Dave’s not here man… Dev Prod
  8. Why DevOps? Time to value –Deploy faster. Deploy Often –Reduce

    cost/time to deliver Developer ‘Self-service’ –Allow Developers to Build and Test against ‘Production-like’ systems Increase Quality –Reduce cost/time to test –Increase test coverage Increase environment utilization –Virtualize Dev and Test Environments
  9. Why DevOps? Deployment –Minimize deployment related downtime –Minimize roll-backs of

    deployed Apps Defect Resolution –Increase the ability to reproduce and fix defects –Minimize ‘mean-time-to-resolution’ (MTTR) –Reduce defect cycle time Collaboration –Reduce challenges related to Dev and Ops collaboration –Dev vs. Ops
  10. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  11. DevOps definitions DevOps (a portmanteau of development and operations) is

    a software development method that stresses communication, collaboration and integration between software developers and Information Technology(IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services. -- Wikipedia
  12. DevOps definitions …modern applications, running in the cloud, still need

    to be resilient and fault tolerant, still need monitoring, still need to adapt to huge swings in load, etc. But those features, formerly provided by the IT/operations infrastructures, now need to be part of the application, particularly in “platform as a service” environments. Operations doesn’t go away, it becomes part of the development. And rather than envision some sort of uber developer, who understands big data, web performance optimization, application middleware, and fault tolerance in a massively distributed environment, we need operations specialists on the development teams. The infrastructure doesn’t go away – it moves into the code; and the people responsible for the infrastructure, the system administrators and corporate IT groups, evolve so that they can write the code that maintains the infrastructure. Rather than being isolated, they need to cooperate and collaborate with the developers who create the applications. This is the movement informally known as “DevOps. -- Mike Loukides, VP, Content Strategy for O'Reilly Media, Inc.
  13. Accelerate Software Delivery Balance speed, cost, quality and risk Reduce

    time to customer feedback DevOps Enterprise capability for continuous software delivery that enables clients to seize market opportunities and reduce time to customer feedback 14 14 Continuous Innovation, Feedback and Improvements DevOps Lifecycle Operations/ Production Development/ Test Customers Business Owners
  14. DevOps Principles and Values  Develop and test against a

    production-like system  Iterative and frequent deployments using repeatable and reliable processes  Continuously monitor and validate operational quality characteristics  Amplify feedback loops People Process Tools
  15. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  16. Adopting DevOps in the Enterprise 17 DevOps Foundation Open Lifecycle

    and Service Management Integration Platform DevOps Lifecycle Operations/Production Development/Test Customers Business Owners Continuous Innovation, Feedback and Improvements Ecosystem Best Practices Monitor and Optimize Plan and Measure Develop and Test Release and Deploy OSLC
  17. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  18. 19 • Common Business Objectives • Vision Statement • Common

    measures of Success Product Owner Team Member Team Lead Team Member Team Member Senior Executives Users Domain Experts Auditors Gold Owner Support Staff External System Team Operations Staff Adopting DevOps in the Enterprise: People/Culture
  19. 20 • The case for and against ‘DevOps Team’ •

    NoOps • The DevOps Liaison Team • No overlay layer of bureaucracy Adopting DevOps in the Enterprise: People/Culture
  20. 21 • Building a DevOps Culture • There is no

    Silver Bullet • Right People are needed Product Owner Team Member Team Lead Team Member Team Member Senior Executives Users Domain Experts Auditors Gold Owner Support Staff External System Team Operations Staff Adopting DevOps in the Enterprise: People/Culture
  21. • Organizational Change ‘Shift Left’ – Operational Concerns Build ‘Application

    aware’ Environments Environment Sprints ‘Shift Left’ – Operational Concerns Build ‘Application aware’ Environments Environment Sprints Adopting DevOps in the Enterprise: People/Culture
  22. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  23. 24 • DevOps as a Business Process • A Process

    to get Capabilities from Ideation to Value • Apply Lean Thinking to Processes Adopting DevOps in the Enterprise: Process
  24. Key Capabilities 1. Collaborative Development & Continuous Integration 2. Continuous

    Business Planning 3. Continuous Release and Deploy 4. Continuous Testing 5. Continuous Feedback Adopting DevOps in the Enterprise: Process
  25. 1. Collaborative Development and Continuous Integration http://bit.ly/PRQ4a7 Mobile App Developent

    Teams Enterprise Services Developent Teams Adopting DevOps in the Enterprise: Process
  26. 2. Continuous Business Planning 3. Continuous Release and Deploy 4.

    Continuous Testing 5. Continuous Feedback http://bit.ly/PRQ4a7 Adopting DevOps in the Enterprise: Process
  27. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  28. • Infrastructure as Code/Software Defined Environments package "apache2" do package_name

    node['apache']['package'] end service "apache2" do case node['platform_family'] when "rhel", "fedora", "suse" service_name "httpd" # If restarted/reloaded too quickly httpd has a habit of failing. # This may happen with multiple recipes notifying apache to restart - like # during the initial bootstrap. restart_command "/sbin/service httpd restart && sleep 1" reload_command "/sbin/service httpd reload && sleep 1" /* REXX */ /* REXX BIND processor sample */ trace o Arg PACKAGE DBRM rcode = 0 /* Set BIND options */ SYSTEM = 'DSN9' i = Pos('(', DBRM) len = Length(DBRM) LIBRARY = Substr(DBRM, 1, i - 1) MEMBER = Substr(DBRM, i + 1, len - i - 1) OWNER = 'DEVDBA' ACTION = 'REPLACE' VALIDATE = 'RUN' ISOLATION = 'CS' EXPLAIN = 'NO' QUALIFIER = 'DEVDBA' Call Bind_it Exit rcode Bind_it: /* Create a bind control statement as a single long line. Then */ /* queue that into a FIFO stack */ DB2_Line = "BIND PACKAGE("PACKAGE")" ||, " LIBRARY('"LIBRARY"')" ||, " MEMBER("MEMBER")" ||, " OWNER("OWNER")" ||, " ACTION("ACTION")" ||, " VALIDATE("VALIDATE")" ||, " ISOLATION("ISOLATION")" ||, " EXPLAIN("EXPLAIN")" ||, " QUALIFIER("QUALIFIER")" /* Write the bind control statement to the data queue and execute */ /* DB2I to perform the bind. */ queue DB2_Line queue "End" Address TSO "DSN SYSTEM("SYSTEM")" rcode = RC Return Rational Automation Framework (WAS, Commerce, MQ…) Adopting DevOps in the Enterprise: Technology
  29. Adopting DevOps in the Enterprise: Technology 30 • Common Collaboration

    Tools • Common Work Item Management Tool • Dashboards to show status/progress
  30. Agenda • Why DevOps? • What is DevOps? • Adopting

    DevOps o People o Process o Technology • IBM DevOps Solution
  31. IBM announces the acquisition of UrbanCode Inc. Enhancing Continuous Release

    and Deployment:  Drive down cost by automating manual tasks, eliminating wait-time and rework  Speed time to market by increasing the frequency of software delivery  Reduce risk through increased compliance of application deployments. 33 Deployment Complements our DevOps solution:  Deliver a differentiated and engaging customer experience by reducing time to customer feedback  Quicker time-to-value of software-based innovation with improved predictability and success  Increased capacity to innovate by reducing waste and rework in order to shift resources to high-value activities Complementing our DevOps solution, combining IBM and UrbanCode, will enable clients to more rapidly deliver mobile, cloud, big data analytics and traditional applications.
  32. Line of Business SmartCloud Orchestrator IBM Pure Application System Openstack

    Jenkins Rational Build Forge uBuild DevOps Tool Chain Plan and Measure Develop and Test Release and Deploy Monitor and Optimize Rational Focal Point Rational Requirements Composer Rational Team Concert Rational Quality Manager Rational Test Workbench Rational Test Virtualization Server SmartCloud Control Desk SmartCloud Application Performance Management
  33. Line of Business SmartCloud Orchestrator IBM Pure Application System Openstack

    Jenkins Rational Build Forge uBuild DevOps Tool Chain Plan and Measure Develop and Test Release and Deploy Monitor and Optimize Rational Focal Point Rational Requirements Composer Rational Team Concert Rational Quality Manager Rational Test Workbench Rational Test Virtualization Server SmartCloud Control Desk SmartCloud Application Performance Management
  34. Continuous testing with virtualized services Avoid testing bottlenecks due to

    dependencies on external services • Automate setup and management of test virtualization server in the cloud • Automates configuration of virtualized services for an application under test • Automate setup of production-like test environments with low cost Databases Mainframe applications Third-party Services Rational Test Virtualization Server App deploy Application changes being tested virtualized services IBM SmartCloud Orchestrator IBM PureApplication System SIT FVT IBM Rational Test Workbench
  35. What is Service Simulation and Test Virtualization? Test Virtualization enables

    to create “virtual services”: –Virtual Services simulate the behavior of an entire application or system during testing –Virtual Services can run on commodity hardware, private cloud, public cloud –Each developer, tester can easily have their own test environment –Developer and testers continue to use their testing tools (Manual, Web performance, UI test automation) 37 Capture & Model Capture & Model System dependencies are a key challenge in setting up test environments: Unavailable/inaccessible: Testing is constrained due to production schedules, security restrictions, contention between teams, or because they are still under development Costly 3rd party access fees: Developing or testing against Cloud-based or other shared services can result in costly usage fees Impractical hardware-based virtualization: Systems are either too difficult (mainframes) or remote (third-party services) to replicate via traditional hardware-based virtualization approaches Heterogeneous Environments Public Cloud Private Cloud Data Warehouse Mainframe Enterprise Service Bus Directory Identity File systems Collaboration App Under Test Routing Service Third-party Services Portals Content Providers EJB Shared Services Archives Business Partners Messaging Services Databases Mainframe applications App Under Test Third-party Services Packaged apps, messaging services, etc. Virtual Services
  36. Testing with dependency virtualization Phase 1 Phase 2 Phase 3

    App Test Case Virtual Services 3rd Party Call IMS Data Access CICS Commarea Call App Test Case Virtual Services 3rd Party Call IMS Data Access CICS Commarea Call App Test Case Virtual Services 3rd Party Call IMS Data Access CICS Commarea Call Controlled large system testing by isolating components under test • Easier problem determination • Lower test environment capacity requirements • Improved component quality
  37. Where to get more information?  IBM Enterprise DevOps blog

    –http://ibm.co/JrPVGR  Understanding and Adopting DevOps (Series on my Blog) –http://bit.ly/MyDevOps  IBM DevOps Learning Circles: –http://ibm.co/13KPKej
  38. 40

  39. 41 © Copyright IBM Corporation 2013. All rights reserved. The

    information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.