SlideShare a Scribd company logo
The New Open Azure & Ruby
November 27, 2012 Lightning Talk


                                   cam@glacetouch.com
    Cam Stevenson                  github: camstevenson
The New Open Azure

 • Still supports the original Microsoft flavored technologies

 • Still has the basic services you’d expect

      • Blob storage, tables, queues, etc.

 • Now expanded with a decidedly open source set of capabilities

      • Pre-packaged Linux virtual machines

      • Developer toolkits for node.js, Java, PHP, Python as well as .Net

      • Sadly, no Microsoft supplied toolkit for Ruby
Azure with Ruby

 • There isn’t a Microsoft supplied toolkit for Ruby, but there is an Open
   Source one:

 • https://github.com/johnnyhalife/waz-storage

 • Lets you work with Azure blobs, queues and tables
An Example (upload to blob storage)
 require 'waz-blobs’

 if WAZ::Storage::Base.establish_connection!(:account_name => 'ottawaruby',
      :access_key => 'G+gohTOyuXi7DBFQmTmZuxIX2nrZGJLE6KLxTK5GkS/c1kytMgIUiZsMSe9VnLBQ0+vxLVhljhvsHIo6nLhTyw==')

  # get a reference to the "root" container, create it if it doesn't exist
  container = WAZ::Blobs::Container.find('$root')
  if !container
    WAZ::Blobs::Container.create('$root')
    container = WAZ::Blobs::Container.find('$root')
  end

  # set public access on this container
  container.public_access = WAZ::Blobs::BlobSecurity::Blob

  # upload a file, supplying mime type
  file_path = 'ottawaruby.html'
  upload_file = File.open(file_path, "rb", :encoding => "BINARY")
  container.store('ottawaruby.html', upload_file.read, 'text/html')
  upload_file.close
 end
Some tips…

 -   $root is the root container of a blob storage account

 -   The stock waz-storage implementation doesn’t support this – my patched one at
     https://github.com/camstevenson/waz-storage

 -   Blob storage doesn’t support a default document (foo.com -> foo.com/index.html). You can work around this
     with a 301 redirect

 -   Azure VMs persist to their backing virtual hard disks (VHDs), so they don’t disappear when you shut down,
     only when you delete them

 -   Added bonus: you can move VHDs between local machines with Hyper-V and Azure

 -   Aside from the “commodity” services, MS has been adding new, really useful capabilities such as Azure Mobile
     Services

 -   Marc Gagne @ Microsoft is happy to be contacted with Azure questions, etc: marc.gagne@microsoft.com

More Related Content

Viewers also liked

Overview of the Helprace Experience
Overview of the Helprace ExperienceOverview of the Helprace Experience
Overview of the Helprace Experience
Helprace
 
Fraternidad Arenas de San Pedro Boletín Diciembre 2011
Fraternidad Arenas de San Pedro Boletín  Diciembre 2011Fraternidad Arenas de San Pedro Boletín  Diciembre 2011
Fraternidad Arenas de San Pedro Boletín Diciembre 2011framasg
 
Trabajo5 christian bejarano-victor-gutiérrez
Trabajo5 christian bejarano-victor-gutiérrezTrabajo5 christian bejarano-victor-gutiérrez
Trabajo5 christian bejarano-victor-gutiérrezcrisbeme
 
Utazás, süti, kávé és pódium helyett - Üzleti megoldások professzionális web...
Utazás, süti, kávé és pódium helyett  - Üzleti megoldások professzionális web...Utazás, süti, kávé és pódium helyett  - Üzleti megoldások professzionális web...
Utazás, süti, kávé és pódium helyett - Üzleti megoldások professzionális web...
Gloster telekom Kft.
 
Woke up in 2021
Woke up in 2021Woke up in 2021
Woke up in 2021
klou
 
trabajo1soydel2do"F",ameliagallegoseducacion
trabajo1soydel2do"F",ameliagallegoseducacion trabajo1soydel2do"F",ameliagallegoseducacion
trabajo1soydel2do"F",ameliagallegoseducacion silvianaula
 
MongoDB Miami Meetup 1/26/15: Introduction to WiredTiger
MongoDB Miami Meetup 1/26/15: Introduction to WiredTigerMongoDB Miami Meetup 1/26/15: Introduction to WiredTiger
MongoDB Miami Meetup 1/26/15: Introduction to WiredTiger
Valeri Karpov
 

Viewers also liked (7)

Overview of the Helprace Experience
Overview of the Helprace ExperienceOverview of the Helprace Experience
Overview of the Helprace Experience
 
Fraternidad Arenas de San Pedro Boletín Diciembre 2011
Fraternidad Arenas de San Pedro Boletín  Diciembre 2011Fraternidad Arenas de San Pedro Boletín  Diciembre 2011
Fraternidad Arenas de San Pedro Boletín Diciembre 2011
 
Trabajo5 christian bejarano-victor-gutiérrez
Trabajo5 christian bejarano-victor-gutiérrezTrabajo5 christian bejarano-victor-gutiérrez
Trabajo5 christian bejarano-victor-gutiérrez
 
Utazás, süti, kávé és pódium helyett - Üzleti megoldások professzionális web...
Utazás, süti, kávé és pódium helyett  - Üzleti megoldások professzionális web...Utazás, süti, kávé és pódium helyett  - Üzleti megoldások professzionális web...
Utazás, süti, kávé és pódium helyett - Üzleti megoldások professzionális web...
 
Woke up in 2021
Woke up in 2021Woke up in 2021
Woke up in 2021
 
trabajo1soydel2do"F",ameliagallegoseducacion
trabajo1soydel2do"F",ameliagallegoseducacion trabajo1soydel2do"F",ameliagallegoseducacion
trabajo1soydel2do"F",ameliagallegoseducacion
 
MongoDB Miami Meetup 1/26/15: Introduction to WiredTiger
MongoDB Miami Meetup 1/26/15: Introduction to WiredTigerMongoDB Miami Meetup 1/26/15: Introduction to WiredTiger
MongoDB Miami Meetup 1/26/15: Introduction to WiredTiger
 

More from ottawaruby

Zhifu Ge - How To Be Weird In Ruby - With Notes
Zhifu Ge - How To Be Weird In Ruby - With NotesZhifu Ge - How To Be Weird In Ruby - With Notes
Zhifu Ge - How To Be Weird In Ruby - With Notes
ottawaruby
 
Working With Legacy Rails Apps - Ahmed Omran
Working With Legacy Rails Apps - Ahmed OmranWorking With Legacy Rails Apps - Ahmed Omran
Working With Legacy Rails Apps - Ahmed Omran
ottawaruby
 
TDD for Coding Practices - by Zhifu Ge
TDD for Coding Practices - by Zhifu GeTDD for Coding Practices - by Zhifu Ge
TDD for Coding Practices - by Zhifu Ge
ottawaruby
 
Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...
Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...
Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...
ottawaruby
 
Canarie and dair in 10 minutes sept 2014 f
Canarie and dair in 10 minutes sept 2014 fCanarie and dair in 10 minutes sept 2014 f
Canarie and dair in 10 minutes sept 2014 f
ottawaruby
 
Project Night Meta - Ruby Tuesday - Pitch
Project Night Meta - Ruby Tuesday - PitchProject Night Meta - Ruby Tuesday - Pitch
Project Night Meta - Ruby Tuesday - Pitch
ottawaruby
 
Hackfest mockups
Hackfest mockupsHackfest mockups
Hackfest mockups
ottawaruby
 
Ruby Tuesday - October 23rd, 2012
Ruby Tuesday - October 23rd, 2012Ruby Tuesday - October 23rd, 2012
Ruby Tuesday - October 23rd, 2012ottawaruby
 
Ruby Tuesday - November 27th, 2012
Ruby Tuesday - November 27th, 2012Ruby Tuesday - November 27th, 2012
Ruby Tuesday - November 27th, 2012
ottawaruby
 
Ruby Tuesday - September 25th, 2012
Ruby Tuesday - September 25th, 2012Ruby Tuesday - September 25th, 2012
Ruby Tuesday - September 25th, 2012
ottawaruby
 
Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012
Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012
Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012
ottawaruby
 
July 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting Talk
July 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting TalkJuly 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting Talk
July 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting Talk
ottawaruby
 
Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012
Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012
Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012
ottawaruby
 
Ottawa Ruby - Ruby Tuesday - June 26, 2012
Ottawa Ruby - Ruby Tuesday - June 26, 2012Ottawa Ruby - Ruby Tuesday - June 26, 2012
Ottawa Ruby - Ruby Tuesday - June 26, 2012
ottawaruby
 

More from ottawaruby (14)

Zhifu Ge - How To Be Weird In Ruby - With Notes
Zhifu Ge - How To Be Weird In Ruby - With NotesZhifu Ge - How To Be Weird In Ruby - With Notes
Zhifu Ge - How To Be Weird In Ruby - With Notes
 
Working With Legacy Rails Apps - Ahmed Omran
Working With Legacy Rails Apps - Ahmed OmranWorking With Legacy Rails Apps - Ahmed Omran
Working With Legacy Rails Apps - Ahmed Omran
 
TDD for Coding Practices - by Zhifu Ge
TDD for Coding Practices - by Zhifu GeTDD for Coding Practices - by Zhifu Ge
TDD for Coding Practices - by Zhifu Ge
 
Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...
Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...
Ruby Under The Hood - By Craig Lehmann and Robert Young - Ottawa Ruby Novembe...
 
Canarie and dair in 10 minutes sept 2014 f
Canarie and dair in 10 minutes sept 2014 fCanarie and dair in 10 minutes sept 2014 f
Canarie and dair in 10 minutes sept 2014 f
 
Project Night Meta - Ruby Tuesday - Pitch
Project Night Meta - Ruby Tuesday - PitchProject Night Meta - Ruby Tuesday - Pitch
Project Night Meta - Ruby Tuesday - Pitch
 
Hackfest mockups
Hackfest mockupsHackfest mockups
Hackfest mockups
 
Ruby Tuesday - October 23rd, 2012
Ruby Tuesday - October 23rd, 2012Ruby Tuesday - October 23rd, 2012
Ruby Tuesday - October 23rd, 2012
 
Ruby Tuesday - November 27th, 2012
Ruby Tuesday - November 27th, 2012Ruby Tuesday - November 27th, 2012
Ruby Tuesday - November 27th, 2012
 
Ruby Tuesday - September 25th, 2012
Ruby Tuesday - September 25th, 2012Ruby Tuesday - September 25th, 2012
Ruby Tuesday - September 25th, 2012
 
Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012
Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012
Ottawa Ruby - Ruby Tuesday Meetup - August 28, 2012
 
July 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting Talk
July 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting TalkJuly 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting Talk
July 2012 Ruby Tuesday - Lana Lodge - Refactoring Lighting Talk
 
Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012
Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012
Ottawa Ruby - Ruby Tuesday Meetup - July 24, 2012
 
Ottawa Ruby - Ruby Tuesday - June 26, 2012
Ottawa Ruby - Ruby Tuesday - June 26, 2012Ottawa Ruby - Ruby Tuesday - June 26, 2012
Ottawa Ruby - Ruby Tuesday - June 26, 2012
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 

Azure and Ruby - Cam Stevenson

  • 1. The New Open Azure & Ruby November 27, 2012 Lightning Talk cam@glacetouch.com Cam Stevenson github: camstevenson
  • 2. The New Open Azure • Still supports the original Microsoft flavored technologies • Still has the basic services you’d expect • Blob storage, tables, queues, etc. • Now expanded with a decidedly open source set of capabilities • Pre-packaged Linux virtual machines • Developer toolkits for node.js, Java, PHP, Python as well as .Net • Sadly, no Microsoft supplied toolkit for Ruby
  • 3. Azure with Ruby • There isn’t a Microsoft supplied toolkit for Ruby, but there is an Open Source one: • https://github.com/johnnyhalife/waz-storage • Lets you work with Azure blobs, queues and tables
  • 4. An Example (upload to blob storage) require 'waz-blobs’ if WAZ::Storage::Base.establish_connection!(:account_name => 'ottawaruby', :access_key => 'G+gohTOyuXi7DBFQmTmZuxIX2nrZGJLE6KLxTK5GkS/c1kytMgIUiZsMSe9VnLBQ0+vxLVhljhvsHIo6nLhTyw==') # get a reference to the "root" container, create it if it doesn't exist container = WAZ::Blobs::Container.find('$root') if !container WAZ::Blobs::Container.create('$root') container = WAZ::Blobs::Container.find('$root') end # set public access on this container container.public_access = WAZ::Blobs::BlobSecurity::Blob # upload a file, supplying mime type file_path = 'ottawaruby.html' upload_file = File.open(file_path, "rb", :encoding => "BINARY") container.store('ottawaruby.html', upload_file.read, 'text/html') upload_file.close end
  • 5. Some tips… - $root is the root container of a blob storage account - The stock waz-storage implementation doesn’t support this – my patched one at https://github.com/camstevenson/waz-storage - Blob storage doesn’t support a default document (foo.com -> foo.com/index.html). You can work around this with a 301 redirect - Azure VMs persist to their backing virtual hard disks (VHDs), so they don’t disappear when you shut down, only when you delete them - Added bonus: you can move VHDs between local machines with Hyper-V and Azure - Aside from the “commodity” services, MS has been adding new, really useful capabilities such as Azure Mobile Services - Marc Gagne @ Microsoft is happy to be contacted with Azure questions, etc: marc.gagne@microsoft.com