session 3: windows azure platform as a service (paas)
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 ApplikationenTRANSCRIPT
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
2013 © Trivadis
AGENDA
1. Websites / Development Tools & Deployment
2. Cloud Services
3. Mobile Services
12.06.2014
Development
2
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)
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
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
2013 © Trivadis
VM
Azure Web Site
Management
Web Sites
12.06.2014
Development
6
IISAzure
LB
Code
VM
2013 © Trivadis
12.06.2014
Development
7
Demo Web Sites
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
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
2013 © Trivadis
AGENDA
1. Websites / Development Tools & Deployment
2. Cloud Services
3. Mobile Services
12.06.2014
Development
10
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
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
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
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
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
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
2013 © Trivadis
AGENDA
1. Websites / Development Tools & Deployment
2. Cloud Services
3. Mobile Services
12.06.2014
Development
17
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
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
2013 © Trivadis
Supported Platforms and SDK’s
12.06.2014
Development
20
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
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
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
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
2013 © Trivadis
12.06.2014
Development
25
Demo Phone 8 Application
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
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)
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>
2013 © Trivadis
12.06.2014
Development
29
Demo Push Notification
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
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
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