@kaevans
Building SharePoint Apps with Azure PaaSKirk EvansArchitect, Modern Apps Center of ExcellenceMicrosoft Corporation
@kaevans
Azure Web Sites Azure Storage Web Jobs
Agenda
@kaevans
Selfie App
@kaevans
Azure Storage
What We’ll Build Today
locations
jobs
images
ItemAdded
1
PhotoLocation : TableEntity
2
“PartitionKey + RowKey”
3
“PartitionKey + RowKey”
4
Stream6
Stream
5
@kaevans
Cloud Computing Patterns
tCom
pu
te
Inactivity
Period
t
t
t
On and OffOn & off workloads (e.g. batch job)Over provisioned capacity is wasted Time to market can be cumbersome
Unpredictable BurstingUnexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases
Com
pu
te
Growing FastSuccessful services needs to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enough
Com
pu
te
Predictable BurstingServices with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacity
Com
pu
te
@kaevans
Pay only for what you use
@kaevans
Web Sites
@kaevans
Build with ASP.NET, Java, Node.js, Python, or PHP
Deploy in seconds with FTP, Git, or TFS Start for free, scale up as your traffic grows
Web Sites
@kaevans
Our Scenario
App Installed
Attach ItemAdded
ItemAdded
1
2
3
@kaevans
Demo: Azure Web Sites
Kirk Evans
@kaevans
Storage
@kaevans
Azure Storage Abstractions
TablesStructured storage. A table is a set of entities; an entity is
a set of properties.
QueuesReliable storage and delivery of messages for an application.
BlobsSimple named files along with metadata for the file.
DrivesDurable NTFS volumes for Windows Azure applications to use. Based on Blobs.
@kaevans
Azure Storage
Our Scenario
locations
ItemAdded
1
PhotoLocation : TableEntity2
List<PhotoLocation>3
PhotoLocation4
@kaevans
Demo: Azure Table Storage
Kirk Evans
@kaevans
Web Jobs
@kaevans
Web Jobs.exe - .NET assemblies compiled with WebJobs SDK .cmd, .bat, .exe (using windows cmd) .sh (using bash) .php (using php) .py (using python) .js (using node)
@kaevans
Azure Storage
Our Scenario
locations
jobs
images
ItemAdded
1
PhotoLocation : TableEntity
2
“PartitionKey + RowKey”
3
“PartitionKey + RowKey”
4
Stream6
Stream
5
@kaevans
Demo: Azure Web Jobs
Kirk Evans
@kaevans
Get started for free 10 free Azure web sites 40 MB free Azure SQL database
Free one month trial $200 credit Full access to everything
MSDN Benefit Credits every month
Summary
@kaevans
SDK, Tutorials, and Documentation http://www.windowsazure.com/en-us/develop/net
Blogs Creating a SharePoint 2013 App With Azure Web Sites Attaching Remote Event Receivers to Lists in the Host Web
Building a SharePoint App as a Timer Job Scaling up and scaling out in Windows Azure Web Sites
Best Practices for Windows Azure Web Sites Introducing Windows Azure Web Jobs
Links
@kaevans
http://officeams.codeplex.com
Source for great reference app implementationsPublishing channel for ready to use examples on apps,
which you can use in your own projects
@kaevans
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.