• Save
Overcoming problems implementing cloud based dev ops for distributed agile projects
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Overcoming problems implementing cloud based dev ops for distributed agile projects

  • 231 views
Uploaded on

Cloud-base development, delivery and deployment are the future of IT operations. Getting to the Cloud and conducting the business of IT there is a journey of change and growth to an IT......

Cloud-base development, delivery and deployment are the future of IT operations. Getting to the Cloud and conducting the business of IT there is a journey of change and growth to an IT Organization. Discover potential problems and their solutions based the experiences in developing Cloud-Based operations for multiple large, distributed projects in a variety of challenging environments. Overcoming these challenges is the key to successful adoption of Cloud DevOps and realizing the operational and productivity gains of the Cloud. Learn the hard earned lessons we learned from creating successful DevOps projects using Cloud Technology.

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
    Be the first to like this
No Downloads

Views

Total Views
231
On Slideshare
231
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

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
  • Full setup and tear down of test environmentsCreation and disposal of development and test environments based on needScaling development and test environments to fit the task, so if you want to do performance testing on a duplicate of your production environment, you can, without having those resources in-houseProgrammatic control of self-service APIs allows your team to fully automate setting up and tearing down resources for:Dynamic scaling of production resourcesOn-demand creation of development and test resources, sized to fit the immediate needsFully automating the development, test, and deployment life cycleAutomation is not magic. You have to work at it, maintain it, and manage configuration data.
  • Expect people to cry, literally cryExpect people to call you names, sometimes really mean namesExpect to take the blame and be blamedExpect anger over changing the way things are doneExpect a lot of politics and political fighting
  • - Getting executive sponsor, without a sponsor pushing for Cloud-Based DevOps (both or just one) it won't happen, there is too much organizational momentum and resistance to change to make it happen.- Refusal to change - there are many voices in an organization, each with different agendas. If the voices against change feel they can stop you, by whatever means, they will try and sometimes win. What you feel is best for the project or organization may not be accepted by everyone, you have to sell your proposal to the organization, at multiple level, often multiple times. Expect push back and back sliding.
  • Face to Face team buildingIn person is bestVideo is better than nothingIf your locations don’t “know” each other, they won’t trust each otherPhone calls aren’t enoughMake sure that all locations have equal opportunities forAdvancementInteresting Work

Transcript

  • 1. 1© Copyright 2013 Coveros, Inc.. All rights reserved. Overcoming Problems Implementing Cloud-Based DevOps for Distributed Agile Projects Thomas Stiehm, CTO tom.stiehm@coveros.com
  • 2. 2© Copyright 2013 Coveros, Inc.. All rights reserved.  Coveros helps organizations accelerate the delivery of business value through secure, reliable software. About Coveros
  • 3. 3© Copyright 2013 Coveros, Inc.. All rights reserved. Cloud-based  Cloud Computing - In its essence, Cloud Computing is a massive distributed computing model consisting of three tiers: infrastructure, platform and services, and is about using swarms of computers to deliver unprecedented computing power to people and organizations across the globe. Cloud computing isn't a new technology nor a new architecture... it's a new delivery model.1 1. http://www.mkpress.com/CloudReading
  • 4. 4© Copyright 2013 Coveros, Inc.. All rights reserved. DevOps  DevOps – A combination of Development and Operations, it 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.1 1. http://en.wikipedia.org/wiki/DevOps
  • 5. 5© Copyright 2013 Coveros, Inc.. All rights reserved. Distributed Agile Projects  Distributed Agile, as the name implies, is a model in which projects execute an Agile Methodology with teams that are distributed across multiple geographies.1 1. . Distributed Agile, DH2A: The Proven Agile Software Development Approach and Toolkit for Geographically Dispersed Teams By: Upadrista Venkatesh
  • 6. 6© Copyright 2013 Coveros, Inc.. All rights reserved. Cloud-Based Agile DevOps VA TX Data Center CA India Ex. SVN, Jenkins, Maven, Sonar, Trac, Linux Data Center Code Repo, Build, QA, Dev, Test, Staging, Prod
  • 7. 7© Copyright 2013 Coveros, Inc.. All rights reserved. Cloud Features  Cloud Provisioning  Dynamic Computing Infrastructure  Self-Service, Self-Managed Platforms  Programmatic Control of Server Resources  Internet Accessible  Geographic Distribution
  • 8. 8© Copyright 2013 Coveros, Inc.. All rights reserved. The Problems  Technology – Picking a cloud vendor – Picking a cloud model – Establishing a build pipeline, a.k.a. automation of build, test, deploy, test, promote process  People – Education – Change Management – Process Management  Distributed Team – Getting everyone on the same page
  • 9. 9© Copyright 2013 Coveros, Inc.. All rights reserved. The Vendor  The cloud vendor can make or break you. Pick one that meets your needs, skip any that don’t provide real cloud services.  There is no perfect cloud platform, they all have problems.  If you pick a cloud vendor that expects things to be done their way, do it their way.  If you pick a cloud vendor that offers extra services that induce lock-in, consider using their extra services but think about it a lot. It could be easer and work better than rolling your own.
  • 10. 10© Copyright 2013 Coveros, Inc.. All rights reserved. The Model  Understand your system, application and organizational requirements  Pick a Service Model –Software-as-a-Service (SaaS) –Platform-as-a-Service (PaaS) –Infrastructure-as-a-Service (IaaS)  Pick a Vendor that suits your requirements, service model and budget  Train your team on the vendors technology and service model
  • 11. 11© Copyright 2013 Coveros, Inc.. All rights reserved. Build Pipeline  Automate everything and treat it as software: tests, VM setup, test data – Version it – Review it – Test it  Test everything, from VM setup to application deployment to testing to VM tear down, as you learn error and failure conditions automate dealing with them  Automate Testing and Test Data Creation  Be able to automatically rebuild, from the ground up, your dev, test, staging and prod
  • 12. 12© Copyright 2013 Coveros, Inc.. All rights reserved. Build Pipeline SVN Nexus Sonar Test Developers Users Jenkins Staging Prod Provisioning Testers Performance Test Test Automation Security Test
  • 13. 13© Copyright 2013 Coveros, Inc.. All rights reserved. Education  Do a lot of learning, teaching, hand holding and pushing for new practices  Explain things multiple times: issues, processes, practices, and priorities at multiple levels: developers, architects, testers, BAs, Project Managers, Product Managers, Directors, VPs, the client, and end users  Expect confusion, rejection and clinging to old practices, work through it  Do a lot of expectation setting and resetting
  • 14. 14© Copyright 2013 Coveros, Inc.. All rights reserved. Change Management  Get Strong Executive Sponsorship  Make ultimatums and expect to get strong pushback to those ultimatums  Expect to fail the first time, with almost everything you put in place, work through it  Everything takes longer than you planned  There will be an expectation of immediate results and payoffs, keep resetting expectations  Expect your detractors to take credit when things succeed
  • 15. 15© Copyright 2013 Coveros, Inc.. All rights reserved. Process Management  Start with a goal in mind, create an initial plan, work toward that in small steps  Have a change imperative, make it something you organization values  Keep selling the new processes and practices, people need reminders, keep getting commitments to follow the new process  Get enforceable Service Level Agreements (SLAs)
  • 16. 16© Copyright 2013 Coveros, Inc.. All rights reserved. Distributed Team  Do everything you can think of to reduce location bias  Use Cloud-based services to communicate: –Text (IM and Email) –Voice –Video –Collaboration –Source Code Management –Code Review –Project Management Software  Give all team members equal opportunity for improvement and advancement
  • 17. 17© Copyright 2013 Coveros, Inc.. All rights reserved. What to avoid  Vendors that don’t provide real cloud services  Physical Data Center Mentality  Vendors that over allocate VM host resources  Underpowered Private Cloud offerings  Direct confrontation with the entrenched OPS team  Direct confrontation with the entrenched Development team
  • 18. 18© Copyright 2013 Coveros, Inc.. All rights reserved. Trade-Offs  Loss of control  Don’t have to worry about infrastructure  Do have to watch for over-provisioned hosts  Cloud vendor has different priorities than you.  SaaS gets you started very quickly, but it limits how you can grow.  PaaS simplifies your choices but locks you in  IaaS can be like a CoLo arrangement with less control and all of the responsibility.
  • 19. 19© Copyright 2013 Coveros, Inc.. All rights reserved. Derailments  Picking the wrong vendor  Picking the wrong service model  No or limited automation and test automation  No access VM host console or VM API  Staff that is adamantly against change  Management that doesn’t support change  Application requirements that don’t fit within the vendor’s framework or service model
  • 20. 20© Copyright 2013 Coveros, Inc.. All rights reserved. How to Begin  Create a plan: short term, near term, long term. You are going to get it wrong, keep adjusting and resetting expectations.  Focus on priorities.  Base priorities on business value, however you define that. If you don’t show business value, you will fail.  Start simple and get more sophisticated as you go. You are going to have to refactor your work/processes/practices anyway so get going and adjust as you learn.
  • 21. 21© Copyright 2013 Coveros, Inc.. All rights reserved. How to Begin  Work in small, quick steps, adjust your strategy and tactics around things that work.  Fix pain points. Focus on fixing the pain points of the people that have the most to gain, provide value to them and their direct management.  Get key stakeholders and influencers on your side. Show them how life will be better for them using the cloud for DevOps.  Some people will reject the new way of working. Route around them and eventually the organization will leave them behind.
  • 22. 22© Copyright 2013 Coveros, Inc.. All rights reserved. Thank You