Your SlideShare is downloading. ×
0
Sascha Möllering | ZANOX.de AG

Continuous Delivery and Infrastructure
as Code
About me

Sascha Möllering
Software Engineering Team Lead
sascha.moellering@zanox.com
http://www.der-maschinenstuermer.de/...
TABLE OF CONTENTS
•
•
•
•
•
•

Problem?
Solution!
Continuous Delivery
Infrastructure as Code
Chef and JBoss
Q&A
TABLE OF CONTENTS
•
•
•
•
•
•

Problem?
Solution!
Continuous Delivery
Infrastructure as Code
Chef and JBoss
Q&A
Problem?
• Situation two years ago:
– Manual server setup
– Manual deployment
– Deployed files contain a lot of changes
– ...
TABLE OF CONTENTS
•
•
•
•
•
•

Problem?
Solution!
Continuous Delivery
Infrastructure as Code
Chef and JBoss
Q&A
Solution!
• Now:
– Automated deployments
– Infrastructure as Code
– Only small changes
– Rollbacks are easy
– Deploy whene...
DELIVER
HIGH QUALITY SOFTWARE
AT LOW RISK
FAST,
ANYTIME
BY THE PRODUCT
TEAMS THEMSELVES!!!
Solution!
•
•
•
•
•

Etsy
Github
Flickr
Facebook
Amazon

25 deployments / day
40 deployments / day
60 deployments / day
Up...
TABLE OF CONTENTS
•
•
•
•
•
•

Problem?
Solution!
Continuous Delivery
Infrastructure as Code
Chef and JBoss
Q&A
Continuous Delivery

„Reduce the cost, time, and
risk of delivering
incremental changes to
users“
(Jez Humble, Adopting co...
Continuous Delivery

Releasing frequently =>
Reduce the risk of release
(John Allspaw, Ops Meta-Metrics)
Continuous Delivery
• Standardize
– Naming conventions
– Platform
– Infrastructure

• Fully automated release processes to...
Continuous Delivery
•
•
•
•

Automate all the tests
Introduce ATDD/BDD patterns
Static code analysis
Automated quality gat...
Continuous Delivery
Continuous Delivery
Continuous Delivery

Metrics
Monitoring

Alerting
Continuous Delivery

Metrics
Monitoring

Alerting
Continuous Delivery

Monitoring
Continuous Delivery

Monitoring
TABLE OF CONTENTS
•
•
•
•
•
•

Problem?
Solution!
Continuous Delivery
Infrastructure as Code
Chef and JBoss
Q&A
Infrastructure as Code
• Infrastructure is treated like code
– tag, branch and release
– testing

• Predictable outcome
• ...
Infrastructure as Code
"Chef is like a little system admin
robot ... you tell it how you want your
system configured, and ...
Infrastructure as Code
Infrastructure as Code
Infrastructure as Code
Infrastructure as Code
Infrastructure as Code
TABLE OF CONTENTS
•
•
•
•
•
•

Problem?
Solution!
Continuous Delivery
Infrastructure as Code
Chef and JBoss
Q&A
Chef & JBoss
Java Magazin 11.12:
Automatisierung nach Chef-Rezept
Automatisiertes Deployment von
JBoss Middleware
AWSAktue...
Chef & JBoss
• Automatic deployment of JBoss AS using
Chef
• Components:
•
•
•
•
•

JBoss EAP 5/6 preconfigured in SVN
Jmx...
Chef & JBoss
Chef & JBoss
Chef & JBoss
EAP 5:

EAP 6:
Chef & JBoss
• Wrapper around twiddle.sh
• Parameters piped into a txt-file
• After server-start:
• Txt-file analyzed
• If...
Chef & JBoss

Fabric
Chef & JBoss
• Fabric
– Python library and command-line tool
– Streamlining the use of SSH
– Application deployment
– Used...
Lessons learned
•
•
•
•
•
•

Infrastructure as Code is hard
Continuous Delivery is hard
But: mindset change is even harder...
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
Upcoming SlideShare
Loading in...5
×

Continuous Delivery and Infrastructure as Code

2,922

Published on

Continuous Delivery and Infrastructure as Code W-JAX 2013 slides

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,922
On Slideshare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
30
Comments
0
Likes
2
Embeds 0
No embeds

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 of "Continuous Delivery and Infrastructure as Code"

    1. 1. Sascha Möllering | ZANOX.de AG Continuous Delivery and Infrastructure as Code
    2. 2. About me Sascha Möllering Software Engineering Team Lead sascha.moellering@zanox.com http://www.der-maschinenstuermer.de/ @sascha242
    3. 3. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
    4. 4. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
    5. 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. 6. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
    7. 7. Solution! • Now: – Automated deployments – Infrastructure as Code – Only small changes – Rollbacks are easy – Deploy whenever you want! – Linux environment – ...
    8. 8. DELIVER HIGH QUALITY SOFTWARE AT LOW RISK FAST, ANYTIME BY THE PRODUCT TEAMS THEMSELVES!!!
    9. 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. 10. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
    11. 11. Continuous Delivery „Reduce the cost, time, and risk of delivering incremental changes to users“ (Jez Humble, Adopting continuous delivery)
    12. 12. Continuous Delivery Releasing frequently => Reduce the risk of release (John Allspaw, Ops Meta-Metrics)
    13. 13. Continuous Delivery • Standardize – Naming conventions – Platform – Infrastructure • Fully automated release processes to Live-System • Empower teams to release by themselves
    14. 14. Continuous Delivery • • • • Automate all the tests Introduce ATDD/BDD patterns Static code analysis Automated quality gates
    15. 15. Continuous Delivery
    16. 16. Continuous Delivery
    17. 17. Continuous Delivery Metrics Monitoring Alerting
    18. 18. Continuous Delivery Metrics Monitoring Alerting
    19. 19. Continuous Delivery Monitoring
    20. 20. Continuous Delivery Monitoring
    21. 21. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
    22. 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. 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. 24. Infrastructure as Code
    25. 25. Infrastructure as Code
    26. 26. Infrastructure as Code
    27. 27. Infrastructure as Code
    28. 28. Infrastructure as Code
    29. 29. TABLE OF CONTENTS • • • • • • Problem? Solution! Continuous Delivery Infrastructure as Code Chef and JBoss Q&A
    30. 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. 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. 32. Chef & JBoss
    33. 33. Chef & JBoss
    34. 34. Chef & JBoss EAP 5: EAP 6:
    35. 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. 36. Chef & JBoss Fabric
    37. 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. 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“
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×