Maarten Balliauw Technical Consultant Twitter maartenballiauw About me Maarten Balliauw Antwerp Belgium wwwrealdolmencom Focus on web ASPNET ASPNET MVC PHP Azure VSTS MVP ID: 612163
Download Presentation The PPT/PDF document "Put your existing application on Windows..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Put your existing application on Windows Azure
Maarten BalliauwTechnical ConsultantTwitter: @maartenballiauwSlide2
About me
Maarten BalliauwAntwerp, Belgiumwww.realdolmen.com Focus on webASP.NET, ASP.NET MVC, PHP, Azure, VSTS, …MVP ASP.NET
http://
blog.maartenballiauw.be
http://twitter.com/maartenballiauw Slide3Slide4
Agenda
Windows AzureAn existing application...... with some problemsWindows AzureSQL AzureBlob storageAppFabric service busWhat to remember?
Resources
Q&ASlide5
Windows AzureSlide6
Definition of cloud (NIST)
On-demand self serviceStandardized accessLocation independant resource poolingRapid elasticityPay per useSlide7
IT as a Service
Private(On-Premise)
Infrastructure
(as a Service)
Platform
(as a Service)
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
Storage
Server HW
Networking
Servers
Databases
Virtualization
Runtimes
Applications
Security & Integration
You manage
Managed by vendor
Managed by vendor
You manage
You manageSlide8
The Windows Azure Platform
Windows AzureSQL AzureWindows Azure platform AppFabricMicrosoft Codename “Dallas”Microsoft Codename “Sydney”Slide9
Windows Azure
Flexible application hostingLights-out service managementProvide code & service model, hit ENTERStorage at massive scale
Blobs, tables, queues
Compute
Storage
ManagementSlide10
Windows AzureSlide11
Storage options
Blobs, tables, queuesWindows Azure Drive (a.k.a. XDrive)Virtual NTFS volume that can be mounted.vhd format
Use existing NTFS API’s
Easier migration
Stored on blob storage provides quick mount/unmount in other VMSlide12
SQL Azure
Relational database as a serviceHighly available, automatically maintainedExtension of the SQL Server Data Platform
Database
Reporting
Business Analytics
Data SyncSlide13
SQL Azure
Relational database, provided as a serviceHighly symmetrical development and tooling experience (use TDS protocol and T-SQL)Highly scaled out, on commodity hardwareBuilt on the SQL Server technology foundationHigh availability, DB provisioning, and DB management are provided by the serviceSlide14
Windows Azure AppFabric
Secure connections between servicesAcross organizational boundariesClaims-based access control
Service
Bus
Access
ControlSlide15
Service Bus OverviewSlide16
Windows Azure AppFabric
- Service BusSecurely connect applicationsOver the internetAcross any network topology (= across firewalls!)Across organizational boundaries
Primary application patterns
Eventing
: Notify applications and/or devicesService Remoting: Securely project on-premises services out to the cloud
Tunneling: App-to-app communication with NAT/Firewall traversalSlide17
Microsoft Codename “
Dallas”Content brokerage and discovery platform Available as a CTP
Microsoft Codename “Dallas”
Information ServicesSlide18
Microsoft Codename “Sydney” - Connectivity
WINDOWS AZURE PLATFORM
Data Service
Service Bus
Access Control Service
ENTERPRISE
Code Name “Project Sydney”Slide19
An existing
applicationSlide20
Time Tracker
Originated from the ASP.NET starter kithttp://www.asp.net/downloads/starter-kits/time-trackerSmall modifications:
List of projects from internal billing system
Time registration can have an attachmentSlide21
TimeTracker – On-premiseSlide22
Time Tracker
There are some problems with it...Running on 2 web servers that are > 2 years old, nearing EOLLooking to buy new hardwareLooking to deploy the application in a cloudSpikes near the end of each month, reducing performance
Looking to buy additional hardware
Looking to deploy the application in the cloud
They do have this “seamless scaling” thing, right?Slide23
Workload Patterns Optimal for Cloud
Usage
Compute
Time
Average
Inactivity
Period
“On and Off “
On & off workloads (e.g. batch job)
Over provisioned capacity is wasted
Time to market can be cumbersome
Compute
Time
“Unpredictable Bursting“
Average Usage
Unexpected/unplanned peak in demand
Sudden spike impacts performance
Can’t over provision for extreme cases
Average Usage
Compute
Time
“Growing Fast“
Successful services needs to grow/scale
Keeping up w/ growth is big IT challenge
Complex lead time for deployment
Compute
Time
Average Usage
“Predictable Bursting“
Services with micro seasonality trends
Peaks due to periodic increased demand
IT complexity and wasted capacity Slide24
Challenges
Security?Forms basedClaims based (AppFabric access control service)Availability & scalability out-of-the-boxStill keep session state in mind
Specify “upgrade domains”
Logging & tracing
System.Diagnostics.TracePerformance countersAll stored on blob storage, not real-time!
Operating systemWindows Azure Cloud OS 1.0 – 1.1 – x.x
See MSDN for patches and hotfixes in each OS versionNew cost modelPay-per-useAllow for scale-up and scale-downSlide25
Moving an application to the cloud
refactoringSlide26
TimeTracker on steroids!
Our company decided to go for Windows AzureNew migration track startedLearn about Windows AzureSupport deployment on Windows AzureStore data in SQL AzureStore attachments on blob storage
Somehow connect with the billing system to get a list of project names
DeploySlide27
Support deployment on Windows Azure
Convert the TimeTracker solution to a Cloud Service solutionMake sure it can be packaged for deploymentMake sure it runs on Development FabricRequirements:IIS7
Visual Studio
Windows Azure Tools for Microsoft Visual
StudioWindows Azure SDK (shipped with the above)Slide28
Windows Azure Tools for Microsoft Visual Studio
Get them on www.azure.comSlide29
Converting the TimeTracker solutionSlide30
TimeTracker on steroids!
Our company decided to go for Windows AzureNew migration track startedLearn about Windows AzureSupport deployment on Windows AzureStore data in SQL AzureStore attachments on blob storage
Somehow connect with the billing system to get a list of project names
DeploySlide31
Store data in SQL Azure
There is a database on-premise in SQL ServerSchema should be migratedData should be migratedRequirements:Native SQL clientSQL Management StudioSlide32
Migrating schema and data
SQL Azure Migration Wizardhttp://sqlazuremw.codeplex.com SQL Azure Data Sync Tool for SQL Server
http://www.microsoft.com/windowsazure/developers/sqlazure/datasync
/
SQL Server Management Studio 2008 R2 November Community Technology PreviewSlide33
Migrating data to SQL Azure
Synchronizing SQL and SQL AzureSlide34
ASP.NET Membership & Roles
Will not work out of the box!Some incompatible SQLUpdated scripts and aspnet_regqslazure.exehttp://support.microsoft.com/default.aspx/kb/2006191
Slide35
TimeTracker on steroids!
Our company decided to go for Windows AzureNew migration track startedLearn about Windows AzureSupport deployment on Windows AzureStore data in SQL AzureStore attachments on blob storage
Somehow connect with the billing system to get a list of project names
DeploySlide36
Store attachments on blob storage
Attachments currently stored on the web serverWindows Azure server storage not guaranteed to surviveThere’s an option for that......but it will still fail in some situationsIdeal candidate: blob storageRequirements:
Windows Azure SDK
A tool to browse storage and see if it worksSlide37
Tools to see if it works
CloudBerryLab Explorerhttp://www.cloudberrylab.comAzure Storage Explorerhttp://azurestorageexplorer.codeplex.com/
Online
http://myazurestorage.com
Visual Studio 2010 toolsSlide38
Storing attachments on Windows Azure blob storageSlide39
TimeTracker on steroids!
Our company decided to go for Windows AzureNew migration track startedLearn about Windows AzureSupport deployment on Windows AzureStore data in SQL AzureStore attachments on blob storage
Somehow connect with the billing system to get a list of project names
DeploySlide40
Connect with the billing system
List of projects comes from on-premise billing systemTimeTracker will be in the cloudRequirements:Expose the billing system to the InternetConnect to itSlide41
Service Bus OverviewSlide42
Connect with the billing system
List of projects comes from on-premise billing systemTimeTracker will be in the cloudCommunication will happen over the AppFabric service busRequirements:Visual StudioAppFabric SDKSlide43
Using AppFabric service busSlide44
Another option…
Billing system WCF configuration was changedIf that’s not possible: PortBridge to the rescue!http://bit.ly/bCDrUsSlide45
TimeTracker on steroids!
Our company decided to go for Windows AzureNew migration track startedLearn about Windows AzureSupport deployment on Windows AzureStore data in SQL AzureStore attachments on blob storage
Somehow connect with the billing system to get a list of project names
DeploySlide46
Deploy
Package up the applicationDeploy the thingRequirements:Windows Azure SDKA web browserSlide47
Windows Azure Platform Benefits for MSDN Subscribers
MSDN Subscriber Benefits750 Hours
8 Months
10 GB Storage
SQL Azure Web Edition
Details at http://
msdn.microsoft.com/en-us/subscriptions/ee461076.aspx
Windows Azure Platform offer
Introductory MSDN Premium offer
Windows Azure
Compute hours per month
750 hours
Storage
10 GB
Transactions per month
1,000,000
AppFabric
Service bus messages per month
1,000,000
SQL Azure
Web Edition (1GB databases)
3
Data Transfers per month
Europe and North America
7 GB in / 14 GB out
Asia Pacific
2.5 GB in / 5 GB outSlide48
Deploying TimeTrackerSlide49
TimeTracker on steroids!
Our company decided to go for Windows AzureNew migration track startedLearn about Windows AzureSupport deployment on Windows AzureStore data in SQL AzureStore attachments on blob storage
Somehow connect with the billing system to get a list of project names
DeploySlide50
What to remember?
Windows Azure isOperating system (computing & storage)SQL AzureAppFabricYour application and skillsHybrid applications are possible
It’s not that hard to doSlide51
Resources
WebsitesWindows Azure http://www.azure.comLocal MSDN http://www.msdn.be
Local TechNet
http://www.microsoft.com/belux/technet
BlogsSteve Marx http://blog.smarx.com
Clemens Vasters http://vasters.com/clemensv Simon Guest http://simonguest.com/blogs/smguest
My blog http://blog.maartenballiauw.be/category/Azure.aspxVideos and presentationsPDC http://microsoftpdc.com
RealDolmen
blogs is running on Azure!
http://
www.realdolmenblogs.com
Slide52
Questions?
Possibly AnswersSlide53
THANK YOU!
Maarten Balliauwhttp://blog.maartenballiauw.behttp://twitter.com/maartenballiauw