pacemaker: lamp. or continue doing monkey job
TRANSCRIPT
![Page 1: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/1.jpg)
AMAZON OPSWORKS. DEPLOYMENT WITH EASE.
BY PETRO SASNYK, TECH LEAD SOFTSERVE INC.
@STOUNE,
STOUNE
Pacemaker: LAMP
![Page 2: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/2.jpg)
AGENDA
• WHY DO I NEED AUTOMATED DEPLOYMENT
• WHY SHOULD I USE AMAZON OPSWORKS
• HOW TO USE AMAZON OPSWORKS REAL-WORLD SCENARIO
![Page 3: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/3.jpg)
WHY DO I NEED AUTOMATED DEPLOYMENT?
![Page 4: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/4.jpg)
WHY DO I NEED TO AVOID MANUAL DEPLOYMENT?
1. BECAUSE IT IS BORING
2. BECAUSE IT IS CUMBERSOME
3. BECAUSE IT ERROR-PRONE
4. BECAUSE IT TAKES A LOT OF TIME
5. BECAUSE IT IS NOT REPETITIVE
6. BECAUSE IT IS NOT SCALABLE
7. BECAUSE …
Or
Continue doing monkey job
![Page 5: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/5.jpg)
AND…
![Page 6: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/6.jpg)
EVERY TIME YOU DEPLOY MANUALLY, GOD KILLS A KITTEN
PLEASE THINK OF THE KITTENS
![Page 7: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/7.jpg)
MODERN WEB APPLICATION CHARACTERISTICS
![Page 8: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/8.jpg)
THE TWELVE-FACTOR APP BY HEROKU• I. CODEBASE - ONE CODEBASE
TRACKED IN REVISION CONTROL, MANY DEPLOYS
• II. DEPENDENCIES - EXPLICITLY DECLARE AND ISOLATE DEPENDENCIES
• III. CONFIG - STORE CONFIG IN THE ENVIRONMENT
• IV. BACKING SERVICES - TREAT BACKING SERVICES AS ATTACHED RESOURCES
• V. BUILD, RELEASE, RUN - STRICTLY SEPARATE BUILD AND RUN STAGES
• VII. PORT BINDING - EXPORT SERVICES VIA PORT BINDING
• IX. DISPOSABILITY - MAXIMIZE ROBUSTNESS WITH FAST STARTUP AND GRACEFUL SHUTDOWN
• X. DEV/PROD PARITY - KEEP DEVELOPMENT, STAGING, AND PRODUCTION AS SIMILAR AS POSSIBLE
• XII. ADMIN PROCESSES - RUN ADMIN/MANAGEMENT TASKS AS ONE-OFF PROCESSES
![Page 9: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/9.jpg)
AMAZON OPSWORKS SOLUTION
Stack Layers
Stack is basically a container for a set of Amazon EC2 instances (with related resources) that have a common purpose or should be logically managed as a group
A Layer defines how to set up and configure a set of instances and related resources
Instances
Instances are running your code according to layer specification. You define how you are going to scale
Then you make a deployment to specific instances and customize the deployment with Chef recipes
![Page 10: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/10.jpg)
5 STEPS TO START USING OPSWORKS AND TO LOOSE YOUR SLEEP
![Page 11: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/11.jpg)
STEP 1. CREATE A STACK1. NAME
2. OS (AMAZON LINUX OR UBUNTU LTS)
3. REGION
4. DO NOT FORGET TO USE YOUR FAVORITE PINK COLOR TO MARK THE STACK
![Page 12: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/12.jpg)
STEP 2. ADD LAYER
1. TYPE
2. SELECT COMPONENTS VERSIONS (FOR RAILS: RUBY, GEMSET, BUNDLER, PHUSION PASSENGER OR UNICORN)
3. ADDITIONAL SETTINGS
![Page 13: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/13.jpg)
STEP 3. ADD INSTANCE1. NAME
2. SIZE
3. AVAILABILITY ZONE
4. SCALING TYPE (24/7, TIME-BASED, LOAD-BASED)
5. OS
![Page 14: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/14.jpg)
STEP 4. CREATE AN APP
1. NAME
2. TYPE
3. SCM
![Page 15: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/15.jpg)
STEP 5. DEPLOY AN APP
1. COMMAND
2. ADVANCED: TARGET INSTANCES
3. ADVANCED: CHEF JSON
![Page 16: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/16.jpg)
REVIEW RESULTS
IF YOU ARE LUCKY, YOU WILL SEE YOUR APP
![Page 17: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/17.jpg)
REVIEW RESULT
IF NOT…
HAVE A HAPPY DEBUGGING
![Page 18: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/18.jpg)
FLUFFY CATS APPLICATIONTHIS IS THE NEXT BILLION-DOLLAR BUSINESS. THE COOLEST SITE EVER ABOUT FLUFFY CATS. ISN’T IT CUTE?
![Page 19: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/19.jpg)
FLUFFY CATS APPLICATION: ARCHITECTURE
Amazon RDS/MySQL Database
Rails App Server
Amazon S3/File storage
Elastic Load Balancer
Me – The user
![Page 20: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/20.jpg)
FLUFFY CATS OPSWORKS CONSOLE
THE DEMO
![Page 21: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/21.jpg)
ALTERNATIVES
Heroku/Fully managed PaaS
Elastic BeansTalk OpsWorks CloudFormation
Cheff/Puppet + IaaS
Lower complexity/Lower flexibility
Higher complexity/Higher flexibility
![Page 22: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/22.jpg)
PITFALLS
1. VENDOR LOCK-IN (WHO CARES)
2. IT’S STILL BETA (BUGS, SMALL EXPERTISE, ETC.)
3. TO MAKE COMPLICATED THINGS, YOU NEED TO LEARN RUBY AND CHEF
4. AMAZON OPSWORKS USES CHEF SOLO 0.7, LATEST VERSION IS 0.11.0
5. A LOT OF COOKBOOKS AND RECIPES ARE INCOMPATIBLE WITH AMAZON OPSWORKS
![Page 23: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/23.jpg)
CONCLUSIONS
• USE GOOD INSTRUMENTS FOR GREAT GOOD
• USE AUTOMATED DEPLOYMENTS (OR YOUR ARCHITECT WILL PUNISH YOU)
• AMAZON OPSWORKS COULD SIMPLIFY YOUR DEPLOYMENT TASKS OR MAY NOT
![Page 24: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/24.jpg)
STILL HAVE QUESTIONS?
Do not ask questions, just go and register your free Amazon account and taste the red pill
![Page 25: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/25.jpg)
USEFUL LINKS
1. FLUFFY CATS APPLICATION SOURCE CODE: HTTPS://GITHUB.COM/STOUNE/FLUFFY_CATS.GIT
2. FLUFFY CATS CUSTOM CHEF COOKBOOKS: HTTPS://GITHUB.COM/STOUNE/FLUFFY_CATS_COOKBOOKS.GIT
3. THE TWELVE FACTOR APP
4. AMAZON OPSWORKS USER GUIDE
5. OPSCODE DOCS
![Page 26: Pacemaker: LAMP. Or Continue doing monkey job](https://reader036.vdocument.in/reader036/viewer/2022062720/56649f185503460f94c2f47b/html5/thumbnails/26.jpg)
THANK YOU!
Now run for your free cookies