View
810
Download
0
Embed Size (px)
DESCRIPTION
This presentation talks about the separation between Operations Development that is ubiquitous is Enterprise IT. It then shows alternatives and introduces to the DevOps movement. It was delivered as a keynote in the Indutrial Track at ESEC 2011 in Szeged, Hungary.
Citation preview
07.09.11
Development and Operations Two Worlds Collide Eberhard Wolff Architecture and Technology Manager adesso AG
About me ► Eberhard Wolff
► Architecture & Technology Manager at adesso
► adesso is a leading IT consultancy in the German speaking region
► Speaker
► Author
► Blog: http://ewolff.com
► Twitter: @ewolff
► http://www.slideshare.net/ewolff
Eberhard Wolff: Development and Operations - Two Worlds Collide
Development and Operations
Development
► Projects
► Software development
► Requirements
► …
Operations
► Keeps system functional in production
► Install / upgrade hardware / software
► Service Level Agreements
► …
07.09.11
Ubiquitous concept - separated in almost any organization Sometimes separated up to the CIO level
Software
Eberhard Wolff: Development and Operations - Two Worlds Collide
Why Separated? ► Adam Smith
► Division of labor
► Standardization
► Specialization
► Industrialization
► Productivity gains
► Really? Considering the typical IT zoo…
07.09.11 4 Eberhard Wolff: Development and Operations - Two Worlds Collide
Development and Operations
Development ► Concerned with implementing features
and fixing bugs
► Care about the evolution of systems
► Prefer technologies with high productivity
► Care the most about programming languages frameworks etc.
► Area of expertise: Code, Languages etc
Operations ► Concerned with availability &
performance
► Care about stability (called at 3 am)
► Prefer stable & established technologies
► Care the most about operating system database servers applications servers etc.
► Area of expertise: OS, monitoring etc
07.09.11 Eberhard Wolff: Development and Operations - Two Worlds Collide
Story ► Large Java project, not too long ago
► Decision: Use JDK 1.4 > Experience - foundation for another project > Was already outdated by that time > But: No support any more
► Called in to solve a problem
► Result: A performance issue in the JDK
► JDK 1.5 > Many improvements for developers > Specific problem is fixed > So: Better for operations, too!
07.09.11 6
Separation leads to wrong decision
Eberhard Wolff: Development and Operations - Two Worlds Collide
Another Story ► Development decided against using Enterprise Java Beans (EJBs)
► Operations: “We will buy an application server with EJB support.”
► …just in case
► More complex, more costly
► Not their turf: Frameworks decided in development
► Same organization: Operations created several frameworks > To make applications easier to operate > Because the framework is concerned with specific infrastructure
07.09.11 7
Separation not enforced
Eberhard Wolff: Development and Operations - Two Worlds Collide
Performance: Different Perspectives
07.09.11 8
Database
Operating System Hardware
JVM Code
Development
Operations
Classes Garbage Collection JVM options
File I/O Memory OS locks CPU load
Database Know How?
Java Know How?
Java Database Driver No holistic view on performance and
architecture Eberhard Wolff: Development and Operations - Two Worlds Collide
Separation? ► Operations usually automates
> Develops shell scripts etc > Automated software deployment
► Operations = developers for infrastructure code > Deployment scripts > Monitoring > …
► Will become more due to Virtualization and Cloud > Less hardware > More need for automation > Throw-away systems
► Database administrators > Care about availability of databases > And support development
07.09.11 9 Eberhard Wolff: Development and Operations - Two Worlds Collide
Lean Production ► Eliminate waste!
► E.g. transport aka hand over
► Hand over from development to operations is waste
► Documentations needs to be created
► Issues might not surface until operations takes over
► Lean Production is influential to Agile Software Development
07.09.11 10 Eberhard Wolff: Development and Operations - Two Worlds Collide
Completely Different Approach ► Amazon ca. 2006 according to Werner Vogels (CTO)
► Each teams builds a services
► A service has a business purpose
► Each service has its own database and technology stack
► Virtual machines are the only common ground
► Teams provide operations and development
► No boundaries between ops and dev
► Freedom technology-wise
07.09.11 11 Eberhard Wolff: Development and Operations - Two Worlds Collide
Benefits Of Approach ► Can use the best technology for the job
► Trade off between operations and development inside the team
► Same ideas as Service Oriented Architecture
► i.e. decompose IT by services
► More flexibility
► Compose services to new services
► IT aligned to business
► Easier for business to understand IT structure
► Easier to create domain knowledge in development
► No finger pointing between operations / development if service is not available
07.09.11 12 Eberhard Wolff: Development and Operations - Two Worlds Collide
Other Example: Flick Photo Sharing
07.09.11 13 Eberhard Wolff: Development and Operations - Two Worlds Collide
Other Example: Etsy
07.09.11 14 Eberhard Wolff: Development and Operations - Two Worlds Collide
DevOps ► John Allspaw at Flickr and
Etsy pioneered DevOps
► DevOps = Development + Operations
► It has a name!
► Non trivial examples
► Common ownership of features and performance
► Cultural shift
► Less finger pointing
07.09.11 15 Eberhard Wolff: Development and Operations - Two Worlds Collide
DevOps Collaborations ► Ops can find problems in network, OS, I/O
► Development can create to show exceptions and parameters in the application
► Development knows application level metrics (registrations, revenue etc)
► Ops can monitor, plot and create triggers on the data
► A web site with disabled functions is better than no web site at all
► Development can create configurations to disable parts of the application for Ops
► A holistic view on applications
07.09.11 16 Eberhard Wolff: Development and Operations - Two Worlds Collide
DevOps And Business Agility ► Fully automated build and deployment
► Deployment can be triggered by several people, not just higher level management
► Etsy and Flickr do several deployments per day!
► Non-trivial system
► While often a deployment is a project by itself
► Enabler: Virtualization > Easy to create a new environment > Easy to fall back to older environment
► Enabler: Modern software distribution > Fully automated
► Cloud has similar approaches
► Much easier to get new versions out
► More business agility
07.09.11 17 Eberhard Wolff: Development and Operations - Two Worlds Collide
From Continuous Integration to Continuous Deployment ► Integrating the work of multiple teams can be painful
► If it hurts do it more often
► Continuous Integration > A server constantly takes code from the version control > …for all projects > Compile > Do the automated tests
► Result: Integration not a problem
► Deploying software can be painful
► Continuous Delivery: Deploy as often as you can
► Automated
07.09.11 18 Eberhard Wolff: Development and Operations - Two Worlds Collide
From Agility To DevOps ► Agility
> Create runnable software during each iteration
► “Works on my machine”
► “Could be put into production – but isn’t.”
► DevOps > Software is deployed automatically > Software is actually put into production
07.09.11 19
Requirements Engineering Implementation Test Deployment
Agility DevOps
Eberhard Wolff: Development and Operations - Two Worlds Collide
Conclusion: Create Running Software ► Separation between Operations and Development is
ubiquitous
► Idea: Industrialization, standardization …
► Can lead to suboptimal compromises
► Creates Hand Over / Waste
► Different approach: Join Operations and Development “DevOps”
► Amazon, Flickr and Etsy pioneered the approach
► Better collaboration
► More business agility
► Logical next step after Agile Processes
► Enterprise ITs start to adopt
► Open: Impact on cost and processes
07.09.11 20 Eberhard Wolff: Development and Operations - Two Worlds Collide