Best Practices for couchDB developers on Microsoft Azure

Brian Benz
Brian BenzCloud Advocate, Microsoft um Microsoft
Best Practices for CouchDB
Developers on Windows Azure
Brian Benz, Sr. Technical Evangelist
Microsoft Open Technologies, Inc.
bbenz@Microsoft.com
Agenda
• App Demo
• Windows Azure
• CouchDB
• Windows Azure Virtual Machines
• Windows Azure Web Sites
• Options for working with Azure VMs and Web Sites
• Under the hood of the app:
– Node.js
– Grunt
• Q&A
Best Practices for couchDB developers on Microsoft Azure
Demo Link
http://a-jamepi-conf-couchdb-twitter.azurewebsites.net/#home/schedule
https://github.com/axemclion/conference
Best Practices for couchDB developers on Microsoft Azure
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
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
http://www.windowsazure.com/en-us/pricing/free-trial/
http://channel9.msdn.com/Events/WindowsAzureConf/2012/KEY01
Sign up for a free trial
Learn about the latest features
CouchDB 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.
• CouchDB offers built-in support for horizontal
scaling
• Windows Azure offers built-in support for
responsive auto-scaling
+
Clustered nodes
hosted
on Windows Azure
worker roles or
virtual machines
Cluster
DriverYour
Application
Clusters: High Availability
Virtual Machines
Deploying CouchDB on Windows
Azure virtual machines
Windows Azure
Virtual Machines
Windows Server 2008 R2
Windows Server 2012
OpenSUSE 12.1
CentOS 6.2
Ubuntu 12.04
SUSE Linux Enterprise Server SP2
Virtual Machine Sizes
VM Size
CPU
Cores
Memory
Bandwidth
(Mbps)
# Data
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
clusters offer more control, as
well as more responsibility
– Create new Virtual Machine – Windows 2012
– Start or install a Browser
– Download CouchDB
– Run the Installer and Launch
– Start Futon to verify install
– Also available: Install Scripts Windows Azure 2008 Images:
• http://ossonazure.interoperabilitybridges.com/articles/couchdb-
installer-for-windows-azure
VM Depot
http://vmdepot.msopentech.com
– Call to action: Developers can use VM Depot to reach new
audiences!
• Open-source SDKs for
popular programming
languages, to get you
up and running quickly
• Choice of popular IDEs
such as Visual Studio
and Eclipse
• Consistent REST protocols and APIs across Windows Azure
services
http://www.windowsazure.com/en-us/develop/overview/
Windows Azure Developer Center
.NET driver
Node.js driver
Java driver
PHP driver
Python driver
Driver download page
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
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
Example: Provisioning a Cluster
azure vm create couchsd "OpenLogic__OpenLogic-CentOS-62-20120531-
en-us-30GB.vhd" username password -l "West US" -e
azure vm create couchsd "OpenLogic__OpenLogic-CentOS-62-20120531-
en-us-30GB.vhd" username password -l "West US" -e 23 -c
azure vm create couchsd "OpenLogic__OpenLogic-CentOS-62-20120531-
en-us-30GB.vhd" username password -l "West US" -e 24 -c
azure vm endpoint create couchsd 27017 27017
azure vm endpoint create couchsd-2 27018 27018
azure vm endpoint create couchsd-3 27019 27019
Best Practices for couchDB developers on Microsoft Azure
Automation Support
Capabilities
• Fully Customize VM with Data Disks and
Endpoint Configuration
• Automate Virtual Network Settings
PaaS and SaaS
Deploying CouchDB as Cloud Services
and
Software-As-A-Service
Deploying CouchDB 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 CouchDB in same cloud service provides security
– PaaS approach is the easiest way to deploy CouchDB on
Windows Azure
– For quick and simple deployment, use the CouchDB on
Azure Worker Role Install:
http://ossonazure.interoperabilitybridges.com/articles/cou
chdb-installer-for-windows-azure#h2Section5
33
• Founded May 2008
• Database-as-a-service (DBaaS)
– Managed, hosted fork of
CouchDB
– Incremental MapReduce
engine
– Horizontal scaling & built-in
Lucene search
• 8 Cloudants are committers to
Apache CouchDB
• 13,000+ users
Cloudant’s Commitment to Apache
CouchDB
34
• 25% of Apache CouchDB project
committers work at Cloudant
• Apache CouchDB roadmap
– BigCouch: Horizontal scaling
framework
• based on Amazon Dynamo
paper
• folding into the next
Apache release
– Fauxton: Futon replacement
• modular CouchDB Web
dashboard
• live JSON editor with
JavaScript hinting
Hybrid Approaches
Combining hosted services, cloud
applications, and on-premises
applications
IaaS
Virtual Machines
PaaS
Web Sites
PaaS
Cloud Services
Other sites, local
apps, etc.
Your App
IaaS
Virtual Machines
PaaS
Cloud Services
SaaS
Git Deployments
Self-hosted
Your Data
Deployment
Complexity
Operational
Responsibility Flexibility OS Security
IaaS Some High High
Linux or
Windows
Custom
PaaS Some Low High
Windows
only
Built-in
SaaS Low/none
None
Limited N/A Built-in
Which approach is best for you?
Web Sites
Deploying Web Sites on Windows
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
reserved
reserved
SHARED INSTANCES
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
Supported Web Frameworks
Supported Publishing Methods
Best Practices for couchDB developers on Microsoft Azure
Windows Azure Web Sites
Start Simple
Get started with 10 free web sites
Create new sites in seconds
Easily manage and scale your sites
Automatic load balancing and shared storage
across instances
Scale out or up to reserved instances for
improved performance and scale
Code Smart
Use ASP.NET, ASP, PHP, Node.js or Custom
SQL Azure or MySQL databases
Start with open source apps
Develop with VS and WebMatrix
Supports any Web development tool on any
platform (Windows, OSX, Linux)
Go Live
Rapid deployment for quick iteration
Integrated source control with Team
Foundation Server (TFS) and Git
Built-in monitoring of perf and usage data
Quick access to request logs, failed requests
diagnostics and diagnostics
Node.js and Grunt
Deploying Web Sites on Windows
Azure Web Sites
What is Node.js?
• A JavaScript runtime environment
– Server-side JavaScript
– Compiled for speed
– Command line
– JavaScript API for network and file system access
• Designed for high concurrency
– Events, not threads or processes
• Never blocks, not even for I/O
• Uses CommonJS framework syntax
– Close to real OO
Why Use Node.js ?
• JavaScript on server-side and client-side
• Event loop with a stack
– Node.JS serves requests in an event loop
– Large number of simultaneous requests.
• Avoids Context Switching
– Waiting for I/O or Synchronization operation to
complete.
• Node attaches JS callbacks to I/O requests
– The “event driven” part
– When the original IO is completed, a callback to
the server completes the request.
Speedy I/O With Events
Threads Events
Threads lock apps / threads One thread
Listens for incoming requests Process from queue
Multiple threads dependent on
multiple processes
State saved for each event
Depends on context switching Not dependent on I/O or
Synchronization
Node.js with Grunt
• Node.js - Scalable, Event-Driven HTTP server
– JavaScript and simple API
• Grunt on Node.js
– Deployment and Task Management
Application Scenarios
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
1 von 60

Recomendados

Anatomy of classic map reduce in hadoop von
Anatomy of classic map reduce in hadoop Anatomy of classic map reduce in hadoop
Anatomy of classic map reduce in hadoop Rajesh Ananda Kumar
6.6K views15 Folien
Map Reduce data types and formats von
Map Reduce data types and formatsMap Reduce data types and formats
Map Reduce data types and formatsVigen Sahakyan
4.7K views13 Folien
Microservice With Spring Boot and Spring Cloud von
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudEberhard Wolff
22.2K views67 Folien
How to get http query parameters in mule von
How to get http query parameters in muleHow to get http query parameters in mule
How to get http query parameters in muleRamakrishna kapa
3.7K views11 Folien
process management.ppt von
process management.pptprocess management.ppt
process management.pptShubhamGoel184057
46 views63 Folien
Introduction to Map Reduce von
Introduction to Map ReduceIntroduction to Map Reduce
Introduction to Map ReduceApache Apex
7.7K views33 Folien

Más contenido relacionado

Was ist angesagt?

Avro introduction von
Avro introductionAvro introduction
Avro introductionNanda8904648951
3.1K views22 Folien
Distributed System-Multicast & Indirect communication von
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationMNM Jain Engineering College
6.4K views43 Folien
ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策 von
ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策
ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策エクイニクス・ジャパン
2.7K views44 Folien
Deploying Flink on Kubernetes - David Anderson von
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David AndersonVerverica
2K views48 Folien
HBase Schema Design - HBase-Con 2012 von
HBase Schema Design - HBase-Con 2012HBase Schema Design - HBase-Con 2012
HBase Schema Design - HBase-Con 2012Ian Varley
2.1K views189 Folien
Big Data Analytics using Mahout von
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using MahoutIMC Institute
5.4K views84 Folien

Was ist angesagt?(20)

ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策 von エクイニクス・ジャパン
ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策
ぜんぜんスマートじゃないプライベートクラウドの現実 - 運用担当者が苦労する4つの問題と3つの救済策
Deploying Flink on Kubernetes - David Anderson von Ververica
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David Anderson
Ververica 2K views
HBase Schema Design - HBase-Con 2012 von Ian Varley
HBase Schema Design - HBase-Con 2012HBase Schema Design - HBase-Con 2012
HBase Schema Design - HBase-Con 2012
Ian Varley2.1K views
Big Data Analytics using Mahout von IMC Institute
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using Mahout
IMC Institute5.4K views
HDFS User Reference von Biju Nair
HDFS User ReferenceHDFS User Reference
HDFS User Reference
Biju Nair5K views
OpenStack API's and WSGI von Mike Pittaro
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
Mike Pittaro25.6K views
01 - Introduction to Distributed Systems von Dilum Bandara
01 - Introduction to Distributed Systems01 - Introduction to Distributed Systems
01 - Introduction to Distributed Systems
Dilum Bandara1.2K views
What it takes to run Hadoop at Scale: Yahoo! Perspectives von DataWorks Summit
What it takes to run Hadoop at Scale: Yahoo! PerspectivesWhat it takes to run Hadoop at Scale: Yahoo! Perspectives
What it takes to run Hadoop at Scale: Yahoo! Perspectives
DataWorks Summit2.7K views
Integrating Apache NiFi and Apache Flink von Hortonworks
Integrating Apache NiFi and Apache FlinkIntegrating Apache NiFi and Apache Flink
Integrating Apache NiFi and Apache Flink
Hortonworks13.5K views
Apache Hadoop YARN von Adam Kawa
Apache Hadoop YARNApache Hadoop YARN
Apache Hadoop YARN
Adam Kawa19.3K views
A visual introduction to Apache Kafka von Paul Brebner
A visual introduction to Apache KafkaA visual introduction to Apache Kafka
A visual introduction to Apache Kafka
Paul Brebner4.7K views
Create & Execute First Hadoop MapReduce Project in.pptx von vishal choudhary
Create & Execute First Hadoop MapReduce Project in.pptxCreate & Execute First Hadoop MapReduce Project in.pptx
Create & Execute First Hadoop MapReduce Project in.pptx
vishal choudhary129 views
Developing SAP Integration services in IBM BPM Advanced von Logan Vadivelu
Developing SAP Integration services in IBM BPM Advanced Developing SAP Integration services in IBM BPM Advanced
Developing SAP Integration services in IBM BPM Advanced
Logan Vadivelu1.2K views
Hadoop Overview & Architecture von EMC
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
EMC64.6K views
Building a Unified Logging Layer with Fluentd, Elasticsearch and Kibana von Mushfekur Rahman
Building a Unified Logging Layer with Fluentd, Elasticsearch and KibanaBuilding a Unified Logging Layer with Fluentd, Elasticsearch and Kibana
Building a Unified Logging Layer with Fluentd, Elasticsearch and Kibana
Mushfekur Rahman303 views
storm at twitter von Krishna Gade
storm at twitterstorm at twitter
storm at twitter
Krishna Gade22.4K views
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features) von Kai Wähner
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Kai Wähner6.3K views

Destacado

Azure and web sites hackaton deck von
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deckAlexey Bokov
1.1K views30 Folien
CloudEndure Technology Introduction For Partners von
CloudEndure Technology Introduction For PartnersCloudEndure Technology Introduction For Partners
CloudEndure Technology Introduction For PartnersThe Rudder Group
1.4K views10 Folien
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast" von
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"DataStax Academy
34.9K views27 Folien
Cassandra & puppet, scaling data at $15 per month von
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per monthdaveconnors
37.3K views31 Folien
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ... von
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...DataStax Academy
29.3K views14 Folien
Enterprise-Grade Disaster Recovery Without Breaking the Bank von
Enterprise-Grade Disaster Recovery Without Breaking the BankEnterprise-Grade Disaster Recovery Without Breaking the Bank
Enterprise-Grade Disaster Recovery Without Breaking the BankCloudEndure
1.5K views25 Folien

Destacado(14)

Azure and web sites hackaton deck von Alexey Bokov
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
Alexey Bokov1.1K views
CloudEndure Technology Introduction For Partners von The Rudder Group
CloudEndure Technology Introduction For PartnersCloudEndure Technology Introduction For Partners
CloudEndure Technology Introduction For Partners
The Rudder Group1.4K views
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast" von DataStax Academy
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
DataStax Academy34.9K views
Cassandra & puppet, scaling data at $15 per month von daveconnors
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per month
daveconnors37.3K views
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ... von DataStax Academy
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
DataStax Academy29.3K views
Enterprise-Grade Disaster Recovery Without Breaking the Bank von CloudEndure
Enterprise-Grade Disaster Recovery Without Breaking the BankEnterprise-Grade Disaster Recovery Without Breaking the Bank
Enterprise-Grade Disaster Recovery Without Breaking the Bank
CloudEndure1.5K views
Off-heaping the Apache HBase Read Path von HBaseCon
Off-heaping the Apache HBase Read Path Off-heaping the Apache HBase Read Path
Off-heaping the Apache HBase Read Path
HBaseCon4.2K views
Cassandra at eBay - Cassandra Summit 2012 von Jay Patel
Cassandra at eBay - Cassandra Summit 2012Cassandra at eBay - Cassandra Summit 2012
Cassandra at eBay - Cassandra Summit 2012
Jay Patel85.8K views
Migrating Netflix from Datacenter Oracle to Global Cassandra von Adrian Cockcroft
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global Cassandra
Adrian Cockcroft126.5K views
Why your project's brand is more important than the code - SCRIPT von Shane Curcuru
Why your project's brand is more important than the code - SCRIPTWhy your project's brand is more important than the code - SCRIPT
Why your project's brand is more important than the code - SCRIPT
Shane Curcuru4.9K views
Profiting From Apache Brands Without Losing Your Soul von Shane Curcuru
Profiting From Apache Brands Without Losing Your SoulProfiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your Soul
Shane Curcuru3.9K views
Profiting From Apache Brands Without Losing Your Soul von Shane Curcuru
Profiting From Apache Brands Without Losing Your SoulProfiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your Soul
Shane Curcuru6.3K views
Common MongoDB Use Cases von MongoDB
Common MongoDB Use Cases Common MongoDB Use Cases
Common MongoDB Use Cases
MongoDB18.5K views
MongoDB Schema Design: Four Real-World Examples von Mike Friedman
MongoDB Schema Design: Four Real-World ExamplesMongoDB Schema Design: Four Real-World Examples
MongoDB Schema Design: Four Real-World Examples
Mike Friedman98.2K views

Similar a Best Practices for couchDB developers on Microsoft Azure

What's New for the Windows Azure Developer? Lots!! von
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!!Michael Collier
4.1K views34 Folien
Kudu voodoo slideshare von
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshareAidan Casey
757 views25 Folien
Azure Websites von
Azure WebsitesAzure Websites
Azure WebsitesSenthamil Selvan
485 views19 Folien
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F... von
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup
1.4K views48 Folien
London .NET Developers Azure Websites von
London .NET Developers Azure WebsitesLondon .NET Developers Azure Websites
London .NET Developers Azure WebsitesTom Walker
746 views52 Folien
Perth Azure Usergroup Build 2018 updates von
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesNirmal Thewarathanthri
65 views40 Folien

Similar a Best Practices for couchDB developers on Microsoft Azure(20)

What's New for the Windows Azure Developer? Lots!! von Michael Collier
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!!
Michael Collier4.1K views
Kudu voodoo slideshare von Aidan Casey
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshare
Aidan Casey757 views
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F... von Tokyo Azure Meetup
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup1.4K views
London .NET Developers Azure Websites von Tom Walker
London .NET Developers Azure WebsitesLondon .NET Developers Azure Websites
London .NET Developers Azure Websites
Tom Walker746 views
Sudheer d socalcodecamp_10_16_2011 von SudheerD
Sudheer d socalcodecamp_10_16_2011Sudheer d socalcodecamp_10_16_2011
Sudheer d socalcodecamp_10_16_2011
SudheerD275 views
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services von Patrick Chanezon
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon1.2K views
Microsoft Azure Platform-as-a-Service (PaaS) von Chris Dufour
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
Chris Dufour4.3K views
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into... von Amazon Web Services
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
Java on Your Terms with Azure von Edward Burns
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
Edward Burns139 views
Sudheer d desertcodecamp_11_05_2011 von SudheerD
Sudheer d desertcodecamp_11_05_2011Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011
SudheerD203 views

Más de Brian Benz

How Microsoft learned to love Java von
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love JavaBrian Benz
2.1K views40 Folien
Azure Virtual Machines Deployment Scenarios von
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosBrian Benz
1.8K views47 Folien
Big App Workloads on Microsoft Azure - TechEd Europe 2014 von
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
1.2K views62 Folien
Tech Ed North America 2014 - Java on Azure von
Tech Ed North America 2014 - Java on AzureTech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on AzureBrian Benz
856 views52 Folien
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1 von
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
1K views23 Folien
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples von
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 examplesBrian Benz
1.1K views25 Folien

Más de Brian Benz(15)

How Microsoft learned to love Java von Brian Benz
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love Java
Brian Benz2.1K views
Azure Virtual Machines Deployment Scenarios von Brian Benz
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment Scenarios
Brian Benz1.8K views
Big App Workloads on Microsoft Azure - TechEd Europe 2014 von Brian Benz
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
Brian Benz1.2K views
Tech Ed North America 2014 - Java on Azure von Brian Benz
Tech Ed North America 2014 - Java on AzureTech Ed North America 2014 - Java on Azure
Tech Ed North America 2014 - Java on Azure
Brian Benz856 views
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1 von Brian Benz
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
Brian Benz1K views
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples von Brian Benz
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
Brian Benz1.1K views
NoSQL on microsoft azure april 2014 von Brian Benz
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
Brian Benz1.6K views
Node.js on microsoft azure april 2014 von Brian Benz
Node.js on microsoft azure april 2014Node.js on microsoft azure april 2014
Node.js on microsoft azure april 2014
Brian Benz1.6K views
Ruby on microsoft azure april 2014 von Brian Benz
Ruby on microsoft azure   april 2014Ruby on microsoft azure   april 2014
Ruby on microsoft azure april 2014
Brian Benz1.8K views
Build 2014 - Running Java and Oracle Applications on Microsoft Azure von Brian Benz
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
Brian Benz1.1K views
Java on Microsoft Azure von Brian Benz
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
Brian Benz915 views
Experiences using CouchDB inside Microsoft's Azure team von Brian Benz
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
Brian Benz5.6K views
Solr on Microsoft Azure von Brian Benz
Solr on Microsoft AzureSolr on Microsoft Azure
Solr on Microsoft Azure
Brian Benz844 views
Eclipse Development with Microsoft Azure von Brian Benz
Eclipse Development with Microsoft Azure Eclipse Development with Microsoft Azure
Eclipse Development with Microsoft Azure
Brian Benz904 views
Working with Chef on Microsoft Windows and Microsoft Azure von Brian Benz
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
Brian Benz1.1K views

Último

GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
156 views32 Folien
"Surviving highload with Node.js", Andrii Shumada von
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
53 views29 Folien
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... von
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...ShapeBlue
146 views15 Folien
Future of AR - Facebook Presentation von
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook PresentationRob McCarty
62 views27 Folien
NTGapps NTG LowCode Platform von
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
365 views30 Folien
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive von
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveNetwork Automation Forum
50 views35 Folien

Último(20)

GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
"Surviving highload with Node.js", Andrii Shumada von Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays53 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... von ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue146 views
Future of AR - Facebook Presentation von Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty62 views
NTGapps NTG LowCode Platform von Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu365 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive von Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Digital Personal Data Protection (DPDP) Practical Approach For CISOs von Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... von ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue98 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... von ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue79 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... von ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue88 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool von ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue84 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... von ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue85 views
The Role of Patterns in the Era of Large Language Models von Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue von ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue93 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT von ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue166 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... von TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc160 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue von ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue163 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... von ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue154 views

Best Practices for couchDB developers on Microsoft Azure

  • 1. Best Practices for CouchDB Developers on Windows Azure Brian Benz, Sr. Technical Evangelist Microsoft Open Technologies, Inc. bbenz@Microsoft.com
  • 2. Agenda • App Demo • Windows Azure • CouchDB • Windows Azure Virtual Machines • Windows Azure Web Sites • Options for working with Azure VMs and Web Sites • Under the hood of the app: – Node.js – Grunt • Q&A
  • 6. 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
  • 8. Windows Azure in 60 Seconds A brief high-level overview for those who are new to Windows Azure
  • 10. 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
  • 12. Windows Azure: What It Is Global Footprint
  • 14. Windows Azure: What It Is Flexible
  • 15. Windows Azure: What It Is Host Build Consume IaaS PaaS SaaS
  • 17. CouchDB 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. • CouchDB offers built-in support for horizontal scaling • Windows Azure offers built-in support for responsive auto-scaling +
  • 18. Clustered nodes hosted on Windows Azure worker roles or virtual machines Cluster DriverYour Application Clusters: High Availability
  • 19. Virtual Machines Deploying CouchDB on Windows Azure virtual machines
  • 20. Windows Azure Virtual Machines Windows Server 2008 R2 Windows Server 2012 OpenSUSE 12.1 CentOS 6.2 Ubuntu 12.04 SUSE Linux Enterprise Server SP2
  • 21. Virtual Machine Sizes VM Size CPU Cores Memory Bandwidth (Mbps) # Data 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
  • 22. Deploying to Virtual Machines – Compared to worker role (PaaS), VM-based clusters offer more control, as well as more responsibility – Create new Virtual Machine – Windows 2012 – Start or install a Browser – Download CouchDB – Run the Installer and Launch – Start Futon to verify install – Also available: Install Scripts Windows Azure 2008 Images: • http://ossonazure.interoperabilitybridges.com/articles/couchdb- installer-for-windows-azure
  • 23. VM Depot http://vmdepot.msopentech.com – Call to action: Developers can use VM Depot to reach new audiences!
  • 24. • Open-source SDKs for popular programming languages, to get you up and running quickly • Choice of popular IDEs such as Visual Studio and Eclipse • Consistent REST protocols and APIs across Windows Azure services http://www.windowsazure.com/en-us/develop/overview/ Windows Azure Developer Center .NET driver Node.js driver Java driver PHP driver Python driver Driver download page
  • 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. Example: Provisioning a Cluster azure vm create couchsd "OpenLogic__OpenLogic-CentOS-62-20120531- en-us-30GB.vhd" username password -l "West US" -e azure vm create couchsd "OpenLogic__OpenLogic-CentOS-62-20120531- en-us-30GB.vhd" username password -l "West US" -e 23 -c azure vm create couchsd "OpenLogic__OpenLogic-CentOS-62-20120531- en-us-30GB.vhd" username password -l "West US" -e 24 -c azure vm endpoint create couchsd 27017 27017 azure vm endpoint create couchsd-2 27018 27018 azure vm endpoint create couchsd-3 27019 27019
  • 30. Automation Support Capabilities • Fully Customize VM with Data Disks and Endpoint Configuration • Automate Virtual Network Settings
  • 31. PaaS and SaaS Deploying CouchDB as Cloud Services and Software-As-A-Service
  • 32. Deploying CouchDB 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 CouchDB in same cloud service provides security – PaaS approach is the easiest way to deploy CouchDB on Windows Azure – For quick and simple deployment, use the CouchDB on Azure Worker Role Install: http://ossonazure.interoperabilitybridges.com/articles/cou chdb-installer-for-windows-azure#h2Section5
  • 33. 33 • Founded May 2008 • Database-as-a-service (DBaaS) – Managed, hosted fork of CouchDB – Incremental MapReduce engine – Horizontal scaling & built-in Lucene search • 8 Cloudants are committers to Apache CouchDB • 13,000+ users
  • 34. Cloudant’s Commitment to Apache CouchDB 34 • 25% of Apache CouchDB project committers work at Cloudant • Apache CouchDB roadmap – BigCouch: Horizontal scaling framework • based on Amazon Dynamo paper • folding into the next Apache release – Fauxton: Futon replacement • modular CouchDB Web dashboard • live JSON editor with JavaScript hinting
  • 35. Hybrid Approaches Combining hosted services, cloud applications, and on-premises applications
  • 36. IaaS Virtual Machines PaaS Web Sites PaaS Cloud Services Other sites, local apps, etc. Your App IaaS Virtual Machines PaaS Cloud Services SaaS Git Deployments Self-hosted Your Data
  • 37. Deployment Complexity Operational Responsibility Flexibility OS Security IaaS Some High High Linux or Windows Custom PaaS Some Low High Windows only Built-in SaaS Low/none None Limited N/A Built-in Which approach is best for you?
  • 38. Web Sites Deploying Web Sites on Windows
  • 50. Start Simple Get started with 10 free web sites Create new sites in seconds Easily manage and scale your sites Automatic load balancing and shared storage across instances Scale out or up to reserved instances for improved performance and scale
  • 51. Code Smart Use ASP.NET, ASP, PHP, Node.js or Custom SQL Azure or MySQL databases Start with open source apps Develop with VS and WebMatrix Supports any Web development tool on any platform (Windows, OSX, Linux)
  • 52. Go Live Rapid deployment for quick iteration Integrated source control with Team Foundation Server (TFS) and Git Built-in monitoring of perf and usage data Quick access to request logs, failed requests diagnostics and diagnostics
  • 53. Node.js and Grunt Deploying Web Sites on Windows Azure Web Sites
  • 54. What is Node.js? • A JavaScript runtime environment – Server-side JavaScript – Compiled for speed – Command line – JavaScript API for network and file system access • Designed for high concurrency – Events, not threads or processes • Never blocks, not even for I/O • Uses CommonJS framework syntax – Close to real OO
  • 55. Why Use Node.js ? • JavaScript on server-side and client-side • Event loop with a stack – Node.JS serves requests in an event loop – Large number of simultaneous requests. • Avoids Context Switching – Waiting for I/O or Synchronization operation to complete. • Node attaches JS callbacks to I/O requests – The “event driven” part – When the original IO is completed, a callback to the server completes the request.
  • 56. Speedy I/O With Events Threads Events Threads lock apps / threads One thread Listens for incoming requests Process from queue Multiple threads dependent on multiple processes State saved for each event Depends on context switching Not dependent on I/O or Synchronization
  • 57. Node.js with Grunt • Node.js - Scalable, Event-Driven HTTP server – JavaScript and simple API • Grunt on Node.js – Deployment and Task Management
  • 59. 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
  • 60. Q&A