sudheer d desertcodecamp_11_05_2011
DESCRIPTION
Code Camp Presentation on Azure Applications DevelopmentTRANSCRIPT
Developing Applications for Windows Azure Platform
Sudheer DhulipallaMicrosoft Corporation
Agenda
WHO WILL BENEFIT FROM THIS TALK TOPICS WHAT YOU’LL LEAVE WITH
• Cloud application developers
• Developers building on-premise .NET and non .NET applications leveraging cloud services
• Windows Azure Basics
• Windows Workflow foundation Basics
• Service Bus (Messaging Service) Basics
• Workflow service in the cloud
• Web (ASP), Worker (workflow) sample with Service Bus Queues
• Building applications with Windows Azure Platform
• Azure platform capabilities
Windows Azure• Microsoft’s cloud platform– Applications platform in the cloud that allows Microsoft
datacenters to host and run applications• Windows Azure is Designed for:– Incremental Scalability– Reliability, high availability and fault tolerance– Developer agility and open standards (HTTP REST)– Utility based (pay as you go)– Cost effective based on sharing of resources– Service Oriented – SLA driven
Storage
Compute
What is Windows Azure?
QUEUE
Windows Azure App - Typical ArchitectureLB
Web Role
(ASP, Web Services, Workflows, custom
code etc.)
Worker Role
(Web Services, Workflows, custom
code etc.)
Service Bus,Storage,
Cache etc.
WindowsAzure.Com
Code Walkthrough - Sample #1• Publishing a simple ASP page to Azure cloud– SDK and Tools setup– Portal sign up– Creating an ASP.NET WebRole project– Publishing the web page and accessing from local
Web RoleRunning ASP Page
Azure Cloud
Local Browser
WINDOWS WORKFLOW FOUNDATION
Host (.exe, IIS/WAS, WF Service/Server, …)
WF Runtime Extensions
Tracking
Persistence
…
What is Workflow Foundation?
• WF4 provides declarative authoring of programs that coordinate work
• Activities• Runtime• Tooling• Significant Features
– Web Services Integration– Flowchart style Workflows – Better Dataflow– Better programming model– State machine
• Part of .NET framework
Tooling
VS Designer
VS Debugger
Rehosted Designer
WorkflowActivity Library
Code Walkthrough – Workflow Samples #2
• Visual Studio Integration • Project types• Hello world sample• Procedural Workflow sample• Web Services (WCF) integration
Example Workflow Design Patterns in Azure
• WF is useful in building long running applications (long running business logic) in worker role
• WF can also run in Web Role as Workflow Service• Example patterns
– ASP (Web Role) OR WCF (Web Role) • Queues or Topics • Workflow (Worker role) • SQL Azure / Other Services
– Workflow Service (Web Role) • SQL Azure / Other services
Code Walkthrough - Sample #3• Publishing a Workflow Web service in the cloud– Creating a WCF service WebRole project and adding
workflow service to it– Publishing the service and accessing the service operations
from a WCF test client
Web RoleRunning Workflow
Service
Azure Cloud
Local Console App
WINDOWS AZURE SERVICE BUS(A MESSAGING SERVICE IN THE CLOUD)
Brokered Messaging Entities: Queues
• Durable Queues• Scheduled messages• Session based message streams • Transactions support • Sequential Message Log• HTTP / REST / WCF / .NET API support
S RQueue
Brokered Messaging Entities: Topics
• Durable topics and subscriptions • Sequential Message Log• Multiple subscribers over the log, each with own cur/locks• Subscribers can filter with rules and expressions on message
properties• HTTP / REST / WCF / .NET API support
S RTopic SubSub
Sub
Code Walkthrough - Sample #4• Publishing a project with web / worker roles– Web role hosting a web page– Worker role hosting a Workflow – Web to worker communication over Service Bus Queues– Local debugging and Dev Fabric
Web RoleRunning ASP
Page - messaging
through Queues
Worker Role running
workflow – messaging
through Queues
Local Browser
Azure Cloud
SB Queues
Windows Azure lets you manage applications, not virtual machines.
Summary
• We covered the basics of Windows Azure, Windows Workflow and Service Bus
• We walked through a few Azure code samples (hosting a web page, hosting workflow in the web role and hosting workflow in the worker role and using Service Bus queues for communication)
• Developers can use Visual Studio, .NET frameworks, Azure cloud services, other languages and frameworks of their choice to build cloud applications and services
• You can sign up for free trial today at http://windowsazure.com and start building cloud applications with Windows Azure