SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar 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
 

Similar 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
 

Más 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
 

Más 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

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...SUHANI PANDEY
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋nirzagarg
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...nilamkumrai
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋nirzagarg
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...nirzagarg
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 

Último (20)

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 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