SlideShare a Scribd company logo
Patterns for Scalability in Microsoft Azure Applications (starting at 17.00) 
Alex Mang 
alexmang.ro | @mangalexandru 
25thof October 2014
Alex mang   patterns for scalability in microsoft azure application
•Alex Mang 
•CEO @ KeyTicket Solutions 
•Event management and 
on-line ticketing, powered by Azure 
•Microsoft BizSpark Plus 
(1/4 nation-wide) 
•Azure Advisor 
•Husband & father 
Speaker.Bio.ToString()
•They promised crazyscaling capacity 
•… & they fulfilled their promise 
•… but my apps are still under-performing 
Context of cloud apps
Common Architecture
Queue-Based Load Pattern 
Queue Based Load Leveling Pattern 
Source: Microsoft Patterns & Practices -Cloud Design Patterns 
Possible bottlenecks
Competing-Consumers Pattern 
Source: Microsoft Patterns & Practices -Cloud Design Patterns 
What about important messages?
Priority Queue Pattern 
Competing Consumers Pattern 
Source: Microsoft Patterns & Practices -Cloud Design Patterns
Recap 
Queue-based Load: 
-Removes app failure caused by 3rdparty services 
Competing-Consumers: 
-Ensures messages (= tasks) are processed faster, even under high load 
Priority Queue: 
-Ensures important tasks run first
DEMO 
PRIORITY QUEUE PATTERN
•Most developers think about how data is stored in OOP manner 
•In NoSQL, commonly store everything in a single entity 
•In SQL, we have size constraints 
•End-up in: 
•Performance impact 
•High prices 
What about data repo. limit.?
•Can generate views in advance, containing data on a per-requirement basis 
•Only contain data required by query 
•Include current values of calculated columns or data items 
•May be optimized for a single queries 
•Updated a.s.a.p. (schedule / triggered) 
What about data repo. limit.? (cont’)
Materialized-View Pattern 
Source: Microsoft Patterns & Practices -Cloud Design Patterns
Materialized-View Pattern 
Materialized View Pattern Example 
Source: Microsoft Patterns & Practices -Cloud Design Patterns
Materialized-View Pattern 
When to use 
Queries are complex 
Data difficult to query directly 
Temporary views dramaticallyimprove perf. 
Temporary views act as DTOs for UI, reporting etc. 
Data store not always available (SQL Azure) 
Security or privacy reasons
Recap 
So far, I’ve talked about: 
•Taking pieces of code out of the ‘front facing’ apps 
•Messaging methods between apps and consumers 
•Simple queue 
•Priority queue 
•Response queues 
•Partitioning data into views 
•Materialized views! 
Hip-hip, Hurray! 
WE CAN SCALE OUR COMPUTE ROLES! 
But what about data? 
•Thought: 
If we scale-out our compute roles… 
… why not scale out our databases too?
Sharding Pattern 
•Scale-up vs. scale-out applies to dbs. too! 
•Shard = horizontal partition of overall data 
•Must scale out data because: 
•Storage limitations 
•Concurrent requests 
•Customer isolation 
•Geography
Sharding Pattern (cont’ed) 
•Horizontal partitions of data 
•(a.k.a. shards) 
•Same schema, different data 
•Runs on its own server 
•Benefits: 
•Use commodity hardware 
•Better performance 
•Closely located geographically
Sharding Pattern (cont’ed) 
Source: Microsoft Patterns & Practices -Cloud Design Patterns
Strategy 
Advantages 
Considerations 
Lookup 
•Morecontrol 
•Easy shard rebalance 
•Shard lookup may create additional overhead 
Range 
•Easy to implement 
•Workswell on range queries 
•Easy management 
•Suboptimal balance 
•Shard rebalance is difficult 
Hash 
•Best balance 
•Requestrouting directly via hashing alg. 
•Calculating hash may createadditional overhead 
•Rebalance is difficult 
Sharding Pattern (cont’ed)
DEMO 
SHARDING PATTERN
•Microsoft Patterns & Practices: 
•Cloud Design Patterns http://msdn.microsoft.com/en- us/library/dn568099.aspx 
•Developing Multi-tenant Apps. for the Cloud: http://msdn.microsoft.com/en- us/library/ff966499.aspx 
•Moving Applications to the Cloud: http://msdn.microsoft.com/en- us/library/ff728592.aspx 
References
References (cont’ed) 
•Get Started with Azure SQL Database Elastic Scale Preview 
•http://azure.microsoft.com/en- us/documentation/articles/sql-database-elastic- scale-get-started/ 
•Elastic Scale Documentation Map 
•http://azure.microsoft.com/en- us/documentation/articles/sql-database-elastic- scale-documentation-map/ 
•Elastic Scale Sample App
MVA 
•Microsoft Virtual Academy 
•On-linecurricula 
•Getting started courses 
•Deep dives 
•“How To”s 
•Live Events 
•Compete against friends & colleagues
MVA (cont’ed) 
•Personal learning paths 
•Earn points for each course 
•Romania TOP 10/ week / month / all-time 
•WIN PRIZES (phones, tablets etc.) 
www.microsoftvirtualacademy.com 
•Did I mention PRIZES? 
Q & A
Thank you!
Alex mang   patterns for scalability in microsoft azure application
Patterns for Scalability in Microsoft Azure Applications 
Alex Mang 
alexmang.ro | @mangalexandru 
25thof October 2014 
Please fill the online evaluation form after event

More Related Content

What's hot (18)

PDF
Azure AI platform - Automated ML workshop
Parashar Shah
 
PDF
Using graphs for recommendations
Rik Van Bruggen
 
PDF
Bootstrapping of PySpark Models for Factorial A/B Tests
Databricks
 
PPTX
Advanced Spark Meetup - Jan 12, 2016
Michelle Casbon
 
PPTX
Survey of the Microsoft Azure Data Landscape
Ike Ellis
 
PDF
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
Mark Tabladillo
 
KEY
Google App Engine - Simple Introduction
Lenny Rachitsky
 
PDF
MLflow and Azure Machine Learning—The Power Couple for ML Lifecycle Management
Databricks
 
PDF
Consolidating MLOps at One of Europe’s Biggest Airports
Databricks
 
PDF
ML studio overview v1.1
Paulo R. Batalhão
 
PPTX
Introduction to Azure machine learning
Jasjit Chopra
 
PPTX
Scalable Machine Learning using R and Azure HDInsight - Parashar
Parashar Shah
 
PDF
Open Source DataViz with Apache Superset
Carl W. Handlin
 
PPTX
Data Day TX 2016 - Jan 16, 2016
Michelle Casbon
 
PDF
Machine learning systems for engineers
Cameron Joannidis
 
PPTX
Azure machine learning service
Ruth Yakubu
 
PPTX
Using Azure Machine Learning to Detect Patterns in Data from Devices
BizTalk360
 
PDF
AWS Machine Learning & Google Cloud Machine Learning
SC5.io
 
Azure AI platform - Automated ML workshop
Parashar Shah
 
Using graphs for recommendations
Rik Van Bruggen
 
Bootstrapping of PySpark Models for Factorial A/B Tests
Databricks
 
Advanced Spark Meetup - Jan 12, 2016
Michelle Casbon
 
Survey of the Microsoft Azure Data Landscape
Ike Ellis
 
201905 Azure Certification DP-100: Designing and Implementing a Data Science ...
Mark Tabladillo
 
Google App Engine - Simple Introduction
Lenny Rachitsky
 
MLflow and Azure Machine Learning—The Power Couple for ML Lifecycle Management
Databricks
 
Consolidating MLOps at One of Europe’s Biggest Airports
Databricks
 
ML studio overview v1.1
Paulo R. Batalhão
 
Introduction to Azure machine learning
Jasjit Chopra
 
Scalable Machine Learning using R and Azure HDInsight - Parashar
Parashar Shah
 
Open Source DataViz with Apache Superset
Carl W. Handlin
 
Data Day TX 2016 - Jan 16, 2016
Michelle Casbon
 
Machine learning systems for engineers
Cameron Joannidis
 
Azure machine learning service
Ruth Yakubu
 
Using Azure Machine Learning to Detect Patterns in Data from Devices
BizTalk360
 
AWS Machine Learning & Google Cloud Machine Learning
SC5.io
 

Similar to Alex mang patterns for scalability in microsoft azure application (20)

PDF
Scaling apps using azure cloud services
Willy Marroquin (WillyDevNET)
 
PPTX
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Bill Wilder
 
PDF
Patterns for Scalability in Windows Azure Applications (Alex Mang)
ITCamp
 
PDF
Finding Patterns in the Clouds - Cloud Design Patterns
Steven Smith
 
PPTX
Cloud Design Pattern part1
Masashi Narumoto
 
PPTX
Azure Overview Business Model Overview
rramabad
 
PPTX
Applicare patterns di sviluppo con Azure
Marco Parenzan
 
PPTX
Design Pattern that every cloud developer must know
Shahriar Iqbal Chowdhury
 
PPTX
Scaling Cloud Apps
Houssem Dellai
 
PDF
Scalability Design Principles - Internal Session
Sachin Sancheti - Microsoft Azure Architect
 
PDF
Scalability designprinciples-v2-130718023602-phpapp02 (1)
Minal Patil
 
PDF
Module 1
Bhabanisankar padhi
 
PPTX
Building Scalable Applications with Microsoft Azure
Fisnik Doko
 
PPTX
Azure presentation nnug dec 2010
Ethos Technologies
 
PPTX
Understanding the Windows Azure Platform - Dec 2010
DavidGristwood
 
PPTX
Windows Azure Platform Overview
BusinessIntelligenze
 
PPTX
Apply Coding Patterns in Azure
Marco Parenzan
 
PPT
Building Cloud-Native Applications with Microsoft Windows Azure
Bill Wilder
 
PPTX
Windows Azure In 30mins for none technical audience
Eric Nelson
 
PPTX
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Marina Peregud
 
Scaling apps using azure cloud services
Willy Marroquin (WillyDevNET)
 
Cloud Architecture Patterns for Mere Mortals - Bill Wilder - Vermont Code Cam...
Bill Wilder
 
Patterns for Scalability in Windows Azure Applications (Alex Mang)
ITCamp
 
Finding Patterns in the Clouds - Cloud Design Patterns
Steven Smith
 
Cloud Design Pattern part1
Masashi Narumoto
 
Azure Overview Business Model Overview
rramabad
 
Applicare patterns di sviluppo con Azure
Marco Parenzan
 
Design Pattern that every cloud developer must know
Shahriar Iqbal Chowdhury
 
Scaling Cloud Apps
Houssem Dellai
 
Scalability Design Principles - Internal Session
Sachin Sancheti - Microsoft Azure Architect
 
Scalability designprinciples-v2-130718023602-phpapp02 (1)
Minal Patil
 
Building Scalable Applications with Microsoft Azure
Fisnik Doko
 
Azure presentation nnug dec 2010
Ethos Technologies
 
Understanding the Windows Azure Platform - Dec 2010
DavidGristwood
 
Windows Azure Platform Overview
BusinessIntelligenze
 
Apply Coding Patterns in Azure
Marco Parenzan
 
Building Cloud-Native Applications with Microsoft Windows Azure
Bill Wilder
 
Windows Azure In 30mins for none technical audience
Eric Nelson
 
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Marina Peregud
 
Ad

More from Codecamp Romania (20)

PDF
Cezar chitac the edge of experience
Codecamp Romania
 
PPTX
Cloud powered search
Codecamp Romania
 
PPTX
Business analysis techniques exercise your 6-pack
Codecamp Romania
 
PPTX
Bpm company code camp - configuration or coding with pega
Codecamp Romania
 
PPT
Andrei prisacaru takingtheunitteststothedatabase
Codecamp Romania
 
PPTX
Agility and life
Codecamp Romania
 
PPTX
2015 dan ardelean develop for windows 10
Codecamp Romania
 
PDF
The bigrewrite
Codecamp Romania
 
PDF
The case for continuous delivery
Codecamp Romania
 
PPTX
Stefan stolniceanu spritekit, 2 d or not 2d
Codecamp Romania
 
PPTX
Sizing epics tales from an agile kingdom
Codecamp Romania
 
PPTX
Scale net apps in aws
Codecamp Romania
 
PPTX
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
Codecamp Romania
 
PPTX
Parallel & async processing using tpl dataflow
Codecamp Romania
 
PDF
Material design screen transitions in android
Codecamp Romania
 
PDF
Kickstart your own freelancing career
Codecamp Romania
 
PDF
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
Codecamp Romania
 
PDF
Ecma6 in the wild
Codecamp Romania
 
PPTX
Diana antohi me against myself or how to fail and move forward
Codecamp Romania
 
Cezar chitac the edge of experience
Codecamp Romania
 
Cloud powered search
Codecamp Romania
 
Business analysis techniques exercise your 6-pack
Codecamp Romania
 
Bpm company code camp - configuration or coding with pega
Codecamp Romania
 
Andrei prisacaru takingtheunitteststothedatabase
Codecamp Romania
 
Agility and life
Codecamp Romania
 
2015 dan ardelean develop for windows 10
Codecamp Romania
 
The bigrewrite
Codecamp Romania
 
The case for continuous delivery
Codecamp Romania
 
Stefan stolniceanu spritekit, 2 d or not 2d
Codecamp Romania
 
Sizing epics tales from an agile kingdom
Codecamp Romania
 
Scale net apps in aws
Codecamp Romania
 
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
Codecamp Romania
 
Parallel & async processing using tpl dataflow
Codecamp Romania
 
Material design screen transitions in android
Codecamp Romania
 
Kickstart your own freelancing career
Codecamp Romania
 
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
Codecamp Romania
 
Ecma6 in the wild
Codecamp Romania
 
Diana antohi me against myself or how to fail and move forward
Codecamp Romania
 
Ad

Recently uploaded (20)

PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 

Alex mang patterns for scalability in microsoft azure application

  • 1. Patterns for Scalability in Microsoft Azure Applications (starting at 17.00) Alex Mang alexmang.ro | @mangalexandru 25thof October 2014
  • 3. •Alex Mang •CEO @ KeyTicket Solutions •Event management and on-line ticketing, powered by Azure •Microsoft BizSpark Plus (1/4 nation-wide) •Azure Advisor •Husband & father Speaker.Bio.ToString()
  • 4. •They promised crazyscaling capacity •… & they fulfilled their promise •… but my apps are still under-performing Context of cloud apps
  • 6. Queue-Based Load Pattern Queue Based Load Leveling Pattern Source: Microsoft Patterns & Practices -Cloud Design Patterns Possible bottlenecks
  • 7. Competing-Consumers Pattern Source: Microsoft Patterns & Practices -Cloud Design Patterns What about important messages?
  • 8. Priority Queue Pattern Competing Consumers Pattern Source: Microsoft Patterns & Practices -Cloud Design Patterns
  • 9. Recap Queue-based Load: -Removes app failure caused by 3rdparty services Competing-Consumers: -Ensures messages (= tasks) are processed faster, even under high load Priority Queue: -Ensures important tasks run first
  • 11. •Most developers think about how data is stored in OOP manner •In NoSQL, commonly store everything in a single entity •In SQL, we have size constraints •End-up in: •Performance impact •High prices What about data repo. limit.?
  • 12. •Can generate views in advance, containing data on a per-requirement basis •Only contain data required by query •Include current values of calculated columns or data items •May be optimized for a single queries •Updated a.s.a.p. (schedule / triggered) What about data repo. limit.? (cont’)
  • 13. Materialized-View Pattern Source: Microsoft Patterns & Practices -Cloud Design Patterns
  • 14. Materialized-View Pattern Materialized View Pattern Example Source: Microsoft Patterns & Practices -Cloud Design Patterns
  • 15. Materialized-View Pattern When to use Queries are complex Data difficult to query directly Temporary views dramaticallyimprove perf. Temporary views act as DTOs for UI, reporting etc. Data store not always available (SQL Azure) Security or privacy reasons
  • 16. Recap So far, I’ve talked about: •Taking pieces of code out of the ‘front facing’ apps •Messaging methods between apps and consumers •Simple queue •Priority queue •Response queues •Partitioning data into views •Materialized views! Hip-hip, Hurray! WE CAN SCALE OUR COMPUTE ROLES! 
  • 17. But what about data? •Thought: If we scale-out our compute roles… … why not scale out our databases too?
  • 18. Sharding Pattern •Scale-up vs. scale-out applies to dbs. too! •Shard = horizontal partition of overall data •Must scale out data because: •Storage limitations •Concurrent requests •Customer isolation •Geography
  • 19. Sharding Pattern (cont’ed) •Horizontal partitions of data •(a.k.a. shards) •Same schema, different data •Runs on its own server •Benefits: •Use commodity hardware •Better performance •Closely located geographically
  • 20. Sharding Pattern (cont’ed) Source: Microsoft Patterns & Practices -Cloud Design Patterns
  • 21. Strategy Advantages Considerations Lookup •Morecontrol •Easy shard rebalance •Shard lookup may create additional overhead Range •Easy to implement •Workswell on range queries •Easy management •Suboptimal balance •Shard rebalance is difficult Hash •Best balance •Requestrouting directly via hashing alg. •Calculating hash may createadditional overhead •Rebalance is difficult Sharding Pattern (cont’ed)
  • 23. •Microsoft Patterns & Practices: •Cloud Design Patterns http://msdn.microsoft.com/en- us/library/dn568099.aspx •Developing Multi-tenant Apps. for the Cloud: http://msdn.microsoft.com/en- us/library/ff966499.aspx •Moving Applications to the Cloud: http://msdn.microsoft.com/en- us/library/ff728592.aspx References
  • 24. References (cont’ed) •Get Started with Azure SQL Database Elastic Scale Preview •http://azure.microsoft.com/en- us/documentation/articles/sql-database-elastic- scale-get-started/ •Elastic Scale Documentation Map •http://azure.microsoft.com/en- us/documentation/articles/sql-database-elastic- scale-documentation-map/ •Elastic Scale Sample App
  • 25. MVA •Microsoft Virtual Academy •On-linecurricula •Getting started courses •Deep dives •“How To”s •Live Events •Compete against friends & colleagues
  • 26. MVA (cont’ed) •Personal learning paths •Earn points for each course •Romania TOP 10/ week / month / all-time •WIN PRIZES (phones, tablets etc.) www.microsoftvirtualacademy.com •Did I mention PRIZES? 
  • 27. Q & A
  • 30. Patterns for Scalability in Microsoft Azure Applications Alex Mang alexmang.ro | @mangalexandru 25thof October 2014 Please fill the online evaluation form after event