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.

Agnostic Continuous Delivery

3,476 views

Published on

Feedback on the implementation of an architecture allowing to do some Continuous Delivery in both PHP and Java environments for a leading company in the Telecom Industry. We will describe the methods and tools we have implemented as well as the limitations and difficulties we have encountered. Keywords : Industrialization, DevOps, Continuous Delivery, Ansible, Rundeck, Infrastructure As Code

Published in: Technology, Education
  • Great presentation Herve, please could you throw more light on HOW rundeck can be used to execute ansible playbooks ? Is there a plugingor any work around ? or if it is only via console how does it work ? thanks.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Agnostic Continuous Delivery

  1. 1. Agnostic Continuous Delivery Feedback on the implementation of an architecture allowing to do some Continuous Delivery in both PHP and Java Hervé Leclerc - Alter Way
  2. 2. Agenda •REMINDER •CONTEXT •GOAL •PROCESS •POC / COMPONENTS •COOL / UNCOOL •CONCLUSION 2
  3. 3. REMINDER 3
  4. 4. Context : WHO? •A TOP 3 French Telecom Company 4
  5. 5. Context : WHAT? •Company in a DIGITIZING Process 5
  6. 6. CONTEXT WHY ? •To Stay Competitive and responsive 6
  7. 7. CONTEXT : HOW ? •By Optimizing the TTM 7
  8. 8. GOAL Continuous Delivery 8
  9. 9. Goal Constraints •Solaris on prod - Linux on other env •Non intrusive solutions (OPS) •Low learning curve (DEV) •Code Agnostic (JAVA / PHP) •Flexible and figure out to deal with existing environments (CI in place) •Open Source, and innovative •Sustainable 9
  10. 10. Recipe : A DevOps attitude 10
  11. 11. Recipe : People MotivatedSponsors Convinced Dev and Ops CertifiedUrbanists 11
  12. 12. Methods Dev Ops 12
  13. 13. Recipe Components •Continuous Integration CI 13
  14. 14. Recipe Components •Automatic Delivery / Deployment GUI for users Deploy Framework Ansible Extra Modules Ansible launcher in Rundeck 14
  15. 15. Focus on Continuous Delivery 15
  16. 16. CI and CD PHP PHPDepend PHPLoc PHPUnit PHPCS PHPMD PHPDox PHPBeautifier PHPPear Sonatype Nexus RPM repos SVN ECLIPSE Jenkins Rundeck Applications Ansible Infras SVN C Sonar C 16
  17. 17. CI and CD JAVA Sonatype Nexus RPM repos SVN ECLIPSE Jenkins Rundeck Applications Ansible Infras SVN C Sonar C 17
  18. 18. Deployment Workflow Get Artifact from Nexus Deployment request Pull recipes, inventory, manifest from SVN repos Check nodes with application manifest Update nodes Deploy simultaneously on nodes Checks Commit Rollback OK OK KO KO 18
  19. 19. Why Ansible ? • unlike puppet and chef Ansible is agent less. No need to bootstrap nodes • works with SSH protocol • can be used in pull or push mode • Easy Learning curve • Can handle both Configuration management and application deployment • Recipes can read by : • Dev / Ops, • Project Supervisor / Project Owner 19
  20. 20. Screen Shots Application Manifest 20
  21. 21. Screen Shots Manifest Recipe 21
  22. 22. Screen Shots Deploy Recipe 22
  23. 23. Screen Shots Shell 23
  24. 24. Why Rundeck ? •An open source tool to automate OPS jobs •Create simple user interfaces to launch jobs •REST API •Jenkins plugin •A simple solution until AWX 24
  25. 25. Screen Shots Variables definition 25
  26. 26. Screen Shots Resources Providers Execution 26
  27. 27. What’s Cool • All the scripts and recipe are Versioned in repo • All the scripts and recipes are fetched from repos before execution • Inventory files are kept in repo • Application Manifest • used to check if the infrastructure can run application • Describe the application in human language 27
  28. 28. What’s uncool • Fight Luddites • Rundeck GUI • No miracle for rollback process • No nice Ansible output in Rundeck Console 28
  29. 29. WHAT’S Next? •AWX ? •Integration of new applications •Deployment portal •Create a service catalog •provision Vms / Env 29
  30. 30. Conclusion • POC is in production, • The main thing is a question of culture • Start by small projects with a solid devops team, • Be humble, • You will need Time, • You must have convictions, • You will need perseverance 30
  31. 31. 31

×