SlideShare a Scribd company logo
1 of 67
Running in the CloudChronoRace Maarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
Who am 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 Cloud computing? Windows Azure? The ChronoRace case ChronoRace? Infrastructure The project Resources Q&A
What’s in the cloud? Cloud Computing
Cloud computing On-demand self service Standardized access Location independant resource pooling Rapid elasticity Pay per use
IT as a Service Private (On-Premise) Infrastructure (as a Service) Platform (as a Service) You manage Applications Applications Applications You manage Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration Managed by vendor You manage Databases Databases Databases Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
What’s in the cloud? Windows Azure
The Windows Azure Platform Windows Azure SQL Azure Windows Azure platform AppFabric Microsoft Codename “Dallas” Microsoft Codename “Sydney”
Windows Azure Flexible application hosting Lights-out service management Provide code & service model, hit ENTER Storage at massive scale Blobs, tables, queues Compute Storage Management
Windows Azure
Storage options Blobs, tables, queues Windows 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 VM
SQL Azure Relational database as a service Highly available, automatically maintained Extension of the SQL Server Data Platform Reporting Data Sync Business Analytics Database
Windows Azure AppFabric Secure connections between services Across organizational boundaries Claims-based access control ServiceBus AccessControl
Service Bus Overview
Microsoft Codename “Dallas” Content brokerage and discovery platform  Available as a CTP Microsoft Codename “Dallas”Information Services
Microsoft Codename “Sydney” - Connectivity WINDOWS AZURE PLATFORM ENTERPRISE Data Service Service Bus Access Control Service Code Name “Project Sydney”
North America Region   Asia Pacific Region Europe Region N. Europe  Sub-region   N. Central – US   Sub-region   E. Asia Sub-region  W. Europe  Sub-region  S. Central - US  Sub-region S.E. Asia Sub-region
What’s in the cloud? Running in the Cloud The ChronoRace case
ChronoRace
ChronoRace Delivering infrastructure for timing sports events Running, biking, triathlon, mountainbike, … Founded 10 years ago, Malmédy, 4 persons Timing of every participant Video footage of every participant PDF certificates for every participant Around 340 events per year! Belgium, Luxemburg, France, Germany, Netherlands, … Small events Large events Dwars door Brugge	  8.000 participants Antwerp 10 Miles	17.000 participants 20km of Brussels	30.000 participants
What’s in the cloud? Infrastructure The ChronoRace case
Current infrastructure
Google Analytics from Antwerp 10 Miles 2010
Big event… 20km of Brussels upcoming! (30/05/2010) Expected 30.000 participants Downloading their certificate	30.000 hits processing a PDF Watching results online		30.000 hits* Having a video online		30.000 x +/- 10MB (= 292 GB) Watching their video		30.000 video views And showing off to family and friends…			30.000 x 10MB x 10 views (avg.) =			2,92 TB bandwidth in 1 day About 35 Mbps Over a 10 Mbps line… But there’s an option to a 100 Mbps line!
How to overcome these predictable peaks? Make videos only available after a day or 2 Many hits to the results page can be handled Videos online during week: traffic spread Invest in streaming? Costly, big capacity only needed for +/- 7 events per year The videos are not the only problem
How to overcome these predictable peaks? A better WAN connection? Costly Currently the server can handle all traffic because of the 10 Mbps cap Buy additional hardware? Costly Estimated use of additional hardware is +/- 7 events per year 14 days of required uptime 342 days of money burning
“Growing Fast“   “On and Off “   Inactivity Period  Compute  Compute  Average Usage Usage Average Time  Time  ,[object Object]
Over provisioned capacity is wasted
Time to market can be cumbersome
Successful services needs to grow/scale
Keeping up w/ growth is big IT challenge
Complex lead time for deployment“Unpredictable Bursting“   “Predictable Bursting“   Compute  Compute  Average Usage  Average Usage  Time  Time  ,[object Object]
Sudden spike impacts performance
Can’t over provision for extreme cases
Services with micro seasonality trends
Peaks due to periodic increased demand
IT complexity and wasted capacity   Workloadpatternsoptimalforcloud
What’s in the cloud? The Project The ChronoRace case
Where did it start… Microsoft salesguy is a runner Annoyed by the slow / failing website Decided to give a call ChronoRace interested in the cloud story RealDolmen chosen as partner Already investing heavily in Windows Azure for 1,5 year Mostly building PoC’s to see what fits / what not Experience
Step 1: Identify the possible use case for cloud Obviously: peaks, mostly predicted
Step 2: Identify possible pitfalls Current website VS2003 Web Site Database 1 GB or 10 GB? PDF generation 32 bit component (Azure is 64 bit) License key requires registry access Streaming Possible from Azure? Directly from storage? Scaling Not automatic on Azure Deployment Site is +/- 300 MB, deploy this every time? Pricing Is this all worth the migration?
Current web site VS2003 Web Site Should be easy! File -> New -> Cloud Add a web application Copy the VS2003 web site in Right click -> Convert to web application Done!
Current web site VS2003 Web Site in a VS2010 Web Application Would not compile (no namespaces) Migration took some time Add namespace Restructure classes Throw out stuff that was no longer used Actually migration allowed us to get a cleaner application
Database Current database size: around 2,5 GB Squeeze stuff into 1 GB? Data retention Restructure database?
Database Decided to go for 10 GB version Migration Using open-source: SQL Azure Migration Wizardhttp://sqlazuremw.codeplex.com Worked surprisingly good! 2 stored procedures could not be migrated Test migration took 7 hours initially! Don’t migrate on your home connection 
Database Current website at www.chronorace.be runs on SQL Azure As easy as changing the connection string! After installing SQL Server 2008 R2 client After installing SQL Server 2008 R2 management objects
Database Backups? Do you NEED backups on Azure anyway??? Not supported in current version, backups manually via SQL Azure Migration Wizard to local SQL Server One of the upcoming SQL Azure versions will support database backups
PDF generation Using “WebSuperGoo ABCpdf” Requires registry access for the license key Not allowed on Azure We built a small PoC in Development Fabric which worked! Deployment to production learned that this was false optimism  Current version: 32 bits Azure: 64 bits We tried to run the non-licensed version on Azure Did not work: author has disabled 64 bits support
PDF generation 64 bits version… Decided to keep this on the current web server for now Migrate to an open-source PDF component in the future
Streaming Currently a Flash player Downloads chunks of +/- 1 MB Should work on blob storage! Cheap storage Cheap traffic CDN support API supports downloading chunks
Streaming Getting a chunck took a few seconds for each video… What if a participant watches the video 10 times? Decided to cache the video to compute During the advert that is shown Next view of the video is instant! Demo: http://bit.ly/d8koz6
Scaling Done by doing this: Would be awesome to have this: Not possible! “When” should it scale? “How” should it scale? “Who” / “What” is responsible for scaling? <Instancescount="2" /> <InstancesminInstances="3" maxInstances="10" />
Auto-Scaling Auto scaling would be a big benefit During events all 4 people are busy It is the cloud after all? The scale-up/down thing? We decided to build something for that Application should be able to monitor itself Only one instance should be responsible for that
Auto-Scaling – Scaling logic Scaling logic provider uses sensor data to suggest an action (up/fast-up/down/stable) To implement per application Just a suggestion! Scaling logic provider uses sensor data to suggest an action (up/fast-up/down/stable) To implement per application Just a suggestion!
Auto-Scaling Uses all the standard API’s of Windows Azure Master election 				 Role Environment Performance counters 			 Diagnostics API Queue length 				 Storage API Scaling (changing # instances in config) 	 Management API
Auto-Scaling in ChronoRace Sensor based on concurrent video streams Scales between 2 and 20 instances automatically Hard to verify! The Windows Azure portal is not willing to disclose the number of instances during scale. MMC Snap-In does give useful info!http://code.msdn.microsoft.com/windowsazuremmc
Deployment Site is +/- 300 MB, deploy this every time? Deployment through portal seems to take forever Uploading 300 MB for a very small change is crazy We decided to move images and static content to blob storage and serve it from there Code and dynamic content are on Windows Azure. Making it a 3,5 MB application.
Deployment Deployment can be done in 2 ways “Upgrade” “VIP swap” Website will mostly run on 1 or 2 instances Case 1  upgrade will bring the site down! Process: use VIP swap
Pricing – Current pricing Server lease for 2 servers Including 10 Mbps bandwidth +/- 450 EUR / month

More Related Content

What's hot

Writing less code with Serverless on AWS at AWS Community Day DACH 2021
Writing less code with Serverless on AWS at AWS Community Day DACH 2021Writing less code with Serverless on AWS at AWS Community Day DACH 2021
Writing less code with Serverless on AWS at AWS Community Day DACH 2021Vadym Kazulkin
 
Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Adrian Cockcroft
 
Build to Hack, Hack to Build
Build to Hack, Hack to BuildBuild to Hack, Hack to Build
Build to Hack, Hack to BuildCloudVillage
 
Writing less code with Serverless on AWS at OOP 2022
Writing less code with Serverless on AWS at OOP 2022Writing less code with Serverless on AWS at OOP 2022
Writing less code with Serverless on AWS at OOP 2022Vadym Kazulkin
 
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Vadym Kazulkin
 
Getting Started with Amazon WorkSpaces
Getting Started with Amazon WorkSpacesGetting Started with Amazon WorkSpaces
Getting Started with Amazon WorkSpacesAmazon Web Services
 
Patterns and Practices for Building Resilient Serverless Applications
Patterns and Practices for Building Resilient Serverless ApplicationsPatterns and Practices for Building Resilient Serverless Applications
Patterns and Practices for Building Resilient Serverless ApplicationsYan Cui
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Vadym Kazulkin
 
Disrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
Disrupting the Storage Industry talk at SNIA Data Storage Innovation ConferenceDisrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
Disrupting the Storage Industry talk at SNIA Data Storage Innovation ConferenceAdrian Cockcroft
 
Getting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsGetting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsIlyas F ☁☁☁
 
API310 - How to refactor a monolith to serverless in 8 steps
API310 - How to refactor a monolith to serverless in 8 stepsAPI310 - How to refactor a monolith to serverless in 8 steps
API310 - How to refactor a monolith to serverless in 8 stepsYan Cui
 
Designing for scale and resilience in the cloud 101
Designing for scale and resilience in the cloud 101Designing for scale and resilience in the cloud 101
Designing for scale and resilience in the cloud 101Frans Lytzen
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021Naomi Yamasaki
 
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Vadym Kazulkin
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...Vadym Kazulkin
 
AWS Security Essentials
AWS Security EssentialsAWS Security Essentials
AWS Security EssentialsAaron Bedra
 
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
 
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...Vadim Zendejas
 

What's hot (20)

Writing less code with Serverless on AWS at AWS Community Day DACH 2021
Writing less code with Serverless on AWS at AWS Community Day DACH 2021Writing less code with Serverless on AWS at AWS Community Day DACH 2021
Writing less code with Serverless on AWS at AWS Community Day DACH 2021
 
Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016
 
Build to Hack, Hack to Build
Build to Hack, Hack to BuildBuild to Hack, Hack to Build
Build to Hack, Hack to Build
 
Writing less code with Serverless on AWS at OOP 2022
Writing less code with Serverless on AWS at OOP 2022Writing less code with Serverless on AWS at OOP 2022
Writing less code with Serverless on AWS at OOP 2022
 
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
 
Getting Started with Amazon WorkSpaces
Getting Started with Amazon WorkSpacesGetting Started with Amazon WorkSpaces
Getting Started with Amazon WorkSpaces
 
Patterns and Practices for Building Resilient Serverless Applications
Patterns and Practices for Building Resilient Serverless ApplicationsPatterns and Practices for Building Resilient Serverless Applications
Patterns and Practices for Building Resilient Serverless Applications
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
 
Disrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
Disrupting the Storage Industry talk at SNIA Data Storage Innovation ConferenceDisrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
Disrupting the Storage Industry talk at SNIA Data Storage Innovation Conference
 
Getting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsGetting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 mins
 
API310 - How to refactor a monolith to serverless in 8 steps
API310 - How to refactor a monolith to serverless in 8 stepsAPI310 - How to refactor a monolith to serverless in 8 steps
API310 - How to refactor a monolith to serverless in 8 steps
 
Linuxtag 2012 - OpenNebula
Linuxtag 2012 - OpenNebula  Linuxtag 2012 - OpenNebula
Linuxtag 2012 - OpenNebula
 
Designing for scale and resilience in the cloud 101
Designing for scale and resilience in the cloud 101Designing for scale and resilience in the cloud 101
Designing for scale and resilience in the cloud 101
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021
 
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
 
AWS Security Essentials
AWS Security EssentialsAWS Security Essentials
AWS Security Essentials
 
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
 
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
 

Similar to Running in the Cloud - First Belgian Azure project

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
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten 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
 
Cloud & Windows Azure - Lessius
Cloud & Windows Azure - LessiusCloud & Windows Azure - Lessius
Cloud & Windows Azure - LessiusMaarten Balliauw
 
Blewis Session 1 Fy10 Q3 Azure
Blewis  Session 1 Fy10 Q3 AzureBlewis  Session 1 Fy10 Q3 Azure
Blewis Session 1 Fy10 Q3 AzureBrian Lewis
 
Microsoft Partner Roadshow - To the Cloud
Microsoft Partner Roadshow  - To the CloudMicrosoft Partner Roadshow  - To the Cloud
Microsoft Partner Roadshow - To the CloudNigel Watson
 
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101nwcloud
 
Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Mithun T. Dhar
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongSpiffy
 
Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?Guido Schmutz
 
Big Data - in the cloud or rather on-premises?
Big Data - in the cloud or rather on-premises?Big Data - in the cloud or rather on-premises?
Big Data - in the cloud or rather on-premises?Guido Schmutz
 
Putting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestPutting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestRobert MacLean
 
AWS Summit Benelux 2013 - Media and Online Advertising on AWS
AWS Summit Benelux 2013 - Media and Online Advertising on AWSAWS Summit Benelux 2013 - Media and Online Advertising on AWS
AWS Summit Benelux 2013 - Media and Online Advertising on AWSAmazon Web Services
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPDaniel Zivkovic
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)VMware Tanzu
 

Similar to Running in the Cloud - First Belgian Azure project (20)

Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
 
Azure Umbraco workshop
Azure Umbraco workshopAzure Umbraco workshop
Azure Umbraco workshop
 
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
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
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
 
Azure Microsoft
Azure MicrosoftAzure Microsoft
Azure Microsoft
 
Cloud & Windows Azure - Lessius
Cloud & Windows Azure - LessiusCloud & Windows Azure - Lessius
Cloud & Windows Azure - Lessius
 
Blewis Session 1 Fy10 Q3 Azure
Blewis  Session 1 Fy10 Q3 AzureBlewis  Session 1 Fy10 Q3 Azure
Blewis Session 1 Fy10 Q3 Azure
 
Microsoft Partner Roadshow - To the Cloud
Microsoft Partner Roadshow  - To the CloudMicrosoft Partner Roadshow  - To the Cloud
Microsoft Partner Roadshow - To the Cloud
 
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
NWCloud Cloud Track - Overview of Cloud Computing and Windows Azure 101
 
Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101Introduction To Cloud Computing Winsows Azure101
Introduction To Cloud Computing Winsows Azure101
 
Lightning talks
Lightning talksLightning talks
Lightning talks
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
Azure and Umbraco CMS
Azure and Umbraco CMSAzure and Umbraco CMS
Azure and Umbraco CMS
 
Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?Internet of Things (IoT) - in the cloud or rather on-premises?
Internet of Things (IoT) - in the cloud or rather on-premises?
 
Big Data - in the cloud or rather on-premises?
Big Data - in the cloud or rather on-premises?Big Data - in the cloud or rather on-premises?
Big Data - in the cloud or rather on-premises?
 
Putting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestPutting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/Test
 
AWS Summit Benelux 2013 - Media and Online Advertising on AWS
AWS Summit Benelux 2013 - Media and Online Advertising on AWSAWS Summit Benelux 2013 - Media and Online Advertising on AWS
AWS Summit Benelux 2013 - Media and Online Advertising on AWS
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
 

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

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
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
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 

Recently uploaded (20)

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
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
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 

Running in the Cloud - First Belgian Azure project

  • 1.
  • 2. Running in the CloudChronoRace Maarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
  • 3. Who am 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
  • 4.
  • 5. Agenda Cloud computing? Windows Azure? The ChronoRace case ChronoRace? Infrastructure The project Resources Q&A
  • 6. What’s in the cloud? Cloud Computing
  • 7. Cloud computing On-demand self service Standardized access Location independant resource pooling Rapid elasticity Pay per use
  • 8. IT as a Service Private (On-Premise) Infrastructure (as a Service) Platform (as a Service) You manage Applications Applications Applications You manage Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration Managed by vendor You manage Databases Databases Databases Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
  • 9. What’s in the cloud? Windows Azure
  • 10. The Windows Azure Platform Windows Azure SQL Azure Windows Azure platform AppFabric Microsoft Codename “Dallas” Microsoft Codename “Sydney”
  • 11. Windows Azure Flexible application hosting Lights-out service management Provide code & service model, hit ENTER Storage at massive scale Blobs, tables, queues Compute Storage Management
  • 13. Storage options Blobs, tables, queues Windows 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 VM
  • 14. SQL Azure Relational database as a service Highly available, automatically maintained Extension of the SQL Server Data Platform Reporting Data Sync Business Analytics Database
  • 15. Windows Azure AppFabric Secure connections between services Across organizational boundaries Claims-based access control ServiceBus AccessControl
  • 17. Microsoft Codename “Dallas” Content brokerage and discovery platform Available as a CTP Microsoft Codename “Dallas”Information Services
  • 18. Microsoft Codename “Sydney” - Connectivity WINDOWS AZURE PLATFORM ENTERPRISE Data Service Service Bus Access Control Service Code Name “Project Sydney”
  • 19. North America Region Asia Pacific Region Europe Region N. Europe Sub-region N. Central – US Sub-region E. Asia Sub-region W. Europe Sub-region S. Central - US Sub-region S.E. Asia Sub-region
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. What’s in the cloud? Running in the Cloud The ChronoRace case
  • 26. ChronoRace Delivering infrastructure for timing sports events Running, biking, triathlon, mountainbike, … Founded 10 years ago, Malmédy, 4 persons Timing of every participant Video footage of every participant PDF certificates for every participant Around 340 events per year! Belgium, Luxemburg, France, Germany, Netherlands, … Small events Large events Dwars door Brugge 8.000 participants Antwerp 10 Miles 17.000 participants 20km of Brussels 30.000 participants
  • 27. What’s in the cloud? Infrastructure The ChronoRace case
  • 29. Google Analytics from Antwerp 10 Miles 2010
  • 30. Big event… 20km of Brussels upcoming! (30/05/2010) Expected 30.000 participants Downloading their certificate 30.000 hits processing a PDF Watching results online 30.000 hits* Having a video online 30.000 x +/- 10MB (= 292 GB) Watching their video 30.000 video views And showing off to family and friends… 30.000 x 10MB x 10 views (avg.) = 2,92 TB bandwidth in 1 day About 35 Mbps Over a 10 Mbps line… But there’s an option to a 100 Mbps line!
  • 31.
  • 32. How to overcome these predictable peaks? Make videos only available after a day or 2 Many hits to the results page can be handled Videos online during week: traffic spread Invest in streaming? Costly, big capacity only needed for +/- 7 events per year The videos are not the only problem
  • 33. How to overcome these predictable peaks? A better WAN connection? Costly Currently the server can handle all traffic because of the 10 Mbps cap Buy additional hardware? Costly Estimated use of additional hardware is +/- 7 events per year 14 days of required uptime 342 days of money burning
  • 34.
  • 36. Time to market can be cumbersome
  • 37. Successful services needs to grow/scale
  • 38. Keeping up w/ growth is big IT challenge
  • 39.
  • 40. Sudden spike impacts performance
  • 41. Can’t over provision for extreme cases
  • 42. Services with micro seasonality trends
  • 43. Peaks due to periodic increased demand
  • 44. IT complexity and wasted capacity Workloadpatternsoptimalforcloud
  • 45. What’s in the cloud? The Project The ChronoRace case
  • 46. Where did it start… Microsoft salesguy is a runner Annoyed by the slow / failing website Decided to give a call ChronoRace interested in the cloud story RealDolmen chosen as partner Already investing heavily in Windows Azure for 1,5 year Mostly building PoC’s to see what fits / what not Experience
  • 47. Step 1: Identify the possible use case for cloud Obviously: peaks, mostly predicted
  • 48. Step 2: Identify possible pitfalls Current website VS2003 Web Site Database 1 GB or 10 GB? PDF generation 32 bit component (Azure is 64 bit) License key requires registry access Streaming Possible from Azure? Directly from storage? Scaling Not automatic on Azure Deployment Site is +/- 300 MB, deploy this every time? Pricing Is this all worth the migration?
  • 49. Current web site VS2003 Web Site Should be easy! File -> New -> Cloud Add a web application Copy the VS2003 web site in Right click -> Convert to web application Done!
  • 50.
  • 51. Current web site VS2003 Web Site in a VS2010 Web Application Would not compile (no namespaces) Migration took some time Add namespace Restructure classes Throw out stuff that was no longer used Actually migration allowed us to get a cleaner application
  • 52. Database Current database size: around 2,5 GB Squeeze stuff into 1 GB? Data retention Restructure database?
  • 53. Database Decided to go for 10 GB version Migration Using open-source: SQL Azure Migration Wizardhttp://sqlazuremw.codeplex.com Worked surprisingly good! 2 stored procedures could not be migrated Test migration took 7 hours initially! Don’t migrate on your home connection 
  • 54. Database Current website at www.chronorace.be runs on SQL Azure As easy as changing the connection string! After installing SQL Server 2008 R2 client After installing SQL Server 2008 R2 management objects
  • 55. Database Backups? Do you NEED backups on Azure anyway??? Not supported in current version, backups manually via SQL Azure Migration Wizard to local SQL Server One of the upcoming SQL Azure versions will support database backups
  • 56. PDF generation Using “WebSuperGoo ABCpdf” Requires registry access for the license key Not allowed on Azure We built a small PoC in Development Fabric which worked! Deployment to production learned that this was false optimism  Current version: 32 bits Azure: 64 bits We tried to run the non-licensed version on Azure Did not work: author has disabled 64 bits support
  • 57. PDF generation 64 bits version… Decided to keep this on the current web server for now Migrate to an open-source PDF component in the future
  • 58. Streaming Currently a Flash player Downloads chunks of +/- 1 MB Should work on blob storage! Cheap storage Cheap traffic CDN support API supports downloading chunks
  • 59. Streaming Getting a chunck took a few seconds for each video… What if a participant watches the video 10 times? Decided to cache the video to compute During the advert that is shown Next view of the video is instant! Demo: http://bit.ly/d8koz6
  • 60. Scaling Done by doing this: Would be awesome to have this: Not possible! “When” should it scale? “How” should it scale? “Who” / “What” is responsible for scaling? <Instancescount="2" /> <InstancesminInstances="3" maxInstances="10" />
  • 61. Auto-Scaling Auto scaling would be a big benefit During events all 4 people are busy It is the cloud after all? The scale-up/down thing? We decided to build something for that Application should be able to monitor itself Only one instance should be responsible for that
  • 62. Auto-Scaling – Scaling logic Scaling logic provider uses sensor data to suggest an action (up/fast-up/down/stable) To implement per application Just a suggestion! Scaling logic provider uses sensor data to suggest an action (up/fast-up/down/stable) To implement per application Just a suggestion!
  • 63. Auto-Scaling Uses all the standard API’s of Windows Azure Master election  Role Environment Performance counters  Diagnostics API Queue length  Storage API Scaling (changing # instances in config)  Management API
  • 64. Auto-Scaling in ChronoRace Sensor based on concurrent video streams Scales between 2 and 20 instances automatically Hard to verify! The Windows Azure portal is not willing to disclose the number of instances during scale. MMC Snap-In does give useful info!http://code.msdn.microsoft.com/windowsazuremmc
  • 65. Deployment Site is +/- 300 MB, deploy this every time? Deployment through portal seems to take forever Uploading 300 MB for a very small change is crazy We decided to move images and static content to blob storage and serve it from there Code and dynamic content are on Windows Azure. Making it a 3,5 MB application.
  • 66. Deployment Deployment can be done in 2 ways “Upgrade” “VIP swap” Website will mostly run on 1 or 2 instances Case 1  upgrade will bring the site down! Process: use VIP swap
  • 67. Pricing – Current pricing Server lease for 2 servers Including 10 Mbps bandwidth +/- 450 EUR / month
  • 68. Pricing – Windows Azure Storage 30 GB required x $ 0,15 = $ 4,50 / month SQL Azure 10 GB database x $ 99,99 = $ 99,99 / month
  • 69. Pricing – Windows Azure Compute On average 1 instance = $ 43,20 / month Worst case 15 days 3 instances = $ 129,60 / month Traffic 3 TB x $ 0,15 / GB = $ 450,00 / month* *will probably be less
  • 70. Pricing – Windows Azure Estimated worst-case scenario would cost: Current setup: 450 EUR / month Windows Azure worst-case: 590 EUR / month
  • 71. What’s in the cloud? Summary The ChronoRace case
  • 72. ChronoRace summary Pitfalls were identified and mostly tackled Except for the PDF generation Most hours spent with VS2003 web site to VS2010 web app Database migration One test run of 7 hours (unattended) Final migration took 1 hour Development using Windows Azure Storage API Max. 1 day spent Website on Azure will be put to test next weekend: 20 km of Brussels is D-Day Confident that it will not explode this time
  • 73. Resources Where do I find more info?
  • 74. Resources Windows Azurehttp://www.azure.com Steve Marxhttp://blog.smarx.com/ PDChttp://microsoftpdc.com My bloghttp://blog.maartenballiauw.be/category/Azure.aspx RealDolmen blogs is running on Azure!http://www.realdolmenblogs.com RealDolmen will be happy to work with you in identifying if cloud computing is beneficial to your applications. Stop by our booth for a chat!
  • 75. 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
  • 76. Questions Possibly Answers Q&A Session also later today,check your session schedule or stop by our booth.

Editor's Notes

  1. Datacenter pairing!