SlideShare a Scribd company logo
1 of 41
Converting an existing ASP.NET application to Windows Azure Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
Whoam I? Maarten Balliauw Antwerp, Belgium www.realdolmen.com Focus on web ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, … MVP ASP.NET http://blog.maartenballiauw.be http://twitter.com/maartenballiauw
Agenda Windows Azure? An existing application… Migration paths Considerations Q&A
What’s in the cloud? Windows Azure
The Windows Azure Platform Windows Azure SQL Azure Windows Azure platform AppFabric Developer tools Microsoft Codename “Dallas”
Windows Azure Flexible application hosting Lights-out service management Provide code & service model, hit ENTER Storage at massive scale Compute Storage Management
SQL Azure Relational database as a service Highly available, automatically maintained Extension of the SQL Server Data Platform Business Analytics Reporting Data Sync Database
SQL Azure Relational database, provided as a service Highly symmetrical development and tooling experience (use TDS protocol and T-SQL) Highly scaled out, on commodity hardware Built on the SQL Server technology foundation Beyond “hosted database” High availability, DB provisioning, and DB management are provided by the service Pay for what you use
Windows Azure AppFabric Secure connections between services Across organizational boundaries Claims-based access control ServiceBus AccessControl
Windows Azure AppFabric - Service Bus Securely connect applications Over the internet Across any network topology Across organizational boundaries Primary application patterns Eventing:  Notify applications and/or devices Service Remoting:  Securely project on-premises services out to the cloud Tunneling:  App-to-app communication with NAT/Firewall traversal
Windows Azure AppFabric - Access Control Provides outsourcing of claims-based access control for REST web services Key capabilities: Usable from any platform Low friction way to onboard new clients Integrates with AD FS v2 Supports WRAP / SWT Enables simple delegation Used today by Service Bus and “Dallas”
Microsoft Codename “Dallas” Content brokerage and discovery platform  Available as a CTP at commercial launch Microsoft Codename “Dallas”Information Services
Introducing “Dallas” Content Brokerage and Discovery platform  Discover, Explore, and Use any type of content (blobs, structured, real-time web services) Tap into an ecosystem of global content providers Process & analyze data Empowers developers of all sizes Built on Windows Azure and SQL Azure
Windows Azure
Blob  Container Entities Account Table http://<account>.blob.core.windows.net/<container> http://<account>.table.core.windows.net/<table> Messages Queue Windows Azure Storage Concepts http://<account>.queue.core.windows.net/<queue>
Blob Storage Store sets of binary data Text files, images, … Highly Available Automatically scales to multiple servers and locations Durable Data is replicated at least 3 times
Table Storage Store sets of structured data Not bound to schema! Billions of entities (rows) and TBs of data Automatically scales to thousands of servers as traffic grows Highly Available Can always access your data Durable Data is replicated at least 3 times
Table Storage Capabilities What tables don’t do What tables can do             Not relational No Referential Integrity No Joins Limited Queries No Group by No Aggregations Transactions (limited) Very Scalable Flexible Durable Store LOTS of stuff  Cheap If these are important to you, use SQL Azure
Queue Service Store a queue of messages FIFO Can be used by multiple worker roles
Windows Azure Summary Many is better than one Let Microsoft worry about this Loose coupling Web Role and Worker Role Storage choice Azure Storage: Simple stores scale Table, Blob, Queue SQL Azure: Full RDBMS Stored Procedures, Schema, Transactions, Views etc
Let’s have a look at… an existing application…
Existing ASP.NET application ASP.NET Webforms “Repository pattern” Entity framework Database File storage on server Built with no need for scale
An existing application DEMO
The shortest way to the cloud Migration paths
First things first… Tools: Windows Azure SDK Windows Azure Visual Studio Tools www.microsoft.com/web New solution: Blank “cloud service” Add existing projects Promote to “web role”
Migration paths: hosting & file storage Windows Azure Web Role Hosting the web application Windows Azure Blob Storage Hosting “user uploaded content” Option 1: HttpHandler + Abstraction and migration freedom - Traffic & related costs Option 2: public blob container + Azure CDN + Traffic & related costs+ Pretty download URL + Fast! Nearby! -  Abstraction and migration freedom
Migration paths: data Option 1: SQL Azure Easiest migration path for data More powerful RDBMS Sync Framework Power Pack: http://bit.ly/5hTtSY SQL Azure Migration Wizard: http://sqlazuremw.codeplex.com/ Option 2: Table storage Will be cheaper in operating costs for small applications Will probably require some rework
Migrating the application DEMO
Think before you go cloudy… Considerations
Hosting Migration Will be an easy migration Remember to use the providers from the SDK Keep the “multiple roles” idea in mind! Considerations to make Store all content in the application? Requires a re-deployment quite often… Better: store more dynamic content on blob storage Background processing Try moving heavy CPU tasks to worker role where appropriate One web role? Will be cheaper… But will have your application down during upgrade… Better: always > 1 web role (at least 2)
Database Working with EF / NHibernate / (insert ORM here)? SQL Azure wil be easiest path, but is more expensive Table storage… Will get you frustrated if your application design is bad!(like mine in the demo) Use simple data structures for table storage Map these to whatever you want in your application
Architecture Quote: “Some architectures will require rework” All of them will require rework to do it right… Current application architecture not suited for large scale! I can go for multiple web roles But not for unlimited web roles… Think in “multiple roles” Web roles Backedbyworkerroleswhereneeded Architecture will be one of the challenges
Typical Architecture Service Unavailable VIP Worker Role Web Role Windows Azure Storage  (Blob, Table, Queue)
Web + Worker Role Service Model Worker Role Service Still Available Worker Role Web Role VIP Worker Role Web Role Worker Role Worker Role Windows Azure Storage  (Blob, Table, Queue)
Windows Azure - Coming soon… Programming model Administrator privileges in the VM Deployment of pre-configured VM images Still obtain the benefits of the WA service model Storage User-selectable geo-locations for replicas Secondary indices on tables Service management Remote terminal server access to VMs
Resources Windows Azurehttp://www.azure.com Steve Marxhttp://blog.smarx.com/ Clemens Vastershttp://vasters.com/clemensv/ Simon Guesthttp://simonguest.com/blogs/smguest PDChttp://microsoftpdc.com My bloghttp://blog.maartenballiauw.be/category/Azure.aspx RealDolmen blogs is running on Azure!http://www.realdolmenblogs.com
AZUG.BE – Azure User Group Belgium Focus on the Azure Services Platform Community-driven Focus on architecture And development And the business value of Azure www.azug.be
Questions, possibly Answers… ? Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update ManagementUdaiappa Ramachandran
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azureVaibhav Gujral
 
Get Started With Microsoft Azure Cloud Service
Get Started With Microsoft Azure Cloud ServiceGet Started With Microsoft Azure Cloud Service
Get Started With Microsoft Azure Cloud ServiceJayant Chauhan
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platformgiventocode
 
App fabric hybrid computing
App fabric   hybrid computingApp fabric   hybrid computing
App fabric hybrid computingHammad Rajjoub
 
Develop Your Own Path On Microsoft Azure
Develop Your Own Path On Microsoft AzureDevelop Your Own Path On Microsoft Azure
Develop Your Own Path On Microsoft AzureWePlus Consultancy
 
Running SSIS 2017 at Scale Everywhere
 Running SSIS 2017 at Scale Everywhere Running SSIS 2017 at Scale Everywhere
Running SSIS 2017 at Scale EverywhereSandy Winarko
 
Microsoft Azure: Deploy and Scale Modern Websites
Microsoft Azure: Deploy and Scale Modern WebsitesMicrosoft Azure: Deploy and Scale Modern Websites
Microsoft Azure: Deploy and Scale Modern WebsitesWinWire Technologies Inc
 
Enter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsEnter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsBizTalk360
 
Let's Talk About: Database Migration Service
Let's Talk About: Database Migration ServiceLet's Talk About: Database Migration Service
Let's Talk About: Database Migration ServicePedro Sousa
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldIdo Flatow
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIdo Flatow
 
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...
Windows Azure Web Sites- Things they don’t teach kids in school - Comunity D...Windows Azure Web Sites- Things they don’t teach kids in school - Comunity D...
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...Maarten Balliauw
 
Microsoft SQL Licensing Workshop - Software ONE
Microsoft SQL Licensing Workshop - Software ONEMicrosoft SQL Licensing Workshop - Software ONE
Microsoft SQL Licensing Workshop - Software ONEDigicomp Academy AG
 
Azure sql introduction
Azure sql  introductionAzure sql  introduction
Azure sql introductionManishK55
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource managerAymeric Weinbach
 
Automation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud EnvironmentsAutomation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud EnvironmentsMichael Rüefli
 

What's hot (20)

Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azure
 
Get Started With Microsoft Azure Cloud Service
Get Started With Microsoft Azure Cloud ServiceGet Started With Microsoft Azure Cloud Service
Get Started With Microsoft Azure Cloud Service
 
Resumen - Microsoft Build 2021
Resumen - Microsoft Build 2021Resumen - Microsoft Build 2021
Resumen - Microsoft Build 2021
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platform
 
Java PaaS comparison
Java PaaS comparisonJava PaaS comparison
Java PaaS comparison
 
App fabric hybrid computing
App fabric   hybrid computingApp fabric   hybrid computing
App fabric hybrid computing
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
Develop Your Own Path On Microsoft Azure
Develop Your Own Path On Microsoft AzureDevelop Your Own Path On Microsoft Azure
Develop Your Own Path On Microsoft Azure
 
Running SSIS 2017 at Scale Everywhere
 Running SSIS 2017 at Scale Everywhere Running SSIS 2017 at Scale Everywhere
Running SSIS 2017 at Scale Everywhere
 
Microsoft Azure: Deploy and Scale Modern Websites
Microsoft Azure: Deploy and Scale Modern WebsitesMicrosoft Azure: Deploy and Scale Modern Websites
Microsoft Azure: Deploy and Scale Modern Websites
 
Enter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsEnter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s Assets
 
Let's Talk About: Database Migration Service
Let's Talk About: Database Migration ServiceLet's Talk About: Database Migration Service
Let's Talk About: Database Migration Service
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute Solutions
 
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...
Windows Azure Web Sites- Things they don’t teach kids in school - Comunity D...Windows Azure Web Sites- Things they don’t teach kids in school - Comunity D...
Windows Azure Web Sites - Things they don’t teach kids in school - Comunity D...
 
Microsoft SQL Licensing Workshop - Software ONE
Microsoft SQL Licensing Workshop - Software ONEMicrosoft SQL Licensing Workshop - Software ONE
Microsoft SQL Licensing Workshop - Software ONE
 
Azure sql introduction
Azure sql  introductionAzure sql  introduction
Azure sql introduction
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
 
Automation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud EnvironmentsAutomation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud Environments
 

Viewers also liked

PHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionPHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionMaarten Balliauw
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyMaarten Balliauw
 
AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingMaarten Balliauw
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCMaarten Balliauw
 

Viewers also liked (8)

PHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionPHP And Silverlight - DevDays session
PHP And Silverlight - DevDays session
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
 
AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meeting
 
PHPExcel
PHPExcelPHPExcel
PHPExcel
 
Mocking - Visug session
Mocking - Visug sessionMocking - Visug session
Mocking - Visug session
 
ASP.NET MVC Wisdom
ASP.NET MVC WisdomASP.NET MVC Wisdom
ASP.NET MVC Wisdom
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 

Similar to Convert ASP.NET App to Azure

Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Maarten Balliauw
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More CloudyMaarten Balliauw
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBill Wilder
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure PlatformSergejus Barinovas
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]vaishalisahare123
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
Concevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudConcevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudStéphanie Hertrich
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011Spiffy
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devicesPatric Boscolo
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloudDelta-N
 

Similar to Convert ASP.NET App to Azure (20)

Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows Azure
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure Platform
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
Azure and Umbraco CMS
Azure and Umbraco CMSAzure and Umbraco CMS
Azure and Umbraco CMS
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Running PHP In The Cloud
Running PHP In The CloudRunning PHP In The Cloud
Running PHP In The Cloud
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Concevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudConcevoir une application scalable dans le Cloud
Concevoir une application scalable dans le Cloud
 
Sql Azure Pass
Sql Azure PassSql Azure Pass
Sql Azure Pass
 
Sql Azure Pass
Sql Azure PassSql Azure Pass
Sql Azure Pass
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011BizSpark Startup Night Windows Azure March 29, 2011
BizSpark Startup Night Windows Azure March 29, 2011
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloud
 

More from Maarten Balliauw

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxMaarten Balliauw
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Maarten Balliauw
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceMaarten Balliauw
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Maarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Maarten Balliauw
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...Maarten Balliauw
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...Maarten Balliauw
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...Maarten Balliauw
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...Maarten Balliauw
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchMaarten Balliauw
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandMaarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Maarten Balliauw
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneMaarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneMaarten Balliauw
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...Maarten Balliauw
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingMaarten Balliauw
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Maarten Balliauw
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETMaarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingMaarten Balliauw
 

More from Maarten Balliauw (20)

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Convert ASP.NET App to Azure

  • 1. Converting an existing ASP.NET application to Windows Azure Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
  • 2. Whoam I? Maarten Balliauw Antwerp, Belgium www.realdolmen.com Focus on web ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, … MVP ASP.NET http://blog.maartenballiauw.be http://twitter.com/maartenballiauw
  • 3. Agenda Windows Azure? An existing application… Migration paths Considerations Q&A
  • 4. What’s in the cloud? Windows Azure
  • 5. The Windows Azure Platform Windows Azure SQL Azure Windows Azure platform AppFabric Developer tools Microsoft Codename “Dallas”
  • 6. Windows Azure Flexible application hosting Lights-out service management Provide code & service model, hit ENTER Storage at massive scale Compute Storage Management
  • 7. SQL Azure Relational database as a service Highly available, automatically maintained Extension of the SQL Server Data Platform Business Analytics Reporting Data Sync Database
  • 8. SQL Azure Relational database, provided as a service Highly symmetrical development and tooling experience (use TDS protocol and T-SQL) Highly scaled out, on commodity hardware Built on the SQL Server technology foundation Beyond “hosted database” High availability, DB provisioning, and DB management are provided by the service Pay for what you use
  • 9. Windows Azure AppFabric Secure connections between services Across organizational boundaries Claims-based access control ServiceBus AccessControl
  • 10. Windows Azure AppFabric - Service Bus Securely connect applications Over the internet Across any network topology Across organizational boundaries Primary application patterns Eventing: Notify applications and/or devices Service Remoting: Securely project on-premises services out to the cloud Tunneling: App-to-app communication with NAT/Firewall traversal
  • 11. Windows Azure AppFabric - Access Control Provides outsourcing of claims-based access control for REST web services Key capabilities: Usable from any platform Low friction way to onboard new clients Integrates with AD FS v2 Supports WRAP / SWT Enables simple delegation Used today by Service Bus and “Dallas”
  • 12. Microsoft Codename “Dallas” Content brokerage and discovery platform Available as a CTP at commercial launch Microsoft Codename “Dallas”Information Services
  • 13. Introducing “Dallas” Content Brokerage and Discovery platform Discover, Explore, and Use any type of content (blobs, structured, real-time web services) Tap into an ecosystem of global content providers Process & analyze data Empowers developers of all sizes Built on Windows Azure and SQL Azure
  • 14.
  • 15.
  • 17. Blob Container Entities Account Table http://<account>.blob.core.windows.net/<container> http://<account>.table.core.windows.net/<table> Messages Queue Windows Azure Storage Concepts http://<account>.queue.core.windows.net/<queue>
  • 18. Blob Storage Store sets of binary data Text files, images, … Highly Available Automatically scales to multiple servers and locations Durable Data is replicated at least 3 times
  • 19. Table Storage Store sets of structured data Not bound to schema! Billions of entities (rows) and TBs of data Automatically scales to thousands of servers as traffic grows Highly Available Can always access your data Durable Data is replicated at least 3 times
  • 20. Table Storage Capabilities What tables don’t do What tables can do             Not relational No Referential Integrity No Joins Limited Queries No Group by No Aggregations Transactions (limited) Very Scalable Flexible Durable Store LOTS of stuff  Cheap If these are important to you, use SQL Azure
  • 21. Queue Service Store a queue of messages FIFO Can be used by multiple worker roles
  • 22. Windows Azure Summary Many is better than one Let Microsoft worry about this Loose coupling Web Role and Worker Role Storage choice Azure Storage: Simple stores scale Table, Blob, Queue SQL Azure: Full RDBMS Stored Procedures, Schema, Transactions, Views etc
  • 23. Let’s have a look at… an existing application…
  • 24. Existing ASP.NET application ASP.NET Webforms “Repository pattern” Entity framework Database File storage on server Built with no need for scale
  • 26. The shortest way to the cloud Migration paths
  • 27. First things first… Tools: Windows Azure SDK Windows Azure Visual Studio Tools www.microsoft.com/web New solution: Blank “cloud service” Add existing projects Promote to “web role”
  • 28. Migration paths: hosting & file storage Windows Azure Web Role Hosting the web application Windows Azure Blob Storage Hosting “user uploaded content” Option 1: HttpHandler + Abstraction and migration freedom - Traffic & related costs Option 2: public blob container + Azure CDN + Traffic & related costs+ Pretty download URL + Fast! Nearby! - Abstraction and migration freedom
  • 29. Migration paths: data Option 1: SQL Azure Easiest migration path for data More powerful RDBMS Sync Framework Power Pack: http://bit.ly/5hTtSY SQL Azure Migration Wizard: http://sqlazuremw.codeplex.com/ Option 2: Table storage Will be cheaper in operating costs for small applications Will probably require some rework
  • 31. Think before you go cloudy… Considerations
  • 32. Hosting Migration Will be an easy migration Remember to use the providers from the SDK Keep the “multiple roles” idea in mind! Considerations to make Store all content in the application? Requires a re-deployment quite often… Better: store more dynamic content on blob storage Background processing Try moving heavy CPU tasks to worker role where appropriate One web role? Will be cheaper… But will have your application down during upgrade… Better: always > 1 web role (at least 2)
  • 33. Database Working with EF / NHibernate / (insert ORM here)? SQL Azure wil be easiest path, but is more expensive Table storage… Will get you frustrated if your application design is bad!(like mine in the demo) Use simple data structures for table storage Map these to whatever you want in your application
  • 34. Architecture Quote: “Some architectures will require rework” All of them will require rework to do it right… Current application architecture not suited for large scale! I can go for multiple web roles But not for unlimited web roles… Think in “multiple roles” Web roles Backedbyworkerroleswhereneeded Architecture will be one of the challenges
  • 35. Typical Architecture Service Unavailable VIP Worker Role Web Role Windows Azure Storage (Blob, Table, Queue)
  • 36. Web + Worker Role Service Model Worker Role Service Still Available Worker Role Web Role VIP Worker Role Web Role Worker Role Worker Role Windows Azure Storage (Blob, Table, Queue)
  • 37. Windows Azure - Coming soon… Programming model Administrator privileges in the VM Deployment of pre-configured VM images Still obtain the benefits of the WA service model Storage User-selectable geo-locations for replicas Secondary indices on tables Service management Remote terminal server access to VMs
  • 38. Resources Windows Azurehttp://www.azure.com Steve Marxhttp://blog.smarx.com/ Clemens Vastershttp://vasters.com/clemensv/ Simon Guesthttp://simonguest.com/blogs/smguest PDChttp://microsoftpdc.com My bloghttp://blog.maartenballiauw.be/category/Azure.aspx RealDolmen blogs is running on Azure!http://www.realdolmenblogs.com
  • 39. AZUG.BE – Azure User Group Belgium Focus on the Azure Services Platform Community-driven Focus on architecture And development And the business value of Azure www.azug.be
  • 40. Questions, possibly Answers… ? Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
  • 41. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  1. http://eric.blob.core.windows.net/music/rock/rush/xanadu.mp3Blobs – Provide a simple interface for storing named files along with metadata for the fileTables – Provide structured storage. A Table is a set of entities, which contain a set of propertiesQueues – Provide reliable storage and delivery of messages for an applicationTab