deploying couchbase applications on azure cloud: couchbase connect 2014

23
Deploying Couchbase Applications on Azure Cloud Rafael Godinho Evangelist Microsoft Cihan Biyikoglu Director of Product Management Couchbase

Upload: couchbase

Post on 08-Jul-2015

838 views

Category:

Data & Analytics


1 download

DESCRIPTION

Video available at: https://vimeo.com/109855059 In this joint talk, Cihan and Rafael will present how to deploy Couchbase Server on Azure Cloud with plenty of demos. In part I, we will take a look at Azure Cloud and Virtual Machines and look at models for deploying Couchbase Server. In Part II, we’ll cover best practices for Couchbase Server deployments to Azure and finally in Part III, we’ll take a look at deploying Couchbase Server apps to Azure Cloud. If you are looking at deploying Couchbase Server in the Public Cloud, this is the talk is a ‘must see’!

TRANSCRIPT

Page 1: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Deploying Couchbase Applications

on Azure Cloud

Rafael Godinho – Evangelist Microsoft

Cihan Biyikoglu – Director of Product Management Couchbase

Page 2: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

• Part I - Azure Intro

• Azure Cloud Overview

• Part II - Provisioning Virtual Machines in Azure

• Live Demo

• Part III – Setting up Couchbase on Azure Virtual Machines

• Best Practices with Azure

VM SKUs, Network Config, Availability Set Configuration and more…

• Part IV – Deploying a .NET Couchbase app on Azure

• Live Demo

• Part V - Q&A

Agenda

©2014 Couchbase, Inc. 2

Page 3: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

PART I

Intro to Azure

Page 4: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Microsoft Azure

Page 5: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Game sessions hosted

using Azure

Hosted using >100,000

Azure Virtual Machines

Page 6: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Microsoft Azure ServicesC

lien

t la

yer

(on

-pre

mis

es)

Tablet Phone

Games

consolePC

On-

premises

databaseBrowser

Office Add-

in

On-

premises

service

AD

Multifactor

Authentication

Access

Co

ntr

ol

Layer

Inte

gra

tio

n

layer

Service Bus CDN

BizTalk

Services

Traffic

Manager

Virtual

NetworksExpress

Route

Ap

pli

cati

on

layer

API Mgmt Websites

Cloud

Services VM

Mobile

Services

Media

Services

Notification

Hubs Scheduler Automation

Data

Layer

Storage Blobs Tables Queues Data

Machine

Learning HD Insight

Backup and

RecoverySQL

Database Caching StorSimple

Page 7: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

PART II

Provisioning VMs in Azure

Page 8: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Provisioning a Virtual Machine

©2014 Couchbase, Inc. 8

>_

Page 9: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

DEMO

Provisioning a Virtual Machine on Azure

©2014 Couchbase, Inc. 9

Page 10: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

PART III

Best Practices - Couchbase Server on

Azure

Page 11: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Minimum HW Recommendation for Couchbase

2 cores and 4GB for development

4 cores and 16GB for production

Typical Picks

For Dev. Workloads

- D2, D11, A3, A5 or larger

For Prod. Workloads

- D3, D12 or A6 or larger

Best Practices – Node Sizes

©2014 Couchbase, Inc. 11

Page 12: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Virtual Network are the most efficient way to communicate!

• Configure a Virtual Network for Nodes & Apps Per DC/Region

• Setup Vnet to Vnet connection between DCs/Regions

Best Practices – Configuring Azure Network

©2014 Couchbase, Inc. 12

Azure East

Couchbase Apps

Couchbase Server Cluster

Azure West

Couchbase Apps

Couchbase Server Cluster

Page 13: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Configure a Virtual Network per DC/Region for Couchbase Nodes & Apps

- PrivateIPs are faster to route compared to public IPs

Best Practices – Configuring Azure Network

©2014 Couchbase, Inc. 13

10.0.0.410.0.0.510.0.0.6…

VM PrivateIPs

Page 14: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Configure Availability Sets & Server Groups for Full Protection

• Ensure Protection against Upgrades and Rack Failures

Configure Availability Set per VNet

Ensure all nodes are in the same availability set

Ensure all nodes are in separate groups in Couchbase Cluster

Best Practices – Configuring Availability Set

©2014 Couchbase, Inc. 14

Page 15: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Couchbase Server Configuration

• Use Static IPs with NodesSet-AzureStaticVNetIP in Powershell or Check the box in the new portal..

• Use PrivateIP for server comm. Register node PrivateIPs (ex: 10.0.x.x) on Admin Console

Enable Remote AdministrationSome use jump-box to front admin access, others open 18901 for encrypted Admin Access (with Couchbase Server 3.0 only). Defense in Depth…

Map to another random port for security externally ACL the 18091 endpoint

Best Practices – Configuring Server Config.

©2014 Couchbase, Inc. 15

Page 16: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Security Best Practices

- Admin Endpoint:

Couchbase Admin Console & CLI: 18091

- 18091 is SSL encrypted.

- ACL 18091 for added security

- No need to open any other port!

- Encrypt XDCR Traffic:

Cross DC/Region Traffic with SSL

Best Practices – Configuring Couchbase Server

©2014 Couchbase, Inc. 16

Page 17: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Couchbase App Configuration

• Ensure Apps deploy to the same Vnet

Websites, VM Apps or Cloud Services

privateIPs (10.0.x.x)

• Use Encrypted Data Access

SSL based Client-server Communications

SSL based View Access

https://couchbase_server:18092/…

Best Practices – Configuring Azure Network

©2014 Couchbase, Inc. 17

Page 18: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

Production Deployments

- Mount data disks & stripe across with RAID 0

Do not use ephemeral drive – will be reset under node restart

Do not use OS drive – limited in size

Do Not use ReadWrite caching for Couchbase Server data drives

- Writes through to Azure Storage

Best Practices – Storage Configuration

©2014 Couchbase, Inc. 18

Page 19: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

PART IV

Deploying a Couchbase .NET App on Azure

Page 20: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

.NET

Python

Develop apps with…

Node.js

Java

PHP

Page 21: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

DEMO

Deploying a .NET app on Azure

©2014 Couchbase, Inc. 21

Page 22: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

22

Page 23: Deploying Couchbase Applications on Azure Cloud: Couchbase Connect 2014

QA