SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

Getting more into GCP.pdf
Getting more into GCP.pdfGetting more into GCP.pdf
Getting more into GCP.pdf
Knoldus Inc.
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdService Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Kai Wähner
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
Codit
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Walid Ashraf
 
Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...
Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...
Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...
Omar Diaz Esquivel
 
Linking Metrics to Logs using Loki
Linking Metrics to Logs using LokiLinking Metrics to Logs using Loki
Linking Metrics to Logs using Loki
Knoldus Inc.
 
What is API Product Management by PayPal Director of Product
What is API Product Management by PayPal Director of ProductWhat is API Product Management by PayPal Director of Product
What is API Product Management by PayPal Director of Product
Product School
 
A small leak can sink a great ship !!
A small leak can sink a great ship !!A small leak can sink a great ship !!
A small leak can sink a great ship !!
Ayushi Gupta
 
CI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsCI/CD with Openshift and Jenkins
CI/CD with Openshift and Jenkins
Ari LiVigni
 
Stream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NETStream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NET
confluent
 
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Vietnam Open Infrastructure User Group
 
Benefits of Stream Processing and Apache Kafka Use Cases
Benefits of Stream Processing and Apache Kafka Use CasesBenefits of Stream Processing and Apache Kafka Use Cases
Benefits of Stream Processing and Apache Kafka Use Cases
confluent
 
Introducing Amazon EKS Anywhere On Apache CloudStack
Introducing Amazon EKS Anywhere On Apache CloudStackIntroducing Amazon EKS Anywhere On Apache CloudStack
Introducing Amazon EKS Anywhere On Apache CloudStack
ShapeBlue
 
Interactive real time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real time dashboards on data streams using Kafka, Druid, and Supe...Interactive real time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real time dashboards on data streams using Kafka, Druid, and Supe...
DataWorks Summit
 
Why a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is EssentialWhy a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is Essential
Alibaba Cloud
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to Firebase
Mustafa Şenel
 
Building End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCPBuilding End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCP
Databricks
 
What makes it worth becoming a Data Engineer?
What makes it worth becoming a Data Engineer?What makes it worth becoming a Data Engineer?
What makes it worth becoming a Data Engineer?
Hadi Fadlallah
 
Architecting for the Cloud using NetflixOSS - Codemash Workshop
Architecting for the Cloud using NetflixOSS - Codemash WorkshopArchitecting for the Cloud using NetflixOSS - Codemash Workshop
Architecting for the Cloud using NetflixOSS - Codemash Workshop
Sudhir Tonse
 
Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?
Kai Wähner
 
Getting more into GCP.pdf
Getting more into GCP.pdfGetting more into GCP.pdf
Getting more into GCP.pdf
Knoldus Inc.
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdService Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Kai Wähner
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
Codit
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Walid Ashraf
 
Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...
Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...
Guía para desplegar una aplicación Java en AppEngine de Google Cloud Platform...
Omar Diaz Esquivel
 
Linking Metrics to Logs using Loki
Linking Metrics to Logs using LokiLinking Metrics to Logs using Loki
Linking Metrics to Logs using Loki
Knoldus Inc.
 
What is API Product Management by PayPal Director of Product
What is API Product Management by PayPal Director of ProductWhat is API Product Management by PayPal Director of Product
What is API Product Management by PayPal Director of Product
Product School
 
A small leak can sink a great ship !!
A small leak can sink a great ship !!A small leak can sink a great ship !!
A small leak can sink a great ship !!
Ayushi Gupta
 
CI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsCI/CD with Openshift and Jenkins
CI/CD with Openshift and Jenkins
Ari LiVigni
 
Stream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NETStream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NET
confluent
 
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Vietnam Open Infrastructure User Group
 
Benefits of Stream Processing and Apache Kafka Use Cases
Benefits of Stream Processing and Apache Kafka Use CasesBenefits of Stream Processing and Apache Kafka Use Cases
Benefits of Stream Processing and Apache Kafka Use Cases
confluent
 
Introducing Amazon EKS Anywhere On Apache CloudStack
Introducing Amazon EKS Anywhere On Apache CloudStackIntroducing Amazon EKS Anywhere On Apache CloudStack
Introducing Amazon EKS Anywhere On Apache CloudStack
ShapeBlue
 
Interactive real time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real time dashboards on data streams using Kafka, Druid, and Supe...Interactive real time dashboards on data streams using Kafka, Druid, and Supe...
Interactive real time dashboards on data streams using Kafka, Druid, and Supe...
DataWorks Summit
 
Why a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is EssentialWhy a Multi-cloud Strategy is Essential
Why a Multi-cloud Strategy is Essential
Alibaba Cloud
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to Firebase
Mustafa Şenel
 
Building End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCPBuilding End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCP
Databricks
 
What makes it worth becoming a Data Engineer?
What makes it worth becoming a Data Engineer?What makes it worth becoming a Data Engineer?
What makes it worth becoming a Data Engineer?
Hadi Fadlallah
 
Architecting for the Cloud using NetflixOSS - Codemash Workshop
Architecting for the Cloud using NetflixOSS - Codemash WorkshopArchitecting for the Cloud using NetflixOSS - Codemash Workshop
Architecting for the Cloud using NetflixOSS - Codemash Workshop
Sudhir Tonse
 
Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?
Kai Wähner
 

Viewers also liked (14)

Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
Alexey Bokov
 
CloudEndure Technology Introduction For Partners
CloudEndure Technology Introduction For PartnersCloudEndure Technology Introduction For Partners
CloudEndure Technology Introduction For Partners
The Rudder Group
 
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"
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
DataStax Academy
 
Cassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per month
daveconnors
 
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 ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
DataStax Academy
 
Enterprise-Grade Disaster Recovery Without Breaking the Bank
Enterprise-Grade Disaster Recovery Without Breaking the BankEnterprise-Grade Disaster Recovery Without Breaking the Bank
Enterprise-Grade Disaster Recovery Without Breaking the Bank
CloudEndure
 
Off-heaping the Apache HBase Read Path
Off-heaping the Apache HBase Read Path Off-heaping the Apache HBase Read Path
Off-heaping the Apache HBase Read Path
HBaseCon
 
Cassandra at eBay - Cassandra Summit 2012
Cassandra at eBay - Cassandra Summit 2012Cassandra at eBay - Cassandra Summit 2012
Cassandra at eBay - Cassandra Summit 2012
Jay Patel
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global Cassandra
Adrian Cockcroft
 
Why your project's brand is more important than the code - SCRIPT
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 Curcuru
 
Profiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your SoulProfiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your Soul
Shane Curcuru
 
Profiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your SoulProfiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your Soul
Shane Curcuru
 
Common MongoDB Use Cases
Common MongoDB Use Cases Common MongoDB Use Cases
Common MongoDB Use Cases
MongoDB
 
MongoDB Schema Design: Four Real-World Examples
MongoDB Schema Design: Four Real-World ExamplesMongoDB Schema Design: Four Real-World Examples
MongoDB Schema Design: Four Real-World Examples
Mike Friedman
 
Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
Alexey Bokov
 
CloudEndure Technology Introduction For Partners
CloudEndure Technology Introduction For PartnersCloudEndure Technology Introduction For Partners
CloudEndure Technology Introduction For Partners
The Rudder Group
 
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"
NYC* 2013 — "Using Cassandra for DVR Scheduling at Comcast"
DataStax Academy
 
Cassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per monthCassandra & puppet, scaling data at $15 per month
Cassandra & puppet, scaling data at $15 per month
daveconnors
 
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 ...
C* Summit 2013: Time for a New Relationship - Intuit's Journey from RDBMS to ...
DataStax Academy
 
Enterprise-Grade Disaster Recovery Without Breaking the Bank
Enterprise-Grade Disaster Recovery Without Breaking the BankEnterprise-Grade Disaster Recovery Without Breaking the Bank
Enterprise-Grade Disaster Recovery Without Breaking the Bank
CloudEndure
 
Off-heaping the Apache HBase Read Path
Off-heaping the Apache HBase Read Path Off-heaping the Apache HBase Read Path
Off-heaping the Apache HBase Read Path
HBaseCon
 
Cassandra at eBay - Cassandra Summit 2012
Cassandra at eBay - Cassandra Summit 2012Cassandra at eBay - Cassandra Summit 2012
Cassandra at eBay - Cassandra Summit 2012
Jay Patel
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global Cassandra
Adrian Cockcroft
 
Why your project's brand is more important than the code - SCRIPT
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 Curcuru
 
Profiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your SoulProfiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your Soul
Shane Curcuru
 
Profiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your SoulProfiting From Apache Brands Without Losing Your Soul
Profiting From Apache Brands Without Losing Your Soul
Shane Curcuru
 
Common MongoDB Use Cases
Common MongoDB Use Cases Common MongoDB Use Cases
Common MongoDB Use Cases
MongoDB
 
MongoDB Schema Design: Four Real-World Examples
MongoDB Schema Design: Four Real-World ExamplesMongoDB Schema Design: Four Real-World Examples
MongoDB Schema Design: Four Real-World Examples
Mike Friedman
 
Ad

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

What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
Michael Collier
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshare
Aidan Casey
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
Senthamil Selvan
 
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 #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup
 
London .NET Developers Azure Websites
London .NET Developers Azure WebsitesLondon .NET Developers Azure Websites
London .NET Developers Azure Websites
Tom Walker
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
Nirmal Thewarathanthri
 
Sudheer d socalcodecamp_10_16_2011
Sudheer d socalcodecamp_10_16_2011Sudheer d socalcodecamp_10_16_2011
Sudheer d socalcodecamp_10_16_2011
SudheerD
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
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 Chanezon
 
module for backend full stack applications 1.pptx
module for backend full stack applications 1.pptxmodule for backend full stack applications 1.pptx
module for backend full stack applications 1.pptx
hemalathas752360
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share pptsNode js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
HemaSenthil5
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
Chris Dufour
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Emerson Eduardo Rodrigues Von Staffen
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
Edward Burns
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
Mohab El-Shishtawy
 
Global Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San DiegoGlobal Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San Diego
Michele Leroux Bustamante
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Anuradha Namal
 
Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011
SudheerD
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
Doug Vanderweide
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
Michael Collier
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshare
Aidan Casey
 
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 #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup
 
London .NET Developers Azure Websites
London .NET Developers Azure WebsitesLondon .NET Developers Azure Websites
London .NET Developers Azure Websites
Tom Walker
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
Nirmal Thewarathanthri
 
Sudheer d socalcodecamp_10_16_2011
Sudheer d socalcodecamp_10_16_2011Sudheer d socalcodecamp_10_16_2011
Sudheer d socalcodecamp_10_16_2011
SudheerD
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
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 Chanezon
 
module for backend full stack applications 1.pptx
module for backend full stack applications 1.pptxmodule for backend full stack applications 1.pptx
module for backend full stack applications 1.pptx
hemalathas752360
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share pptsNode js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
HemaSenthil5
 
Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)Microsoft Azure Platform-as-a-Service (PaaS)
Microsoft Azure Platform-as-a-Service (PaaS)
Chris Dufour
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Emerson Eduardo Rodrigues Von Staffen
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
Edward Burns
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 
Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011
SudheerD
 
Ad

More from Brian Benz (15)

How Microsoft learned to love Java
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love Java
Brian Benz
 
Azure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment Scenarios
Brian Benz
 
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
Brian 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 Azure
Brian 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 Azurev1
Brian Benz
 
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Brian Benz
 
NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
Brian Benz
 
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
Brian Benz
 
Ruby on microsoft azure april 2014
Ruby on microsoft azure   april 2014Ruby on microsoft azure   april 2014
Ruby on microsoft azure april 2014
Brian 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 Azure
Brian Benz
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
Brian Benz
 
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
Brian Benz
 
Solr on Microsoft Azure
Solr on Microsoft AzureSolr on Microsoft Azure
Solr on Microsoft Azure
Brian 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 Azure
Brian Benz
 
How Microsoft learned to love Java
How Microsoft learned to love JavaHow Microsoft learned to love Java
How Microsoft learned to love Java
Brian Benz
 
Azure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment ScenariosAzure Virtual Machines Deployment Scenarios
Azure Virtual Machines Deployment Scenarios
Brian Benz
 
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
Brian 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 Azure
Brian 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 Azurev1
Brian Benz
 
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc   mongodb on azure - tips tricks and examplesMongo db world 2014 nyc   mongodb on azure - tips tricks and examples
Mongo db world 2014 nyc mongodb on azure - tips tricks and examples
Brian Benz
 
NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
Brian Benz
 
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
Brian Benz
 
Ruby on microsoft azure april 2014
Ruby on microsoft azure   april 2014Ruby on microsoft azure   april 2014
Ruby on microsoft azure april 2014
Brian 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 Azure
Brian Benz
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
Brian Benz
 
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
Brian Benz
 
Solr on Microsoft Azure
Solr on Microsoft AzureSolr on Microsoft Azure
Solr on Microsoft Azure
Brian 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 Azure
Brian Benz
 

Recently uploaded (20)

IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 

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. [email protected]
  • 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