SlideShare a Scribd company logo
Services
Dave McCrory
         @mccrory on Twitter

Senior Architect, Cloud Foundry, VMware
Wordpress?
Facebook apps on Heroku: 34,000 in 24 Hours



                          How To:
curl
‐u
“$EMAIL:$PASSWORD”
‐X
POST
https://api.heroku.com/apps
PaaS Provider   Your App




                MySQL
1
PaaS Provider       Your App




                    MySQL
1
PaaS Provider       Your App



                2
                    MySQL
1
PaaS Provider       Your App

                         3
                2
                    MySQL
Setting the Stage
    “The Dream State”

• This is specifically targeted at PaaS
  (Platform as a Service)
• All providers have an interface (CLI
  or otherwise) to control services in
  their platform
-Cobb
“...Inception, now before you bother
telling me it's impossible...”

                       -Cobb
-Eames
“No, it's perfectly possible. It's just
bloody difficult.”
                        -Eames
Dependencies

• Most Apps Have Them...
• I’m not just talking about
  • require ‘rubygems’
  • Bundler
  • etc...
I’m talking about
 Service Dependencies
• “Assumes Redis”
• “Built for MongoDB”
• “Works with MySQL, other support
  coming”
• “Requires/Assumes X Service”
YOU need to go setup
       that Service...
You need

 • Resources
 • the bits for the service (the correct version)
 • and YOU must configure it
 • and in some cases you must install it
An Example from Today
https://github.com/defunkt/resque


Resque is our Redis-backed library for creating
background jobs, placing those jobs on multiple queues,
and processing them later.
https://github.com/defunkt/resque


Resque is our Redis-backed library for creating
background jobs, placing those jobs on multiple queues,
and processing them later.



Installing Redis

Resque requires Redis 0.900 or higher.
https://github.com/defunkt/resque


Resque is our Redis-backed library for creating
background jobs, placing those jobs on multiple queues,
and processing them later.



Installing Redis

Resque requires Redis 0.900 or higher.




Resque Dependencies
gem install redis redis-namespace yajl-ruby
https://github.com/wistia/resque-mongo

Resque-mongo is a fork of [Resque][resque] that uses
MongoDB as a backend instead of Redis.
https://github.com/wistia/resque-mongo

Resque-mongo is a fork of [Resque][resque] that uses
MongoDB as a backend instead of Redis.

 Resque-mongo uses a fairly new feature of mongo, findAndModify().
 findAndModify that is only supported by 0.20+ version ofthe ruby mongo driver.
https://github.com/wistia/resque-mongo

Resque-mongo is a fork of [Resque][resque] that uses
MongoDB as a backend instead of Redis.

 Resque-mongo uses a fairly new feature of mongo, findAndModify().
 findAndModify that is only supported by 0.20+ version ofthe ruby mongo driver.
 Also, check your mongo version: 1.3.0 or higher
https://github.com/wistia/resque-mongo

Resque-mongo is a fork of [Resque][resque] that uses
MongoDB as a backend instead of Redis.

 Resque-mongo uses a fairly new feature of mongo, findAndModify().
 findAndModify that is only supported by 0.20+ version ofthe ruby mongo driver.
 Also, check your mongo version: 1.3.0 or higher

 Mysql::Error:
MySQL
server
has
gone
away

 If your workers remain idle for too long they may lose their MySQL connection.
https://github.com/wistia/resque-mongo

Resque-mongo is a fork of [Resque][resque] that uses
MongoDB as a backend instead of Redis.

 Resque-mongo uses a fairly new feature of mongo, findAndModify().
 findAndModify that is only supported by 0.20+ version ofthe ruby mongo driver.
 Also, check your mongo version: 1.3.0 or higher

 Mysql::Error:
MySQL
server
has
gone
away

 If your workers remain idle for too long they may lose their MySQL connection.


 Installing Redis
 Resque requires Redis 0.900 or higher.
https://github.com/wistia/resque-mongo

Resque-mongo is a fork of [Resque][resque] that uses
MongoDB as a backend instead of Redis.

 Resque-mongo uses a fairly new feature of mongo, findAndModify().
 findAndModify that is only supported by 0.20+ version ofthe ruby mongo driver.
 Also, check your mongo version: 1.3.0 or higher

 Mysql::Error:
MySQL
server
has
gone
away

 If your workers remain idle for too long they may lose their MySQL connection.


 Installing Redis
 Resque requires Redis 0.900 or higher.

 Resque Dependencies
 gem install redis redis-namespace yajl-ruby
-Eames
“If you’re going to perform inception,
        you need imagination.”

                               -Eames
Imagine an application
   that can create the
services that it needs and
      depends on...
Why do you need this?
• Why does the Application have a
  Dependency on a Service that you
  have to create outside of your code?

• Worse, replicate someone else’s steps/
  configuration to get working
  properly?
• Ideally you shouldn’t even have to find
  the resources they should build
  themselves!
Not meant to directly reflect resque-mongo


       A Basic App

                       App
          $redis               $mongo


         connection           connection




         Redis               MongoDB

                      PaaS
Services Inception
 Services inside Services inside...


              App
                                      Depends on
 $redis               $mongo        Redis and Mongo
connection           connection


                                   You are expected to
Redis               MongoDB
                                  set these up yourself
                                  using a command line
             PaaS                   tool in most cases
What happens if you
forget or misconfigure a
        Service?
Services Limbo
 -Cobb

           “We drop into limbo.”

                           “Are you serious?”


                                                -Arthur
           “Limbo?”

               “Unconstructed dream space.”



-Ariadne
Why isn’t this part of the
      code itself?
Services Inception
• The App should ask the Platform for
  the Service and get it
• If the Platform doesn’t have a service
  due to complexity, the app should be
  able to create/build it

• The App should have the ability to
  automatically bootstrap, update, and
  repair itself if need be
• Include the steps, let me choose if I
  want to change them
We need a Services
        Architect

-Ariadne
           “I designed the place.”
We need a Services
           Architect

   -Ariadne
               “I designed the place.”




  The original Developer of the code knows what
it expects, they should leave this behind with the
        code (either in it or as an artifact)
PaaS Provider   Your App




                MySQL
1
PaaS Provider       Your App




                    MySQL
1
PaaS Provider       Your App



                2
                    MySQL
1
PaaS Provider       Your App

                         3
                2
                    MySQL
PaaS Provider   Your App




                MySQL
1
PaaS Provider       Your App




                    MySQL
1
PaaS Provider       Your App

                2


                    MySQL
1
PaaS Provider       Your App

                2


                3   MySQL
1
PaaS Provider       Your App

                2        4

                3   MySQL
PaaS Provider           App




                Redis         MongoDB
PaaS Provider           App




                Redis         MongoDB
PaaS Provider           App




                Redis         MongoDB
PaaS Provider           App




                Redis         MongoDB
One Approach
Planning Inception

                                   manifest.yml




              App
                                   ....
 $redis               $mongo


connection            connection
                                   services:

Redis               MongoDB        





redis_test:

             PaaS                  







type:
:redis
                                   







if_exists:
keep
                                   





mongo_test:

                                   







type:
:mongodb
                                   







if_exists:
keep
A Second Approach
DevOps?




Maybe an extension or file format reuse?
A Third Approach
Why not do this in the
              App
                                          App code?
 $redis               $mongo


connection            connection




Redis               MongoDB

             PaaS

                                   DependsOn
=
{
                                   

'foo'
=>
'redis',

                                   

'bar'
=>
'mongo'
                                   }
configure
do


$client
=
Paasclient.new('MyPassword',nil)


resolve_deps
=
Dependency.new(DependsOn)
end
Dependency.each
do
|dep_name,
dep_type|






case
dep_type







when
'redis'








unless
$client.exists(dep_name)










$client.create_redis(dep_name)








end








unless
$client.bound(dep_name)










$client.bind(dep_name)








end







when
'mongo'








....
PaaS Provider           App




                Redis         MongoDB
The Penrose Stairs




     Be Careful with
Metaprogramming Services
Methods
• service exists / create / delete
• service bound / bind / unbind
• app exists / create / delete
• app start / stop / restart / instances
existed?                         history?
A Sample More Complex
     Application
              Consuming App
              (Uses Infrastructure Below)




    Twitter          http service             GridFS

                        $redis                $mongo


                      connection             connection




                      Redis                 MongoDB
  Internet

                                    PaaS
Questions?


    Opinions?


Other Approaches?
Thank You!

More Related Content

What's hot

What's hot (20)

Intro to Ruby on Rails
Intro to Ruby on RailsIntro to Ruby on Rails
Intro to Ruby on Rails
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
 
How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017
How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017
How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017
 
How Flipkart scales PHP
How Flipkart scales PHPHow Flipkart scales PHP
How Flipkart scales PHP
 
Living on the Edge, It’s Safer Than You Think! Building Strong with Amazon Cl...
Living on the Edge, It’s Safer Than You Think! Building Strong with Amazon Cl...Living on the Edge, It’s Safer Than You Think! Building Strong with Amazon Cl...
Living on the Edge, It’s Safer Than You Think! Building Strong with Amazon Cl...
 
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
 
Deep Dive into AWS Fargate - CON333 - re:Invent 2017
Deep Dive into AWS Fargate - CON333 - re:Invent 2017Deep Dive into AWS Fargate - CON333 - re:Invent 2017
Deep Dive into AWS Fargate - CON333 - re:Invent 2017
 
Serverless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLMServerless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLM
 
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
 
Containers - Amazon EKS
Containers - Amazon EKSContainers - Amazon EKS
Containers - Amazon EKS
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
a Running Tour of Cloud Foundry
a Running Tour of Cloud Foundrya Running Tour of Cloud Foundry
a Running Tour of Cloud Foundry
 
Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017
 
ragi_tutorial_v1
ragi_tutorial_v1ragi_tutorial_v1
ragi_tutorial_v1
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and Vaadin
 
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
 
Building a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutesBuilding a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutes
 
Building web applications with Java & Spring
Building web applications with Java & SpringBuilding web applications with Java & Spring
Building web applications with Java & Spring
 
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
Network Performance: Making Every Packet Count - NET401 - re:Invent 2017
 

Viewers also liked

Inception powerpoint
Inception powerpointInception powerpoint
Inception powerpoint
csullivans05
 
Inception camera angles
Inception camera anglesInception camera angles
Inception camera angles
denzilbuck
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
SlideShare
 

Viewers also liked (17)

Inception
InceptionInception
Inception
 
Inception
InceptionInception
Inception
 
Origen sueño y realidad, a propósito de una película
Origen sueño y realidad, a propósito de una películaOrigen sueño y realidad, a propósito de una película
Origen sueño y realidad, a propósito de una película
 
Inception powerpoint
Inception powerpointInception powerpoint
Inception powerpoint
 
Inception PowerPoint
Inception  PowerPointInception  PowerPoint
Inception PowerPoint
 
Inception
InceptionInception
Inception
 
Inception camera angles
Inception camera anglesInception camera angles
Inception camera angles
 
Inception
InceptionInception
Inception
 
Inception
Inception Inception
Inception
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Similar to Services inception in Ruby

Scripts Python Dbapi
Scripts Python DbapiScripts Python Dbapi
Scripts Python Dbapi
AkramWaseem
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
Steven Francia
 
Www Kitebird Com Articles Pydbapi Html Toc 1
Www Kitebird Com Articles Pydbapi Html Toc 1Www Kitebird Com Articles Pydbapi Html Toc 1
Www Kitebird Com Articles Pydbapi Html Toc 1
AkramWaseem
 
A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...
MongoDB
 

Similar to Services inception in Ruby (20)

TorqueBox
TorqueBoxTorqueBox
TorqueBox
 
NodeJS @ ACS
NodeJS @ ACSNodeJS @ ACS
NodeJS @ ACS
 
Serverless Architectures with AWS Lambda and MongoDB Atlas by Sig Narvaez
Serverless Architectures with AWS Lambda and MongoDB Atlas by Sig NarvaezServerless Architectures with AWS Lambda and MongoDB Atlas by Sig Narvaez
Serverless Architectures with AWS Lambda and MongoDB Atlas by Sig Narvaez
 
Interstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSInterstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECS
 
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)
 
Dev streams2
Dev streams2Dev streams2
Dev streams2
 
What's Next Replay - SpringSource
What's Next Replay - SpringSourceWhat's Next Replay - SpringSource
What's Next Replay - SpringSource
 
Intro to Sails.js
Intro to Sails.jsIntro to Sails.js
Intro to Sails.js
 
Scripts Python Dbapi
Scripts Python DbapiScripts Python Dbapi
Scripts Python Dbapi
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
 
No SQL at The Guardian
No SQL at The GuardianNo SQL at The Guardian
No SQL at The Guardian
 
GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Merb For The Enterprise
Merb For The EnterpriseMerb For The Enterprise
Merb For The Enterprise
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
 
Get your Spatial on with MongoDB in the Cloud
Get your Spatial on with MongoDB in the CloudGet your Spatial on with MongoDB in the Cloud
Get your Spatial on with MongoDB in the Cloud
 
Supa fast Ruby + Rails
Supa fast Ruby + RailsSupa fast Ruby + Rails
Supa fast Ruby + Rails
 
The DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetupThe DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetup
 
Www Kitebird Com Articles Pydbapi Html Toc 1
Www Kitebird Com Articles Pydbapi Html Toc 1Www Kitebird Com Articles Pydbapi Html Toc 1
Www Kitebird Com Articles Pydbapi Html Toc 1
 
A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...A flexible plugin like data layer - decouple your -_application logic from yo...
A flexible plugin like data layer - decouple your -_application logic from yo...
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 

Services inception in Ruby

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \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