1 … 2 … Cloud: Welcome to the Sharks with freaking lasers, a Windows Azure overview

Post on 15-Jun-2015

774 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Windows Azure overview for E2 Partners

Transcript

1 … 2 … Cloud: Welcome to the Sharks with freaking lasers.a developers perspective on windows azure

Mike MARTIN, ArchitectCrosspoint Solutions

Me.About();Member of:

Mike Martin Architect MEET Member Crew Member of Azug Windows Azure Insider Windows Azure MVP @Techmike2KX mike.martin@csps.be http://techmike2kx.wordpress.com

What is the cloud?

An approach to computing that’s about internet scale and connecting to a variety of devices and endpoints

Cloud Computing Patterns

tCom

pute

Inactivity

Period

t

t

t

On and OffOn & off workloads (e.g. batch job)Over provisioned capacity is wasted Time to market can be cumbersome

Unpredictable BurstingUnexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases

Com

pute

Growing FastSuccessful services needs to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enough

Com

pute

Predictable BurstingServices with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacity

Com

pute

TIME

IT C

AP

AC

ITY

Actual Load

Allocated IT-capacities

Too Much Power

Not Enough Power

Load Forecast

Managing demand

Don’t forget you are also paying for unnecessary software licencing while you are over capacity*

Potential business

loss

Wasted capacity

Demand burst

Time

IT demand

Concert ticket web site

Ticket sales openTicket sales open

Compute capacity

CLMs

Cloud Computing

Software-as-a-Service

consume

SaaSPlatform-as-a-Service

build

PaaSInfrastructure-as-a-

Service

host

IaaS

SaaSPhysical Virtual

A Continuous Offering From Private To

Public Cloud

IaaS PaaS

Cloud ServicesPackaged Software

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

You m

anag

e

Infrastructure(as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Man

ag

ed b

y v

en

dor

You m

anag

e

Platform(as a Service)

Man

ag

ed b

y v

en

dor

You m

anag

e

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Software(as a Service)

Man

ag

ed b

y v

en

dor

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Cloud PlatformsPublic Cloud Platforms

Private Cloud Platforms

Infrastructure as a service (IaaS)

Platform as a Service (PaaS)

For Scalable Web Apps For Data-Driven Business Apps

For Collaboration Apps

Microsoft

Others

Dynamic infrastructure

Toolkit for System Center (Hyper-V Cloud,

AppFabric Server)

Dynamic DataCenter Toolkit for

Hosters (Hyper-V Cloud)

Hosters

Windows Azure Platform

VMWare vSphere (ESX,

vCenter)

Hosters

VMWare vCloud Initiative (ESX, vCenter)

Amazon Web Services

GoogleAppEngine

Saleforce.comForce.com

GoGrid Cloud Hosting, RackSPace, others

Dynamics CRM / xRM Online

Office 365

Windows Live

Google Docs

Amazon Web Services

Why consider the cloud?

EconomicsScaleSpeed

Welcome to Windows Azure

On-premises Cloud

Enterprise needs

Windows Azurefundamentals

On-premises AND Cloud

Integration

Identity

Virtualization

DataPlatform

Development DevOps and mgmt

data

servicestableHDInsight

blob storage

SQL database

app

services

media

hpcintegratio

n analytics

caching identityservice

bus

web sitesmobile

services

cloud services

infrastructure

servicescdn

virtual machines

virtual network vpn

traffic manager

Apps

virtual network

tablecloud services

caching identitydata

servicestableHDInsight

blob storage

SQL database

app

services

media

hpcintegratio

n analytics

caching identityservice

bus

web sitesmobile

services

cloud services

infrastructure

servicescdn

virtual machines

virtual network vpn

traffic manager

virtual network

data

servicestableHDInsight

blob storage

SQL database

app

services

media

hpcintegratio

n analytics

caching identityservice

bus

web sitesmobile

services

cloud services

infrastructure

servicescdn

virtual machines

virtual network vpn

traffic manager

Azure datacenters,your datacenters.

vpn

virtual network

virtual machine

s

vpn

Demo Azure Portal

Web sites Build with ASP.NET, Node.js or PHPDeploy in seconds with FTP, Git or TFSStart for free, scale up as your traffic grows

1shared reserved

SHARED INSTANCES

:-)

shared

Web sites

2SHARED INSTANCES

:-)

:-)

shared reserved

shared

Web sites

SHARED INSTANCES

:-)

1shared reserved

RESERVED INSTANCE

:-):-)

0reserved

Web sites

2shared reserved

RESERVED INSTANCE

:-)

RESERVED INSTANCE

:-)

reserved

Web sites

2shared reserved

RESERVED INSTANCE

:-)

RESERVED INSTANCE

:-):-)

:-) :-)

:-)

:-) :-)

reserved

Web sites

Vast Developer support ALM capabilities in CI/CD and version control

Visual Studio Online Visual Studio Integration

Much Much More

Demo Websites

Cloud servicesBuild infinitely scalable apps and servicesSupport rich multi-tier architecturesAutomated application management

What is a Cloud Service?

A collection of related service roles

Web Role Worker Role

What Can It Run?

General Rule

Choice of Language

Choice of Frameworks

If it runs in Windows it can run as a Cloud Service

C#, VB, C++, Java, PHP, Node.js, Phython, etc.

.NET, ExpressJS, Rails, Zend, etc.

Web Role

All features of a worker role + IIS 7, 7.5 or IIS 8.0*ASP.NET 3.5 SP1, 4.0 or 4.5* – 64bitHostsWebforms or MVCFastCGI applications (e.g. PHP)Multiple Websites

Http(s)Web/Worker HybridCan optionally implement RoleEntryPoint *for Windows Server

2012

Worker Role Patterns

Queue Polling WorkerPoll and Pop Messages within while(true) loopE.g. Map/Reduce pattern, background image processing

Listening Worker RoleCreate TcpListener or WCF Service HostE.g. Run a .NET SMTP server or WCF Service

External Process Worker RoleOnStart or Run method executes Process.Start()Startup Task installs or executes background/foreground processCustom Role Entry Point (executable or .Net assembly)E.g. Run a database server, web server, distributed cache

Role Lifecycle

All roles may extend RoleEntryPointRoles report status via RoleEnvironment

StatusCheck

StatusCheck

StatusCheck

Stopping

METHODS EVENTS STATUS

Roles and Instances

At runtime each Role will execute on one or more instances A role instance is a set of code, configuration, and local data, deployed in a dedicated VM

Roles are defined in a Hosted ServiceA role definition specifies:Virtual machine sizeCommunication endpointsLocal storage resourcesetc.

Worker Role 1

Windows Azure Cloud Services

instance #0

RequestDatabas

eResponseBrowser

Communications viaQueues and Tables

instance #1

instance #2

instance #3

instance #1

instance #3L

B

instance #0

Scale upand down

Web Role 1

Web & Worker roles

Applications are specifically developed for Windows Azure Web roles, Worker roles and storage

Windows Azure applications can be run in a development environment

Pay per role instance Two instances required for 99.95% SLA

Add and remove instances based on demand Load balancing is automatically configured

Choose your instance sizeCompute Instance Size CPU Memory

Extra Small Shared 768 MB

Small 1 1.75 GB

Medium 2 3.5 GB

Large 4 7 GB

Extra Large 8 14 GB

A6 4 28 GB

A7 8 56 GB

Each instance is deployed in its own VM You can use RDP to access the VM

Cost is based on deployed instance sizes Charged even if the instance is not running

Remember the SLA requires at least two instances per role

ServicePackage

ServicePackage

ServicePackage

Server Rack 1 Server Rack 2

Virtual machine

Virtual machine

Provision Role InstancesDeploy App CodeConfigure Network

Virtual machine

Virtual machine

Windows Azure Datacenter

ServicePackage

Provision Role InstancesDeploy App CodeConfigure Network

Windows Azure Datacenter

ServicePackage

Provision Role InstancesDeploy App CodeConfigure Network

Network Load Balancer

Windows Azure Datacenter

Network load-balancer configured for traffic

Provision Role InstancesDeploy App CodeConfigure Network

Network Load Balancer

Windows Azure Datacenter

Worker Role 1

Deploying Cloud Services

instance #0

RequestDatabas

eResponseBrowser

Communications viaQueues and Tables

instance #1

instance #2

instance #3

instance #1

instance #3L

B

instance #0

Scale upand down

Web Role 1

The developer builds the application

Configuration data values can be updated on the live system

The binaries and definition (csdef) file are zipped intoservice package file

Update & Fault Domains

Windows Azure distributes instances across multiple Update Domains to support in-place upgrades One domain is updated at a time

Supports application and Windows Azure OS updates Service remains running with reduced capacity

Similar concept used to support Windows Azure datacentre hardware failures Instances are distributed across multiple fault domains

A single failure will allow service to remain running

Worker Role Inst #0

Web Role Inst #0

Update Domain 0

Worker Role Inst #1

Web Role Inst #1

Update Domain 1

Worker Role Inst #2

Update Domain 2

Staging and production

A service can be deployed to staging, tested and “moved” to production by swapping the VIP

A service upgrade can be deployed to staging and then swapped to the production environment During the swap the current production environment is “moved” to staging

Production

Staging

Production URL

Staging URL

LB

LB

http://<guid>.cloudapp.net

http://<name>.cloudapp.net

Vast Developer support ALM capabilities in CI/CD and version control

SDK’s and NuGet Packages Visual Studio Integration

Much Much More

Demo

Deploying and running applications

Virtual machinesWindows Server and LinuxFlexible Workload SupportVirtual Private Networking

Windows Azure

Your Data Center

Windows Azure

Your Data Center

Your Data Center

Windows Azure Other Service Providers

Windows Azure Storage

VM with persistent drive

Windows Azure Storage

VM with persistent drive

Windows Azure Storage

VM with persistent drive

Reliable and always on

Windows Azure Storage

VM with persistent drive

Continuous storage

geo-replication

WEST

DC

EASTDC

> 500 miles

Windows Azure Storage

Demo Virtual Machines

StorageBlobsTablesQueues

Windows Azure Storage Abstractions

TablesStructured storage. A table is a set of entities; an entity is

a set of properties.

QueuesReliable storage and delivery of messages for an application.

BlobsSimple named files along with metadata for the file.

Blob Storage Concepts

BlobContainerAccount

http://<account>.blob.core.windows.net/<container>/<blobname>

Pages/ Blocks

contoso

PIC01.JPG

Block/Page

Block/Page

PIC02.JPG

images

VID1.AVIvideos

Table Storage Concepts

EntityTableAccount

contoso

Name =…Email = …

Name =…EMailAdd=

customers

Photo ID =…Date =…

photos

Photo ID =…Date =…

No Fixed Schema

FIRST LAST BIRTHDATE

Wade Wegner 2/2/1981

Nathan Totten 3/15/1965

Nick Harris May 1, 1976

FAV SPORT

Canoeing

Querying

FIRST LAST BIRTHDATE

Wade Wegner 2/2/1981

Nathan Totten 3/15/1965

Nick Harris May 1, 1976

?$filter=Last eq ‘Wegner’

Storage

Local storage can be allocated on an instance bases All Web and Worker roles are stateless so local storage should only be

used for caching

Persistent storage is managed through BLOBs

NTFS VHD drive can be stored in blobs and attached to instances Tables Queues SQL Azure

Storage access

Blobs, tables and queues are accessible via URLs Accessible via Representational State Transfer (REST) APIs

Uses HTTP methods : POST, GET, PUT and DELETE Requests are signed with the storage key

All Windows Azure storage can be accessed from anywhere

Demo Storage

DBSQL databaseRelational SQL Server Engine in the CloudClustered for high availabilityFully Managed ServiceSQL Reporting support

A Server Is Not A Machine

SQL Server

A Machine

SQL Database

Server

A TDS Endpoint

How It Works

ArchitectureClient Layer - Used by application to communicate directly with SQL Database.Services Layer – Gateway between Client layer and Platform layer.Platform Layer – Includes physical servicers and services that support the Services layer.Infrastructure Layer – IT administration of the physical HW and OS.

Infrastructure Layer

PHPWCF Data Services

SQL ServerApplications

and Tools

ODBC ADO.NET

Tabular Data Stream (TDS)

Client Layer

Services Layer

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

TDS+SSL

Platform Layer

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

Database Replicas and Failover

Replica 1

Replica 2

Replica 3

DB

Single Database Three Replicas

Single Primary

Replica 4

!

DemoWASD – SQL DB

WAAD: Windows Azure Active Directory

74

Managing Identity in the Cloud

• Application On-premise Partner

organization Somewhere!!!

User

• User On-premise Partner

organization Somewhere!!! • User’s Identity

On-premise Partner

organization 3rd Party Identity

provider

Name: FredPassword: *****Age: 107Country: Japan

Federation joins it all together

Windows Azure Active Directory Windows Azure AD includes the Access Control Service

(ACS) Provides a method for applications and services to authenticate and authorize users

ACS brokers authentication with popular identity providers Live ID Google Yahoo Facebook http://socialsts.net/

Relying parties can be applications or AD FS

Demo

Monitoring and diagnostics

Windows Azure

Windows Azure Services

Windows Azure management

Portal APIs

Blobs, tables, queues

Building blocks for distributed services Access control Network connectivity

Connect on-premise and Cloud applications

Caching

Windows Admin Server Tools

On-premise managementOn-premise development

Visual Studio, Azure SDK etc

compute databasestorage

Cloud services

Web sites

Virtual machin

es

Applicationbuilding blocks

StorageBig data

Caching

CDN

Database

Identity

Media

Messaging

Networking

Traffic

80

Azure Cloud offers you the opportunity to be the expert at bringing scalability and agility to your company’s applications and services

81

Thank you

top related