SlideShare uma empresa Scribd logo
1 de 46
NWRUG
                            February 2009
                             Sponsored by Engine Yard




Friday, February 20, 2009
Vertebra Nanite
                            (and an introduction to cloud computing)

                                            Will Jessop




Friday, February 20, 2009
Friday, February 20, 2009
Vertebra?

                     • Wasn’t working in time to write this…
                     • …seen in use on Engine Yard nodes
                     • Actively developed, improving


Friday, February 20, 2009
(an introduction to cloud computing)




                                What is it?
                                        (Discuss)




Friday, February 20, 2009
My definition




Friday, February 20, 2009
My definition

                            Cloud computing means taking the
                            resources you need for a
                            computing task at the time you
                            need it from a pool of available
                            processing capacity.




Friday, February 20, 2009
What does that really
                              mean?

                     • Provision the minimum amount of
                            processing capacity you need
                     • Add more processing capacity as needed


Friday, February 20, 2009
Friday, February 20, 2009
Why compute in the
                                 cloud?
                     • Servers cost money to run, even when idle
                     • Demand for capacity can peak




Friday, February 20, 2009
Why compute in the
                                 cloud?
                     • Servers cost money to run, even when idle
                     • Demand for capacity can peak
                                   Oh yes, it can:




Friday, February 20, 2009
Uh-oh:




Friday, February 20, 2009
Yikes!




Friday, February 20, 2009
Doing it right

                     • Monitoring
                     • Provisioning
                     • Discovery



Friday, February 20, 2009
Doing it right

                     • Monitoring
                     • Provisioning
                     • Discovery



Friday, February 20, 2009
Friday, February 20, 2009
Botnets of infected windows
                            machines running eggdrop (or
                            similar), an IRC server and a
                                      1337 h4x0r




Friday, February 20, 2009
(an introduction to cloud computing)




Friday, February 20, 2009
(an introduction to cloud computing)



                     • Computing on demand




Friday, February 20, 2009
(an introduction to cloud computing)



                     • Computing on demand
                     • Only pay for what you use




Friday, February 20, 2009
(an introduction to cloud computing)



                     • Computing on demand
                     • Only pay for what you use
                     • Monitoring



Friday, February 20, 2009
(an introduction to cloud computing)



                     • Computing on demand
                     • Only pay for what you use
                     • Monitoring
                     • Provisioning


Friday, February 20, 2009
(an introduction to cloud computing)



                     • Computing on demand
                     • Only pay for what you use
                     • Monitoring
                     • Provisioning
                     • Discovery

Friday, February 20, 2009
(an introduction to cloud computing)



                     • Computing on demand
                     • Only pay for what you use
                     • Monitoring
                     • Provisioning
                     • Discovery
                     • Questions?
Friday, February 20, 2009
The Future is in the
                               Background

                     • Web serving processes need a fast
                            turnaround, users won’t wait
                     • Don’t want to tie-up processes with slow
                            stuff




Friday, February 20, 2009
Friday, February 20, 2009
Nanite



Friday, February 20, 2009
Nanite

                            Ezra Zygmuntowicz



Friday, February 20, 2009
Nanite is:
                    “Nanite is a new way of thinking about building cloud
                      ready web applications. Having a scalable message
                    queueing back-end with all the discovery and dynamic
                    load based dispatch that Nanite has is a very scalable
                        way to construct web application back-ends.”




Friday, February 20, 2009
The interesting bits

                     • Scaleable back-end
                     • Message queueing
                     • Discovery
                     • Load based dispatch (by default)

Friday, February 20, 2009
Technical stuff

                     • RabbitMQ + AMQP
                     • Ruby
                     • Can send data JSON, Marshalled or YAML


Friday, February 20, 2009
Architecture




Friday, February 20, 2009
AMQP


                            We could talk AMQP directly but…




Friday, February 20, 2009
AMQP




Friday, February 20, 2009
Installation
                     • RabbitMQ
                      • Erlang
                      • RabbitMQ
                     • Nanite
                      • Ruby (Duh)
                      • AMQP & ezmobius-nanite
Friday, February 20, 2009
Setup

                     • git clone git://github.com/ezmobius/
                            nanite.git
                     • cd nanite
                     • sudo ./examples/rabbitconf.rb


Friday, February 20, 2009
Agent structure




Friday, February 20, 2009
Actors
                            simple.rb




Friday, February 20, 2009
Agent + Actors




Friday, February 20, 2009
Starting up an agent

               $ cd /path/to/agent_directory
               $ /var/lib/gems/1.8/bin/nanite-agent -t fred -f json -ldebugquot;




Friday, February 20, 2009
Mappers




Friday, February 20, 2009
Mappers




Friday, February 20, 2009
Let’s try it out




Friday, February 20, 2009
FIN



Friday, February 20, 2009
Resources


                     • http://willj.net/…



Friday, February 20, 2009
Next Month


                     • Social meetup, want to talk?
                     • Thursday16th April: Ashley Moran - From
                            Specification to Success, a talk on BDD




Friday, February 20, 2009

Mais conteúdo relacionado

Semelhante a Nanite (And An Introduction To Cloud Computing)

Webhooks - glue for the web
Webhooks - glue for the webWebhooks - glue for the web
Webhooks - glue for the webStoyan Zhekov
 
Investing in open source hw
Investing in open source hwInvesting in open source hw
Investing in open source hwbijansabet
 
Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableHowdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableCommand Prompt., Inc
 
CouchDB to the Edge ApacheCon EU
CouchDB to the  Edge ApacheCon EUCouchDB to the  Edge ApacheCon EU
CouchDB to the Edge ApacheCon EUChris Anderson
 
Why Architecture Matters
Why Architecture MattersWhy Architecture Matters
Why Architecture MattersLars Jankowfsky
 
Icon Homepage 2009
Icon Homepage 2009Icon Homepage 2009
Icon Homepage 2009jackp
 
IT Depends: Custom vs Packaged Software
IT Depends: Custom vs Packaged SoftwareIT Depends: Custom vs Packaged Software
IT Depends: Custom vs Packaged Software★ Selcuk Atli
 
Ed Byrne Ucd Presentation 27 Jan 2009
Ed Byrne   Ucd Presentation   27 Jan 2009Ed Byrne   Ucd Presentation   27 Jan 2009
Ed Byrne Ucd Presentation 27 Jan 2009Ed Byrne
 
eIFL General Assembly
eIFL General AssemblyeIFL General Assembly
eIFL General Assemblyguest22cf88
 
Monitor Your Business V2
Monitor Your Business V2Monitor Your Business V2
Monitor Your Business V2Lars Jankowfsky
 
Kellogg HTC Platforms
Kellogg HTC PlatformsKellogg HTC Platforms
Kellogg HTC PlatformsKari Wilson
 
GTD - Timemanagement and an intro to Getting Things Done
GTD - Timemanagement and an intro to Getting Things DoneGTD - Timemanagement and an intro to Getting Things Done
GTD - Timemanagement and an intro to Getting Things DoneKees Romkes
 
Best Practices in Migrating to MySQL - Part 1
Best Practices in Migrating to MySQL - Part 1Best Practices in Migrating to MySQL - Part 1
Best Practices in Migrating to MySQL - Part 1Ronald Bradford
 
GWT Overview And Feature Preview - SV Web JUG - June 16 2009
GWT Overview And Feature Preview - SV Web JUG -  June 16 2009GWT Overview And Feature Preview - SV Web JUG -  June 16 2009
GWT Overview And Feature Preview - SV Web JUG - June 16 2009Fred Sauer
 
No Really, It's All About You
No Really, It's All About YouNo Really, It's All About You
No Really, It's All About YouChris Cornutt
 
Portlets
PortletsPortlets
Portletsssetem
 

Semelhante a Nanite (And An Introduction To Cloud Computing) (20)

Webhooks - glue for the web
Webhooks - glue for the webWebhooks - glue for the web
Webhooks - glue for the web
 
Investing in open source hw
Investing in open source hwInvesting in open source hw
Investing in open source hw
 
Howdah
HowdahHowdah
Howdah
 
Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableHowdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
 
CouchDB to the Edge ApacheCon EU
CouchDB to the  Edge ApacheCon EUCouchDB to the  Edge ApacheCon EU
CouchDB to the Edge ApacheCon EU
 
Why Architecture Matters
Why Architecture MattersWhy Architecture Matters
Why Architecture Matters
 
Icon Homepage 2009
Icon Homepage 2009Icon Homepage 2009
Icon Homepage 2009
 
IT Depends: Custom vs Packaged Software
IT Depends: Custom vs Packaged SoftwareIT Depends: Custom vs Packaged Software
IT Depends: Custom vs Packaged Software
 
PHP vs. Ruby on Rails
PHP vs. Ruby on RailsPHP vs. Ruby on Rails
PHP vs. Ruby on Rails
 
Ed Byrne Ucd Presentation 27 Jan 2009
Ed Byrne   Ucd Presentation   27 Jan 2009Ed Byrne   Ucd Presentation   27 Jan 2009
Ed Byrne Ucd Presentation 27 Jan 2009
 
eIFL General Assembly
eIFL General AssemblyeIFL General Assembly
eIFL General Assembly
 
Monitor Your Business V2
Monitor Your Business V2Monitor Your Business V2
Monitor Your Business V2
 
Kellogg HTC Platforms
Kellogg HTC PlatformsKellogg HTC Platforms
Kellogg HTC Platforms
 
GTD - Timemanagement and an intro to Getting Things Done
GTD - Timemanagement and an intro to Getting Things DoneGTD - Timemanagement and an intro to Getting Things Done
GTD - Timemanagement and an intro to Getting Things Done
 
Best Practices in Migrating to MySQL - Part 1
Best Practices in Migrating to MySQL - Part 1Best Practices in Migrating to MySQL - Part 1
Best Practices in Migrating to MySQL - Part 1
 
Mac vs PC
Mac vs PCMac vs PC
Mac vs PC
 
GWT Overview And Feature Preview - SV Web JUG - June 16 2009
GWT Overview And Feature Preview - SV Web JUG -  June 16 2009GWT Overview And Feature Preview - SV Web JUG -  June 16 2009
GWT Overview And Feature Preview - SV Web JUG - June 16 2009
 
No Really, It's All About You
No Really, It's All About YouNo Really, It's All About You
No Really, It's All About You
 
fingertips
fingertipsfingertips
fingertips
 
Portlets
PortletsPortlets
Portlets
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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 2024Rafal Los
 
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.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 RobisonAnna Loughnan Colquhoun
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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 WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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...Miguel Araújo
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
[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.pdfhans926745
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[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
 

Nanite (And An Introduction To Cloud Computing)

  • 1. NWRUG February 2009 Sponsored by Engine Yard Friday, February 20, 2009
  • 2. Vertebra Nanite (and an introduction to cloud computing) Will Jessop Friday, February 20, 2009
  • 4. Vertebra? • Wasn’t working in time to write this… • …seen in use on Engine Yard nodes • Actively developed, improving Friday, February 20, 2009
  • 5. (an introduction to cloud computing) What is it? (Discuss) Friday, February 20, 2009
  • 7. My definition Cloud computing means taking the resources you need for a computing task at the time you need it from a pool of available processing capacity. Friday, February 20, 2009
  • 8. What does that really mean? • Provision the minimum amount of processing capacity you need • Add more processing capacity as needed Friday, February 20, 2009
  • 10. Why compute in the cloud? • Servers cost money to run, even when idle • Demand for capacity can peak Friday, February 20, 2009
  • 11. Why compute in the cloud? • Servers cost money to run, even when idle • Demand for capacity can peak Oh yes, it can: Friday, February 20, 2009
  • 14. Doing it right • Monitoring • Provisioning • Discovery Friday, February 20, 2009
  • 15. Doing it right • Monitoring • Provisioning • Discovery Friday, February 20, 2009
  • 17. Botnets of infected windows machines running eggdrop (or similar), an IRC server and a 1337 h4x0r Friday, February 20, 2009
  • 18. (an introduction to cloud computing) Friday, February 20, 2009
  • 19. (an introduction to cloud computing) • Computing on demand Friday, February 20, 2009
  • 20. (an introduction to cloud computing) • Computing on demand • Only pay for what you use Friday, February 20, 2009
  • 21. (an introduction to cloud computing) • Computing on demand • Only pay for what you use • Monitoring Friday, February 20, 2009
  • 22. (an introduction to cloud computing) • Computing on demand • Only pay for what you use • Monitoring • Provisioning Friday, February 20, 2009
  • 23. (an introduction to cloud computing) • Computing on demand • Only pay for what you use • Monitoring • Provisioning • Discovery Friday, February 20, 2009
  • 24. (an introduction to cloud computing) • Computing on demand • Only pay for what you use • Monitoring • Provisioning • Discovery • Questions? Friday, February 20, 2009
  • 25. The Future is in the Background • Web serving processes need a fast turnaround, users won’t wait • Don’t want to tie-up processes with slow stuff Friday, February 20, 2009
  • 28. Nanite Ezra Zygmuntowicz Friday, February 20, 2009
  • 29. Nanite is: “Nanite is a new way of thinking about building cloud ready web applications. Having a scalable message queueing back-end with all the discovery and dynamic load based dispatch that Nanite has is a very scalable way to construct web application back-ends.” Friday, February 20, 2009
  • 30. The interesting bits • Scaleable back-end • Message queueing • Discovery • Load based dispatch (by default) Friday, February 20, 2009
  • 31. Technical stuff • RabbitMQ + AMQP • Ruby • Can send data JSON, Marshalled or YAML Friday, February 20, 2009
  • 33. AMQP We could talk AMQP directly but… Friday, February 20, 2009
  • 35. Installation • RabbitMQ • Erlang • RabbitMQ • Nanite • Ruby (Duh) • AMQP & ezmobius-nanite Friday, February 20, 2009
  • 36. Setup • git clone git://github.com/ezmobius/ nanite.git • cd nanite • sudo ./examples/rabbitconf.rb Friday, February 20, 2009
  • 38. Actors simple.rb Friday, February 20, 2009
  • 39. Agent + Actors Friday, February 20, 2009
  • 40. Starting up an agent $ cd /path/to/agent_directory $ /var/lib/gems/1.8/bin/nanite-agent -t fred -f json -ldebugquot; Friday, February 20, 2009
  • 43. Let’s try it out Friday, February 20, 2009
  • 45. Resources • http://willj.net/… Friday, February 20, 2009
  • 46. Next Month • Social meetup, want to talk? • Thursday16th April: Ashley Moran - From Specification to Success, a talk on BDD Friday, February 20, 2009

Notas do Editor

  1. - Well welcome everybody to the first talk in a while for NWRUG! We’ve got more planned and I hope people will come along for the social meetups when there are no talks. - We have sponsorship this month from EngineYard, free pizzas and drinks, T-shirts. Full-disclosure, I work for engineyard. - No food or drinks in the auditorium, please leave the building in the same state you found it.
  2. - Talking about Nanite today, and cloud computing, it’s related (why) - If this looks familiar it’s because I had the same problems George Palmer had when doing his talk at RubyManor - transition
  3. - But that’s OK, Vertebra is getting there and Nanite is cool
  4. - So, Why not Vertebra? - wasn’t working in time - however, seen on EY nodes, actively developed - Might do a talk on it at some point - unless someone else gets there first (hint) - On to the first part of the talk, cloud-computing
  5. - so what is it? - Ask for volunteer descriptions of cloud-computing.
  6. - I came up with this description myself - Seems to be no solid definition - Some use the term to refer to the internet itself, but that already has a name - Could even apply to the use of APIs
  7. - smooth transition
  8. - old-school provisioning, had to provision for maximum resource requirement (users in the case of web-apps) - during slack periods unused capacity wastes money, idle servers - cloud-computing for me means only dipping into my beer-fund when necessary
  9. - OK, this should be fairly obvious by now - go through points -- transition - At EY we see both expected (time-of-day) and unexpected bumps
  10. - Best example I have seen - mongrel queue hit ~1000 - Fixed by adding 2xCPUs per VM and more memory. Client added some cacheing.
  11. - One more just for fun (can’t resist pretty graphs). - Can’t remember the exact circumstances, but it’s pretty :)
  12. - So we have an idea what it is, and why you would do it, but how? - Doing it right, there’s no hard-and-fast point at which you are ‘cloud-computing’ - At what point does computing in the cloud stop being cloud-computing when provisioning takes too long? - Could be dependent on the situation, ‘in time’ - Discovery. You don’t have to do this, you can configure everything yourself. Slows you down. - Talk about discovery.
  13. - Just for fun, what’s the earliest use of cloud-computing anyone can think of? - wait for answers then transition - Good discovery, easy provisioning (thanks Microsoft!)
  14. - conclusion, iterate over points
  15. - conclusion, iterate over points
  16. - conclusion, iterate over points
  17. - conclusion, iterate over points
  18. - conclusion, iterate over points
  19. - conclusion, iterate over points
  20. - So what does this have to do with Nanite? - Background processing is getting more important, web-apps are doing more, more processing power needed - Website users get bored easily, they go somewhere else. - Image transformations, Amazon S3 uploads, Email sending etc. all takes time. - We move the heavy lifting out of the front-end process, freeing it up. - Want to remain scalable
  21. - So, on to Nanite! - project started by Ezra, Open source, on github, under active development
  22. - So, on to Nanite! - project started by Ezra, Open source, on github, under active development
  23. So what is it? - As described in the README - A bit wordy, but a pretty good description It really is: - Nanite is a background processing system, like Dj, Bj or BackgroundRb but on crack (explain) - Allows you to shunt off work synchronously or asynchronously to back-end runners - Written in Ruby, basically an abstraction of AMQP
  24. - Scaleable, multiple rabbitMQ back-ends can be run - Jobs can be put on the queue for running now or later - Discovery. Agents advertise mappers, mappers can get a list of available agents and actions - load-based dispatch, discuss
  25. - Though any AMQP compliant queue should do
  26. - RabbitMQ is the queue, it talks AMQP - An Agent is a single process, it advertises multiple actors - mapper is just a fancy name for the client that sends work and maybe received results - Agents report there status by default every 15 seconds, mappers track the state of all nanites removing those that have not checked in within a timeout. - Mappers send data to agent chosen using a fitness function. Default is least loaded (using uptime), but others are available as i’ll show you.
  27. - Or at least we can get a lot of power by using an abstraction - so we use nanite
  28. - Or at least we can get a lot of power by using an abstraction - so we use nanite
  29. - Really easy on debian - just follow the instructions on the nanite github page
  30. - Sets up the queues and users in rabbitMQ - Only needs to be done once. - To process any jobs you then need an agent (transition)
  31. - We will run nanite-actor in this directory discuss
  32. - Simple, just stick in the actors directory - by default all methods exposed, can explicitly expose with ‘expose’ method
  33. - The agent + actors do the work
  34. - From the command line - I am starting these using a bask wrapper from monit, works well.
  35. - Mappers are the clients for agents/actors - Just code
  36. - this is where the mappers fit into the architecture
  37. - Let’s attempt to summon the god of FAIL by doing a live-action demo
  38. I am going to put up a blog post probably tomorrow with all the relevant links available.