SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Developing Open Source
Solutions with NoSQL and
Other Cloud Services on Azure
Brian Benz, Sr. Technical Evangelist
Microsoft Open Technologies, Inc.
2 http://www.anglebrackets.org
Agenda
 Azure
 NoSQL
 NoSQL on Azure
 MongoDB and CouchDB Options
 NoSQL on Azure IaaS, PaaS, SaaS
 Azure Web Sites
 Q&A
Azure
Flexible
Azure IaaS, PaaS, SaaS
Azure Virtual Machines – OS Options
Windows Server 2008 and 2012
OpenSUSE and SUSE Enterprise
CentOS
Ubuntu
Oracle Linux
vmdepot.msopentech.com
7 http://www.anglebrackets.org
NoSQL
Alternative to traditional relational DBMS
 Flexible schema
 Quicker/cheaper to set up
 Massive scalability
 Relaxed consistency = higher performance & availability
 No declarative query language = more programming
 Relaxed consistency = fewer guarantees
8 http://www.anglebrackets.org
NoSQL Applications
 Document: JSON, XML, other semistructured formats
 Operations: Insert(), Fetch(key), Update(key, doc), Delete(key)
 (Key, Value) pairs
 Operations: Insert(key,value), Fetch(key), Update(key),
Delete(key)
 Implementation: efficiency, scalability, fault-tolerance
 Records distributed to nodes based on key
 Replication
 Single-record transactions, “eventual consistency”
9 http://www.anglebrackets.org
New Terms
RDBMS NoSQL
Database Database
Table Collection
View, Row Document
Index Index
Join Embedding, Linking
Partition Shard
Partition Key Shard Key
10 http://www.anglebrackets.org
Example – Posts, Categories, Tags, and Comments
11 http://www.anglebrackets.org
Basic Document Structure
{
"_id" : ObjectId("508d27069cc1ae293b36928d"),
"title" : "This is the title",
"body" : "This is the body text.",
"tags" : [
“tag 1"
],
"created_date" : ISODate("2012-10-28T12:41:39.110Z"),
"author_id" : ObjectId("508d280e9cc1ae293b36928e"),
"category_id" : ObjectId("508d29709cc1ae293b369295"),
"comments" : [
{
"subject" : "This is comment 1",
"body" : "This is the body of comment 1.",
"author_id" : ObjectId("508d345f9cc1ae293b369296"),
"created_date" : ISODate("2012-10-28T13:34:23.929Z")
},
]
}
12 http://www.anglebrackets.org
Less Basic Document Structure
{
"_id" : ObjectId("508d27069cc1ae293b36928d"),
"title" : "This is the title",
"body" : "This is the body text.",
"tags" : [
ObjectId("508d35349cc1ae293b36929c")
],
"created_date" : ISODate("2012-10-28T12:41:39.110Z"),
"author_id" : ObjectId("508d280e9cc1ae293b36928e"),
"category_id" : ObjectId("508d29709cc1ae293b369295"),
"comments" : [
ObjectId("508d359a9cc1ae293b3692a2")
]
}
13 http://www.anglebrackets.org
The Landscape - NoSQL on Azure
 MongoDB
 Also MongoLab MongoDB-as-a-Service
 Also MongoDB Inc. MongoDB-as-a-Service (beta)
 CouchDB
 Cloudant CouchDB-as-a-Service
 Cassandra
 Riak
 Redis
14 http://www.anglebrackets.org
What is MongoDB?
 Open Source, by MongoDB, Inc.
 Community and Enterprise Editions
 Language: c++
 Data model: Using BSON (binary JSON)
 Replication and Sharding
 Azure VMS, PaaS, and SaaS
15 http://www.anglebrackets.org
http://docs.mongodb.org/ecosystem/drivers/
• C, C++
• C#
• Go
• Erlang
• Java
• JavaScript
• Node.js
• Perl
• PHP
• Python
• Ruby
• Scala
16 http://www.anglebrackets.org
 Support and Alerts
 Custom Admin Tools
 Backup and Recover
 Performance Analysis – Slow Query Analyzer
 Monitoring and Support
17 http://www.anglebrackets.org
MongoDB in Beta
19 http://www.anglebrackets.org
What is CouchDB?
 Apache Project
 Language: Erlang
 Data model: Using JSON and REST
 Map/Reduce Views and Indexes
 Replication
 Azure VMs, PaaS, SaaS
20 http://www.anglebrackets.org
 Managed, hosted fork of CouchDB
 Incremental MapReduce engine
 Horizontal scaling & built-in Lucene search
 8 committers to Apache CouchDB
 13,000+ users
 Apache CouchDB features
 BigCouch: Horizontal scaling framework
 based on Amazon Dynamo paper
 Fauxton: Futon replacement
 modular CouchDB Web dashboard
 live JSON editor with JavaScript hinting
20
21 http://www.anglebrackets.org
What is Cassandra?
 Apache Project
 Language: Java
 Data model: Thrift & custom binary
 Fast Writes, Memory management
 Replication
 Azure VMs, PaaS
22 http://www.anglebrackets.org
What is Redis?
 Open Source
 Language: c
 Data model: RESP (REdis Serialization Protocol)
 Key/Value
 In Memory
 Persistence via snapshotting or journaling to disk
 Azure VMs, PaaS
23 http://www.anglebrackets.org
What is Riak?
 Open Source
 Language: Erlang & C, some JavaScript
 Data model: HTTP/REST or custom binary
 Key/Value
 In Memory
 Persistence via snapshotting or journaling to disk
 Azure VMs, PaaS, SaaS
Replica set hosted
on Azure
worker roles or
virtual machines
Replica Set
DriverYour
Application
Replica Sets: High Availability
Shards, config servers and mongos (router) hosted
on Azure worker roles or virtual machines
Key range A-D
Sharding: Scalability
Key range E-G Key range G-Z
Mongos
(router)Your
Application
Config 1
Config 2
Config 3
Mongos
(router)
26 http://www.anglebrackets.org
Deploying to Virtual Machines
 Compared to worker role (PaaS), VM-based
replica sets offer more control, as
well as more responsibility
 MongoDB Installer for 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
azure topic verb options
Command Line Syntax Overview
prompt>
account
account location
account affinity-group
vm
vm disk
vm endpoint
vm image
service
service cert
site
config
download
import
list
show
delete
start
restart
shutdown
capture
create
attach
detach
browse
set
username
password
dns-prefix
vm-name
lb-port
target-image-name
source-path
disk-image-name
size-in-gb
thumbprint
value
-v
-vv
28 http://www.anglebrackets.org
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
Automation Support
Capabilities
• Fully Customize VM with Data Disks and
Endpoint Configuration
• Automate Virtual Network Settings
31 http://www.anglebrackets.org
32 http://www.anglebrackets.org
Conference Scheduler
 Attendees can track sessions, vote sessions up and down
 Offline Capabilities
 IndexedDB
 CouchDB VM for Data Storage
 Web site hosting the application
 Node.js
 Grunt
Demo Architecture
35 http://www.anglebrackets.org
Docs - azure.microsoft.com/documentation/
36 http://www.anglebrackets.org
SDKs - azure.microsoft.com/downloads
37 http://www.anglebrackets.org
CLIs - azure.microsoft.com/downloads
38 http://www.anglebrackets.org
OSS DevOps - msopentech.com/projects
39 http://www.anglebrackets.org
Where to learn more
Tutorial: Building a multi-tier cloud application on Windows Azure using MongoLab,
node.js, and Socket.IO
http://msopentech.com/blog/2013/09/18/tutorial-building-multi-tier-cloud-application-
windows-azure-using-mongolab-node-js-socket-io/
Tutorial: Using MongoDB, Windows Communication Foundation, OData, and PowerBI
to build a Business Intelligence solution on Windows Azure
http://msopentech.com/blog/2014/02/19/tutorial-using-mongodb-windows-communication-
foundation-odata-powerbi-build-business-intelligence-solution-windows-azure/
Tutorial – Building a Multi-Tier Windows Azure Web application use Cloudant’s
Couchdb-as-a-Service, node.js, CORS, and Grunt
http://msopentech.com/blog/2013/12/19/tutorial-building-multi-tier-windows-azure-web-
application-use-cloudants-couchdb-service-node-js-cors-grunt-2/
40 http://www.anglebrackets.org
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 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 in 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 Azure web site that connects to MongoDB running on a virtual machine in
Azure:
http://www.windowsazure.com/en-us/develop/net/tutorials/website-with-
mongodb-vm/
41 http://www.anglebrackets.org
Other Resources
 Microsoft Open Technologies Blog: http://blogs.msdn.com/b/interoperability
 VM Depot:
http://vmdepot.msopentech.com
 Windows Azure development:
www.WindowsAzure.com
 SDKs and Command Line Tools:
 http://www.windowsazure.com/en-us/downloads/
 Windows Azure Training Kit:
http://windowsazure-trainingkit.github.com/
 Microsoft Web Platform Installer:
 http://www.microsoft.com/web/downloads/platform.aspx
 Web Matrix
 http://www.microsoft.com/web/webmatrix/
 Project Kudu
 https://github.com/projectkudu/kudu
 The application I showed today
 https://github.com/axemclion/conference
Q&A

Mais conteúdo relacionado

Mais procurados

Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.CUBRID
 
Node.js on Windows Azure
Node.js on Windows AzureNode.js on Windows Azure
Node.js on Windows AzureNeil Mackenzie
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...Edureka!
 
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit MavenBuilding Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit MavenOliver Ochs
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows AzureIdo Flatow
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるSadaaki HIRAI
 
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.Sadaaki HIRAI
 
Metasepi team meeting #8': Haskell apps on Android NDK
Metasepi team meeting #8': Haskell apps on Android NDKMetasepi team meeting #8': Haskell apps on Android NDK
Metasepi team meeting #8': Haskell apps on Android NDKKiwamu Okabe
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Arun Gupta
 
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Brian Benz
 
Tech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureTech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureBrian Benz
 
Rapid API development examples for Impress Application Server / Node.js (jsfw...
Rapid API development examples for Impress Application Server / Node.js (jsfw...Rapid API development examples for Impress Application Server / Node.js (jsfw...
Rapid API development examples for Impress Application Server / Node.js (jsfw...Timur Shemsedinov
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...MongoDB
 
SpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSunghyouk Bae
 
Introduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azureIntroduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azureColin Mackay
 

Mais procurados (20)

Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.
 
Node.js on Windows Azure
Node.js on Windows AzureNode.js on Windows Azure
Node.js on Windows Azure
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
 
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit MavenBuilding Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows Azure
 
Node js for enterprise
Node js for enterpriseNode js for enterprise
Node js for enterprise
 
Grails 2.0 Update
Grails 2.0 UpdateGrails 2.0 Update
Grails 2.0 Update
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
 
Metasepi team meeting #8': Haskell apps on Android NDK
Metasepi team meeting #8': Haskell apps on Android NDKMetasepi team meeting #8': Haskell apps on Android NDK
Metasepi team meeting #8': Haskell apps on Android NDK
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009
 
Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014Big App Workloads on Microsoft Azure - TechEd Europe 2014
Big App Workloads on Microsoft Azure - TechEd Europe 2014
 
Tech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureTech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on Azure
 
Rapid API development examples for Impress Application Server / Node.js (jsfw...
Rapid API development examples for Impress Application Server / Node.js (jsfw...Rapid API development examples for Impress Application Server / Node.js (jsfw...
Rapid API development examples for Impress Application Server / Node.js (jsfw...
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
 
OpenStack Glance
OpenStack GlanceOpenStack Glance
OpenStack Glance
 
Monkey man
Monkey manMonkey man
Monkey man
 
SpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSL
 
Introduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azureIntroduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azure
 

Semelhante a NoSQL on microsoft azure april 2014

MongoDB and Windows Azure
MongoDB and Windows AzureMongoDB and Windows Azure
MongoDB and Windows AzureMongoDB
 
MongoDB and Windows Azure
MongoDB and Windows AzureMongoDB and Windows Azure
MongoDB and Windows AzureDoug Mahugh
 
The three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureThe three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureMongoDB
 
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 GovernmentAmazon Web Services
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventJohn Schneider
 
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...Amazon Web Services
 
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 GovernmentAmazon Web Services
 
JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deploymentDavid Szöke
 
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 AtlasMongoDB
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsNicholas Jansma
 
Ruby on microsoft azure april 2014
Ruby on microsoft azure   april 2014Ruby on microsoft azure   april 2014
Ruby on microsoft azure april 2014Brian Benz
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platformgiventocode
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
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 AzureBrian Benz
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalPatrick Chanezon
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyMaarten Balliauw
 
Node.js on microsoft azure april 2014
Node.js on microsoft azure april 2014Node.js on microsoft azure april 2014
Node.js on microsoft azure april 2014Brian Benz
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 

Semelhante a NoSQL on microsoft azure april 2014 (20)

MongoDB and Windows Azure
MongoDB and Windows AzureMongoDB and Windows Azure
MongoDB and Windows Azure
 
MongoDB and Windows Azure
MongoDB and Windows AzureMongoDB and Windows Azure
MongoDB and Windows Azure
 
The three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureThe three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows 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
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
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...
 
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
 
JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deployment
 
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
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
Ruby on microsoft azure april 2014
Ruby on microsoft azure   april 2014Ruby on microsoft azure   april 2014
Ruby on microsoft azure april 2014
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platform
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
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
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
 
Node.js on microsoft azure april 2014
Node.js on microsoft azure april 2014Node.js on microsoft azure april 2014
Node.js on microsoft azure april 2014
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 

Mais de Brian Benz

How Microsoft learned to love Java
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love JavaBrian Benz
 
Azure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosBrian Benz
 
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1Brian Benz
 
Build 2014 - Running Java and Oracle Applications on Microsoft Azure
Build 2014 - Running Java and Oracle Applications on Microsoft AzureBuild 2014 - Running Java and Oracle Applications on Microsoft Azure
Build 2014 - Running Java and Oracle Applications on Microsoft AzureBrian Benz
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft AzureBrian Benz
 
Solr on Microsoft Azure
Solr on Microsoft AzureSolr on Microsoft Azure
Solr on Microsoft AzureBrian Benz
 
Eclipse Development with Microsoft Azure
Eclipse Development with Microsoft Azure Eclipse Development with Microsoft Azure
Eclipse Development with Microsoft Azure Brian Benz
 
Working with Chef on Microsoft Windows and Microsoft Azure
Working with Chef on Microsoft Windows and Microsoft AzureWorking with Chef on Microsoft Windows and Microsoft Azure
Working with Chef on Microsoft Windows and Microsoft AzureBrian Benz
 

Mais de Brian Benz (8)

How Microsoft learned to love Java
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love Java
 
Azure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment Scenarios
 
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
 
Build 2014 - Running Java and Oracle Applications on Microsoft Azure
Build 2014 - Running Java and Oracle Applications on Microsoft AzureBuild 2014 - Running Java and Oracle Applications on Microsoft Azure
Build 2014 - Running Java and Oracle Applications on Microsoft Azure
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
 
Solr on Microsoft Azure
Solr on Microsoft AzureSolr on Microsoft Azure
Solr on Microsoft Azure
 
Eclipse Development with Microsoft Azure
Eclipse Development with Microsoft Azure Eclipse Development with Microsoft Azure
Eclipse Development with Microsoft Azure
 
Working with Chef on Microsoft Windows and Microsoft Azure
Working with Chef on Microsoft Windows and Microsoft AzureWorking with Chef on Microsoft Windows and Microsoft Azure
Working with Chef on Microsoft Windows and Microsoft Azure
 

Último

Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 

Último (20)

Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 

NoSQL on microsoft azure april 2014

  • 1. Developing Open Source Solutions with NoSQL and Other Cloud Services on Azure Brian Benz, Sr. Technical Evangelist Microsoft Open Technologies, Inc.
  • 2. 2 http://www.anglebrackets.org Agenda  Azure  NoSQL  NoSQL on Azure  MongoDB and CouchDB Options  NoSQL on Azure IaaS, PaaS, SaaS  Azure Web Sites  Q&A
  • 5. Azure Virtual Machines – OS Options Windows Server 2008 and 2012 OpenSUSE and SUSE Enterprise CentOS Ubuntu Oracle Linux
  • 7. 7 http://www.anglebrackets.org NoSQL Alternative to traditional relational DBMS  Flexible schema  Quicker/cheaper to set up  Massive scalability  Relaxed consistency = higher performance & availability  No declarative query language = more programming  Relaxed consistency = fewer guarantees
  • 8. 8 http://www.anglebrackets.org NoSQL Applications  Document: JSON, XML, other semistructured formats  Operations: Insert(), Fetch(key), Update(key, doc), Delete(key)  (Key, Value) pairs  Operations: Insert(key,value), Fetch(key), Update(key), Delete(key)  Implementation: efficiency, scalability, fault-tolerance  Records distributed to nodes based on key  Replication  Single-record transactions, “eventual consistency”
  • 9. 9 http://www.anglebrackets.org New Terms RDBMS NoSQL Database Database Table Collection View, Row Document Index Index Join Embedding, Linking Partition Shard Partition Key Shard Key
  • 10. 10 http://www.anglebrackets.org Example – Posts, Categories, Tags, and Comments
  • 11. 11 http://www.anglebrackets.org Basic Document Structure { "_id" : ObjectId("508d27069cc1ae293b36928d"), "title" : "This is the title", "body" : "This is the body text.", "tags" : [ “tag 1" ], "created_date" : ISODate("2012-10-28T12:41:39.110Z"), "author_id" : ObjectId("508d280e9cc1ae293b36928e"), "category_id" : ObjectId("508d29709cc1ae293b369295"), "comments" : [ { "subject" : "This is comment 1", "body" : "This is the body of comment 1.", "author_id" : ObjectId("508d345f9cc1ae293b369296"), "created_date" : ISODate("2012-10-28T13:34:23.929Z") }, ] }
  • 12. 12 http://www.anglebrackets.org Less Basic Document Structure { "_id" : ObjectId("508d27069cc1ae293b36928d"), "title" : "This is the title", "body" : "This is the body text.", "tags" : [ ObjectId("508d35349cc1ae293b36929c") ], "created_date" : ISODate("2012-10-28T12:41:39.110Z"), "author_id" : ObjectId("508d280e9cc1ae293b36928e"), "category_id" : ObjectId("508d29709cc1ae293b369295"), "comments" : [ ObjectId("508d359a9cc1ae293b3692a2") ] }
  • 13. 13 http://www.anglebrackets.org The Landscape - NoSQL on Azure  MongoDB  Also MongoLab MongoDB-as-a-Service  Also MongoDB Inc. MongoDB-as-a-Service (beta)  CouchDB  Cloudant CouchDB-as-a-Service  Cassandra  Riak  Redis
  • 14. 14 http://www.anglebrackets.org What is MongoDB?  Open Source, by MongoDB, Inc.  Community and Enterprise Editions  Language: c++  Data model: Using BSON (binary JSON)  Replication and Sharding  Azure VMS, PaaS, and SaaS
  • 15. 15 http://www.anglebrackets.org http://docs.mongodb.org/ecosystem/drivers/ • C, C++ • C# • Go • Erlang • Java • JavaScript • Node.js • Perl • PHP • Python • Ruby • Scala
  • 16. 16 http://www.anglebrackets.org  Support and Alerts  Custom Admin Tools  Backup and Recover  Performance Analysis – Slow Query Analyzer  Monitoring and Support
  • 18.
  • 19. 19 http://www.anglebrackets.org What is CouchDB?  Apache Project  Language: Erlang  Data model: Using JSON and REST  Map/Reduce Views and Indexes  Replication  Azure VMs, PaaS, SaaS
  • 20. 20 http://www.anglebrackets.org  Managed, hosted fork of CouchDB  Incremental MapReduce engine  Horizontal scaling & built-in Lucene search  8 committers to Apache CouchDB  13,000+ users  Apache CouchDB features  BigCouch: Horizontal scaling framework  based on Amazon Dynamo paper  Fauxton: Futon replacement  modular CouchDB Web dashboard  live JSON editor with JavaScript hinting 20
  • 21. 21 http://www.anglebrackets.org What is Cassandra?  Apache Project  Language: Java  Data model: Thrift & custom binary  Fast Writes, Memory management  Replication  Azure VMs, PaaS
  • 22. 22 http://www.anglebrackets.org What is Redis?  Open Source  Language: c  Data model: RESP (REdis Serialization Protocol)  Key/Value  In Memory  Persistence via snapshotting or journaling to disk  Azure VMs, PaaS
  • 23. 23 http://www.anglebrackets.org What is Riak?  Open Source  Language: Erlang & C, some JavaScript  Data model: HTTP/REST or custom binary  Key/Value  In Memory  Persistence via snapshotting or journaling to disk  Azure VMs, PaaS, SaaS
  • 24. Replica set hosted on Azure worker roles or virtual machines Replica Set DriverYour Application Replica Sets: High Availability
  • 25. Shards, config servers and mongos (router) hosted on Azure worker roles or virtual machines Key range A-D Sharding: Scalability Key range E-G Key range G-Z Mongos (router)Your Application Config 1 Config 2 Config 3 Mongos (router)
  • 26. 26 http://www.anglebrackets.org Deploying to Virtual Machines  Compared to worker role (PaaS), VM-based replica sets offer more control, as well as more responsibility  MongoDB Installer for 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
  • 27. azure topic verb options Command Line Syntax Overview prompt> account account location account affinity-group vm vm disk vm endpoint vm image service service cert site config download import list show delete start restart shutdown capture create attach detach browse set username password dns-prefix vm-name lb-port target-image-name source-path disk-image-name size-in-gb thumbprint value -v -vv
  • 28. 28 http://www.anglebrackets.org 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
  • 29. Automation Support Capabilities • Fully Customize VM with Data Disks and Endpoint Configuration • Automate Virtual Network Settings
  • 30.
  • 32. 32 http://www.anglebrackets.org Conference Scheduler  Attendees can track sessions, vote sessions up and down  Offline Capabilities  IndexedDB  CouchDB VM for Data Storage  Web site hosting the application  Node.js  Grunt
  • 34.
  • 35. 35 http://www.anglebrackets.org Docs - azure.microsoft.com/documentation/
  • 36. 36 http://www.anglebrackets.org SDKs - azure.microsoft.com/downloads
  • 37. 37 http://www.anglebrackets.org CLIs - azure.microsoft.com/downloads
  • 38. 38 http://www.anglebrackets.org OSS DevOps - msopentech.com/projects
  • 39. 39 http://www.anglebrackets.org Where to learn more Tutorial: Building a multi-tier cloud application on Windows Azure using MongoLab, node.js, and Socket.IO http://msopentech.com/blog/2013/09/18/tutorial-building-multi-tier-cloud-application- windows-azure-using-mongolab-node-js-socket-io/ Tutorial: Using MongoDB, Windows Communication Foundation, OData, and PowerBI to build a Business Intelligence solution on Windows Azure http://msopentech.com/blog/2014/02/19/tutorial-using-mongodb-windows-communication- foundation-odata-powerbi-build-business-intelligence-solution-windows-azure/ Tutorial – Building a Multi-Tier Windows Azure Web application use Cloudant’s Couchdb-as-a-Service, node.js, CORS, and Grunt http://msopentech.com/blog/2013/12/19/tutorial-building-multi-tier-windows-azure-web- application-use-cloudants-couchdb-service-node-js-cors-grunt-2/
  • 40. 40 http://www.anglebrackets.org 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 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 in 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 Azure web site that connects to MongoDB running on a virtual machine in Azure: http://www.windowsazure.com/en-us/develop/net/tutorials/website-with- mongodb-vm/
  • 41. 41 http://www.anglebrackets.org Other Resources  Microsoft Open Technologies Blog: http://blogs.msdn.com/b/interoperability  VM Depot: http://vmdepot.msopentech.com  Windows Azure development: www.WindowsAzure.com  SDKs and Command Line Tools:  http://www.windowsazure.com/en-us/downloads/  Windows Azure Training Kit: http://windowsazure-trainingkit.github.com/  Microsoft Web Platform Installer:  http://www.microsoft.com/web/downloads/platform.aspx  Web Matrix  http://www.microsoft.com/web/webmatrix/  Project Kudu  https://github.com/projectkudu/kudu  The application I showed today  https://github.com/axemclion/conference
  • 42. Q&A