Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ruby on Rails & Windows sriramkrishnan.com.

Similar presentations


Presentation on theme: "Ruby on Rails & Windows sriramkrishnan.com."— Presentation transcript:

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

2

3 July 25 th, 1965 Newport, Rhode Island

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

5

6 Windows Azure and the Microsoft cloud

7 Scalable Computation

8 Cloud Storage

9 Utility billing

10 Automated management

11 + ?!

12 We love Ruby on Rails

13 And other languages/frameworks you secretly love ;)

14

15 puts 'Hello world'

16

17

18 Useful NOT!

19 THE RAILS “STACK”

20 load balancers

21 LOAD BALANCERS Pound, Varnish, Pen, hardware solutions, etc…

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

23 REVERSE PROXIES mod_proxy, Perlbal, nginx, …

24 REVERSE PROXIES Works the same way

25 app/web servers

26

27 APP & WEB SERVERS Many, many combinations possible Most work great

28 APP & WEB SERVERS

29

30

31

32

33 GEMS Package with app At runtime, use Gem::GemRunner or “ gem install ” Caveat – Not all gems build/work on 64-bit Windows

34 data

35 MYSQL Runs great on Windows Azure

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

37 WINDOWS AZURE CLOUD STORAGE SERVICES SQL Azure BlobsTablesQueues

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

39 SQL Azure Use activerecord-sqlserver- adapter Patch using http://gist.github.com/318780

40 Storage Services Public REST APIs waz-storage gem good starting point

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

42 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’,'some content’) blob = container['my_blob.txt']

43 Queues Reliable delivery of messages Drop-in replacement for beanstalkd, starling, worker systems

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

45 Tables Structured data at scale Efficiently insert, query and retrieve millions of entities

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

47 caching

48 memcached http://code.msdn.microsoft.com/ winazurememcached

49

50 day to day

51 Deployment Comes with the platform.

52 Deployment Use service management API to automate E.g : Deploy packages as a part of your Rakefile

53 Management Comes with the platform.

54 Management Use service management API to configure, upgrade, scale up/down Use monitoring/diagnostics API to replace nagios/ganglia

55 Debugging debug, to_yaml helpers work OOB Standard logger works great, logs to RAILS_ROOT/logs. Use diagnostics API to retrieve

56

57 THINGS TO REMEMBER Open platform Works well with Ruby world Jump in!

58

59 “louder”

60 The end. @sriramk sriramkrishnan.com


Download ppt "Ruby on Rails & Windows sriramkrishnan.com."

Similar presentations


Ads by Google