Common Challenges in DevOps Change Management

2,770
-1

Published on

Presentation from AgileAustin's DevOps SIG September 28 meeting. http://www.agileaustin.org/sig/

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,770
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Common Challenges in DevOps Change Management

  1. 1. Common Challenges inDevOps Change Management Matt Ray matt@opscode.com
  2. 2. A word about Best PracticesBest practices themselves aresubjective.Chef is flexible and you can make itdo what you want.
  3. 3. Infrastructure as CodeEnable reconstruction of the businessfrom nothing but a source coderepository, application data backupand bare metal resources.
  4. 4. Infrastructure as CodeCode is tracked with version control.Everything we do is in code.Everything is checked into versioncontrol.
  5. 5. Chef RepositoryVery simply, the Chef Repository is aversion controlled directory thatcontains cookbooks and othercomponents relevant to Chef.It contains Infrastructure as Code.
  6. 6. Documenting Your InfrastructureSpiceweasel is a tool for generatingknife commands to buildinfrastructure from a simple YAML orJSON file. • Documents all dependencies • Preserves ordering of deploys • Not an official Chef tool • http://bit.ly/spcwsl
  7. 7. Spiceweaselcookbooks:- apache2: - 0.99.4- apt: - 1.1.2- mysql: - 1.0.5- glance:- nova:- openssl: - 1.0.0- rabbitmq: - 1.2.1data bags:- openstack: - glance - novaroles:- glance-single-machine:- nova-multi-compute:- nova-multi-controller:nodes:- controller: - role[nova-multi-controller] - -i ~/.ssh/mray.pem -x user --sudo -d ubuntu10.04-gems- compute: - role[nova-multi-compute] - -i ~/.ssh/mray.pem -x user --sudo -d ubuntu10.04-gems
  8. 8. Git vs. Traditional VCSDecentralized DevelopmentVendor BranchingParallel DeploymentsStable Releases with Hotfixes
  9. 9. GitflowCode sample
  10. 10. GitLearn by doing.Its hard to fake.Lean into it.
  11. 11. Touchless InfrastructureModifying configuration machines byhand is "doing it wrong".• Not tracked in version control.• If its a Chef-managed Resource, it will get undone.
  12. 12. Nodes are EphemeralDo not configure individual nodes,use Roles.• Nodes are ephemeral, they may not always exist.• Nodes arent stored in version control, Roles are.
  13. 13. Start from ScratchDo not delete or remove Resources,start from scratch.• Reusing nodes is asking for trouble, since you dont know previous state.• Reprovisioning servers is cheap.
  14. 14. Hard CodingDo not use hard-coded IPs orhostnames, use search.• Nodes are ephemeral, they may not always exist.• Leverage the search capabilities of Chef.
  15. 15. Golden ImagesGolden images are an anti-pattern.• Tracking contents of images before they are managed is unnecessary effort.• Start every node from a known minimal state.• Caching is your friend.
  16. 16. EnvironmentsEnvironments are how we manageversioned infrastructures with Chef.Different infrastructures such asproduction, staging, development,and testing managed from one Chefrepository.
  17. 17. EnvironmentsControl the flow of Cookbooks• Development->QA->Production• Freeze from change• RBAC restrict who can deploy whereRole runlists tied to EnvironmentsEnvironment attributes to overridesettings
  18. 18. Lean on the CommunityThe Chef Community is veryfriendly, dont be afraid to ask forhelp!• IRC (200+ people)• Mailing lists are active.• Lots of GitHub activities.
  19. 19. QuestionsMatt Raymatt@opscode.comTwitter/IRC/GitHub: mattray
  1. A particular slide catching your eye?

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

×