Best Practices for CouchDB Developers on Windows Azure Brian Benz, Sr. Technical Evangelist Microsoft Open Technologies, Inc.

Slides:



Advertisements
Similar presentations
Intro to Windows Azure Antimo Musone Cloud Tour Owner Microsoft Student Partner
Advertisements

System Center 2012 R2 Overview
Linux on Windows Azure Andreas Wasita.
Page 1 Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation Designing, Building, and Deploying Windows Azure applications.
Accelerate adoption, provide customer insights to engineering, and deliver knowledge to the IT Pro community.
The Cloud for Modern WakeUpAndCode.com.
Inside Windows Azure Virtual Machines Vijay Rajagopalan Microsoft Corporation.
Deep Dive into Windows Azure Virtual Machines – From Cloud Vendor and Enterprise Perspective Vijay Rajagopalan Principal Lead Program Manager Microsoft.
Engineering the Cloud Andrew McCombs March 10th, 2011.
Windows Azure Virtual Machines
Migrating Applications to Windows Azure Virtual Machines Michael Washam Senior Technical Evangelist Microsoft Corporation.
Microsoft, Linux and the Open Source Community Mark Gayler, Senior Technical Evangelist, Microsoft Open Technologies, Inc.
Cross Platform Mobile Backend with Mobile Services James
Deploying and Managing Windows Server 2012
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Windows Azure with a dash of OSS Peter Laudati Technology Evangelist Microsoft Corporation
What is Cloud Computing? Cloud computing is the delivery of computing capabilities as a service, making access to IT resources like compute power, networking.
Visual Studio 2012 or 2013 VisualStudio.com (or) Github (or) Bitbucket (or more) Azure Cross-Platform Command Tools Setup if you want to play too.
Microsoft Confidential - Signed NDA Required Windows Azure Executive Vision and Roadmap NAME TITLE Microsoft Corporation.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Migrating Business Apps to Windows Azure Marc Müller Principal Consultant, 4tecture GmbH
Microsoft Azure Virtual Machines. Networking Compute Storage Virtual Machine Operating System Applications Data & Access Runtime Provision & Manage.
Windows Azure: Microsoft’s Cloud Platform By Shahed Chowdhuri.
Your First Azure Application Michael Stiefel Reliable Software, Inc.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Partner Practice Enablement - Overview This session will focus on integration strategies for applications deployed using Microsoft Azure Websites and Microsoft.
Microsoft Azure SoftUni Team Technical Trainers Software University
WINDOWS AZURE Scott Guthrie Corporate Vice President Windows Azure
Website s Azure Websites is an enterprise class cloud solution for developing, testing and running web apps. Azure Websites allows you to focus on what.
Windows Azure Migrating Applications and Workloads Speaker Title Organization.
IOS and Android with Windows Azure Websites Name Title Address Website.
Lugano Microsoft Azure Overview Ken Casada Technical Evangelist Microsoft Switzerland
Ubuntu, SUSE, OpenSUSE, CentOS & Oracle EL + hundreds on VM Depot Bring your own framework! Ecosystem Supported Microsoft 1st Party Support.
Hybrid Cloud and Windows Server 2003 end of support on Azure Rod Kruetzfeld Data Center Technical Strategist Microsoft Canada.
Node.js & Windows Azure AZR326  JavaScript on the Server!  Event driven I/O server-side JavaScript  Not thread based, each connection uses only a.
How* to Win the #BestMicrosoftHack Shahed Chowdhuri Sr. Technical WakeUpAndCode.com *Hint: Use the Cloud.
Windows Azure Virtual Machines Anton Boyko. A Continuous Offering From Private to Public Cloud.
Microsoft Azure Active Directory. AD Microsoft Azure Active Directory.
Developer Day Windows Azure June 2012 & October 2012 News Mario Szpuszta Cloud Architect & Technical Evangelist, Microsoft Corp.
Multi-Tier Apps with Admin Access, RDP, Custom Installs Modern Scalable Web Sites Full Windows Server/Linux VMs Web Sites Virtual Machines Cloud Services.
Azure in a Day Training: Windows Azure Module 1: Windows Azure Overview Module 2: Development Environment / Portal – DEMO: Signing up for Windows Azure.
On Premises Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime You manage Infrastructure (as a Service) Storage Servers.
Enabling the Cloud OS Today  New high-density Web Sites with elastic cloud scaling and complete dev-ops experiences  New rich IaaS experience for self-service.
Windows Azure Overview for IT Pros Anton Boyko. Intro to Cloud Computing Intro to Windows Azure Cloud Services Web Sites Virtual Machines Workload Options.
Hello Cloud… Mike Benkovich
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
ALL INFORMATION PRESENTED AS WELL AS ALL SESSIONS ARE MICROSOFT CONFIDENTIAL AND UNDER YOUR NON-DISCLOSURE AGREEMENT (NDA) AND\OR TECHNOLOGY PREVIEW.
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
Deploying Highly Available SQL Server in Windows Azure A Presentation and Demonstration by Microsoft Cluster MVP David Bermingham.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
Windows Azure Pack Speaker Name Date. Internal slide only—do not show.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
Deploying Web Application
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Tulika Chaudharie / Harikharan Krishnaraju
Cloud Data platform (Cloud Application Development & Deployment)
Platform as a Service.
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
PaaS - Development Stefan Geiger Gerry
02 | Hosting Services in Windows Azure
Introduction to Windows Azure Web Sites
Modern cloud PaaS for mobile apps, web sites, API's and business logic apps
Agenda Need of Cloud Computing What is Cloud Computing
Microsoft Virtual Academy
Microsoft Virtual Academy
Presentation transcript:

Best Practices for CouchDB Developers on Windows Azure Brian Benz, Sr. Technical Evangelist Microsoft Open Technologies, Inc.

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

Demo Windows Azure, Virtual Machines, Web Sites, CouchDB, node.js, grunt Conference Scheduling App

Demo Link

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 Packaged Software Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime You manage Infrastructure (as a Service) Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime Managed by vendor You manage Platform (as a Service) Managed by vendor You manage Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data Software (as a Service) Managed by vendor Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data

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 % Monthly SLA Pay only for what you use

Windows Azure: What It Is

Global Footprint

Windows Azure: What It Is Cloud Services Web Sites Virtual Machines

Windows Azure: What It Is Flexible

Windows Azure: What It Is HostBuildConsume IaaSPaaSSaaS

Getting Started 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 Driver Your 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 SUSE Linux Enterprise Server SP2

Virtual Machine Sizes VM Size CPU Cores Memory Bandwidth (Mbps) # Data Disks Extra SmallShared768 MB51 Small11.75 GB1002 Medium23.5 GB2004 Large47 GB4008 Extra Large814 GB80016

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: installer-for-windows-azure installer-for-windows-azure

VM Depot – 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 Windows Azure Developer Center.NET driver Node.js driver Java driver PHP driver Python driver Driver download page

azuretopicverboptions 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 en-us-30GB.vhd" username password -l "West US" -e azure vm create couchsd "OpenLogic__OpenLogic-CentOS en-us-30GB.vhd" username password -l "West US" -e 23 -c azure vm create couchsd "OpenLogic__OpenLogic-CentOS en-us-30GB.vhd" username password -l "West US" -e 24 -c azure vm endpoint create couchsd azure vm endpoint create couchsd azure vm endpoint create couchsd

Active Directory Group Policy Windows Remote Management (WinRM) SCOM 2012 Support for Managing Virtual Machines Full REST API for Programmatic Automation and Management Windows Azure PowerShell Cmdlets Cross Platform Scripting (Linux, Mac and Windows) Windows Azure Monitoring Service (On Roadmap)

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: chdb-installer-for-windows-azure#h2Section5 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

Which approach is best for you?

Web Sites Deploying Web Sites on Windows

reserved

SHARED INSTANCES

Supported Web Frameworks

Supported Publishing Methods

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 ThreadsEvents Threads lock apps / threadsOne thread Listens for incoming requestsProcess from queue Multiple threads dependent on multiple processes State saved for each event Depends on context switchingNot 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: VM Depot: Windows Azure development: SDKs and Command Line Tools: Windows Azure Training Kit: Microsoft Web Platform Installer: Web Matrix Project Kudu The application I showed today

Q&A