21
Windows Azure AppFabric Applications Neil Mackenzie

Introduction to Windows Azure AppFabric Applications

Embed Size (px)

Citation preview

Page 1: Introduction to Windows Azure AppFabric Applications

Windows AzureAppFabric Applications

Neil Mackenzie

Page 2: Introduction to Windows Azure AppFabric Applications

Who Am I

• Neil Mackenzie• Windows Azure MVP

• Book: Microsoft Windows Azure Development Cookbook

• Blog: http://convective.wordpress.com/• Twitter: @mknz

Page 3: Introduction to Windows Azure AppFabric Applications

Content

• Windows Azure Platform• Application Composition• Development Environment• Production Environment

Page 4: Introduction to Windows Azure AppFabric Applications

Platform as a Service

• Windows Azure– Compute, storage, connectivity– Scalable– Self-healing

• Application-hosting environment:– Websites web role– Services worker role– Operating system VM role

Page 5: Introduction to Windows Azure AppFabric Applications

Windows Azure Platform

Web role Worker role

WCFQueues & Topics WF

SQL Azure

Azure Blob

Azure Table

Page 6: Introduction to Windows Azure AppFabric Applications

AppFabric Applications

• Windows Azure AppFabric Applications is a Community Technology Preview supporting the composition of services into an application in a manner that simplifies the development and deployment of interacting services.

Page 7: Introduction to Windows Azure AppFabric Applications

What you get in CTP 1

• AppFabric Developer Tools– Application composition– Package creation

• AppFabric Application Manager– Deployment– Monitoring

• AppFabric Container– Runtime environment

Page 8: Introduction to Windows Azure AppFabric Applications

Service Composition

• Services– Properties– Endpoints

• Service references– Link endpoints

• Container Topology– Scalability (instance count)– Monitoring (trace level)

Page 9: Introduction to Windows Azure AppFabric Applications

Modeled Properties

• Referenced services include the following properties:– Service-specific definition– ProvisionAction– UnprovisionAction

• E.g. SQL Azure ProvisionAction specifies a DACPAC that can provision a SQL Azure database

Page 10: Introduction to Windows Azure AppFabric Applications

Referenced (External) Services

• The following external services are supported:– Service Bus Queue– Service Bus Topic– Service Bus Subscription– Windows Azure AppFabric Caching– SQL Azure– Windows Azure Blob Service– Windows Azure Table Service

• Use MEF to add other services (e.g. Bing Maps)

Page 11: Introduction to Windows Azure AppFabric Applications

Service Groups

• AppFabric Applications– AppFabric Container (stateless)– Stateful AppFabric Container– Web Container

• Each service group deployed to a container• Horizontal scalability at the container level• No vertical scalability in CTP1

Page 12: Introduction to Windows Azure AppFabric Applications

AppFabric Container

• Contains the following stateless services– Code– WCF Service– Workflow

Page 13: Introduction to Windows Azure AppFabric Applications

Stateful AppFabric Container

• Contains the following stateful services:– Task scheduler– WCF Stateful services

Page 14: Introduction to Windows Azure AppFabric Applications

Web Container

• Contains the following web-based services:– ASP.NET– WCF Domain Service – Web (for Silverlight)– WCF Service - Web

Page 15: Introduction to Windows Azure AppFabric Applications

Adding a Service Reference

• New file: ServiceReferences.g.cs• Contains a class named ServiceReferences• Contains method pair for each service reference:– public static

AppFabricContainer1.StatelessContract1.Service1.IService1 CreateImport1();

• Use:CloudTableClient tableClient = ServiceReferences.CreateCloudTableClient();tableClient.CreateTableIfNotExist(tableName);

Page 16: Introduction to Windows Azure AppFabric Applications

Referenced Service Objects

Service Service Object Exposed

Queue Microsoft.ServiceBus.Messaging.QueueClient

Topic Microsoft.ServiceBus.Messaging.TopicClient

Subscription Microsoft.ServiceBus.Messaging.SubscriptionClient

Caching Microsoft.ApplicationServer.Caching.DataCache

SQL Azure System.Data.SqlClient.SqlConnection

Blob Microsoft.WindowsAzure.StorageClient.CloudBlobClient

Queue Microsoft.ServiceBus.Messaging.QueueClient

Table Microsoft.WindowsAzure.StorageClient.CloudTableClient

Page 17: Introduction to Windows Azure AppFabric Applications

Development Environment

• AppFabric Application storage (SQL Express)• File system (C:\AF, C:\AFSdk)• Windows Azure compute emulator– ContainerGatewayWorkerRole (1)– ContainerStatefulWorkerRole (2)– ContainerStatelessWorkerRole (2)– WebRole

• Windows Azure storage emulator

Page 18: Introduction to Windows Azure AppFabric Applications

Development Demo

• Visual Studio Tooling

Page 19: Introduction to Windows Azure AppFabric Applications

Applications Manager

• Applications Dashboard– Overview of the deployed applications

• Admin log– Displays deployment history

• Application– Containers– Endpoints– Logs

Page 20: Introduction to Windows Azure AppFabric Applications

Cloud - Demo

• Applications Manager

Page 21: Introduction to Windows Azure AppFabric Applications

How to get it

• Download Windows Azure AppFabricJune SDK CTP – June Update– http://bit.ly/o1udby – CTP can be used locally without participation in

the CTP• Apply to join the CTP at:– https://portal.appfabriclabs.com/