Continuous Delivery and Infrastructure as Code

  • 2,300 views
Uploaded on

Continuous Delivery and Infrastructure as Code W-JAX 2013 slides

Continuous Delivery and Infrastructure as Code W-JAX 2013 slides

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,300
On Slideshare
0
From Embeds
0
Number of Embeds
16

Actions

Shares
Downloads
20
Comments
0
Likes
2

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
  • ATDD: Acceptance Test Driven DevelopmentBDD: BehaviorDriven Development
  • ATDD: Acceptance Test Driven DevelopmentBDD: BehaviorDriven Development
  • Bislang:nochkeinenharten Blocker beiVerletzung der definiertenKriterien in Sonar (coming soon)
  • ATDD: Acceptance Test Driven DevelopmentBDD: BehaviorDriven Development
  • SchwarzerStrich: Deployment
  • ATDD: Acceptance Test Driven DevelopmentBDD: BehaviorDriven Development
  • ATDD: Acceptance Test Driven DevelopmentBDD: BehaviorDriven Development
  • AWS integration really goodAWS Opsworks is based on ChefAzure supportKnife Plugins fürandereAnbieterimplementierbar
  • AWS integration really goodAWS Opsworks is based on Chef
  • Vagrant für TestsIn der Vagrant-Configkönnen Cookbooks eingetragenwerden

Transcript

  • 1. Sascha Möllering | ZANOX.de AG Continuous Delivery and Infrastructure as Code
  • 2. About me Sascha Möllering Software Engineering Team Lead sascha.moellering@zanox.com http://www.der-maschinenstuermer.de/ @sascha242
  • 3. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
  • 4. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
  • 5. Problem? • Situation two years ago: – Manual server setup – Manual deployment – Deployed files contain a lot of changes – Rollbacks difficult – Time slots for deployments (biweekly) – Windows environment – ...
  • 6. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
  • 7. Solution! • Now: – Automated deployments – Infrastructure as Code – Only small changes – Rollbacks are easy – Deploy whenever you want! – Linux environment – ...
  • 8. DELIVER HIGH QUALITY SOFTWARE AT LOW RISK FAST, ANYTIME BY THE PRODUCT TEAMS THEMSELVES!!!
  • 9. Solution! • • • • • Etsy Github Flickr Facebook Amazon 25 deployments / day 40 deployments / day 60 deployments / day Up to 100 deployments / day Deployment every 11.6 sec
  • 10. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
  • 11. Continuous Delivery „Reduce the cost, time, and risk of delivering incremental changes to users“ (Jez Humble, Adopting continuous delivery)
  • 12. Continuous Delivery Releasing frequently => Reduce the risk of release (John Allspaw, Ops Meta-Metrics)
  • 13. Continuous Delivery • Standardize – Naming conventions – Platform – Infrastructure • Fully automated release processes to Live-System • Empower teams to release by themselves
  • 14. Continuous Delivery • • • • Automate all the tests Introduce ATDD/BDD patterns Static code analysis Automated quality gates
  • 15. Continuous Delivery
  • 16. Continuous Delivery
  • 17. Continuous Delivery Metrics Monitoring Alerting
  • 18. Continuous Delivery Metrics Monitoring Alerting
  • 19. Continuous Delivery Monitoring
  • 20. Continuous Delivery Monitoring
  • 21. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
  • 22. Infrastructure as Code • Infrastructure is treated like code – tag, branch and release – testing • Predictable outcome • Removing manual steps • Tools like Chef or Puppet
  • 23. Infrastructure as Code "Chef is like a little system admin robot ... you tell it how you want your system configured, and it will do all the dirty work.”
  • 24. Infrastructure as Code
  • 25. Infrastructure as Code
  • 26. Infrastructure as Code
  • 27. Infrastructure as Code
  • 28. Infrastructure as Code
  • 29. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
  • 30. Chef & JBoss Java Magazin 11.12: Automatisierung nach Chef-Rezept Automatisiertes Deployment von JBoss Middleware AWSAktuell: Elastic JBoss AS 7 clustering in AWS using EC2, S3, ELB and Chef
  • 31. Chef & JBoss • Automatic deployment of JBoss AS using Chef • Components: • • • • • JBoss EAP 5/6 preconfigured in SVN Jmxtrans for monitoring DataSources managed in SVN Stage is a system-property Twiddle is used to apply node-specific configurations
  • 32. Chef & JBoss
  • 33. Chef & JBoss
  • 34. Chef & JBoss EAP 5: EAP 6:
  • 35. Chef & JBoss • Wrapper around twiddle.sh • Parameters piped into a txt-file • After server-start: • Txt-file analyzed • If file contains twiddle-commands • Twiddle-commands executed
  • 36. Chef & JBoss Fabric
  • 37. Chef & JBoss • Fabric – Python library and command-line tool – Streamlining the use of SSH – Application deployment – Used to deploy apps from Nexus – https://github.com/fabric/fabric
  • 38. Lessons learned • • • • • • Infrastructure as Code is hard Continuous Delivery is hard But: mindset change is even harder Safety net is necessary Continuous improvement There is no „silver bullet“