session 3: windows azure platform as a service (paas)

32
2013 © Trivadis BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN Microsoft Azure Development Stefan Geiger Gerry Keune @trivadis.com 12.06.2014 Development 1

Upload: digicomp-academy-ag

Post on 10-May-2015

772 views

Category:

Software


1 download

DESCRIPTION

Präsentation im Rahmen der Windows Azure Starter Roadshow: - Entwickeln auf Windows Azure --Grundsätze die es zu beachten gilt --Deployment - Windows Azure Websites --Auto-scaling, Deployment, Backup und Restore - Azure Cloud Services --web roles & worker roles - Mobile Services --Azure als Backend für mobile Applikationen

TRANSCRIPT

Page 1: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN

Microsoft Azure Development

Stefan Geiger

Gerry Keune

@trivadis.com

12.06.2014

Development

1

Page 2: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

AGENDA

1. Websites / Development Tools & Deployment

2. Cloud Services

3. Mobile Services

12.06.2014

Development

2

Page 3: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Microsoft Azure Compute Overview

12.06.2014

Development

3

Web SitesQuickly and easy deployment to highly scalable cloud environment

Cloud

Services

High available, scalable applications and services

using rich PaaS environment, Advanced mult-tier

scenarios

Virtual

Machines

Eeasily deploy and run durable Windows Server

and Linux VM’s using IaaS environment

Mobile

Services

Create backend for your Mobile apps and integrate

push notifications (Windows/Phone 8, iOS)

Page 4: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Web Sites

Provides easy and flexible web site hosting for web projects

Static Sites, Custom build web applications

Built-in support for various open source applications

- WordPress, Joomla, Composite C1 CMS ……

Good Scaling options

Starting free of charge (limited Quotas)

Scale-Up/Down possible anytime

On-Premise applications can be moved with no changes

Great Tooling Support in Visual Studio 2013

12.06.2014

Development

4

Page 5: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Web Sites Development

Supported Developer Frameworks

ASP.NET / ASP.NET MVC

Classic ASP

Node.js

PHP

Easy Deployment options

GIT, FTP, TFS, Web Deploy

Simple Tracing and Debugging options

12.06.2014

Development

5

Page 6: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

VM

Azure Web Site

Management

Web Sites

12.06.2014

Development

6

IISAzure

LB

Code

VM

Page 7: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

12.06.2014

Development

7

Demo Web Sites

Page 8: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Web Sites Scale

Scale Out (Shared Instances)

Instances of application are running on

different web workers

Shared capacity constrained applied

Ideal for stateless applications

Scale Up (Reserved Instances)

Application is running on dedicated box

No Shared resource capacity limitations

12.06.2014

Development

8

Page 9: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Azure Web Site Quotas

12.06.2014

Development

9

Quota FreeShared

Reserved

1’024MB

(all Sites)1’024MB 10 GB

165mb/day

Pay as you go,

not included in

base price

Pay as you go,

not included in

base price

1hr/day, 2.5

minutes of

every 5

4hrs/day, 2.5

minutes of

every 5

N/A

1024mb/hr 512mb/hr N/A

Page 10: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

AGENDA

1. Websites / Development Tools & Deployment

2. Cloud Services

3. Mobile Services

12.06.2014

Development

10

Page 11: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Microsoft Azure Cloud Services

Cloud Services provides Platform as a Service (Paas) to build high

available and scalable applications

Most advanced compute option

Supports multi-tier architectures

Automated application management

05.06.2014

Development

11

Page 12: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Role Types

Web Role : The role is hosted on IIS

Worker Role : The role is an executable (you can create your own web

server, host a database, …)

VM Role : The role is a non persistence VM.

Use Windows services, scheduled tasks, etc.

You configure and maintain the OS.

05.06.2014

Development

12

Abstraction Control

(i.e. Less IT & Less Plumbing Code)

Worker Role VM RoleWeb Role

Page 13: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

VM (Worker Role)VM (Worker Role)

VM (Web Role)VM (Web Role)

VM (Web Role)

VM

Microsoft Azure Cloud Services

05.06.2014

Development

13

IIS

TCP / HTTP(S)

VM (Worker Role)

Azure LB Azure LBAzure LB

Page 14: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Worker Role Patterns

Queue Polling Worker

Poll and Pop Messages within while(true) loop

E.g. Map/Reduce pattern, background image processing

Listening Worker Role

Create TcpListener or WCF Service Host

E.g. Run a .NET SMTP server or WCF Service

External Process Worker Role

OnStart or Run method executes Process.Start()

Startup Task installs or executes background/foreground process

E.g. Run a database server, web server, distributed cache

14 Development 05.06.2014

Page 15: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Microsoft Azure Cloud Services

Windows Server 2008/R2, 2012/R2 (64bit)

.NET 4.0 and .NET 4.5

Full Trust

IIS7 - 8 Web Sites (ASP.NET, FastCGI)

Web Services (WCF)

Stateless Servers

HTTP(S), TCP

05.06.2014

Development

15

Page 16: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Cloud Services vs Web Sites

Cloud Services allows administrative access to your application’s VMs.

Install arbitrary software that your application needs

Cloud Services allow Remote Desktop connections directly to an

application’s VMs

Cloud Services allow networking technologies such as Microsoft Azure

Virtual Network and Microsoft Azure Connect to hook on-premises

computers to Cloud Services applications.

12.06.2014

Development

16

Page 17: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

AGENDA

1. Websites / Development Tools & Deployment

2. Cloud Services

3. Mobile Services

12.06.2014

Development

17

Page 18: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Development

12.06.2014

Development

18

Simplifies common development tasks

Application persistency

Backend processing

Push Notifications

Identity

Rapid Development

Configure a secure backend in minutes

Integrated Source Control (Git / Web Deploy)

Use any Microsoft Azure service

- Service Bus, Media Services, Storage…..

High available and scalable backend service for mobile and client apps

SLA 99.9%

Up to 10 Mobile Services free of charge including 20MB *Database

- Restricted Quotas, Multitenant environment

Page 19: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Mobile Services Overview

12.06.2014

Development

19

SDKs

Table scripts

Custom API

Scheduler

.NET

Facebook Twitter Microsoft Google Active Directory

SQL Table Storage

Blob Storage

WNS & MPNS

APNS GCM

Mongo DB

Windows Store

Windows Phone 8

Xamarin

iOS

Android

HTML 5/JS

PhoneGap

REST API

Scripting

Page 20: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Supported Platforms and SDK’s

12.06.2014

Development

20

Page 21: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Store Data

Structured storage with SQL Database

Easy data management

- Portal, SQL Management Studio, REST API and more

Dynamic Schema generation (on/off)

Server logic to intercept CRUD operations

Use custom storage options

MongoDB

Microsoft Azure

Tables, Blobs, Queues, Service Bus

Offline Sync Support (* Windows Phone/Store Apps only)

Manual push and pull with SQLLite backing store

12.06.2014

Development

21

Page 22: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

JavaScript Backend

Define your business logic using Javascript

JavaScript engine based on Node.js

- Support for custom node Node.js modules (npm)

Table Scripts

Registered code to intercept CRUD operations

Custom API

Customized Javascript code (not tied to CRUD operation)

Shared Code

12.06.2014

Development

22

*customer preview

Page 23: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

.NET Backend (Preview)

Create backend logic using .NET and the ASP.NET Web API framework

Visual Studio 2013 Update 2 brings templates and scaffolds

Publish any existing Web API

Benefit from authentication, push notifications and other capabilities that

Mobile Services provides

Support of any Web API features like OData controllers

Remote Debugging

Debug your mobile services .NET backend using Visual Studio running locally

on your machine

12.06.2014

Development

23

Page 24: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Authentication

Supports for various authentication options

Use existing identity system

- LiveID, Facebook, Twitter, Google

Outsource identity management

- Windows Azure AD & ACS

Create your own

- Username/password, token…

Permissions for each CRUD operation

Everyone

Anyone with the Application Key

Only Authenticated Users

Only Scripts and Admins

12.06.2014

Development

24

Page 25: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

12.06.2014

Development

25

Demo Phone 8 Application

Page 26: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Azure Service Bus Notification Hub

Push notifications at scale to apps on mobile devices

Eliminates complexity to manage push notifications

Push notification abstraction for Windows, Windows Phone, iOS, and Android

Pub/Sub routing using Tags

Devices can send Tag(s), when sending its handle to a Notification Hub

Tags provide a simple way to send notifications to users/interest group

High Scalable

Notification Hubs scale to millions of devices without the need of

rearchitecting or sharding.

05.06.2014

Development

26

Page 27: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Push Notification

12.06.2014

Development

27

Platform Notification Systems (PNS)

Push notifications delivered through

platform-specific infrastructures WNS (Windows Notification Service)

MPNS (Microsoft Push Notification Service)

APNS (Apple Push Notification Service)

GCM (Google Cloud Messaging)

Page 28: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

{“aps”: {“alert” : “Hello!” }}

Azure Notification Hub

05.06.2014

Development

28

$msg

Msg: Hello

Hello

<toast>

<visual>

<binding template=\"ToastText01\">

<text id=\"1\">Hello!</text>

</binding>

</visual>

</toast>

iOS Alert

Windows 8 Toast

{“aps”: {“alert” : “$msg” }}

<toast>

<visual>

<binding template=\"ToastText01\">

<text id=\"1\">$msg</text>

</binding>

</visual>

</toast>

Page 29: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

12.06.2014

Development

29

Demo Push Notification

Page 30: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Notification Hubs vs Development

In short, Mobile Services is best used for communicating to a single

user whereas Notification Hubs is best used for communicating to many

users simultaneously.

1. http://blogs.msdn.com/b/windowsazure/archive/2013/08/12/announcing-general-availability-of-windows-azure-notification-hubs-amp-support-for-sql-server-alwayson-

availability-group-listeners.aspx

2. http://chrisrisner.com/Announcing-Notification-Hubs-General-Availability

12.06.2014

Development

30

Page 31: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

Summary

Reliable and scalable platform for building Mobile and client Apps

backends

Native SDK’s for Windows/Phone 8, Android, iOS, HTML5/JS

REST API

Solves most common features

Data, Authentication, Notification

.NET support currently preview

12.06.2014

Development

31

Page 32: Session 3: Windows Azure Platform as a Service (PaaS)

2013 © Trivadis

BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN

Thank You Q & A

12.06.2014

Development

32