all about azure workshop deck

Post on 17-Jul-2015

98 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Alexey Bokov

Azure Technical Evangelist, Senior Program Manager

Azure for developers:Linux, Web sites and applications

Why do we need cloud ???

On-premise vs Cloud environment

Usage data depends looks strange

But reality is closer to that

Applications are going to the cloud

2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020

Net New Cloud 0% 3% 6% 10% 17% 26% 37% 49% 63% 79% 96%

Replaced to Cloud 11% 13% 15% 18% 22% 26% 30% 35% 39% 44% 49%

Migrated to IaaS 1% 3% 5% 7% 10% 12% 14% 17% 18% 20% 21%

Traditonal 88% 89% 88% 85% 82% 77% 71% 65% 59% 51% 44%

0%

50%

100%

150%

200%

250%

% O

F 2

01

0 A

PP

PO

RT

FO

LIO

300,000

55% of the Fortune 500 companies

₩ ¥

€руб

$

$

Rp

TL

chf

krkr

$R$

$

North Central US

South East Asia/

Singapore

East Asia

/Hong Kong

North Europe/ Dublin

West Europe/

Amsterdam

South Central US

East USWest US

Japan East/

Saitama

Japan West

/ Osaka

Brazil South / San

Paulo (preview)

China South+North/

Vianet21

Microsoft Azure : 13 datacenter locations

Azure datacenters

Tour to Datacenter: aka.ms/gfs-video

Microsoft Azure – Dublin datacenter

Global Foundation Services video : bit.ly/1f1Crh0

Latency in Europe

Global Azure Content Delivery Network

Node locations list on world map

aka.ms/cdn-map

Global Azure Content Delivery Network

Node locations list on world map aka.ms/cdn-map

From\To (ms) North-central US South-central US North Europe West Europe East Asia South-East Asia

North-central US 4.2 35.3 97 103.6 190.9 219.7

South-central US 37.8 2.3 111.2 117.5 190 218.6

North Europe 99.8 111.8 2 20.9 283.3 312.3

West Europe 107.5 118.6 21.1 2.3 291.8 320.8

East Asia 194.5 190.8 284.2 291.7 1.6 32.6

South-East Asia 223.1 219.2 312.9 320.1 32.2 1.9

Cross Data center latencies

Want to try ?Free 30 days trials on azure.com2 year free trial for MSDN members

3 year free trial for BizSpark member

– each BizSpark trial includes 5 MSDN subscriptions

You may try to get Windows Azure Offer $5K/mo for 1 year (

BizSpark+)

25% discount to MSDN members for out-of-limit Azure usage

Discounts via Enterprise Agreements with Microsoft

Microsoft program for startups : BizSpark

Easy to register – bizspark.com3 year free trial for member

– each BizSpark trial includes 5 MSDN subscriptions

You may try to get Windows Azure Offer $5K/mo for 1 year (

BizSpark+)

Case studies

Just a few of them is:

• Olympic games 2014 – we developed and host sochi2014.com, provide online streaming

for NBC Sports

• Xbox games – most of games are back-end on Azure – like Titanfall, Xbox team is biggest internal

customer

• The Romanian Ministry of Education via Siveco uses Azure for high school

admission application, ADLIC, which is used to publish high school entry test scores.

aka.ms/azure-cases

Azure accounts

• Account administrator – purchase subscription, can see all billing info

• Service administrator – can manage subscription, can’t see billing

• Service co-administrator - the like service admin, but can’t add another co-admin

The Service Administrator is a property of each Azure subscription, and it represents a person

who can login to the Developer Portal and develop against a subscription (e.g. deploy to it or

create new resources). Typically, an Account Administrator purchases an Azure subscription,

makes his or her developer the Service Administrator and now the developer can login to the

Developer Portal. A Service Administrator cannot see the subscription’s billing details in the

Billing Portal. The Service Administrator can only be changed in the Billing Portal.

A Co-Administrator is very similar to the Service Administrator, with a small difference – they

are added from within the Developer Portal and there can be multiple Co-Administrators for a

subscription but only one Service Administrator. Similar to the Service Administrator, a Co-

Administrator cannot see billing details.

Azure accounts

Azure accounts

Azure accounts

Accounts setup: standard customer

Accounts setup: enterprise customer

Task #1 – Have Azure account works• Register Azure account

• Login into portal – find account administrator, service administrator

• Check billing page

• Switch between two portals – new and old

• Setup command line tools and configure them

• Use publish settings file for configure tools

Front-EndFront-End

Windows

Azure

Storage,

SQL Azure

Azure

Load

Balance

r

Virtual MachinesОC: Linux, Windows, vmdepot.msopentech.com

A-series: VM for common usage ( A8-A11 – HPC VMs with high CPU/network requirements )

D-Series: For tasks where we need fast cache-like storage based on SDD

DS-series: When we need SDD persistent storage

G-series: “Godzilla” with huge amount of RAM

A Series – Basic and standard tier

•Availability: Basic tier VM is only available on A0-A4

instances, standard tier VM is available on all size instances

•Disk IOPS: Data disk IOPS for basic tier VM is 300, low

than standard tier VM which has 500 IOPS data disk.

•Price: Single tier VM can have up to 27% less in price

than standard tier VM.

•Feature cut: Basic tier VM does not include load

balancing or auto-scaling

•CPU: Standard tier have better CPU performance than

basic tier

A Series – Basic

Basic: Limited to 300 IOPS per data disk.

A Series – Standart

Standard: Gives you up to 500 IOPS per data disk, but also offers load balancing and auto-scale

A Series – Network intensive

10GB Ethernet + 2nd NIC : 32 Gbits RDMA/

The same like A8\A9, only 10GB Ethernet

(no 2nd NIC with RDMA)

D Series standard

Better processors: 60% faster than A-series hosts

Host-local SSD: The host uses a local SSD volume to place the

temporary drive of the running virtual machines. This provides faster

paging and the ability to (disk) cache app/database data at ultra-high

speeds with low latency.

DS Series

Must use on of the disk specs SSD based premium storage

Azure Premium Storage

Godzilla series

These machines, like the D-series, make use of a host-local SSD drive to

place the temporary drive for performance. But the G-series virtual

machines are sized to provide much more RAM.

Multiple Network Interface Card support

NIC VM size

1 All except below

2 A3,A6,A8,D3,D12,G3

4 A4,A7,A9,D4,D13,G4

CPU TypesA-SERIES A0-A7: not officially specified ( may be AMD Optetron 1.6-2 GHz )

A-SERIES A8-A9-A10-A11: Intel® Xeon® E5-2670 2.60 Ghz

D-SERIES: not officially specified

DS-SERIES: not officially specified

G-SERIES: Intel® Xeon® processor E5 v3 family

Real life exampleD14 / CentOS 6.5 / $1.5 per hour 16 cores

RAM 112 Gb

Persistent storage ( blobs ) 30 Gb

Ephemeral ( SSD cache ) storage 800 GB

Azure blob storage – speed up by RAID array

Azure blob storage – speed up by RAID array

• Combining disks using Storage Spaces gives increase bandwidth in the times- from 2.8 to 9.25 times

depending on the scenario

• If you use 1 drive max speed is achieved when operations read-31,33 MB/s, while the indicator of the IOPS is

equal to its declared Microsoft (500 IOPS per disk data)

• Maximum speed when using 16 discs recorded in the script consistently record – 287,45 MB/swhen IOPS =

4599,34

CPU performance

On average, Microsoft Azure’s D-Series VMs outperformed their A-Series counterparts by 58

percent (see chart below). The difference between the A4 and D4 was only 43 percent due to

the considerable performance variation within the D4 instance

CPU variability

AMD OpteronTM Processor 4171 HE and the Intel Xeon CPU E5-2660

The AMD-based VMs exhibited a 6 percent performance advantage in integer-related

compute tasks, while the Intel-based VMs exhibited a 3 percent performance advantage in

floating point-related compute tasks

Memory bandwidth

Different types of hardware had an impact on the memory bandwidth of the A-Series.

VMs running on an AMD Opteron Processor 4171 HE showed 60% higher memory bandwidth

than VMs running on the Intel Xeon CPU E5-2660. The highest memory bandwidth observed for

the A-Series was 10.9 GB/s, whereas the highest recorded bandwidth for the D-Series was 58 percent

higher, at 17.2 GB/s.

Memory bandwidth variations

The A2, A3, D2 and D4 instances had relatively large fluctuations in memory bandwidth. The

Performance Variability for A2, A3, D2 and D4 were 20%, 24%, 27% and 52% respectively, while

the average Performance Variability for the other instances was approximately 4%

Storage performace (sequential write)

The D-Series VMs on average had 6.3X greater local sequential write IOPS than their A-Series

counterparts:

Storage performace (random write)

The D-Series VMs on average had 13.7x greater local random write IOPS than their A-Series

counterparts:

Storage performace (sequential read )

The D-Series VMs on average had 2.7x greater local sequential read IOPS than their A-Series

counterparts:

Storage performace (random read)

The D-Series VMs on average had 4.1x greater local random read IOPS than their A-Series

counterparts

Performance variability

Compared to the A-Series, whose storage PV ranged from 8 percent to 213 percent, the D-

Series showed significantly less variability. The D-Series’ storage PV mainly ranged from 0

percent to 4 percent, with only two exceptions in the random write tests (see chart below).

The

stability of the D-Series environments, however, may be attributed to a lower number of users,

thereby limiting user contention.

Compare A vs D - common informationCPU:

The D-Series’ vCPUs outperformed the A-Series’ vCPUs by 58%. A8-A11 are faster than D-series.

RAM:

The D-Series VMs displayed, on average, 65% more memory bandwidth than their A

The maximum memory bandwidth on the D-Series was 58% more than on the A-Series (17.2 GB/s vs. 10.9 GB/s).

Significant fluctuations on memory throughput were observed on the A2, A3, D2 and D4 instances.

Variability ranged from 20% to 52% of the average across the five-day testing period

Storage:

The D-Series had an average of 6.3x more IOPS than the A-Series for local storage.

The D-Series write IOPS scaled significantly as the VM sizes became larger.

The A-Series showed much more storage performance variability than the D-Series. D-Series

performance variability was under 5% for almost all measurements.

Task #2

• Run VM ( Linux or Windows ) - better to use command line tools

• If you can create PS or SH script for that – you’re HERO!

• Check speed of hard disk drive

• Create RAID 0 with 2 blobs

• Check speed disk

• Create RAID 0 with 4 blobs

• Check speed disk

•Share results

>375kWebsites Hosted

>2BillionRequests per Day

>200k UniqueCustomers

120%Yearly Paid Subscription Growth

%Yearly Revenue

Growth

Azure Websites by the Numbers

650%Yearly Traffic

Growth500

Azure Websites Customers and PartnersFolks doing interesting things on the platform

Objectives• Scalable e-commerce

website to sell flights,

both through travel

agencies and directly to

consumers

Tactics• Built Azure -based

website using

Umbraco and SQL on

Azure for content and

images.

• Using VNET

connecting on-

premise

Results• Scalable Website with

integration for Flight

booking and Check In

systems

Jägermeister

Objectives• Create brand awareness

and loyalty

• Understand tastes and

preferences of audience

• Connect consumer

through shared

experiences

TacticsCloud-based website

and mobile application

for engaging customers

through social media.

video and audio

features.

Results• Mobile app and Website

JagerBonds allows

posting photos and

videos to Facebook or

Instagram

• Compile posts and pair

them with songs

Hogarth - Digital Marketing Platform

Objectives• Hogarth wanted to

streamline the

development and

management of its

clients websites.

TacticsHogarth developed an

innovative Digital Web

platform on Azure

Websites

Results• Dramatically reduces website

launch times.

• Scales to meet demand—no

matter how high.

• Provides the ability to localize

and update sites quickly and

easily.

Azure Websites Features & Capabilities

Designed for secure mission-critical applications Optimized for Availability and Automatic scale Agility through Continuous Deployment

Hybrid Connections / VPN Support

Scheduled Backup

Azure Active Directory Integration

Site Resiliency, HA, and DR

Web Jobs

Role Base Access Control

Audit / Compliance

Enterprise Migration

Client Certs

Redis Caching

IP Restrictions/ SSL

Web Sockets

SQL, MySQL, DocDB, & Mongo

Automated Deployment

AutoScale

Built-in Load Balancing

WW Datacenter Coverage

End Point Monitoring & Alerts

App Gallery

DR Site Support

WildCard Support

Dedicated IP address

HTTP Compression

WebJobs

Sticky Sessions

Remote Debugging w/ Visual Studio

Site Staging Slots

Testing in Production

Continuous Integration/Deployment

Git, Visual Studio Online and GitHub

App & Site Diagnostics

OS & Framework Patching

Site Extensions Gallery

NET, PHP, Python, Node, Java

Framework Installer

Browser-based editing

Auto-Healing

Logging and Auditing

Note: Features to discuss today are in BOLD. Items with a * are to be released

foo.azurewebsites.net foo.scm.azurewebsites.net

Staging

Production

swap

Developer

Production

Developer

Staging

Production

swap

Developer

Staging

Production

swap

Developer

Azure Web Site

Azure Websites Features & Capabilities

Designed for secure mission-critical applications Optimized for Availability and Automatic scale Agility through Continuous Deployment

Hybrid Connections / VPN Support

Scheduled Backup

Azure Active Directory Integration

Site Resiliency, HA, and DR

Web Jobs

Role Base Access Control

Audit / Compliance

Enterprise Migration

Client Certs

Redis Caching

IP Restrictions/ SSL

Web Sockets

SQL, MySQL, DocDB, & Mongo

Automated Deployment

AutoScale

Built-in Load Balancing

WW Datacenter Coverage

End Point Monitoring & Alerts

App Gallery

DR Site Support

WildCard Support

Dedicated IP address

HTTP Compression

WebJobs

Sticky Sessions

Remote Debugging w/ Visual Studio

Site Staging Slots

Testing in Production

Continuous Integration/Deployment

Git, Visual Studio Online and GitHub

App & Site Diagnostics

OS & Framework Patching

Site Extensions Gallery

NET, PHP, Python, Node, Java

Framework Installer

Browser-based editing

Auto-Healing

Logging and Auditing

Note: Features to discuss today are in BOLD. Items with a * are to be released

Pre-installed extensions internals

Task #3

• Create simple hello world web site, commit to github /any

repo

• Create web site based on that

• Create production/dev staging configuration

• Compare two techniques of deployment to production:

• Merge dev branch (after QA) with production branch

• Swap production/development staging

• Add domain Simpology.eu for production

• Use KUDU!!!

WebJobs

Running Modes• On Demand

• User or REST API triggers the WebJob to execute

• Scheduled• Uses the Azure Scheduler to trigger the execution • Load balanced automatically (execution happens on the least loaded instance)

• Continuous• Runs all the time (as a service)• System monitors the state, and restarts if needed

• Singleton or Parallel mode

• Contiguous• System monitor is only running when the website runs

• Hence, WebJob will only run when the website is up (sites with no traffic, sleep)

• Event triggered• Can be bound to storage, queues, blob, tables, service bus queues,

• Execute on an event

Running Platform• Inherits from Azure Scheduler

• Inherits from Azure Websites• All features: Always ON, deployment slots, • Languages: cmd, bat, exe, ps1, sh, php, py, js, jar…• Deployment options• Scalability

• Folder structure• {site}\wwwroot\App_Data\jobs\{ job type}\{ job name}

• Load Balancing• Triggered WebJobs are automatically load balanced • Load Balancer forwards to least loaded instance

WebJobs SDK• Binding

• Azure Storage: Queues, Blobs, and Tables, • Service Bus: Queues

• Events• on New: Queues, Blobs, Service Bus• on Modify: Blobs

• Monitoring• At the Function level

• Invocation parameters, Execution time, I/O, • Basic profiling

• Casuality (chaining) between functions

• Parallelism• Single or multiple Queue items• Parallel processing of Queue items• Async functions

73

Triggered jobs (Scheduled / On Demand)

System logs and user output

Graceful shutdown

Webhook for triggered job complete

Parameter passing as command line arguments

Run manually or on demand

Scheduled to Run Once

Scheduled Run repeatedly (every 1min - 18mo.)

Advanced schedules via Azure Scheduler

Configurable retry and error actions

Continuous jobs

System logs and user output

Singleton or parallel mode

Graceful shutdown

Always On for continuous (otherwise contiguous)

Settings file (optional)

Configurable restart time and timeouts

History size for triggered (# runs)

Stacks

cmd, bat, exe, ps1, sh, php, py, js (inherited list)

API

REST API via SCM endpoint

CSM endpoint

Triggers (Azure storage and Service bus)

on new for Queues, Blobs, Tables, Service Bus

on modify for Blob, Table

on delete for Blob, Table

Bindings

Blobs, Tables, Queues, Service Bus

Binds to C# primitives

ie. stream, string, TextReader/writer, etc…

Parallelism

Single or multiple Queue items

Parallel processing of Queue items

Poison message handling for Queues

Asynch functions

Monitoring for WebJobs

At the function level, invocation and params.

Logs time, runtime, sizes, etc …

Debugging for WebJobs

Invoke and Replay

Casuality (chaining) between functions

Search blobs

Error handling

Retries

WebJobs shutdown support

Runtime in Azure Websites WebJobs SDK Publish WebJobs

Publish WebJobs with Web Site

Publish Console Apps directly

Continuous WebJobs

Start & Stop

View Dashboard

Attach Debugger

Triggered WebJobs

Create or Run on demand

View Dashboard

WebJobs new project templates

Scheduled & Continuous

Visual Studio tools

Some inherited features from Azure Websites

Visual Studio Online can edit scripts

Autoscale (monitors CPU, resources or schedule)

Share environment variables with Websites

Remote Debugging (attaching via scm endpoint)

Process explorer shows CPU and other resouces

Azure Traffic Manager for geo-distribution

Other Features

Server Explorer integration

WebJobs is found under the Websites nodes

Task #5

• Create simple web job which pack logs

• Create simple web job which restart web server

• Try to run some EXE

Traffic Manager –how it works ?

Use Azure to load Balancing (round robin)

www.simpology.eu

simpology.trafficmanager.netMode: roundrobin

VM – on premise

simpology.azurewebsites.net

( backup replica )

Use Azure as disaster recovery for your site

www.simpology.eu

simpology.trafficmanager.net

Mode: Failover

Linux VM – on premise

Backup web-site

simpology-site.azurewebsites.net

First 1 billion DNS

queries /month

$0.75 per million

queries

Over 1 billion DNS

queries / month

$0.375 per million

queries

Health Checks

(Azure)

$0.50 per Azure

endpoint / month

Health Checks

(External)

$0.75 per External

endpoint / month

Traffic Manager - pricing model

Hackaton!!!!! TASK #1• Create some ‘HelloWorld’ site ( PHP or

Java ) on github

• Deploy on Web-sites!

• Do changes in code : check production

staging and development staging

• Do multi-datacenter deployment!

• How to do multi datacenter SQL back-

end ?

• Use traffic manager in different modes

Questions for task #1• In round robin mode how routing

works ? When we go to which end-

point ( check one ip, several ips,

something under proxy )

• Do stress test:

• Kill one website

• Check is it available for end

customers?

• Check timelines when TrafficManager

figure it out. ( check different

scenarios )

Hackaton!!!! TASK #2• Create some ‘HelloWorld’ site with

node.js on github

• Do stress test : run massive requests

and check answers – are we always get

root page ? ( look for bug when we get

200 ok and empty body !)

• Create a graph with response codes,

response time depending on requests

amount

• Check the same stuff with autoscaling!

Hackaton!!!! TASK #3• Create some ‘HelloWorld’ site on

github

• Deploy it : one replica your hosting,

another replica on Azure

• Use TrafficManager for this in round

robin mode and fail-over

• Check response time in both modes for

both replicas

• Shutdown your own hosting

• Check what happened

Yes, it works!!!!

Your own linux in Azure ?

Yes,if HyperV supports this

What you need is to add Linux agent

to your disto.

Linux agent responsible for

interacting with Windows Azure

Fabric Controller

Manual: aka.ms/agent

Azure subscription management• http://blog.kloud.com.au/2013/07/30/good-practices-for-managing-

windows-azure-subscriptions/

• https://msdn.microsoft.com/en-us/library/azure/hh531793.aspx

Storage• http://blog.altoros.com/raid-arrays-on-windows-azure.html

• https://twitter.com/abokov/status/585493702308683779

• http://azure.microsoft.com/en-us/documentation/articles/storage-premium-storage-preview-portal/#using-linux-vms-with-premium-storage

• http://blogs.technet.com/b/yungchou/archive/2012/08/31/windows-server-2012-storage-virtualization-explained.aspx

Virtual Machines• http://www.petri.com/choosing-azure-vm-series.htm

• http://blogs.msdn.com/b/igorpag/archive/2014/11/11/azure-a_2d00_series-and-d_2d00_series-consistent-performances-and-size-change-considerations.aspx

• http://cloudspectator.com/wp-content/uploads/report/generational-performance-comparison-microsoft-azures-a-series-and-d-series.pdf

• https://github.com/richorama

Web sites• https://github.com/projectkudu/kudu/wiki/Azure-Site-Extensions

How to Azure : Tips and trick

30 days trials on windowsazure.com

2year trial for MSDN members

3year trial for BizSpark member ( very easy to join! ) – each BizSpark trial includes 5 MSDN subscriptions

You may try to get Windows Azure Offer $60K for 2y

25% discount to MSDN members for out-of-limit Azure usage

GREAT, BIG DISCOUNTS via Enterprise Agreement!

Business support, if you do app based on Azure:

We can do co-marketing

You will have technical and business

persons to contact with

You may have great discounts on cloud

Early access to betas and updates

Participation in Microsoft activities –

events, road-show, campaign, business

and tech trainings

Yes, we have Go-To-Market program

for our partners which run on a global

level and we can help you to open

doors in specified region/industry

Online resourcesmsopentech.com

All questions about Azure in CEE

azure_cee@microsoft.com

CEE Azure user group in Facebook

Latest our twitter

@azure_ceeOpen technologies in CEE

@OpennessAtCEE

Open technologies in CEE

opennessatcee.com

top related