The document discusses options for migrating a workflow application to Azure. It describes the current on-premise application, considerations for hosting the application in Azure, and demonstrations of basic and advanced workflow features. Migration paths include hosting the application in an Azure web role, using the Azure AppFabric composite application framework, or keeping the on-premise application but moving the database to Azure SQL. The demonstrations cover order processing, persistence, error handling, and the Azure composite application approach.
4. Long running processes
◦ Seconds / Minutes / Days / Months / Years
◦ System / Human
◦ Unreliable external world
Systems fail
People forget
Complex processes
◦ Declarative representation of a process
◦ Easy to validate
◦ Increase maintainability
5.
6.
7. Versions:
◦ .Net 3.0 / 3.5 – Sequence / State Machines
◦ .Net 4.0 – Sequence / Flowchart
◦ .Net 4.0 Update 1 – State Machines
◦ .Net 4.5 (Upcoming) – Contract First WF / Version
Handling / C# Support
Hosting
◦ Self Host – Windows Service / Exe
◦ IIS / WAS – [Windows Workflow Service Application]
9. Handled by Batchjobs on premise
◦ Mainframe concept, batch window / duration
◦ “Free”
◦ BJ mapped to worker roles in Azure
Not feasible to spin up workers / effective polling
Responsible for framework level stuff
Multi-threading, lock management, etc
Recovery from errors
Monitoring
10. WF is built to be used by multiple systems
◦ Simple process workflow / complex business processes
◦ Resource queuing / lock mangement etc
◦ Recovery from errors
◦ Monitoring (with AppFabric)
Azure provides elastic scale
Azure AppFabric Composite Application
◦ Monitoring
◦ Recovery
13. Current State
◦ On-Premise WF Application with on-premise DB
.Net 4.0 Sequence WF
.Net 4.0 Update 1 State Machine WF
Requires WF Persistence
Requires Custom Property Persistance
References external WCF / Web services
Requires ability to suspend/resume/terminate running
workflows
14. Cloud Option
◦ On-Premise WF Application with Azure SQL DB
Run Schema.sql (Run this to clear DB for dev purpose)
Run Logic.sql
- High Overhead to configure Firewalls / Security /
Network
- High Latency
15. Cloud Option
◦ Azure Web Role hosting WF Application
16. Cloud Option
◦ Azure Web Accelerator Project
Using Web Deploy
X Unable to publish endpoint [ WIP ]
17. Cloud Option
◦ Azure AppFabric Composite Application
Different approach to looking at application
No more handling ServiceModel Client configuration
for endpoints
Uses a service locator pattern to register and resolve
deployed applications
Applications can be dynamically redeployed to scale
Provides representation of how the various
components work together.
18. Cloud Option
◦ Azure AppFabric Composite Application
Different approach to looking at application
No more handling ServiceModel Client configuration
for endpoints
Uses a service locator pattern to register and resolve
deployed applications
Applications can be dynamically redeployed to scale
Provides representation of how the various
components work together.
19. Cloud Option
◦ Azure AppFabric Composite Application
X CTP only
X Only if you can get an account
X A lot of configurations for Workflow
20. Quick Dive Demo (Basic WF)
◦ Web App to place order via WF
service
◦ WF Service records order
◦ WF Service checks inventory
◦ WF Service calls payment service
◦ WF Service calls shipping service
◦ WF Service waits for shipping
update
◦ WF Service completes when item
delivered
21. Quick Dive Demo (Advanced WF)
◦ How WF persistence is done
◦ How WF custom property persistence is done
◦ How to recover from WF errors