SlideShare a Scribd company logo
1 of 37
The three Aas’s of
         MongoDB on Windows Azure


              IaaS, PaaS, SaaS

Doug Mahugh, Lead Technical Evangelist   Sridhar Nanjundeswaran
Brian Benz, Sr. Technical Evangelist     Software Engineer
                                         10gen
Microsoft Open Technologies, Inc.
Agenda
•   Windows Azure in 60 Seconds
•   MongoDB + Windows Azure
•   IaaS [demo]
•   PaaS [demo]
•   SaaS [demo]
•   Hybrid Approaches
•   Q&A
Windows Azure in 60 Seconds

  A brief high-level overview for those
    who are new to Windows Azure
Cloud Computing
Windows Azure: What It Is

Win·dows·Az·ure      [win-dohz-azh-er]

Noun: A comprehensive set of services that
enable you to quickly build, deploy and
manage applications across a global network
of Microsoft-managed datacenters.

99.95% Monthly SLA
Pay only for what you use
Windows Azure: What It Is
Windows Azure: What It Is




      Global Footprint
Windows Azure: What It Is
Windows Azure: What It Is

       Flexible
Windows Azure: What It Is


 Host     Build   Consume



IaaS     PaaS SaaS
Getting Started
    Sign up for a free trial




                   http://www.windowsazure.com/en-us/pricing/free-trial/


Learn about the latest features




     http://channel9.msdn.com/Events/WindowsAzureConf/2012/KEY01
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

  http://www.windowsazure.com/en-us/develop/overview/
+
MongoDB on Windows Azure provides all the
benefits customers have come to expect from cloud
computing: elasticity, on-demand capacity, faster
time 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
Replica Sets: High Availability
                                Replica Set
       Your        Driver
     Application




                            Replica set hosted
                            on Windows Azure
                              worker roles or
                             virtual machines
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
IaaS
Deploying MongoDB replica sets on
 Windows Azure virtual machines
Windows Azure
Virtual Machines
   Ubuntu 12.04

   CentOS 6.2

   OpenSUSE 12.1

   SUSE Linux Enterprise Server SP2

   Windows Server 2008 R2

   Windows Server 2012
Virtual Machine Sizes
           CPU                 Bandwidth   # Data
VM Size              Memory
           Cores               (Mbps)      Disks

Extra Small Shared   768 MB    5           1

Small      1         1.75 GB   100         2

Medium     2         3.5 GB    200         4

Large      4         7 GB      400         8

Extra Large 8        14 GB     800         16
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
  •   http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+VM+-
      +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 -
  http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+VM+-
  +Linux+Tutorial
Command Line Syntax
prompt> azure Overview
               topic verb options
account                  download   username
account location         import     password
account affinity-group   list       dns-prefix
vm                       show       vm-name
vm disk                  delete     lb-port
vm endpoint              start      target-image-name
vm image                 restart    source-path
service                  shutdown   disk-image-name
service cert             capture    size-in-gb
site                     create     thumbprint
config                   attach     value
                         detach     -v
                         browse     -vv
                         set
Example: Provisioning a Replica Set
azure vm create     mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531-
en-us-30GB.vhd"     username password -l "West US" -e
azure vm create     mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531-
en-us-30GB.vhd"     username password -l "West US" -e 23 -c
azure vm create     mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531-
en-us-30GB.vhd"     username password -l "West US" -e 24 -c

azure vm endpoint create mongoc9 27017 27017
azure vm endpoint create mongoc9-2 27018 27018
azure vm endpoint create mongoc9-3 27019 27019

To set up MongoDB, SSH into each instance and:

         get mongodb binaries and install
         create db dir
         start mongod, initialize replica set
Demo - IaaS
1 mongo-demo.php?host=windows   IaaS – Windows Azure virtual machines

2 mongo-demo.php?host=          SaaS – MongoLab on Windows Azure




 1




 2
IaaS – where to learn more
•   MongoDB on Azure VM -
    http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+VM
•   Install MongoDB on a virtual machine running CentOS Linux in Windows Azure:
    http://www.windowsazure.com/en-us/manage/linux/common-tasks/mongodb-
    on-a-linux-vm/
•   Install MongoDB on a virtual machine running Windows Server 2008 R2 in
    Windows Azure:
    http://www.windowsazure.com/en-us/manage/windows/common-tasks/install-
    mongodb/
•   Node.js Web Application with Storage on MongoDB (Virtual Machine):
    http://waweb.windowsazure.com/en-us/develop/nodejs/tutorials/website-with-
    mongodb-(mac)/
•   Create a Windows Azure web site that connects to MongoDB running on a virtual
    machine in Windows Azure:
    http://www.windowsazure.com/en-us/develop/net/tutorials/website-with-
    mongodb-vm/
PaaS
Deploying MongoDB replica sets on
   Windows Azure worker roles
         (cloud services)
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:
   http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+Worker+Roles
DEMO-PaaS
PaaS – where to learn more
• MongoDB on Azure Worker Roles -
  http://www.mongodb.org/display/DOCS/MongoDB+on+Azure
  +Worker+Roles

• MongoDB on Windows Azure (a 10gen white paper) -
  http://www.10gen.com/static/downloads/10gen-mongodb-
  microsoftazure-white-paper.pdf

• Build and deploy a Node.js application to a Windows Azure
  Cloud Service - http://www.windowsazure.com/en-
  us/develop/nodejs/tutorials/getting-started/
SaaS
Using the hosted MongoDB service
         from MongoLab
Hosted MongoDB: available in the
     Windows Azure Store




     http://www.windowsazure.com/en-us/store/overview/
Manage MongoLab instances through
Windows Azure management portal
Demo: MongoLab + C#/.NET
SaaS – where to learn more
• Node.js Web Application with Storage on MongoDB
  (MongoLab):
  http://www.windowsazure.com/en-
  us/develop/nodejs/tutorials/website-with-mongodb-
  mongolab/

• Create a C# ASP.NET Application on Windows Azure
  with MongoDB using the MongoLab Add-On:
  http://www.windowsazure.com/en-
  us/develop/net/tutorials/website-with-mongodb-
  mongolab/
Hybrid Approaches

Combining hosted services, cloud
 applications, and on-premises
          applications
Which approach is best for you?
       Deployment Operational
       Complexity Responsibility Flexibility   OS         Security

                                               Linux or
IaaS   Some         High           High
                                               Windows
                                                          Custom




                                               Windows
PaaS   Some         Low            High
                                               only
                                                          Built-in



                    None
SaaS   Low/none                    Limited     N/A        Built-in
Your App            Your Data


      IaaS                 IaaS
Virtual Machines     Virtual Machines



     PaaS                 PaaS
 Cloud Services       Cloud Services



                         SaaS
    PaaS
                     MongoLab, Mon
   Web Sites
                         goHQ



Other sites, local
                       Self-hosted
   apps, etc.
Other Resources
• MongoDB on Azure:
  http://www.mongodb.org/display/DOCS/MongoDB+on+Azure
  +-+Overview

• MongoDB Experts video series:
  http://blogs.msdn.com/b/interoperability/archive/2012/06/01
  /mongodb-experts-video-series.aspx

• Windows Azure development:
  www.WindowsAzure.com

• Windows Azure Training Kit:
  http://windowsazure-trainingkit.github.com/
Q&A

More Related Content

What's hot

Evaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for BenchmarkingEvaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for Benchmarking
Sergey Bushik
 
DotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud ServersDotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud Servers
brchapman
 
Globus toolkit4installationguide
Globus toolkit4installationguideGlobus toolkit4installationguide
Globus toolkit4installationguide
Adarsh Patil
 
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
Aerospike
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux Configuration
DataWorks Summit
 

What's hot (18)

Evaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for BenchmarkingEvaluating NoSQL Performance: Time for Benchmarking
Evaluating NoSQL Performance: Time for Benchmarking
 
DotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud ServersDotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud Servers
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud
 
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
PC = Personal Cloud (or how to use your development machine with Vagrant and ...PC = Personal Cloud (or how to use your development machine with Vagrant and ...
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
 
Amazed by aws 1st session
Amazed by aws 1st sessionAmazed by aws 1st session
Amazed by aws 1st session
 
Globus toolkit4installationguide
Globus toolkit4installationguideGlobus toolkit4installationguide
Globus toolkit4installationguide
 
Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudRunning your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the Cloud
 
Caching objects-in-memory
Caching objects-in-memoryCaching objects-in-memory
Caching objects-in-memory
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the Cloud
 
Global Azure Virtual 2020 What's new on Azure IaaS for SQL VMs
Global Azure Virtual 2020 What's new on Azure IaaS for SQL VMsGlobal Azure Virtual 2020 What's new on Azure IaaS for SQL VMs
Global Azure Virtual 2020 What's new on Azure IaaS for SQL VMs
 
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
 
Pod density comparison: VMware vSphere with Tanzu vs. a bare-metal approach ...
 Pod density comparison: VMware vSphere with Tanzu vs. a bare-metal approach ... Pod density comparison: VMware vSphere with Tanzu vs. a bare-metal approach ...
Pod density comparison: VMware vSphere with Tanzu vs. a bare-metal approach ...
 
[2A5]하둡 보안 어떻게 해야 할까
[2A5]하둡 보안 어떻게 해야 할까[2A5]하둡 보안 어떻게 해야 할까
[2A5]하둡 보안 어떻게 해야 할까
 
Tuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadTuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy Workload
 
Hadoop on Virtual Machines
Hadoop on Virtual MachinesHadoop on Virtual Machines
Hadoop on Virtual Machines
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux Configuration
 
3. v sphere big data extensions
3. v sphere big data extensions3. v sphere big data extensions
3. v sphere big data extensions
 
Making the most of ssd in oracle11g
Making the most of ssd in oracle11gMaking the most of ssd in oracle11g
Making the most of ssd in oracle11g
 

Viewers also liked

Social Media in B2B: Social Technographics Ladder
Social Media in B2B: Social Technographics LadderSocial Media in B2B: Social Technographics Ladder
Social Media in B2B: Social Technographics Ladder
Heuvel Marketing
 
Hardware Provisioning for MongoDB
Hardware Provisioning for MongoDBHardware Provisioning for MongoDB
Hardware Provisioning for MongoDB
MongoDB
 

Viewers also liked (13)

Social Media in B2B: Social Technographics Ladder
Social Media in B2B: Social Technographics LadderSocial Media in B2B: Social Technographics Ladder
Social Media in B2B: Social Technographics Ladder
 
MongoDB on Windows Azure
MongoDB on Windows AzureMongoDB on Windows Azure
MongoDB on Windows Azure
 
AWS & MongoDB
AWS & MongoDBAWS & MongoDB
AWS & MongoDB
 
MongoDB on Azure
MongoDB on AzureMongoDB on Azure
MongoDB on Azure
 
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
 
MongoDB Milan MUG June 2015 MongoDB + Azure + Siope OpenData
MongoDB Milan MUG June 2015 MongoDB + Azure + Siope OpenDataMongoDB Milan MUG June 2015 MongoDB + Azure + Siope OpenData
MongoDB Milan MUG June 2015 MongoDB + Azure + Siope OpenData
 
MongoDB Quick Reference Card
MongoDB Quick Reference CardMongoDB Quick Reference Card
MongoDB Quick Reference Card
 
Azure - Data Platform
Azure - Data PlatformAzure - Data Platform
Azure - Data Platform
 
Wat is Cloud Computing?
Wat is Cloud Computing?Wat is Cloud Computing?
Wat is Cloud Computing?
 
Hardware Provisioning
Hardware Provisioning Hardware Provisioning
Hardware Provisioning
 
Hardware Provisioning for MongoDB
Hardware Provisioning for MongoDBHardware Provisioning for MongoDB
Hardware Provisioning for MongoDB
 
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoTMongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
MongoDB IoT City Tour STUTTGART: The Microsoft Azure Platform for IoT
 
Azure Data platform
Azure Data platformAzure Data platform
Azure Data platform
 

Similar to The three aaS's of MongoDB in Windows Azure

WindowsAzureSDK1.7
WindowsAzureSDK1.7WindowsAzureSDK1.7
WindowsAzureSDK1.7
Saravanan G
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platform
giventocode
 
WindowsAzureIAAS
WindowsAzureIAASWindowsAzureIAAS
WindowsAzureIAAS
Saravanan G
 

Similar to The three aaS's of MongoDB in Windows Azure (20)

NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft AzureBest Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
 
WindowsAzureSDK1.7
WindowsAzureSDK1.7WindowsAzureSDK1.7
WindowsAzureSDK1.7
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platform
 
MongoDB on Windows Azure
MongoDB on Windows AzureMongoDB on Windows Azure
MongoDB on Windows Azure
 
WindowsAzureIAAS
WindowsAzureIAASWindowsAzureIAAS
WindowsAzureIAAS
 
An Introduction to Azure IaaS
An Introduction to Azure IaaSAn Introduction to Azure IaaS
An Introduction to Azure IaaS
 
2012-03-20 - Getting started with Node.js and MongoDB on MS Azure
2012-03-20 - Getting started with Node.js and MongoDB on MS Azure2012-03-20 - Getting started with Node.js and MongoDB on MS Azure
2012-03-20 - Getting started with Node.js and MongoDB on MS Azure
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
Public Cloud Platforms for .NET Developers
Public Cloud Platforms for .NET DevelopersPublic Cloud Platforms for .NET Developers
Public Cloud Platforms for .NET Developers
 
Drupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesDrupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure Websites
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 
SharePoint on Microsoft Azure
SharePoint on Microsoft AzureSharePoint on Microsoft Azure
SharePoint on Microsoft Azure
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 

More from MongoDB

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

The three aaS's of MongoDB in Windows Azure

  • 1. The three Aas’s of MongoDB on Windows Azure IaaS, PaaS, SaaS Doug Mahugh, Lead Technical Evangelist Sridhar Nanjundeswaran Brian Benz, Sr. Technical Evangelist Software Engineer 10gen Microsoft Open Technologies, Inc.
  • 2. Agenda • Windows Azure in 60 Seconds • MongoDB + Windows Azure • IaaS [demo] • PaaS [demo] • SaaS [demo] • Hybrid Approaches • Q&A
  • 3. Windows Azure in 60 Seconds A brief high-level overview for those who are new to Windows Azure
  • 5. Windows Azure: What It Is Win·dows·Az·ure [win-dohz-azh-er] Noun: A comprehensive set of services that enable you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. 99.95% Monthly SLA Pay only for what you use
  • 7. Windows Azure: What It Is Global Footprint
  • 9. Windows Azure: What It Is Flexible
  • 10. Windows Azure: What It Is Host Build Consume IaaS PaaS SaaS
  • 11. Getting Started Sign up for a free trial http://www.windowsazure.com/en-us/pricing/free-trial/ Learn about the latest features http://channel9.msdn.com/Events/WindowsAzureConf/2012/KEY01
  • 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 http://www.windowsazure.com/en-us/develop/overview/
  • 13. + MongoDB on Windows Azure provides all the benefits customers have come to expect from cloud computing: elasticity, on-demand capacity, faster time 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. Replica Sets: High Availability Replica Set Your Driver Application Replica set hosted on Windows Azure worker roles or virtual machines
  • 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. IaaS Deploying MongoDB replica sets on Windows Azure virtual machines
  • 17. Windows Azure Virtual Machines Ubuntu 12.04 CentOS 6.2 OpenSUSE 12.1 SUSE Linux Enterprise Server SP2 Windows Server 2008 R2 Windows Server 2012
  • 18. Virtual Machine Sizes CPU Bandwidth # Data VM Size Memory Cores (Mbps) Disks Extra Small Shared 768 MB 5 1 Small 1 1.75 GB 100 2 Medium 2 3.5 GB 200 4 Large 4 7 GB 400 8 Extra Large 8 14 GB 800 16
  • 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 • http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+VM+- +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 - http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+VM+- +Linux+Tutorial
  • 20. Command Line Syntax prompt> azure Overview topic verb options account download username account location import password account affinity-group list dns-prefix vm show vm-name vm disk delete lb-port vm endpoint start target-image-name vm image restart source-path service shutdown disk-image-name service cert capture size-in-gb site create thumbprint config attach value detach -v browse -vv set
  • 21. Example: Provisioning a Replica Set azure vm create mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531- en-us-30GB.vhd" username password -l "West US" -e azure vm create mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531- en-us-30GB.vhd" username password -l "West US" -e 23 -c azure vm create mongoc9 "OpenLogic__OpenLogic-CentOS-62-20120531- en-us-30GB.vhd" username password -l "West US" -e 24 -c azure vm endpoint create mongoc9 27017 27017 azure vm endpoint create mongoc9-2 27018 27018 azure vm endpoint create mongoc9-3 27019 27019 To set up MongoDB, SSH into each instance and: get mongodb binaries and install create db dir start mongod, initialize replica set
  • 22. Demo - IaaS 1 mongo-demo.php?host=windows IaaS – Windows Azure virtual machines 2 mongo-demo.php?host= SaaS – MongoLab on Windows Azure 1 2
  • 23. IaaS – where to learn more • MongoDB on Azure VM - http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+VM • Install MongoDB on a virtual machine running CentOS Linux in Windows Azure: http://www.windowsazure.com/en-us/manage/linux/common-tasks/mongodb- on-a-linux-vm/ • Install MongoDB on a virtual machine running Windows Server 2008 R2 in Windows Azure: http://www.windowsazure.com/en-us/manage/windows/common-tasks/install- mongodb/ • Node.js Web Application with Storage on MongoDB (Virtual Machine): http://waweb.windowsazure.com/en-us/develop/nodejs/tutorials/website-with- mongodb-(mac)/ • Create a Windows Azure web site that connects to MongoDB running on a virtual machine in Windows Azure: http://www.windowsazure.com/en-us/develop/net/tutorials/website-with- mongodb-vm/
  • 24. PaaS Deploying MongoDB replica sets on Windows Azure worker roles (cloud services)
  • 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: http://www.mongodb.org/display/DOCS/MongoDB+on+Azure+Worker+Roles
  • 27. PaaS – where to learn more • MongoDB on Azure Worker Roles - http://www.mongodb.org/display/DOCS/MongoDB+on+Azure +Worker+Roles • MongoDB on Windows Azure (a 10gen white paper) - http://www.10gen.com/static/downloads/10gen-mongodb- microsoftazure-white-paper.pdf • Build and deploy a Node.js application to a Windows Azure Cloud Service - http://www.windowsazure.com/en- us/develop/nodejs/tutorials/getting-started/
  • 28. SaaS Using the hosted MongoDB service from MongoLab
  • 29. Hosted MongoDB: available in the Windows Azure Store http://www.windowsazure.com/en-us/store/overview/
  • 30. Manage MongoLab instances through Windows Azure management portal
  • 31. Demo: MongoLab + C#/.NET
  • 32. SaaS – where to learn more • Node.js Web Application with Storage on MongoDB (MongoLab): http://www.windowsazure.com/en- us/develop/nodejs/tutorials/website-with-mongodb- mongolab/ • Create a C# ASP.NET Application on Windows Azure with MongoDB using the MongoLab Add-On: http://www.windowsazure.com/en- us/develop/net/tutorials/website-with-mongodb- mongolab/
  • 33. Hybrid Approaches Combining hosted services, cloud applications, and on-premises applications
  • 34. Which approach is best for you? Deployment Operational Complexity Responsibility Flexibility OS Security Linux or IaaS Some High High Windows Custom Windows PaaS Some Low High only Built-in None SaaS Low/none Limited N/A Built-in
  • 35. Your App Your Data IaaS IaaS Virtual Machines Virtual Machines PaaS PaaS Cloud Services Cloud Services SaaS PaaS MongoLab, Mon Web Sites goHQ Other sites, local Self-hosted apps, etc.
  • 36. Other Resources • MongoDB on Azure: http://www.mongodb.org/display/DOCS/MongoDB+on+Azure +-+Overview • MongoDB Experts video series: http://blogs.msdn.com/b/interoperability/archive/2012/06/01 /mongodb-experts-video-series.aspx • Windows Azure development: www.WindowsAzure.com • Windows Azure Training Kit: http://windowsazure-trainingkit.github.com/
  • 37. Q&A