The three aaS's of MongoDB in Windows Azure


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

The three aaS's of MongoDB in Windows Azure

  1. 1. The three Aas’s of MongoDB on Windows Azure IaaS, PaaS, SaaSDoug Mahugh, Lead Technical Evangelist Sridhar NanjundeswaranBrian Benz, Sr. Technical Evangelist Software Engineer 10genMicrosoft Open Technologies, Inc.
  2. 2. Agenda• Windows Azure in 60 Seconds• MongoDB + Windows Azure• IaaS [demo]• PaaS [demo]• SaaS [demo]• Hybrid Approaches• Q&A
  3. 3. Windows Azure in 60 Seconds A brief high-level overview for those who are new to Windows Azure
  4. 4. Cloud Computing
  5. 5. Windows Azure: What It IsWin·dows·Az·ure [win-dohz-azh-er]Noun: A comprehensive set of services thatenable you to quickly build, deploy andmanage applications across a global networkof Microsoft-managed datacenters.99.95% Monthly SLAPay only for what you use
  6. 6. Windows Azure: What It Is
  7. 7. Windows Azure: What It Is Global Footprint
  8. 8. Windows Azure: What It Is
  9. 9. Windows Azure: What It Is Flexible
  10. 10. Windows Azure: What It Is Host Build ConsumeIaaS PaaS SaaS
  11. 11. Getting Started Sign up for a free trial about the latest features
  12. 12. Windows Azure Developer Center• Open-source SDKs for popular programming .NET driver languages, to get you Node.js driver up and running quickly Java driver PHP driver• Choice of popular IDEs Python driver such as Visual Studio and Eclipse Driver download page• Consistent REST protocols and APIs across Windows Azure services
  13. 13. +MongoDB on Windows Azure provides all thebenefits customers have come to expect from cloudcomputing: elasticity, on-demand capacity, fastertime to market, and pay-for-what-you-use pricing.• MongoDB offers built-in support for horizontal scaling and sharding• Windows Azure offers built-in support for responsive auto-scaling
  14. 14. Replica Sets: High Availability Replica Set Your Driver Application Replica set hosted on Windows Azure worker roles or virtual machines
  15. 15. Sharding: Scalability Mongos Mongos Your (router) (router) Application Config 1 Key range A-D Key range E-G Key range G-Z Config 2 Config 3 Shards, config servers and mongos (router) hosted on Windows Azure worker roles or virtual machines
  16. 16. IaaSDeploying MongoDB replica sets on Windows Azure virtual machines
  17. 17. Windows AzureVirtual Machines Ubuntu 12.04 CentOS 6.2 OpenSUSE 12.1 SUSE Linux Enterprise Server SP2 Windows Server 2008 R2 Windows Server 2012
  18. 18. Virtual Machine Sizes CPU Bandwidth # DataVM Size Memory Cores (Mbps) DisksExtra Small Shared 768 MB 5 1Small 1 1.75 GB 100 2Medium 2 3.5 GB 200 4Large 4 7 GB 400 8Extra Large 8 14 GB 800 16
  19. 19. Deploying to Virtual Machines– Compared to worker role (PaaS), VM-based replica sets offer more control, as well as more responsibility– MongoDB Installer for Windows Azure is a great learning tool. Not typically used for production deployment. • Puts MongoDB on OS disk instead of attached disk • Limited to 30gb, not performant for writes, Windows-only • +Windows+Installer • .deploy-mongo.ps1 <node-count> <dns-prefix> <image-name> <password> <location> <pub-settings-file-path> [replica-set- name]– For Linux VM deployment, see tutorial - +Linux+Tutorial
  20. 20. Command Line Syntaxprompt> azure Overview topic verb optionsaccount download usernameaccount location import passwordaccount affinity-group list dns-prefixvm show vm-namevm disk delete lb-portvm endpoint start target-image-namevm image restart source-pathservice shutdown disk-image-nameservice cert capture size-in-gbsite create thumbprintconfig attach value detach -v browse -vv set
  21. 21. Example: Provisioning a Replica Setazure vm create mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" username password -l "West US" -eazure vm create mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" username password -l "West US" -e 23 -cazure vm create mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" username password -l "West US" -e 24 -cazure vm endpoint create mongoc9 27017 27017azure vm endpoint create mongoc9-2 27018 27018azure vm endpoint create mongoc9-3 27019 27019To set up MongoDB, SSH into each instance and: get mongodb binaries and install create db dir start mongod, initialize replica set
  22. 22. Demo - IaaS1 mongo-demo.php?host=windows IaaS – Windows Azure virtual machines2 mongo-demo.php?host= SaaS – MongoLab on Windows Azure 1 2
  23. 23. IaaS – where to learn more• MongoDB on Azure VM -• Install MongoDB on a virtual machine running CentOS Linux in Windows Azure: on-a-linux-vm/• Install MongoDB on a virtual machine running Windows Server 2008 R2 in Windows Azure: mongodb/• Node.js Web Application with Storage on MongoDB (Virtual Machine): mongodb-(mac)/• Create a Windows Azure web site that connects to MongoDB running on a virtual machine in Windows Azure: mongodb-vm/
  24. 24. PaaSDeploying MongoDB replica sets on Windows Azure worker roles (cloud services)
  25. 25. Deploying MongoDB as a Cloud Service– Windows Azure cloud services run on a fully automated, highly scalable cloud platform– Ongoing management of the OS and infrastructure is handled by Windows Azure– Infinitely scalable, on demand– App and MongoDB in same cloud service provides security– PaaS approach is the easiest way to deploy MongoDB on Windows Azure– For quick and simple deployment, use the MongoDB on Azure Worker Role:
  26. 26. DEMO-PaaS
  27. 27. PaaS – where to learn more• MongoDB on Azure Worker Roles - +Worker+Roles• MongoDB on Windows Azure (a 10gen white paper) - microsoftazure-white-paper.pdf• Build and deploy a Node.js application to a Windows Azure Cloud Service - us/develop/nodejs/tutorials/getting-started/
  28. 28. SaaSUsing the hosted MongoDB service from MongoLab
  29. 29. Hosted MongoDB: available in the Windows Azure Store
  30. 30. Manage MongoLab instances throughWindows Azure management portal
  31. 31. Demo: MongoLab + C#/.NET
  32. 32. SaaS – where to learn more• Node.js Web Application with Storage on MongoDB (MongoLab): us/develop/nodejs/tutorials/website-with-mongodb- mongolab/• Create a C# ASP.NET Application on Windows Azure with MongoDB using the MongoLab Add-On: us/develop/net/tutorials/website-with-mongodb- mongolab/
  33. 33. Hybrid ApproachesCombining hosted services, cloud applications, and on-premises applications
  34. 34. Which approach is best for you? Deployment Operational Complexity Responsibility Flexibility OS Security Linux orIaaS Some High High Windows Custom WindowsPaaS Some Low High only Built-in NoneSaaS Low/none Limited N/A Built-in
  35. 35. Your App Your Data IaaS IaaSVirtual Machines Virtual Machines PaaS PaaS Cloud Services Cloud Services SaaS PaaS MongoLab, Mon Web Sites goHQOther sites, local Self-hosted apps, etc.
  36. 36. Other Resources• MongoDB on Azure: +-+Overview• MongoDB Experts video series: /mongodb-experts-video-series.aspx• Windows Azure development:• Windows Azure Training Kit:
  37. 37. Q&A