SlideShare a Scribd company logo
1 of 49
Download to read offline
THE ROUTE TOWARDS 
CLOUD AUTOMATION
SIMPLY EVERY ENGINEER’S 
DESIRE TO USE THE FORCE 
THE ROUTE TOWARDS 
CLOUD AUTOMATION
SO LIKE ... 
... CLOUD ... ... AUTOMATION
And why you should care Who am I? 
Automate the Cloud at 
On the internet as.. 
@jcrugzz
and why this matters What is Nodejitsu? 
We execute 
untrusted user code 
in the cloud using a system of.. 
Microservices
Words that I like Vocabulary 
Determinism 
Computers act consistently 
Non-determinism 
Computers begin to be affected by 
Quantum properties and begin to act 
inconsistently.
C LOUD AUTOMATION FOR 
MICROSERVICES
From one we have many Microservices and SOA 
Monolithic Web Service Collection of 
Microservices
From one we have many Microservices and SOA 
MICROSERVICES 
AND SOA TURN 
HARD COUPLING 
INTO LOOSE(R) 
Monolithic Web Service Collection of 
Microservices 
COUPLING
O NE DOES NOT SIMPLY 
S C ALE ... ANYTHING
Patterns for scaling service architectures Microservices and SOA 
Monolithic Web Service 
Our only choice is to replicate the 
WHOLE SERVICE AGAIN ... ... AND AGAIN ... ... AND AGAIN
Patterns for scaling service architectures Microservices and SOA 
Microservices and SOA 
` When you have them separated.. You can 
scale ... EACH ... ... ONE ... ... INDIVIDUALLY
YO DAWG I HEARD YOU LIKE MICROSERVICES 
SO I PUT A GEOENCODING SERVICE IN A QUEUE SERVICE IN A 
FACEBOOK SERVICE IN A TWITTER SERVICE SO YOU CAN USE 
MICROSERVICES WHILE YOU USE MICROSERVICES
YO DAWG I HEARD YOU LIKE MICROSERVICES 
DON’T GET 
CARRIED AWAY 
SO I PUT A GEOENCODING SERVICE IN A QUEUE SERVICE IN A 
FACEBOOK SERVICE IN A TWITTER SERVICE SO YOU CAN USE 
MICROSERVICES WHILE YOU USE MICROSERVICES
Unix philosophy for software services Microservices and SOA 
Unix Philosophy 
Do one thing and one thing well Modularity and reusability Streams! SIMPLICTY! 
"We should have some ways of connecting programs like 
garden hose--screw in another segment when it becomes 
necessary to massage data in another way. This is the way of 
IO also.” 
! 
—Doug McIlroy. October 11, 1964
Unix philosophy for software services Microservices and SOA 
Unix Philosophy 
Do one thing and one thing well Modularity and reusability Streams! SIMPLICTY! 
"We should have some ways of connecting programs like 
garden hose--screw in another segment when it becomes 
necessary to massage data in another way. This is the way of 
IO also.” 
! 
—Doug McIlroy. October 11, 1964
It’s kind of like “small modules” Microservices and SOA 
Node and Microservices 
They go hand in hand Products not projects - Martin Fowler Think MODULE === Microservice API Simplicity
Problems and illusions Microservices and SOA 
Illusions? 
Silver Bullet Better Availability Easier Scaling Eliminates SPOF 
` 
Problems 
You now have N number of SPOF More moving parts Increased surface area for failure Overall increase in non-determinism
Problems and illusions Microservices and SOA 
Illusions? 
Silver Bullet Better Availability Easier Scaling Eliminates SPOF 
BUT ITS ALL OK! 
! 
Everything has ` 
tradeoffs 
Problems 
You now have ! 
N number of SPOF More moving parts Increased surface area for failure Overall increase in non-determinism 
Nothing is Perfect
SAY MICROSERVICES 
ONE MORE TIME!
SAY MICROSERVICES 
BUT 
SERIOUSLY... 
ONE MORE TIME!
Lets Make things Complicated 
Because I said so
How many services do we have?! DevOps Mania 
When things go wrong 
` What happens when services go down.. 
ONE ... ... BY ... ... ONE
YES. YES IT IS
CALM DOWN 
WE HAVE MONITORING
Get all the data Monitoring: Collect Metrics 
What do we collect? 
ALL THE METRICS! 
Logs 
Memory 
Requests 
Apps 
Metrics! 
Cluster
W h at if we were generating data 
and not using it at all?
What are we looking at Monitoring. Next steps 
Assess the data 
Metrics! 
Cluster 
Strategies 
Store the data 
Graphs are your friend 
Apps 
Find trends and bridge correlations 
Data Store
“As intelligence goes up, 
happiness goes down. See, I made 
a graph. I make lots of graphs.” 
- Lisa Simpson
“As intelligence goes up, 
happiness goes down. See, I made 
a graph. I make lots of graphs.” 
- Lisa Simpson
Act Now! 
“As intelligence goes up, 
happiness goes down. See, I made 
a graph. I make lots of graphs.” 
- Lisa Simpson
Do something! Monitoring: Now what? 
Metrics! 
Cluster 
Take Action 
Actions to take 
Fix something 
Scale up/down 
Apps 
Remove server from pool 
Data Store 
“Action” Services
BRACE YOURSELVES 
IT’S STORY TIME
Lets fix things SSH Micro-service 
Metrics! 
Cluster 
An action 
It is all in the simplicity 
Identified problem 
Crafted a solution 
Put together the pieces to fix it 
SSH Service 
Load Balancer 
Dead App 
Fix it
FIX IT! FIX IT! FIX IT!
Welcome to distributed systems What’s the problem? 
Metrics! 
Cluster 
Not distributed 
Simplicity can lack flexibility 
No built in fault tolerance to service 
Uses a local queue that doesn’t scale 
But this is still all fixable 
SSH Service 
Load Balancer 
Dead App 
Fix it
Distributed Systems 
How do they work?
Use a distributed approach How do we fix this? 
Metrics! 
Cluster 
Make distributed 
Scale with a particular approach 
SSH Service 
Load Balancer 
Dead App 
Fix it
Use a distributed approach How do we fix this? 
Metrics! 
Cluster 
Make distributed 
Scale with a particular approach 
Use a proven distributed protocol (raft) 
Use a working module or implement it 
Read the white paper and test 
SSH Service 
Load Balancer 
Dead App 
Fix it
Leader Election Raft: Distrubuted Consensus 
What is Raft? 
A consensus Algorithm 
Log replication 
Leaders, Followers, Candidates 
Leader election and failover
Reading white papers
Papers Distributed Systems 
Reading? 
Yes we should read them 
Yes they are hard 
Reading once is just the beginning 
Consider it like stretching
OMG 
B UT IM OVERWHELMED
Take a deep breath Distributed Systems 
RELAX 
SIMPLICITY 
Start small 
Importance of modules 
Everything in stages
Demo Architecture
github.com/jcrugzz/empirenode-demo 
DOGE FOR DEMO
THE END 
Jarrett Cruger - @jcrugzz

More Related Content

Similar to The route towards cloud automation

Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
pauldix
 

Similar to The route towards cloud automation (20)

Project Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and LambdaProject Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
 
Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
 
Introduction to cloud computing - za garage talks
Introduction to cloud computing -  za garage talksIntroduction to cloud computing -  za garage talks
Introduction to cloud computing - za garage talks
 
Beware the monolith
Beware the monolithBeware the monolith
Beware the monolith
 
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletSurviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
 
Are Microservices our future?
Are Microservices our future?Are Microservices our future?
Are Microservices our future?
 
Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?Elastically scalable architectures with microservices. The end of the monolith?
Elastically scalable architectures with microservices. The end of the monolith?
 
Security for AWS : Journey to Least Privilege (update)
Security for AWS : Journey to Least Privilege (update)Security for AWS : Journey to Least Privilege (update)
Security for AWS : Journey to Least Privilege (update)
 
Security for AWS: Journey to Least Privilege
Security for AWS: Journey to Least PrivilegeSecurity for AWS: Journey to Least Privilege
Security for AWS: Journey to Least Privilege
 
High Availability SOA APP with GlusterFS
High Availability SOA APP with GlusterFSHigh Availability SOA APP with GlusterFS
High Availability SOA APP with GlusterFS
 
Cloud computing Basics
Cloud computing BasicsCloud computing Basics
Cloud computing Basics
 
Welcome to the world of micro-applications
Welcome to the world of micro-applicationsWelcome to the world of micro-applications
Welcome to the world of micro-applications
 
Developer connect - microservices
Developer connect - microservicesDeveloper connect - microservices
Developer connect - microservices
 
A Digital Conversation: The Next Web
A Digital Conversation: The Next Web A Digital Conversation: The Next Web
A Digital Conversation: The Next Web
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Serverless is the future... or is it?
Serverless is the future... or is it?Serverless is the future... or is it?
Serverless is the future... or is it?
 
Let's talk about... Microservices
Let's talk about... MicroservicesLet's talk about... Microservices
Let's talk about... Microservices
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
AWS and Open Cloud, All Things Open, 10/25/2013, Raleigh NC
AWS and Open Cloud, All Things Open, 10/25/2013, Raleigh NCAWS and Open Cloud, All Things Open, 10/25/2013, Raleigh NC
AWS and Open Cloud, All Things Open, 10/25/2013, Raleigh NC
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

The route towards cloud automation

  • 1. THE ROUTE TOWARDS CLOUD AUTOMATION
  • 2. SIMPLY EVERY ENGINEER’S DESIRE TO USE THE FORCE THE ROUTE TOWARDS CLOUD AUTOMATION
  • 3. SO LIKE ... ... CLOUD ... ... AUTOMATION
  • 4. And why you should care Who am I? Automate the Cloud at On the internet as.. @jcrugzz
  • 5. and why this matters What is Nodejitsu? We execute untrusted user code in the cloud using a system of.. Microservices
  • 6. Words that I like Vocabulary Determinism Computers act consistently Non-determinism Computers begin to be affected by Quantum properties and begin to act inconsistently.
  • 7. C LOUD AUTOMATION FOR MICROSERVICES
  • 8. From one we have many Microservices and SOA Monolithic Web Service Collection of Microservices
  • 9. From one we have many Microservices and SOA MICROSERVICES AND SOA TURN HARD COUPLING INTO LOOSE(R) Monolithic Web Service Collection of Microservices COUPLING
  • 10. O NE DOES NOT SIMPLY S C ALE ... ANYTHING
  • 11. Patterns for scaling service architectures Microservices and SOA Monolithic Web Service Our only choice is to replicate the WHOLE SERVICE AGAIN ... ... AND AGAIN ... ... AND AGAIN
  • 12. Patterns for scaling service architectures Microservices and SOA Microservices and SOA ` When you have them separated.. You can scale ... EACH ... ... ONE ... ... INDIVIDUALLY
  • 13. YO DAWG I HEARD YOU LIKE MICROSERVICES SO I PUT A GEOENCODING SERVICE IN A QUEUE SERVICE IN A FACEBOOK SERVICE IN A TWITTER SERVICE SO YOU CAN USE MICROSERVICES WHILE YOU USE MICROSERVICES
  • 14. YO DAWG I HEARD YOU LIKE MICROSERVICES DON’T GET CARRIED AWAY SO I PUT A GEOENCODING SERVICE IN A QUEUE SERVICE IN A FACEBOOK SERVICE IN A TWITTER SERVICE SO YOU CAN USE MICROSERVICES WHILE YOU USE MICROSERVICES
  • 15. Unix philosophy for software services Microservices and SOA Unix Philosophy Do one thing and one thing well Modularity and reusability Streams! SIMPLICTY! "We should have some ways of connecting programs like garden hose--screw in another segment when it becomes necessary to massage data in another way. This is the way of IO also.” ! —Doug McIlroy. October 11, 1964
  • 16. Unix philosophy for software services Microservices and SOA Unix Philosophy Do one thing and one thing well Modularity and reusability Streams! SIMPLICTY! "We should have some ways of connecting programs like garden hose--screw in another segment when it becomes necessary to massage data in another way. This is the way of IO also.” ! —Doug McIlroy. October 11, 1964
  • 17. It’s kind of like “small modules” Microservices and SOA Node and Microservices They go hand in hand Products not projects - Martin Fowler Think MODULE === Microservice API Simplicity
  • 18. Problems and illusions Microservices and SOA Illusions? Silver Bullet Better Availability Easier Scaling Eliminates SPOF ` Problems You now have N number of SPOF More moving parts Increased surface area for failure Overall increase in non-determinism
  • 19. Problems and illusions Microservices and SOA Illusions? Silver Bullet Better Availability Easier Scaling Eliminates SPOF BUT ITS ALL OK! ! Everything has ` tradeoffs Problems You now have ! N number of SPOF More moving parts Increased surface area for failure Overall increase in non-determinism Nothing is Perfect
  • 20. SAY MICROSERVICES ONE MORE TIME!
  • 21. SAY MICROSERVICES BUT SERIOUSLY... ONE MORE TIME!
  • 22. Lets Make things Complicated Because I said so
  • 23. How many services do we have?! DevOps Mania When things go wrong ` What happens when services go down.. ONE ... ... BY ... ... ONE
  • 24.
  • 26. CALM DOWN WE HAVE MONITORING
  • 27. Get all the data Monitoring: Collect Metrics What do we collect? ALL THE METRICS! Logs Memory Requests Apps Metrics! Cluster
  • 28. W h at if we were generating data and not using it at all?
  • 29. What are we looking at Monitoring. Next steps Assess the data Metrics! Cluster Strategies Store the data Graphs are your friend Apps Find trends and bridge correlations Data Store
  • 30.
  • 31. “As intelligence goes up, happiness goes down. See, I made a graph. I make lots of graphs.” - Lisa Simpson
  • 32. “As intelligence goes up, happiness goes down. See, I made a graph. I make lots of graphs.” - Lisa Simpson
  • 33. Act Now! “As intelligence goes up, happiness goes down. See, I made a graph. I make lots of graphs.” - Lisa Simpson
  • 34. Do something! Monitoring: Now what? Metrics! Cluster Take Action Actions to take Fix something Scale up/down Apps Remove server from pool Data Store “Action” Services
  • 36. Lets fix things SSH Micro-service Metrics! Cluster An action It is all in the simplicity Identified problem Crafted a solution Put together the pieces to fix it SSH Service Load Balancer Dead App Fix it
  • 37. FIX IT! FIX IT! FIX IT!
  • 38. Welcome to distributed systems What’s the problem? Metrics! Cluster Not distributed Simplicity can lack flexibility No built in fault tolerance to service Uses a local queue that doesn’t scale But this is still all fixable SSH Service Load Balancer Dead App Fix it
  • 39. Distributed Systems How do they work?
  • 40. Use a distributed approach How do we fix this? Metrics! Cluster Make distributed Scale with a particular approach SSH Service Load Balancer Dead App Fix it
  • 41. Use a distributed approach How do we fix this? Metrics! Cluster Make distributed Scale with a particular approach Use a proven distributed protocol (raft) Use a working module or implement it Read the white paper and test SSH Service Load Balancer Dead App Fix it
  • 42. Leader Election Raft: Distrubuted Consensus What is Raft? A consensus Algorithm Log replication Leaders, Followers, Candidates Leader election and failover
  • 44. Papers Distributed Systems Reading? Yes we should read them Yes they are hard Reading once is just the beginning Consider it like stretching
  • 45. OMG B UT IM OVERWHELMED
  • 46. Take a deep breath Distributed Systems RELAX SIMPLICITY Start small Importance of modules Everything in stages
  • 49. THE END Jarrett Cruger - @jcrugzz