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 Sites
Quickly 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
IIS
Azure
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 Free
Shared
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

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

  • 1.
    2013 © Trivadis BASELBERN 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
  • 2.
    2013 © Trivadis AGENDA 1.Websites / Development Tools & Deployment 2. Cloud Services 3. Mobile Services 12.06.2014 Development 2
  • 3.
    2013 © Trivadis MicrosoftAzure Compute Overview 12.06.2014 Development 3 Web Sites Quickly 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)
  • 4.
    2013 © Trivadis WebSites  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
  • 5.
    2013 © Trivadis WebSites 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
  • 6.
    2013 © Trivadis VM AzureWeb Site Management Web Sites 12.06.2014 Development 6 IIS Azure LB Code VM
  • 7.
  • 8.
    2013 © Trivadis WebSites 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
  • 9.
    2013 © Trivadis AzureWeb Site Quotas 12.06.2014 Development 9 Quota Free Shared 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
  • 10.
    2013 © Trivadis AGENDA 1.Websites / Development Tools & Deployment 2. Cloud Services 3. Mobile Services 12.06.2014 Development 10
  • 11.
    2013 © Trivadis MicrosoftAzure 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
  • 12.
    2013 © Trivadis RoleTypes  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
  • 13.
    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
  • 14.
    2013 © Trivadis WorkerRole 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
  • 15.
    2013 © Trivadis MicrosoftAzure 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
  • 16.
    2013 © Trivadis CloudServices 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
  • 17.
    2013 © Trivadis AGENDA 1.Websites / Development Tools & Deployment 2. Cloud Services 3. Mobile Services 12.06.2014 Development 17
  • 18.
    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
  • 19.
    2013 © Trivadis MobileServices 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
  • 20.
    2013 © Trivadis SupportedPlatforms and SDK’s 12.06.2014 Development 20
  • 21.
    2013 © Trivadis StoreData  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
  • 22.
    2013 © Trivadis JavaScriptBackend  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
  • 23.
    2013 © Trivadis .NETBackend (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
  • 24.
    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
  • 25.
  • 26.
    2013 © Trivadis AzureService 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
  • 27.
    2013 © Trivadis PushNotification 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)
  • 28.
    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>
  • 29.
  • 30.
    2013 © Trivadis NotificationHubs 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
  • 31.
    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
  • 32.
    2013 © Trivadis BASELBERN 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