Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Prepare the sled in summer and project release at its beginning

179 views

Published on

The sharing of the experience how devops practices help to smooth project deployment on production.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Prepare the sled in summer and project release at its beginning

  1. 1. Prepare the sled in summer and project release at its beginning • Vadym Fedorov
  2. 2. Who am I? • Vadym Fedorov < vfedorov@softserveinc.com > • Role: Solutions Architect • Company: Softserve • Specialization: Development of the Enterprise Applications in the IT operations management segment. • Technologies and tools: .NET, Python…
  3. 3. Project conditions • Development of the brand new software product • Tight deadlines • We need to build a new infrastructure • Agile Development Process 3 How to deliver product to production in time?
  4. 4. Software Development Infrastructure Design Infrastructure Deployment Setup operations Acceptance testing Go to Live! Software delivery process 4 Development Team Operations Team Knowledge Transfer from DEV to OPS
  5. 5. Knowledge transfer from DEV to OPS 5 What server configuration do you need? How many servers do you need? What network configuration is required? How about security? OPS DEV I haven't answers, but I need "Live” ASAP!!! Where is disaster recovery plan?
  6. 6. The reasons • Dev team did knowforgot that Ops is one of the main stakeholders; • The Dev and Ops teams have different success metrics and goals; • Lack of communication between the Dev and Ops teams; • There is a difference between development and target environment configurations.
  7. 7. Teams Collaboration Anti-Patterns Source: http://blog.matthewskelton.net/2013/10/22/what-team- structure-is-right-for-devops-to-flourish/
  8. 8. Collaboration best practices • There should be one, and only one, manager responsible for a product or feature development from A to Z. • The development and operational teams need to share common success indicators focused on the delivery result. • Close communication and collaboration between Dev and Ops team.
  9. 9. Software Development Infrastructure Design Infrastructure Deployment Setup operations Acceptance testing Go to Live! Software delivery process 9 Development Team Operations Team Knowledge Transfer from DEV to OPS
  10. 10. Software Development Infrastructure Design Infrastructure Deployment Setup operations Acceptance testing Go to Live! Adjusted Software delivery process 10 Development Team Operations Team Dev + Ops Produce knowledge
  11. 11. Teams Collaboration Types Source: http://blog.matthewskelton.net/2013/10/22/what-team- structure-is-right-for-devops-to-flourish/
  12. 12. Teams Collaboration Types Source: http://blog.matthewskelton.net/2013/10/22/what-team- structure-is-right-for-devops-to-flourish/
  13. 13. Teams Collaboration Types Source: http://blog.matthewskelton.net/2013/10/22/what-team- structure-is-right-for-devops-to-flourish/
  14. 14. Development best practices • Leverage virtualization benefits for DEV environment • Keep development, staging, and production as similar as possible • To apply an “infrastructure as code” approach. • To automate quality control and acceptance testing
  15. 15. Quick assessment: Where we are? 15
  16. 16. Key indicator • Project Portability, i.e. an ability to move the project between different environments and teams. • Project Continuity ensures that a project can be successfully completed even if a team changes. • Time-to-market and cost requires control over your project development, since these are critical elements that directly affect revenue and your position in the market. So make sure you are using effective ways to optimize this business driver.
  17. 17. The Project Maturity Model
  18. 18. 18 Ad-hoc Defined Repeatable Managed Project Portability • Environments and configuration are different • Requires manual efforts • Environments rather closer to Prod than not. • Requires manual efforts • Environment close to Prod • There are manual operations • Environment close to Prod • There are manual operations Project Continuity • Documentation is often outdated if present at all • Launching a new team requires significant efforts • Documentation is up to date • Launching a new team requires significant effort • Difficult to keep environment updated • Documentation is up to date • Documentation is validated • Virtual Machines is up to date • Documentation and Infrastructure are code Time-to-market and cost High Satisfactory Good Low
  19. 19. “Infrastructure as code” approach Virtual Machine Provisioner Scripts Vagrant Code Virtual Machine Provisioner Scripts Production Code Same OS, same configuration and same versions Ops or DevOps Dev Deploy
  20. 20. Tools that are good to know • Vagrant: https://docs.vagrantup.com/v2/ • Configuration Management and Provisioners:  Chef: https://www.chef.io/chef/  Puppet: https://puppetlabs.com/  Ansible: http://www.ansible.com/home • Log management and Monitoring  Newrelic: http://newrelic.com/  Loggly: https://www.loggly.com/  Logstash: https://www.elastic.co/products/logstash • Testing:  JMeter: http://jmeter.apache.org/  Selenium: http://www.seleniumhq.org/
  21. 21. Summary • Involve Ops Team to the Development process; • Keep development, staging, and production as similar as possible; • Prototype production environment locally; • Apply an “infrastructure as code” approach and automate all what is possible. 21
  22. 22. Thank you! US OFFICES EUROPE OFFICES Austin, TX Fort Myers, FL Lehi, UT Newport Beach, CA Waltham, MA Bulgaria Germany Netherlands Poland Russia Sweden Ukraine United Kingdom www.softserveinc.com

×