YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Keynote ECSE 2011: Development and Operations - Two Worlds Collide

07.09.11

Development and Operations Two Worlds Collide Eberhard Wolff Architecture and Technology Manager adesso AG

Page 2: Keynote ECSE 2011: Development and Operations - Two Worlds Collide

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

►  [email protected]

Eberhard Wolff: Development and Operations - Two Worlds Collide

Page 3: Keynote ECSE 2011: 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

Page 4: Keynote ECSE 2011: 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

Page 5: Keynote ECSE 2011: 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

Page 6: Keynote ECSE 2011: 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

Page 7: Keynote ECSE 2011: 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

Page 8: Keynote ECSE 2011: 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

Page 9: Keynote ECSE 2011: 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

Page 10: Keynote ECSE 2011: 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

Page 11: Keynote ECSE 2011: 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

Page 12: Keynote ECSE 2011: 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

Page 13: Keynote ECSE 2011: Development and Operations - Two Worlds Collide

Other Example: Flick Photo Sharing

07.09.11 13 Eberhard Wolff: Development and Operations - Two Worlds Collide

Page 14: Keynote ECSE 2011: Development and Operations - Two Worlds Collide

Other Example: Etsy

07.09.11 14 Eberhard Wolff: Development and Operations - Two Worlds Collide

Page 15: Keynote ECSE 2011: 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

Page 16: Keynote ECSE 2011: 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

Page 17: Keynote ECSE 2011: 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

Page 18: Keynote ECSE 2011: 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

Page 19: Keynote ECSE 2011: 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

Page 20: Keynote ECSE 2011: 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


Related Documents