SlideShare a Scribd company logo
7 Key Things for Building a
Highly-Scalable SharePoint App
Edin Kapić – SharePoint Architect, Spenta
Edin Kapić
www.sharepointsummit.org

SharePoint Architect
Works for Spenta / Beezy in
Barcelona

SharePoint Server MVP
President of Catalonian
SharePoint User Group
(SUG.CAT)
@ekapic
www.edinkapic.com

sug.cat
2
www.sharepointsummit.org

Scalability

3
Scalability
www.sharepointsummit.org

Hey boss, we have 1M
new users for our web
app!!
...and they all sign up
tomorrow!
Scalability
www.sharepointsummit.org

Not scalable

Scalable
5
Scalability
www.sharepointsummit.org

6
Scalability
www.sharepointsummit.org

7
www.sharepointsummit.org

SharePoint 2013
Apps Architecture
SharePoint 2013 Application Architecture
www.sharepointsummit.org

SharePoint 2013 Apps are cloud-based
SharePoint 2013 Application Architecture
www.sharepointsummit.org

SharePoint is now just
another external
system
Mechanisms to
minimize round trips

10
SharePoint 2013 Application Architecture
www.sharepointsummit.org

With the cloud, we have
potential for scalability and
high availability
But the architecture must
enable it
(It doesn’t come out of the box)

11
SharePoint 2013 Application Architecture
www.sharepointsummit.org

12
Session Overview
www.sharepointsummit.org

Avoiding Roundtrips
Effective Caching Mechanisms
Content-Delivery Networks

Avoiding Bottlenecks
Avoiding Storage Locks
Waiting in a Queue is Not Bad
Acting Asynchronously

Avoiding Single Point of Failure
Redundant Design
13
SharePoint 2013 Application Architecture
www.sharepointsummit.org

14
www.sharepointsummit.org

Effective Caching
Mechanisms
Effective Caching Mechanisms
www.sharepointsummit.org

Caching is the cheapest way to avoid
unnecessary roundtrips
Local Cache
Small, static data, very frequently accessed

Distributed Cache
Everything that you reasonably can

Stale Data
www.sharepointsummit.org

Content Delivery
Networks (CDN)
BLOB Storage
www.sharepointsummit.org

Big binary storage in the cloud

Bypass the Processing
Public BLOBs can be accessed by URL

Shared Signatures
Private BLOBs can be accessed by special URL
Content Delivery Networks (CDN)
www.sharepointsummit.org

Big binary storage close to the user
No need to serve from the cloud
First user pays the “toll”, others get it free

Offload all that you can
Images
Scripts
Media Files

Versioned URLs
www.sharepointsummit.org

Avoiding Storage
Locks
Avoiding Storage Locks
www.sharepointsummit.org

NoSQL vs RDBMS
Table Storage vs
SQL Azure

Eventual vs
Immediate
Consistency
Avoiding Storage Locks
www.sharepointsummit.org
Partition Keys

Sharding
Partition your data
across multiple
databases or storages

A-F

G-O

JOINs across shards
Data Access

SQL Azure Federations

P-Z
Shards
Avoiding Storage Locks
www.sharepointsummit.org

Command-Query Responsibility Segregation

Source: Udi Dahan

23
www.sharepointsummit.org

Waiting in a
Queue is Not Bad
Waiting in a Queue is Not Bad
www.sharepointsummit.org

Request/Response doesn’t scale well
Web

Back-End
Message Queue

By queuing the requests we have control
To decouple the request and the response
To do retries and accomodate node loss
To throttle the rate of service
To scale up and down depending on the workload
Waiting in a Queue is Not Bad
www.sharepointsummit.org

Azure Queues
Low-Level
Pass messages between roles and sites
Fully decoupled R/W operations
Automatic Load Balancing

Azure Service Bus Queues
High-Level
Messaging framework with queues
Publisher-Subscriber
Transactions

26
Waiting in a Queue is Not Bad
www.sharepointsummit.org

Azure Queues
Storage
Account

Queue
Submitqueue

my-account

Calc-queue

Message
Joe’s Job
Mary’s Job

Andy’s Job
27
www.sharepointsummit.org

Acting
Asynchronously
Acting Asynchronously
www.sharepointsummit.org

We can optimize the server throughput with
async calls to the next tier
Web Tier

Web Tier

Request 1

Response 1
Request 2

Request 1

Thread
#1

Data
Tier

Response 1

Thread
#1

Request 2

Just got easier in NET 4.5 with async/await

Data
Tier
www.sharepointsummit.org

Redundant
Design

30
Redundant Design
www.sharepointsummit.org

If any single node
goes down, your app
must continue
unhindered
Although some delay is
OK

Idempotent operations
Load-balancing
31
Redundant Design
www.sharepointsummit.org

Azure Traffic Manager

32
Redundant Design
www.sharepointsummit.org

33
www.sharepointsummit.org

Summary
7 Key Things for Building a HighlyScalable SharePoint App
www.sharepointsummit.org

1.

Caching

2.

Content Delivery Network / BLOB Storage

3.

NoSQL

4.

Sharding

5.

Queuing

6.

Asynchronous Processing

7.

Redundant Design
Additional Resources
www.sharepointsummit.org

High Scalability
http://highscalability.com/

Advanced Patterns in Cloud-Hosted Apps for
Microsoft SharePoint
http://channel9.msdn.com/Events/TechEd/NorthAme
rica/2013/SES-B301

36
Thank you for your attention!
This presentation will be available on the Vancouver
SharePoint Summit web site a few days after the event.
Please rate this session!
Fill out the survey and get a chance to win a Surface

More Related Content

PDF
Hypermedia APIs – Why, what, how?
PPTX
SharePoint Saturday UK - Workflow Evolution
PPTX
Xamarin forms with azure easy tables
PPTX
Microsoft azure ha_web_app
PPTX
Amplexor_Sharepoint2013_Seminar
PPTX
Amplexor Sharepoint 2013 seminar
PPTX
Spicing up SharePoint web parts
PDF
CTO view on Firebase. How I used Firebase in my projects? Where I loved, wher...
Hypermedia APIs – Why, what, how?
SharePoint Saturday UK - Workflow Evolution
Xamarin forms with azure easy tables
Microsoft azure ha_web_app
Amplexor_Sharepoint2013_Seminar
Amplexor Sharepoint 2013 seminar
Spicing up SharePoint web parts
CTO view on Firebase. How I used Firebase in my projects? Where I loved, wher...

What's hot (18)

PPTX
Forget the Web Backend: Static Serverless + Client-Side Code for the Win!
PPTX
Introduction to Power Platform
PPTX
Going serverless
PPTX
MT AG - KASS - Keep APEX Stupid Simple
PPTX
Site templates, site life cycle management and Modern SharePoint
PPTX
SharePoint, Office, and Outlook Integrations for Alfresco
PPTX
The Integrations Behind Connecting With Salesforce
PPTX
SharePoint Saturday Houston 2012
PPT
Mule google connectors
PPT
Mule google connectors
PDF
Angular webinar - Credo Systemz
PPTX
Display Microsoft Teams status on your smart light
PPTX
Microsoft Azure News - June 2016
PPTX
ASP.NET Loves HTML5, Javascript and CSS3, or what's new in VS2013 for Web Dev...
PPTX
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
PPTX
Angular JS and Magento
PPTX
Creating Business Intelligence with SharePoint 2010
PPTX
Automating your tasks with microsoft flow
Forget the Web Backend: Static Serverless + Client-Side Code for the Win!
Introduction to Power Platform
Going serverless
MT AG - KASS - Keep APEX Stupid Simple
Site templates, site life cycle management and Modern SharePoint
SharePoint, Office, and Outlook Integrations for Alfresco
The Integrations Behind Connecting With Salesforce
SharePoint Saturday Houston 2012
Mule google connectors
Mule google connectors
Angular webinar - Credo Systemz
Display Microsoft Teams status on your smart light
Microsoft Azure News - June 2016
ASP.NET Loves HTML5, Javascript and CSS3, or what's new in VS2013 for Web Dev...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
Angular JS and Magento
Creating Business Intelligence with SharePoint 2010
Automating your tasks with microsoft flow
Ad

Viewers also liked (20)

PPTX
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...
PDF
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
PDF
SharePoint Summit Vancouver: Reach your audience with a SharePoint mobile app
PPTX
Votre première App SharePoint pour Office 365 avec Visual Studio !
PPTX
SPCA2013 - Once you go app you don't go back
PDF
Building a Windows Store App for SharePoint 2013
PPTX
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
PPTX
SP2013 for Developers - Chris O'Brien
PPTX
A Deep-Dive into Real-World SharePoint App Development
PPTX
SharePoint App Store - itunes for you business
PDF
O365con14 - the new sharepoint online apps - napa in action
PPTX
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
PPTX
Share point app architecture for the cloud and on premise
PPTX
Road to the Cloud - Extending your reach with SharePoint and Office 365
PPTX
Building your first app for share point 2013
PPTX
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
PPTX
Developer’s Independence Day: Introducing the SharePoint App Model
PDF
Transitioning to SharePoint App Development
PPTX
SPSNL - Bringing SharePoint information into Office through Office Apps
PPTX
SharePoint 2013 App Provisioning Models
SPSNYC14 - Must Love Term Sets: The New and Improved Managed Metadata Service...
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
SharePoint Summit Vancouver: Reach your audience with a SharePoint mobile app
Votre première App SharePoint pour Office 365 avec Visual Studio !
SPCA2013 - Once you go app you don't go back
Building a Windows Store App for SharePoint 2013
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
SP2013 for Developers - Chris O'Brien
A Deep-Dive into Real-World SharePoint App Development
SharePoint App Store - itunes for you business
O365con14 - the new sharepoint online apps - napa in action
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Share point app architecture for the cloud and on premise
Road to the Cloud - Extending your reach with SharePoint and Office 365
Building your first app for share point 2013
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
Developer’s Independence Day: Introducing the SharePoint App Model
Transitioning to SharePoint App Development
SPSNL - Bringing SharePoint information into Office through Office Apps
SharePoint 2013 App Provisioning Models
Ad

Similar to 7 Key Things for Building a Highly-Scalable SharePoint 2013 App (20)

PDF
Spca2014 7 tenets of highly scalable applications kapic
PPTX
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
PDF
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
PPTX
Building high performance and scalable share point applications
PDF
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
PDF
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
PDF
Lifecycle Management with SharePoint Apps and Solutions
PPTX
SharePoint Apps model overview
PDF
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
PDF
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
PPTX
Top 7 mistakes
PPTX
Sharepoint 2010 architecture, ha and dr (tig)
PDF
Designing Solutions for Microsoft SharePoint 2010 Making the right architectu...
PPTX
Harnessing the cloud to create social mobile apps that scale
PDF
Apps_Strategy_for_Business_and_IT
PPTX
The SharePoint 2013 App Model
PPTX
Sharepoint 2010: Practical Architecture from the Field
PPTX
Mythbusters
PDF
Scaling apps using azure cloud services
PPSX
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Spca2014 7 tenets of highly scalable applications kapic
SPS Stockholm 7 Key Things for Building a Highly-Scalable SharePoint 2013 App
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
Building high performance and scalable share point applications
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
Lifecycle Management with SharePoint Apps and Solutions
SharePoint Apps model overview
Pro SharePoint 2013 App Development 1st Edition Steve Wright (Auth.)
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Top 7 mistakes
Sharepoint 2010 architecture, ha and dr (tig)
Designing Solutions for Microsoft SharePoint 2010 Making the right architectu...
Harnessing the cloud to create social mobile apps that scale
Apps_Strategy_for_Business_and_IT
The SharePoint 2013 App Model
Sharepoint 2010: Practical Architecture from the Field
Mythbusters
Scaling apps using azure cloud services
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...

More from Edin Kapic (20)

PPTX
High-Trust Add-Ins SharePoint for On-Premises Development
PPTX
Extending Authentication and Authorization
PPTX
Rx la joya oculta de Net
PPTX
ESPC15 - Extending Authentication and Authorization
PPTX
SPS London 2015 - IoT and Room Reservation Cloud-Style
PPTX
SPS Belgium 2015 - High-trust Apps for On-Premises Development
PPTX
Personal Branding for Developers
PPTX
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...
PPTX
ESPC14 Social Business Value Demystified
PPTX
Maintainable Testable SharePoint Components SPSBE 2014
PPTX
MVP Open Day 2014 - Hacking Human Behaviour
PPTX
Social Business Value Demystified: Real-World Experiences
PPTX
BcnDevCon13 - No Designer? No Problem!
PPTX
BcnDevCon12 - Una vuelta por Orchard CMS
PPTX
BcnDevCon12 - CQRS explicado a mi compañero arquitecto
PPTX
Modelos de madurez de SharePoint
PPTX
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
PPTX
SUG.CAT First Monday Noviembre 2012
PPTX
JavaScript per a desenvolupadors de C#
PPTX
CatDotNet - Farmville para SharePoint
High-Trust Add-Ins SharePoint for On-Premises Development
Extending Authentication and Authorization
Rx la joya oculta de Net
ESPC15 - Extending Authentication and Authorization
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS Belgium 2015 - High-trust Apps for On-Premises Development
Personal Branding for Developers
SharePoint Saturday Stockholm 2015 - Building Maintainable and Testable Share...
ESPC14 Social Business Value Demystified
Maintainable Testable SharePoint Components SPSBE 2014
MVP Open Day 2014 - Hacking Human Behaviour
Social Business Value Demystified: Real-World Experiences
BcnDevCon13 - No Designer? No Problem!
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - CQRS explicado a mi compañero arquitecto
Modelos de madurez de SharePoint
SharePoint 2013 Novedades y más allá (Introducción de SUG.CAT)
SUG.CAT First Monday Noviembre 2012
JavaScript per a desenvolupadors de C#
CatDotNet - Farmville para SharePoint

Recently uploaded (20)

PPTX
Syllabus Computer Six class curriculum s
PPTX
Operating System Processes_Scheduler OSS
PPTX
Embeded System for Artificial intelligence 2.pptx
PPTX
making presentation that do no stick.pptx
PPTX
ERP good ERP good ERP good ERP good good ERP good ERP good
PPTX
INFERTILITY (FEMALE FACTORS).pptxgvcghhfcg
PPTX
Sem-8 project ppt fortvfvmat uyyjhuj.pptx
DOCX
fsdffdghjjgfxfdghjvhjvgfdfcbchghgghgcbjghf
PDF
Dynamic Checkweighers and Automatic Weighing Machine Solutions
PPTX
02fdgfhfhfhghghhhhhhhhhhhhhhhhhhhhh.pptx
PPTX
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
PDF
Layer23-Switch.com The Cisco Catalyst 9300 Series is Cisco’s flagship stackab...
PPTX
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
PPTX
quadraticequations-111211090004-phpapp02.pptx
PPTX
Fundamentals of Computer.pptx Computer BSC
PDF
Cableado de Controladores Logicos Programables
PPTX
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
PPTX
Computers and mobile device: Evaluating options for home and work
PPT
FABRICATION OF MOS FET BJT DEVICES IN NANOMETER
PPTX
KVL KCL ppt electrical electronics eee tiet
Syllabus Computer Six class curriculum s
Operating System Processes_Scheduler OSS
Embeded System for Artificial intelligence 2.pptx
making presentation that do no stick.pptx
ERP good ERP good ERP good ERP good good ERP good ERP good
INFERTILITY (FEMALE FACTORS).pptxgvcghhfcg
Sem-8 project ppt fortvfvmat uyyjhuj.pptx
fsdffdghjjgfxfdghjvhjvgfdfcbchghgghgcbjghf
Dynamic Checkweighers and Automatic Weighing Machine Solutions
02fdgfhfhfhghghhhhhhhhhhhhhhhhhhhhh.pptx
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
Layer23-Switch.com The Cisco Catalyst 9300 Series is Cisco’s flagship stackab...
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
quadraticequations-111211090004-phpapp02.pptx
Fundamentals of Computer.pptx Computer BSC
Cableado de Controladores Logicos Programables
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
Computers and mobile device: Evaluating options for home and work
FABRICATION OF MOS FET BJT DEVICES IN NANOMETER
KVL KCL ppt electrical electronics eee tiet

7 Key Things for Building a Highly-Scalable SharePoint 2013 App

Editor's Notes

  • #22: CAP Theorem: Consistency, Availiability, PartitionTolerance
  • #23: ParallelizedqueryacrossShards
  • #32: Bridge in Ohio after a locomotiveloosefreefrom a flatbedimpacted on thepillars. Thepillarshad redundant designs