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.

Configuration Management with AWS OpsWorks

1,869 views

Published on

How to bake automation and predictability into your application’s lifecycle with AWS OpsWorks, and showcase one of our latest collaborations with AWS CodePipeline that streamlines CI/CD processes.

Published in: Technology
  • Be the first to comment

Configuration Management with AWS OpsWorks

  1. 1. Operations using AWS OpsWorks
  2. 2. About me: Chris Munns - munns@amazon.com • Business Development Manager – DevOps • New Yorker • Previously: • AWS Solutions Architect 2011-2014 • Lead of Infrastructure/DevOps @hingeapp • Formerly on operations teams @Etsy and @Meetup • Little time at a hedge fund, Xerox and others • Rochester Institute of Technology: Applied Networking and Systems Administration ’05 • Internet infrastructure geek
  3. 3. Why do you need OpsWorks?  Model and group your applications  Manage the life-cycle of your instances  Control Access Management  Monitor the health of your resources  Analyze logging information  Mitigate operational problems
  4. 4. Configure your instances using AWS OpsWorks  Uses Chef to configure the software on the instances  Chef provides a Ruby DSL abstraction for common OS operations  Associates pre-defined scripts (i.e. Chef cookbooks) with your instances  Applies cookbooks configuration changes using life-cycle events
  5. 5. Model your applications using AWS OpsWorks
  6. 6. Resource organization
  7. 7. Manage the life-cycle of your instances
  8. 8. Lifecycle events Setup Configure Deploy
  9. 9. Setup event  Triggered every time an instance boots  Used for initial installation of software packages
  10. 10. Deploy event  Triggered when deploying a new software version  Allows for customizable software deployments
  11. 11. Configure event  Triggered on all instances upon state changes  Used to assure the configuration is up-to-date
  12. 12. My new OpsWorks App!
  13. 13. Configure event triggered
  14. 14. Configure event triggered
  15. 15. Configure event triggered
  16. 16. Control Access Management
  17. 17. OpsWorks Access Management  Provide IAM users full SSH / RDP and sudo / admin privileges  Provided limited access on a group level (i.e. OpsWorks stack)
  18. 18. SSH / RDP session management  AWS OpsWorks grants SSH / RDP access to IAM users
  19. 19. Temporary RDP session management  AWS OpsWorks grants temporary RDP access to IAM users
  20. 20. Monitor the Health Your Resources
  21. 21. Configure your instances using AWS OpsWorks  14 free one minute metrics (CPU, Memory, load, process count, etc.)  Aggregation on the group level (OpsWorks stack, layer)  CloudWatch optimized dashboards (contextual dashboards)
  22. 22. Analyze Logging Information
  23. 23. Configure your instances using AWS OpsWorks  Troubleshoot Chef run results  Track application logs using CloudWatch Logs
  24. 24. Create a CI/CD Pipeline with AWS CodePipeline
  25. 25. Continuous delivery service for fast and reliable application updates Model and visualize your software release process Builds, tests, and deploys your code every time there is a code change Integrates with 3rd party tools and AWS AWS CodePipeline
  26. 26. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk Pipeline Stage Action Transition CodePipeline MyApplication
  27. 27. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda CodePipeline MyApplication Parallel actions
  28. 28. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda TestAPI Runscope CodePipeline MyApplication Sequential actions
  29. 29. Build JenkinsOnEC2 Jenkins Staging-Deploy JavaApp Elastic Beanstalk Prod-Deploy JavaApp Elastic Beanstalk QATeamReview Manual Approval CodePipeline MyApplication Manual Approvals Review
  30. 30. 8. Retrieve build artifact EC2 instance CodePipeline MyApp Pipeline Source Source GitHub Build BuildApp Jenkins Deploy JavaApp Elastic Beanstalk Source Artifact S3 Build Artifact S3 5. Get source artifact 1. Get Changes 6. Store build artifact 3. Poll for Job 4. Acknowledge Job 7. Put Success 9. Deploy build artifact Elastic Beanstalk Web container Java App
  31. 31. AWS OpsWorks and AWS CodePipeline
  32. 32. Configure your AWS Pipeline  Update and apply AWS OpsWorks cookbooks  Deploy apps to AWS OpsWorks stacks Build JenkinsOnEC2 Jenkins NotifyDevelopers Lambda My AWS Application: App1 Source App1 GitHub Cookbooks Amazon S3 Beta Stage Deploy App1 AWS OpsWorks Apply Cookbooks AWS OpsWorks
  33. 33. Update your Chef cookbooks and deploy your applications Streamline your CI/CD processes with AWS OpsWorks & AWS CodePipeline
  34. 34. How do I Get Started with OpsWorks?  Grab some community cookbooks https://supermarket.chef.io/  Learn more https://aws.amazon.com/opsworks/  Get started https://aws.amazon.com/opsworks/ https://aws.amazon.com/codepipeline/
  35. 35. Questions?
  36. 36. Thank You!

×