1 / 60

R uby on Rails & W indows Azure @ sriramk s riramkrishnan

R uby on Rails & W indows Azure @ sriramk s riramkrishnan.com. July 25 th , 1965 Newport, Rhode Island. http://www.flickr.com/photos/joegratz/83461579. Windows Azure and the Microsoft cloud. S calable C omputation. Cloud Storage. Utility billing. Automated management. +. ?!.

merry
Download Presentation

R uby on Rails & W indows Azure @ sriramk s riramkrishnan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ruby on Rails &Windows Azure @sriramk sriramkrishnan.com

  2. July 25th, 1965 Newport, Rhode Island

  3. http://www.flickr.com/photos/joegratz/83461579

  4. Windows Azure and the Microsoft cloud

  5. Scalable Computation

  6. Cloud Storage

  7. Utility billing

  8. Automated management

  9. + • ?!

  10. We love Ruby on Rails

  11. And other languages/frameworks you secretly love ;)

  12. puts'Hello world'

  13. NOT! Useful

  14. THE RAILS“STACK”

  15. loadbalancers

  16. LOAD BALANCERS • Pound, Varnish, Pen, hardware solutions, etc…

  17. LOAD BALANCERS • Part of the platform • Any available TCP port • Can pull VMs in/out of rotation

  18. REVERSE PROXIES • mod_proxy,Perlbal, nginx, …

  19. REVERSE PROXIES • Works the same way

  20. app/webservers

  21. APP& WEB SERVERS • Many, many combinations possible • Most work great

  22. APP& WEB SERVERS

  23. Worker Role (Windows Azure VM) Process.Start() script/server Port 80 Run() Wrapper code Ruby installation .NET

  24. Worker Role (Windows Azure VM) Process.Start() WEBRick/Mongrel Run() Wrapper code mod_proxy_balancer Port 80 .NET Apache

  25. GEMS • Package with app • At runtime, use Gem::GemRunneror “gem install” • Caveat – Not all gems build/work on 64-bit Windows

  26. data

  27. MYSQL • Runs great on Windows Azure

  28. MYSQL • Solution Accelerator • http://bit.ly/99Bx9H • Master/slave, scale up and down slaves, periodic backups

  29. WINDOWS AZURECLOUD STORAGE SERVICES SQL Azure Blobs Tables Queues

  30. SQL Azure • Cloud-based relational database service • Scalable, available, fault-tolerant • Works with T-SQL based libraries/tools

  31. SQL Azure Useactiverecord-sqlserver-adapter Patch usinghttp://gist.github.com/318780

  32. Storage Services • Public REST APIs • waz-storage gem good starting point

  33. Blobs • Simple interface for storing named files with metadata • Very large objects (upto 1TB in size per blob) • Available through a CDN frontend

  34. require'waz-blobs‘ WAZ::Storage::Base.establish_connection!(:account_name => account_name,:access_key => access_key) container =WAZ::Blobs::Container.create('my-container‘) blob =container.store('my_blob.txt’,'somecontent’) blob = container['my_blob.txt']

  35. Queues • Reliable delivery of messages • Drop-in replacement for beanstalkd, starling, worker systems

  36. WAZ::Storage::Base.establish_connection!(:account_name => account_name,:access_key => access_key) queue =WAZ::Queues::Queue.create('my-queue') queue.enqueue!("some message")

  37. Tables • Structured data at scale • Efficiently insert, query and retrieve millions of entities

  38. entity = { :first_name => ‘William',:last_name => ‘Adama',                } • service.insert_entity('customer_table', entity) • service.query('customer_table',     {:expression => "(last_nameeq ‘Adama‘)", :top => 2} )

  39. caching

  40. memcached • http://code.msdn.microsoft.com/winazurememcached

  41. day to day

More Related