Customer Presentation: Digital Globe's road to Continuous Delivery

1,401 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,401
On SlideShare
0
From Embeds
0
Number of Embeds
312
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Each Dev, Test environment has over 200 VM’s. Production env is over 700 VM’s.Broken into Commercial and Secure partsHave to maintain the same deployment infrastructure on both sides.Complexity is increased when we add the Customer facing applications
  • DG is a an Agile shop. With over 100 developers working on every facet of producing high quality images. With current market changes related to the Industry, we need to become less reactive and more proactive by pushing out quality code, on time, and frequently to meet customer demand.Our releases would take days, literally. Shut down the entire “factory” before doing an update. This is not only costly from a business perspective, but very disruptive.By being able to repeat deployments through environments, the reliability of these deployments increases exponentially as you get closer to production.Improves the process by providing a very stable system that is consistent and reliable.Finally – reduce cost by reducing the number of people working on the deployments of major releasesOne shoe fits all……try and get as much of the process and applications or systems into the CD process.
  • Assimilate as much as possible. Don’t reinvent the wheel for things that
  • Customer Presentation: Digital Globe's road to Continuous Delivery

    1. 1. Continuous Delivery…at DigitalGlobe January, 2014 Sanduwa, Democratic Republic of Congo | May 20, 2012 | WorldView-2 DigitalGlobe Proprietary and Business Confidential
    2. 2. Who am I and what do I do? Sunil Mavadia Manager – Deployment and Environment Management smavadia@digitalglobe.com • • Manage all the aspects of software deployment of through the Dev, Test and Production Systems at DG Manage the environments/systems from Dev through to Production. DigitalGlobe Proprietary and Business Confidential 2
    3. 3. What does DigitalGlobe do? • DigitalGlobe owns and operates the most agile and sophisticated constellation of commercial earth imaging satellites in the world. • With over 4 billion square kilometers in our archive and growing, DigitalGlobe is the commercial imagery content leader. • DigitalGlobe supports the causes closest to our hearts, while fostering the growth of the next generation of geospatial technology professionals. • Industries: Government, Defense, Location Based Services, Mining, Natural Resources and many others. DigitalGlobe Proprietary and Business Confidential 3
    4. 4. DigitalGlobe – Seeing a better world DigitalGlobe Proprietary and Business Confidential 4
    5. 5. Agenda Objective of Continuous Delivery at DG • DG’s Software Development Environment • Our challenges • What did we do? • DigitalGlobe Proprietary and Business Confidential 5
    6. 6. Objective of Continuous Delivery Our goal is to reduce the amount of resources it takes to deploy large releases by reducing downtime and increasing the system availability, through the use of Deployit and full automation of the deployment to our ground systems by the end of 2014. DigitalGlobe Proprietary and Business Confidential 6
    7. 7. Our Software Development Environment Over 100 Developers distributed around the Globe • Large Data Center footprints • Dispersed IT Infrastructure • Creating local IaaS and also currently using AWS • Over 100 Internal Applications, over 20 COTS • Agile Development Methodology • - Bi-weekly sprints Twice a week deployments to Test Once a week to production. Once a month Major updates Once a quarter Major releases DigitalGlobe Proprietary and Business Confidential 7
    8. 8. Our Systems/Environment layout DigitalGlobe Proprietary and Business Confidential 8
    9. 9. Our Software Delivery Stack Jenkins DigitalGlobe Proprietary and Business Confidential 9
    10. 10. Our Challenges We are always on fire!!!!! DigitalGlobe Proprietary and Business Confidential 10
    11. 11. Building a business case for Continuous Delivery • What are your major pain points? - Ours were: - Extended (majorly extended) deployment times. Not hours, but days. - Extreme use of specialized resources (Dev, CM, IT) - All hands on deck. - Unreliable deployments, 100% of the time - Something was bound to break, every time. - Error prone delivery of software. Lower Quality Less than 40% automation Non-standard delivery of software across the Enterprise Multiple production environments enhanced the complexity factor multiple times over IDENTIFY YOUR MAJOR PAIN POINTS UPFRONT. DON’T BOIL THE OCEAN. DigitalGlobe Proprietary and Business Confidential 11
    12. 12. Building a business case for Continuous Delivery • So why Continuous Delivery? - Be more agile. Not reactive to market changes - Reduce deployment times by factors of days and hours - Improve the reliability and quality of deployments - 99% uptime on systems - No downtime on applications - Improve the process and mature the services that provide the automated deployment capabilities - And finally…cost reduction - Try to get to one shoe size fits all……well…as much as possible. DigitalGlobe Proprietary and Business Confidential 12
    13. 13. Key steps to ensure successful implementation Don’t rock the boat if you don’t have to • Integrate, don’t disintegrate • Get buy-in from the top • - Grassroots implementation of Continuous Delivery is a start, but until you get full buy-in from the top brass, it is difficult. • • Baby Steps – don’t bite off more than you can chew Keep track of your metrics DigitalGlobe Proprietary and Business Confidential 13
    14. 14. So how did we do this? • Standardize the environments. - All environments should look alike. Dev Environment = Test Environment = Staging Environment = Production Environment - Standardize the tools across all dev teams: - Subversion Jenkins Puppet ANT/Maven DB Update tools eg: Liquibase DigitalGlobe Proprietary and Business Confidential 14
    15. 15. Reduce the build time dependencies ? Wanna see something scary? DigitalGlobe Proprietary and Business Confidential 15
    16. 16. DigitalGlobe Proprietary and Business Confidential 16
    17. 17. Critical measurements to ensure the continual improvement of software delivery • Efficiency - We want to make sure that the application deployment was efficient. • Quality - Moving code through from Dev  Test  Production in like environments using the same methods or tools (Deployit) ensures quality. • Timeliness - The same approach to all deployments ensures that it will take the same amount of time to complete a deployment, every time. • Maturity - Process by which code is deployed is consistent and thus, constantly maturing. DigitalGlobe Proprietary and Business Confidential
    18. 18. Our Initiative Started Deployit Pilot in October 2013 • Testing Deployit it for a year prior to purchase • We have tested a homegrown solution using Jenkins, Puppet etc. • - No database capabilities made it impossible to do full upgrade - Now using Liquibase in conjunction with Deployit DigitalGlobe Proprietary and Business Confidential 18
    19. 19. DGN Beta & OGC Environment 2013.05 2014.01 Automation Tools 2014.02 DGN Beta F5 Rules iControl & Deployit Selected Prod. Environ. Code Jenkins & Deployit Selected Prod. Environ. Configs Jenkins & Deployit Selected Prod. Environ. DB Selected Prod. Environ. DGN Beta DGN Beta Define DB Deployment Automation (MMF1492) DGN Beta Selected Prod. Environ. MMF1625 - Implement Config Autom. - Bi-weekly to DGN Beta - Intro. Feature Toggle - Standing up DGN Beta - Debug Depl. Autom. - Establish Confidence - Deployment Metrics - Cont. Bi-wkl DGN β Deploy to Patch First Prod. Deploy Plan for BTS (C300) Liquibase & Deployit Tomcat Cont. Deployit 3rd Party SW (e.g. GDAL) Puppet OS + Patches Puppet Deployit to trigger Puppet? Simplified System Stack DigitalGlobe Proprietary and Business Confidential 19
    20. 20. DigitalGlobe Proprietary and Business Confidential 20
    21. 21. Deployment Reporting (format example) DigitalGlobe Proprietary and Business Confidential 21

    ×