SlideShare une entreprise Scribd logo
1  sur  80
Exploring the Spider
        Architecture
                    Marc Weil
            Founder & CTO, CloudMine




marc@cloudmine.me                  @marcweil
Where we’ve come from
  (and, in many cases, where we are)
Presentation




Business Logic




  Database
Monolith
One example...



      (at least by default)
Why?
Why?
• Many libraries push responsibility from
  Nginx/Apache to Rails
Why?
• Many libraries push responsibility from
  Nginx/Apache to Rails
• Same with database
Why?
• Many libraries push responsibility from
  Nginx/Apache to Rails
• Same with database
• The business logic ends up doing far more
  than business logic should
Why is this a problem?
Why is this a problem?
• Requires lots of code that doesn’t
  contribute to core value
Why is this a problem?
• Requires lots of code that doesn’t
  contribute to core value
• Increases entropy of codebase
Why is this a problem?
• Requires lots of code that doesn’t
  contribute to core value
• Increases entropy of codebase
• Difficult to separate and scale different
  components
Rails is one example,
but this is common
As scale requirements
   increase, monolithic
architectures break down
As scale requirements
    increase, monolithic
 architectures break down
More responsibility in code = more codebase entropy
What’s easier?
Self-contained, focused
      components
From
Many small services
Keeps codebases small
 Enables polyglotism
Increases team focus
  >1 point of failure
One slow
component?
Scale it up!
But it’s not all rainbows
     and butterflies
But it’s not all rainbows
     and butterflies
   More complex deployment story
But it’s not all rainbows
     and butterflies
   More complex deployment story
     Increases ops requirements
But it’s not all rainbows
     and butterflies
   More complex deployment story
     Increases ops requirements
       Potentially higher costs
But it’s not all rainbows
     and butterflies
IaaS
(Infrastructure-as-a-Service)
We’ve moved from in-house



       to managed
How did this help
   business?
How did this help
   business?
  Reduce staff requirements
How did this help
   business?
     Reduce staff requirements
    Increase focus on core value
(is your business’ value really to keep servers up?)
How did this help
   business?
     Reduce staff requirements
    Increase focus on core value
(is your business’ value really to keep servers up?)
      Decrease time to market
Adoption of IaaS made
   PaaS possible


            etc etc (there are a ton)
Everything-as-a-Service!
Let’s bring it all back
       together
+
=
Or, more technically
Redis




SendGrid           MySQL




           Glue




 Urban
                    Geo
 Airship




            S3
Your mobile app’s backend
                 Redis




      SendGrid           MySQL




                 Glue




       Urban
                          Geo
       Airship




                  S3
How does this help
   business?
How does this help
   business?
  Reduce staff requirements
How does this help
       business?
             Reduce staff requirements
            Increase focus on core value
(is your business’ value really to administer Redis and RabbitMQ?)
How does this help
           business?
                Reduce staff requirements
               Increase focus on core value
   (is your business’ value really to administer Redis and RabbitMQ?)
                 Decrease time to market
(focusing only on your core value means there’s less work for you to do)
Simple Example
“A geo-fence is a virtual
perimeter for a real-world
    geographic area.”
                  - Wikipedia
in g!
D
So how does it work?
Three steps
1. Device registration
2. Determine when current location crosses
   geofence boundaries
3. Send push notifications*




* Beware hidden complexity
Device registration
Queue
                         Register




Web Services


      Register
Queue
                           Register




Web Services
                         Fairly complicated process

      Register
Queue
                               Register




Web Services
                  Expensive Fairly complicated process
                 and complex
      Register
Web Services

Record
  ID
               Register
Web Services
           Expensive
Record    and complex
  ID
                   Register
Register



Web Services
           Expensive
Record    and complex
  ID
Record
  ID
         Register
Register




Record
  ID
Processing and Push
Processing...

     Send a push, please!
Processing...

          Send a push, please!


 Expensive
and complex
Processing...

          Send a push, please!


 Expensive
and complex

                                 Complex
Processing...
              Send a push, please!



 Expensive
and complex
Processing...

    Send a push, please!
~15 lines of server-side
 code in this example
Build on the shoulders
       of giants
Stop re-inventing the
       wheel
The UX of your
      client-side is key




Invest the appropriate amount
         of resources
Opinion time
Inquiring minds want to
         know...
Is this kind of architecture
    better reflected by


            or


             ?
Thanks! Questions?

Contenu connexe

Tendances

Building businesspost.ie using Node.js
Building businesspost.ie using Node.jsBuilding businesspost.ie using Node.js
Building businesspost.ie using Node.js
Richard Rodger
 
Get More Out of the Cloud – AWS Training and Certification
Get More Out of the Cloud – AWS Training and CertificationGet More Out of the Cloud – AWS Training and Certification
Get More Out of the Cloud – AWS Training and Certification
Amazon Web Services
 

Tendances (20)

Serverless - The Future of the Cloud?!
Serverless - The Future of the Cloud?!Serverless - The Future of the Cloud?!
Serverless - The Future of the Cloud?!
 
Serverless is more FinDev than DevOps
Serverless is more FinDev than DevOpsServerless is more FinDev than DevOps
Serverless is more FinDev than DevOps
 
Microservices Gone Wrong!
Microservices Gone Wrong!Microservices Gone Wrong!
Microservices Gone Wrong!
 
Building a Bank out of Microservices (NDC Sydney, August 2016)
Building a Bank out of Microservices (NDC Sydney, August 2016)Building a Bank out of Microservices (NDC Sydney, August 2016)
Building a Bank out of Microservices (NDC Sydney, August 2016)
 
Building businesspost.ie using Node.js
Building businesspost.ie using Node.jsBuilding businesspost.ie using Node.js
Building businesspost.ie using Node.js
 
Sloppy Little Serverless Stories
Sloppy Little Serverless StoriesSloppy Little Serverless Stories
Sloppy Little Serverless Stories
 
Serverless computing and Function-as-a-Service (FaaS)
Serverless computing and Function-as-a-Service (FaaS)Serverless computing and Function-as-a-Service (FaaS)
Serverless computing and Function-as-a-Service (FaaS)
 
Rapid Digital Innovation: How Node.js Delivers
Rapid Digital Innovation: How Node.js DeliversRapid Digital Innovation: How Node.js Delivers
Rapid Digital Innovation: How Node.js Delivers
 
Building a Modern Microservices Architecture at Gilt: The Essentials
Building a Modern Microservices Architecture at Gilt: The EssentialsBuilding a Modern Microservices Architecture at Gilt: The Essentials
Building a Modern Microservices Architecture at Gilt: The Essentials
 
Building Successful Cloud Software Business with AWS (Stanley Chan, Head of T...
Building Successful Cloud Software Business with AWS (Stanley Chan, Head of T...Building Successful Cloud Software Business with AWS (Stanley Chan, Head of T...
Building Successful Cloud Software Business with AWS (Stanley Chan, Head of T...
 
To Serverless And Beyond!
To Serverless And Beyond!To Serverless And Beyond!
To Serverless And Beyond!
 
User Self-Service and Admin Portals for Amazon WorkSpaces - BAP302 - re:Inven...
User Self-Service and Admin Portals for Amazon WorkSpaces - BAP302 - re:Inven...User Self-Service and Admin Portals for Amazon WorkSpaces - BAP302 - re:Inven...
User Self-Service and Admin Portals for Amazon WorkSpaces - BAP302 - re:Inven...
 
How to improve lambda cold starts
How to improve lambda cold startsHow to improve lambda cold starts
How to improve lambda cold starts
 
Virtual Desktops on AWS by Mike Burke, Farm Credit Canada
Virtual Desktops on AWS by Mike Burke, Farm Credit CanadaVirtual Desktops on AWS by Mike Burke, Farm Credit Canada
Virtual Desktops on AWS by Mike Burke, Farm Credit Canada
 
Building resilient serverless systems with non serverless components
Building resilient serverless systems with non serverless componentsBuilding resilient serverless systems with non serverless components
Building resilient serverless systems with non serverless components
 
Aws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noidaAws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noida
 
Serverless - Lunch&Learn CleverToday - Mars 2017
Serverless - Lunch&Learn CleverToday - Mars 2017Serverless - Lunch&Learn CleverToday - Mars 2017
Serverless - Lunch&Learn CleverToday - Mars 2017
 
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
 
Get More Out of the Cloud – AWS Training and Certification
Get More Out of the Cloud – AWS Training and CertificationGet More Out of the Cloud – AWS Training and Certification
Get More Out of the Cloud – AWS Training and Certification
 
AWS Serverless patterns & best-practices in AWS
AWS Serverless  patterns & best-practices in AWSAWS Serverless  patterns & best-practices in AWS
AWS Serverless patterns & best-practices in AWS
 

Similaire à Spider Architecture

Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In This
deimos
 
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
Amazon Web Services
 
AWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWSAWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWS
Amazon Web Services
 

Similaire à Spider Architecture (20)

2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWS
 
Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In This
 
Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
Enterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience ReportEnterprise Serverless Adoption. An Experience Report
Enterprise Serverless Adoption. An Experience Report
 
Cloud Providers Public 030909 V2
Cloud Providers Public 030909 V2Cloud Providers Public 030909 V2
Cloud Providers Public 030909 V2
 
Lets focus on business value
Lets focus on business valueLets focus on business value
Lets focus on business value
 
Docker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudDocker - Scripting the PayPal Cloud
Docker - Scripting the PayPal Cloud
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
 
GeeCON Microservices 2015 scaling micro services at gilt
GeeCON Microservices 2015   scaling micro services at giltGeeCON Microservices 2015   scaling micro services at gilt
GeeCON Microservices 2015 scaling micro services at gilt
 
Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018Exploiting Serverless - DevOps Conference Sydney 2018
Exploiting Serverless - DevOps Conference Sydney 2018
 
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
 
AWS case study: real estate portal
AWS case study: real estate portalAWS case study: real estate portal
AWS case study: real estate portal
 
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
 
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
APIdays Paris 2018 - Cloud computing - we went through every steps of the Gar...
 
AWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWSAWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWS
 
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
 
Cloud Computing in Practice
Cloud Computing in PracticeCloud Computing in Practice
Cloud Computing in Practice
 
[판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
[판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석 [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
[판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
 

Dernier

Dernier (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Spider Architecture

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. Libraries treat nginx and database as dumb components. Push everything into Rails.\n
  7. Libraries treat nginx and database as dumb components. Push everything into Rails.\n
  8. Libraries treat nginx and database as dumb components. Push everything into Rails.\n
  9. \n
  10. \n
  11. \n
  12. \n
  13. Harder to maintain and tune as scale increases\n
  14. \n
  15. \n
  16. From monolithic to distributed\n
  17. \n
  18. \n
  19. \n
  20. Now you need a queuing process (AMQP, 0MQ, RabbitMQ, etc)\nMore and different server images\nPotentially costs more\n
  21. Now you need a queuing process (AMQP, 0MQ, RabbitMQ, etc)\nMore and different server images\nPotentially costs more\n
  22. Now you need a queuing process (AMQP, 0MQ, RabbitMQ, etc)\nMore and different server images\nPotentially costs more\n
  23. Now you need a queuing process (AMQP, 0MQ, RabbitMQ, etc)\nMore and different server images\nPotentially costs more\n
  24. Now you need a queuing process (AMQP, 0MQ, RabbitMQ, etc)\nMore and different server images\nPotentially costs more\n
  25. Now you need a queuing process (AMQP, 0MQ, RabbitMQ, etc)\nMore and different server images\nPotentially costs more\n
  26. Now you need a queuing process (AMQP, 0MQ, RabbitMQ, etc)\nMore and different server images\nPotentially costs more\n
  27. Let’s pause for a moment and talk about another set of advancements we’re all familiar with.\n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. Now you don’t even have to manage your own servers, which IaaS still requires you to do\nJust push code and go\n
  34. Let’s focus on Heroku for just a moment\n
  35. It introduced a plugin system. Look at this small fraction of things!\n
  36. It introduced a plugin system. Look at this small fraction of things!\n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. This is the spider architecture. Gluing together external services with a small amount of custom code to create a fully-functioning application.\n
  44. Does this look familiar?\n
  45. Does this look familiar?\n
  46. Does this look familiar?\n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. Competing with experiences given by Path, Instagram, etc.\nPeople expect near-perfect UX, and it’s not trivial to accomplish.\n
  70. \n
  71. \n
  72. \n
  73. \n