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.

Continuous Delivery: Playing with Immutable servers @commitporto 2016

615 views

Published on

Continuous Delivery is the trend process of the moment. It helps companies to deliver their products in a faster and trustful way.
Immutable Server is not a new concept. However, thanks to advent of IaaS like AWS, it becomes easier embrace the idea and use its amazing advantages.
Mindera tries to adopt these concepts in their projects. It has never been so cool to watch our CD pipeline build and destroy our application’s infrastructure. It's so awesome that we want to share it with you.

Published in: Technology
  • Be the first to comment

Continuous Delivery: Playing with Immutable servers @commitporto 2016

  1. 1. commitporto.com/2016 CONTINUOUS DELIVERY PLAYING WITH IMMUTABLE SERVERS João Cravo
  2. 2. @commitporto2016 @joaogbcravo @minderaswcraft WHO AM I - João Cravo - Software Engineer - Improving pipelines in the last 4 years - Chef contributor
  3. 3. @commitporto2016 @joaogbcravo @minderaswcraft WHERE I CAME FROM?
  4. 4. @commitporto2016 @joaogbcravo @minderaswcraft WHERE I CAME FROM?
  5. 5. @commitporto2016 @joaogbcravo @minderaswcraft CONTINUOUS DELIVERY PLAYING WITH IMMUTABLE SERVERS
  6. 6. @commitporto2016 @joaogbcravo @minderaswcraft CONTINUOUS DELIVERY IMMUTABLE SERVERS
  7. 7. @commitporto2016 @joaogbcravo @minderaswcraft WHAT IS … CONTINUOUS DELIVERY?
  8. 8. @commitporto2016 @joaogbcravo @minderaswcraft CONTINUOUS DELIVERY (CD) https://xebia.github.io/cd-with-docker/#/
  9. 9. @commitporto2016 @joaogbcravo @minderaswcraft CONTINUOUS DELIVERY (CD) http://software-carpentry.org/blog/2014/04/continuous-publication-requires-continuous-attention.html
  10. 10. @commitporto2016 @joaogbcravo @minderaswcraft WHAT IS … CONTINUOUS INTEGRATION?
  11. 11. @commitporto2016 @joaogbcravo @minderaswcraft CONTINUOUS INTEGRATION (CI)
  12. 12. @commitporto2016 @joaogbcravo @minderaswcraft CD VS CONTINUOUS DEPLOYMENT http://blog.crisp.se/wp-content/uploads/2013/02/continuous-delivery-deployment-sm.jpg
  13. 13. @commitporto2016 @joaogbcravo @minderaswcraft DEVOPS
  14. 14. @commitporto2016 @joaogbcravo @minderaswcraft WHAT IS DEVOPS? A) A Tool Suite B) A Job Position C) A Team
  15. 15. @commitporto2016 @joaogbcravo @minderaswcraft WHAT DEVOPS… IS NOT
  16. 16. @commitporto2016 @joaogbcravo @minderaswcraft DEVOPS IS NOT… A JOB TITLE http://www.indeed.com/jobtrends/q-Devops-Engineer.html?relative=1
  17. 17. @commitporto2016 @joaogbcravo @minderaswcraft DEVOPS IS NOT… A JOB TITLE https://huddlebuy.workable.com/jobs/255850 … OR GOD
  18. 18. @commitporto2016 @joaogbcravo @minderaswcraft DEVOPS IS NOT… A TEAM
  19. 19. @commitporto2016 @joaogbcravo @minderaswcraft DEVOPS IS NOT… A TEAM
  20. 20. @commitporto2016 @joaogbcravo @minderaswcraft DEVOPS IS NOT… USING TOOLS
  21. 21. @commitporto2016 @joaogbcravo @minderaswcraft DEVOPS IS… A CULTURE “I LIKE TO DESCRIBE DEVOPS AS THE CULMINATION OF THREE AMAZING AND SIGNIFICANT MOVEMENTS; THE AGILE INFRASTRUCTURE THREAD, THE VELOCITY THREAD, AND THE LEAN STARTUP THREAD.” JOHN WILLIS, THE CONVERGENCE OF DEVOPS “THE NOTION OF DEVOPS IS THE REALISATION THAT THE DEVELOPMENT PROCESS DOESN’T END IN DEVELOPMENT. WE CAN’T DISCONNECT THE OPERATIONS PIECE OF SOFTWARE (DEVELOPMENT) FROM THOSE OTHER PHASES OF DEVELOPMENT.” RYAN BERG (THE CASE FOR DEVOPS) “A CULTURE THAT AIMS TO BREAK SILOS BETWEEN DIFFERENT TEAMS IN AN IT ORGANISATION, IMPROVING IN THIS WAY, THE DELIVERY, QUALITY AND SUPPORT OF THE SOFTWARE.” JOÃO CRAVO, COMMITPORTO
  22. 22. @commitporto2016 @joaogbcravo @minderaswcraft
  23. 23. @commitporto2016 @joaogbcravo @minderaswcraft WHAT IS … AN IMMUTABLE SERVER?
  24. 24. @commitporto2016 @joaogbcravo @minderaswcraft MUTABLE SERVER Subject to: - manual changes - automatic changes - OS updates - product updates
  25. 25. @commitporto2016 @joaogbcravo @minderaswcraft CONFIGURATION MANAGEMENT TOOLS
  26. 26. @commitporto2016 @joaogbcravo @minderaswcraft IMMUTABLE SERVER - no changes - no human access - reproducible - destroyable
  27. 27. @commitporto2016 @joaogbcravo @minderaswcraft IMMUTABLE SERVER
  28. 28. @commitporto2016 @joaogbcravo @minderaswcraft IMMUTABLE SERVER
  29. 29. @commitporto2016 @joaogbcravo @minderaswcraft
  30. 30. @commitporto2016 @joaogbcravo @minderaswcraft CONTINUOUS DELIVERY PLAYING WITH IMMUTABLE SERVERS
  31. 31. @commitporto2016 @joaogbcravo @minderaswcraft CD: PLAYING WITH IMMUTABLE SERVERS - Build (aka CI) - Create product image - QA: Build a new immutable cluster - Production: Build a new immutable cluster
  32. 32. @commitporto2016 @joaogbcravo @minderaswcraft BUILD (AKA CI) - Compile - Tests (unit, integration, code style, etc) - … - Package - Upload
  33. 33. @commitporto2016 @joaogbcravo @minderaswcraft BUILD (AKA CI)
  34. 34. @commitporto2016 @joaogbcravo @minderaswcraft CREATE PRODUCT IMAGE
  35. 35. @commitporto2016 @joaogbcravo @minderaswcraft QA: BUILD A NEW IMMUTABLE CLUSTER
  36. 36. @commitporto2016 @joaogbcravo @minderaswcraft PRODUCTION: BUILD A NEW IMMUTABLE CLUSTER
  37. 37. @commitporto2016 @joaogbcravo @minderaswcraft CD: PLAYING WITH IMMUTABLE SERVERS
  38. 38. @commitporto2016 @joaogbcravo @minderaswcraft ROLLBACK 205 200
  39. 39. @commitporto2016 @joaogbcravo @minderaswcraft FLICK DNS
  40. 40. @commitporto2016 @joaogbcravo @minderaswcraft PROS VS CONS
  41. 41. @commitporto2016 @joaogbcravo @minderaswcraft PROBLEM 1 - IMAGE CREATING TIME
  42. 42. @commitporto2016 @joaogbcravo @minderaswcraft PROBLEM 2 - ENVIRONMENT CONFIGURATION - Database and other service connections - Passwords - Certificates - Application settings - …
  43. 43. @commitporto2016 @joaogbcravo @minderaswcraft PROBLEM 3 - NO SSH TO MACHINES - Debug ? - Production hot fix ? - Clean up space! Logs are using all the space! - …
  44. 44. @commitporto2016 @joaogbcravo @minderaswcraft ADVANTAGE 1 - NO SSH TO MACHINES Wasn’t this a problem?
  45. 45. @commitporto2016 @joaogbcravo @minderaswcraft ADVANTAGE 1 - NO SSH TO MACHINES - Security - No“hammer time”
  46. 46. @commitporto2016 @joaogbcravo @minderaswcraft ADVANTAGE 2 - CENTRALISED MONITORING - Metrics - Logs http://statful.com/
  47. 47. @commitporto2016 @joaogbcravo @minderaswcraft ADVANTAGE 3 - PIPELINES PARALLELISATION
  48. 48. @commitporto2016 @joaogbcravo @minderaswcraft ADVANTAGE 3 - PIPELINES PARALLELISATION
  49. 49. @commitporto2016 @joaogbcravo @minderaswcraft ADVANTAGE 4 - AUTO SCALING - Protection against load - Costs
  50. 50. @commitporto2016 @joaogbcravo @minderaswcraft MORE ADVANTAGES …. - Easy and fast rollback - Provision once (image creation) - Automatic recover
  51. 51. @commitporto2016 @joaogbcravo @minderaswcraft SUMMARY - Immutable Servers are just around to the corner - Using immutable servers brings amazing advantages - Embrace the agile, embrace the CI/CD processes - Meet operations! There is a magic world outside your IDE
  52. 52. @commitporto2016 @joaogbcravo @minderaswcraft THANKS! joaogbcravo @ gmail.com joaogbcravo

×