Does OpsWorks work?

Does OpsWorks work?

Presented at AWS User Group Taipei #1.

Aa0358f6740f1bf02911e5300e08e800?s=128

Richard Lee

April 19, 2013
Tweet

Transcript

  1. Does OpsWorks Work? Richard Lee Polydice, Inc.

  2. DevOps & Mobile @ Polydice @dlackty everywhere. Richard Lee

  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. Mobile Traffic > 50 % Android and other native platforms

    Mobile-First Design! High availability APIs is essential
  10. What is OpsWorks?

  11. Before switching to AWS, we used to be on Heroku

    platform. But... Somebody That I Used To Know
  12. Based on AWS Simple scaling Almost no operation cost Git-base

    deployment Lots of addons Good No system softs Addons reliability AWS US East region Routergate Issues I still recommend Heroku for startups but not suitable for complicated stack
  13. PaaS IaaS OpsWorks Here!

  14. None
  15. EC2 instances + Auto setup + Centralized configuration + App

    deployment + Simple scaling = AWESOME! OpsWorks
  16. OpsWorks 101 Your first course of OpsWorks

  17. Five steps to make it work Create Stack Config Layers

    Config App Add Instances Deploy
  18. Create stack A stack represents a collection of EC2 instances

    that have a common purpose. Some stack names for example: ↟iCook ↟Inside ↟MyAwesomeApp ↟YourFantasticStartup
  19. Stack naming

  20. Limited AMIs ↟Amazon Linux ↟Ubuntu 12.04

  21. Limited AMIs ↟Amazon Linux ↟Ubuntu 12.04

  22. AWS region & Availability zone

  23. Instances naming ↟Numerical ↟US Cities ↟Baked Goods

  24. Custom Chef JSON Centralized configuration as JSON For example, put

    your ↟3rd-Party service credentials ↟Targeted version of app to install
  25. Five steps to make it work Create Stack Config Layers

    Config App Add Instances Deploy
  26. Add layers A layer is a blueprint for a set

    of EC2 instances. For example: ↟Rails App Layer ↟MySQL Server Layer ↟Memcached layer ↟Redis layer
  27. Many built-in layers!

  28. None
  29. None
  30. None
  31. What if there’re no built-in stacks for your need? Just

    create custom layer and add Chef recipes ↟Tons of open sourced cookbooks ↟Fork the AWS official cookbooks and make changes Resources ↟Peepcode’s video series Meet Chef ↟Polydice’s Cookbooks on GitHub
  32. None
  33. Five steps to make it work Create Stack Config Layers

    Config App Add Instances Deploy
  34. Config app An app represents code stored in a repository

    that you want to install on application server instances. More than just copy file & restart server: ↟Notify load balancer ↟Assets precompile ↟Other tasks via custom recipes
  35. Many built-in app types, And built-in repo types!

  36. None
  37. Five steps to make it work Create Stack Config Layers

    Config App Add Instances Deploy
  38. Create instances Instance are created based on layers. ↟24/7 instances

    ↟Time-based instance ↟Load-based instances Notice: ↟Only one layer per instance ↟You can also associate Elastic IP to instances
  39. None
  40. None
  41. Five steps to make it work Create Stack Config Layers

    Config App Add Instances Deploy
  42. Deploy Perform commands on slected instances ↟Deploy ↟Rollback ↟Exectue recipes

    ↟Update custom cookbooks / dependencies
  43. None
  44. Recap: Five steps to make it work Create Stack Config

    Layers Config App Add Instances Deploy
  45. Results

  46. iCook is now fully OpsWorks-based! Spent 4 weeks working on

    this migration ↟4 layers (Rails / Worker / Redis / ElasticSearch) ↟Integrated with RDS / ElasticCache / ELB ↟Few 24/7 instances with some time-based ones ↟Performance++ & Response time-- ↟Cost--!
  47. Email: rl@polydice.com Twitter & GitHub: @dlackty Thank You!

  48. Q & A?