Enterprise DevOps: Scaling Build, Deploy, Test, Release

  • 5,390 views
Uploaded on

Slides from this webcast: bit.ly/mTUTq4 …

Slides from this webcast: bit.ly/mTUTq4

Discussion of what DevOps is, why we need it, what sorts of shared tooling helps it, and how it fits in to an enterprise rollout.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,390
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
14

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Enterprise DevOps: Scaling Build, Deploy, Test, Release
    Eric Minick, Lead Consultant
  • 2. Agenda
    What is DevOps (and why does it exist)?
    What do we need from DevOps?
    Tools for DevOps
    Adopting DevOps in the Enterprise
  • 3. Agenda
    What is DevOps (and why does it exist)?
    What do we need from DevOps?
    Tools for DevOps
    Adopting DevOps in the Enterprise
  • 4. What is DevOps? – the Patrick Debois Take
    We make bad software and deliver late
    Fear of change
    Risky Deployments
    It works on my machine
    Silos
    A DevOps Mindset Emphasizes:
    We’re all on the same team
    Developers, Testers, Ops, Managers…
    Cross-Disciplinary Approach
    Lots of Communication
    http://www.jedi.be/blog/2010/02/12/what-is-this-devops-thing-anyway/
  • 5. What is DevOps, Ctd
    It’s Agile applied beyond Development
    Cross-Functional Teams
    Focus on Results
    Embracing Change
  • 6. Traditional SDLC Roles
  • 7. Why?
    Business demand for more releases
    Growing application complexity
    Increased controls and audit requirements
    Economics limit headcount
  • 8. Why? – Business Demand for more Releases
    High investment in software needs returns quickly
    Respond in a competitive landscape
    Agile Development
    More responsive
    Smaller updates more quickly
    Hasn’t addressed actually releasing these changes
  • 9. Why? - Growing Application Complexity
    Service Oriented Architectures make for more pieces that need to be released together
  • 10. Why? - Increased Controls and Audit
    We need to comply with a variety of standards and rules
    Sarbannes-Oxley Act of 2002, SAS 70, CMMI 2/3, ISO 9001:2008, FDA and PCI compliance
    Basically:
    Separation of duties
    Clear audit trails
    Secure everything
  • 11. Why? - Economics
    Do more… but you get no more people
  • 12. Agenda
    What is DevOps (and why does it exist)?
    What do we need from DevOps?
    Tools for DevOps
    Adopting DevOps in the Enterprise
  • 13. What we need
    Automate processes NOT run them manually
    Automatic Audit Trail NOT bureaucracy
    Cooperation NOT throwing it over the wall
    Shared Automation NOT repeating ourselves
  • 14. Automation is a big part of what we need
    Builds – Production Ready Builds
    Deployments – To test environments (Dev, SIT, UAT, Perf) and production (Live, DR, Training)
    Tests – Smoke, regression, Security
  • 15. But Today’s Automation is in Silos
    Build scripts
    Unit tests
    Static analysis tools
    Nightly build
    Continuous Integration
    Update test environment
    Deploy test data
    Functional tests
    Performance/Load tests
    Static analysis tools
    Deployment scripts
    Provisioning Tools
    Archive releases in Definitive Media Library
  • 16. Team-level automation has benefits
    Save themselves time
    Automate what they would otherwise do manually
    Better visibility between team members
    CI lets other developers know the build is broken
    Smoke tests let us know if it’s worth manual testing
    Wiki board with which build is on which lab machine
    Ops – updating a status board
    Consistency
    Fewer mistakes in executing the process
    Less time tracking down bugs
    Higher quality products
  • 17. Team-Level Automation Isn’t Enough
    Each team manages the same things differently
    Deployments
    Configuration (drift)
    Deployment verification (smoke tests)
    Audit questions that cut across silos:
    What source code was used to build what’s in production?
    Is production configured the same as the test environment?
    What build was in production on Feb. 12, what was in it, who put it there, and was it tested?
  • 18. DevOps Spans Silos
    EnterpriseDevOpsties together Development, QA, Release Management and Operations to give end-to-end traceability.
  • 19. Terms relating to end-to-end automation
    DevOps
    Enterprise Continuous Integration
    Build Pipeline / Build Life
    Continuous Deployment
    Continuous Delivery
  • 20. Visualizing an SDLC Pipeline
  • 21. Foundational Tools for DevOps
    Tools should support automation and audit
    Expand on team level automation
    Common platform for builds, deployments, tests
    Central reporting and improved visibility
    No Hiding. No Heroes.
  • 22. Build Promotion / Pipeline
    Each stage can leverage existing team-level automation
    Not all builds complete the pipeline
    Stages are linked with shared reporting and reference same files
  • 23. Continuous, quality builds
    Need CI to produce deployable, traceable builds.
    Artifacts + dependencies + configuration information = “The Build”
    The Build becomes the unique identifier to provide traceability across systems.
    Aids Audit:
    We have one identifier for stuff from dev to ops
    Supports Automation:
    Consistent communication for hand-offs
    A complete bundle of deployment “stuff”
  • 24. Artifact Repository (DML)
    Need an artifact repository
    Traceability to source still essential
    Repository (ITIL DML) becomes a building block of the end-to-end system
    Aids Audit
    What source code was used to build what’s in production?
    Supports Automation
    Builds populate it. Deployments retrieve from it.
  • 25. Configuration Management
    Need configuration driven by the system instead of done by hand
    Extract configuration from one system, deploy to another
    Can reduce deployment failures by 90%
    Aids Audit:
    Is production configured the same as test?
    Supports Automation:
    Addresses easiest part to forget when creating the manual deployment doc
  • 26. Track Complex Deployments
    How do the database, application, configuration, and content changes relate?
    Aids Audit:
    Did the whole change go out, or just part of it?
    Supports Automation
    Orders and coordinates automated workflows
  • 27. Role Based Controls
    Shared automation with rights for who does what
    Devs build and own dev test
    QA deploys to their environments and run tests
    Operations runs deployments to production
    Managers approve and monitor
    Aids Audit
    Clear controls and separation of duties
    Supports Automation
    Removes barriers to adopting shared automation
  • 28. Automated Tests
    Regression tests for shorter QA cycles
    Smoke tests for validating deployments in ALL environments
    Aids Audit
    Easily demonstrable tests run against the release
    Supports Automation
    Quickly detects deployment problems and prompt rollback
  • 29. Requirements forDevOps automation
    Need an artifact repository to trace “The Build”
    What source code was used to build what’s in production?
    Need to drive configuration from the system
    Is production configured the same as the test environment?
    Need manage complex deployments
    Which versions of various tiers go together?
    Need to control & track who, did what, when
    What build was in production on Feb. 12, what was in it, and who put it there?
    Need to track historical information
    Did the tests all pass for the build we put into production six months ago?
    Need automated smoke tests
    Did the release work?
  • 30. Scaling DevOps to the Enterprise
    Most organizations start with pilot projects for build and deployment automation
    The enterprise will want to adopt this throughout development
  • 31. Drivers for enterprise adoption
    Seek to adopt “best practices”
    Why have any team doing something less than the best?
    Consistency
    Reduce friction moving people between teams
    Invest in training materials (help, documentation, training videos)
  • 32. What’s needed for enterprise deployment?
    Scalability
    Find my project among 5000
    Process flexibility (hard coded script names, certain user, certain machine, IP addresses, platform support)
    Economies of Scale
    Wait… does each team need its own (under-utilized) server?
    Better solution: pool of servers
  • 33. What’s needed for enterprise deployment?
    Management
    Licensing
    Support
    Keeping the system running
    Training
    Security
    Keep teams from breaking each-other
  • 34. The human side of enterprise adoption
    Beware of Conway’s law:
    Cooperation and shared automation are unnatural when you work for different bosses.
    Solve the problem for everyone involved
    Cast a wide net: Involve a wide audience early
    Make it easier to get their job done within the system than outside it
  • 35. Four strategies for facing Conway’s Law
    Hire engineers that have skills in development, test and system administration
    Put together cross functional teams with developers, testers and sys-admins
    Create a central “DevOps Infrastructure Team.” Provides shared infrastructure as a service, facilitates Dev / Ops communication .
    Fight through it! There’s nothing keeping you from asking, “How do I make your life easier?”
  • 36. Summary
    Document based communication and manual build and release processes are slow and broken
    Greater cooperation between development and operations is needed
    A common automation infrastructure helps
    Someone needs to make it happen
  • 37. References
    http://urbancode.com/resources
    Enterprise CI Maturity Model
    Death to Manual Deployments!
    Build & Deployment Automation for the Lean Economy
    ITIL Release Management and Automation
    http://urbancode.com/blogs/
    http://twitter.com/UrbanCodeSoft
  • 38. Yes, we sell products for this
    AnthillPro is becoming the DevOps Platform
    DevOps Platform
    End to End Automation
    UrbanBuild
    Build automation and CI for the hard problems
    UrbanDeploy
    Deployment and release management
  • 39. Questions?