SlideShare a Scribd company logo
Azure for SharePoint Developers - Workshop - Part 3: Web Services
…if cloud computing was transportation
Azure for SharePoint Developers - Workshop - Part 3: Web Services
ASP.NET Core 2.0
Web API
Choose your Editors
and Tools
Open Source
with Contributions Cross-PlatformOSS
Seamless transition
from on-premises to cloud
Faster Development CycleTotally Modular
Fast
.NET Standard
Base Core Library (BCL) supported by all
.NET Framework
ASP.NET
Console
Windows Forms
WPF
.NET Core
ASP.NET Core
Console
Xamarin
iOS
MacOS
Android
.NET Framework .NET Core
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for
server and cloud workloads
Create a new ASP.NET Core WebAPI
Work with authorization
Test locally and in Azure
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Show data in PostMan
Show resources in Azure
Code walk-through:
• Data model, mock data,
updated values controller
• Configuration –
application.json, user secrets
http://bit.ly/AzureSPC-WebAPI
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure App
Services
Production
slot
Staging
slot
Production
slot
Staging
slot
Production
slot
Staging
slot
Production
slot
Staging
slot
Name in Azure Portal Name in Resource Manager Other aliases What is it?
App Service Plan Microsoft.Web/serverFarms Web service Plan,
Server farm
Virtualized web farm
App Service Microsoft.Web/sites Web service Web site
App Service
Authentication
use a “Config” resource within
Microsoft.Web/sites
Easy Auth
App Service Reference Architectures
99.95% SLA does not apply to
free and shared tiers
FREE SHARED
GOOD FOR
FOR DEV/TEST
BASIC
GOOD FOR
DEV/TEST
STANDARD
GOOD FOR
PRODUCTION
WORKLOADS
PREMIUM
ENHANCED
PERF AND
SCALE
ISOLATED
HIGH-PERF,
SECURITY AND
ISOLATION
Web, mobile, or
API apps
10 100 Unlimited Unlimited Unlimited Unlimited
Disk space 1 GB 1 GB 10 GB 50 GB 250 GB 1 TB
Maximum
instances
– – Up to 3 Up to 10 Up to 20 Up to 100*
Custom domain – Supported Supported Supported Supported Supported
Auto Scale – – – Supported Supported Supported
VPN hybrid
connectivity
– – – Supported Supported Supported
Network
Isolation
Supported
Azure for SharePoint Developers - Workshop - Part 3: Web Services
R E S O U R C E M A N A G E R
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Tightly coupled containers of
resources that are related in some
way
Every resource *must* exist in one
and only one resource group
Resource groups can span regions
Nesting of Resource Groups not
supported
RESOURCE GROUP
 Set Permissions
 Monitor and alerting rules
 Billing
 Deployment
 Communication
Question:
Should these resources be in the
same group or a different one?
Hint:
Do they have common lifecycle
and management?
Answer:
Up to you.
?
Show resources in Portal, PowerShell,
and Resource Explorer
https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/
 Name-value pairs assigned to resources or
resource groups
 Subscription-wide taxonomy
 Each resource can have up to 15 tags
• Tag by environment, e.g. dev/test/prod
• Tag by role, e.g. web/cache/db
• Tag by department, e.g.
finance/retail/legal
• Tag by responsible party, e.g. Bob
• Tags show up in billing
When you download the usage CSV for services that support
tags with billing, the tags will appear in the Tags column.
Azure for SharePoint Developers - Workshop - Part 3: Web Services
RBAC Concepts
Role Definitions
• describes the set of permissions
(e.g. read actions)
• can be used in multiple
assignments
Role Assignments
• associate role definitions with an
identity (e.g. user/group) at a
scope (e.g. resource group)
• always inherited – subscription
assignments apply to all resources
Show permissions in portal and
PowerShell









Azure Templates can:
• Repeated deployment and consistent state.
• Simplify Orchestration
• Simplify Roll-back
• Provide unified management and Update
Support.
Azure Templates are:
• Source file, checked-in
• Able to specify resources and
dependencies (VMs, WebSites, DBs) and
connections (config, LB sets)
• Based on parametrized input/output
SQL - A Website
Virtual
Machines
SQL-A
Website
[SQL CONFIG] VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQL CONFIG
Element
name
Requi
red
Description
$schema Yes Location of the JSON schema file that describes the
version for the template language. You should use
the URL.
content
Version
Yes Version of the template. (i.e.1.0.0.0). Any value can
be provided. When deploying resources using the
template, this value ensures that the right template
is being used.
parameters No Values that are provided when deployment is
executed to customize resource deployment
variables No Values that are used as JSON fragments in the
template to simplify template language expressions
resources Yes Resource types that are deployed or updated in a
resource group
outputs No Values that are returned after deployment
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Deploy with an ARM template
Azure for SharePoint Developers - Workshop - Part 3: Web Services
• leaves unchanged resources that exist in the resource group but aren’t
specified in the template
• adds resources specified in the template that don’t exist in the resource group
• does not re-provision resources that exist in the resource group in the same
condition defined in the template
• deletes resources that exist in the resource group but aren’t specified in the
template
• adds resources specified in the template that don’t exist in the resource group
• does not re-provision resources that exist in the resource group in the same
condition defined in the template
Deployment Best Practices for ARM
1. Define and deploy your infrastructure through the declarative
syntax in Resource Manager templates, rather than through
imperative commands.
2. Define all deployment and configuration steps in the
template. You should have no manual steps for setting up
your solution.
3. Run imperative commands to manage your resources, such as
to start or stop an app or machine.
4. Arrange resources with the same lifecycle in a resource group.
Use tags for all other organizing of resources.
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Visual Studio Team Services
OneDrive
Local Git
Github
BitBucket
Dropbox
External repositories Show ARM code to deploy from Github
Show .deployment file
Show in portal
Call service from SPFx web part
Show in old and new admin portals
Code walk-through
SQL Server
and Entity
Framework
Which one to use?
SQL Server in Azure VM
Need a specific version of SQL Server or Windows
Need instance-level SQL features (e.g. Agent Job, Linked
Servers, DTC)
Ok configuring/managing SQL Server and Windows (patching,
high availability, backups)
Great for migrating existing apps
Azure SQL Database
Don’t need a specific version of SQL Server or Windows
Don’t need instance-level SQL features
Don’t want to configure and manage SQL Server or
Windows
Great for new apps
Many customers use both
 Built for SaaS and Enterprise applications
 Predictable performance & pricing
 99.99% availability built-in
 Geo-replication and restore services for data
protection
 Secure and compliant for your sensitive data
 Fully compatible with SQL Server 2014 databases
Fully managed SQL database service so you can focus on your business
SQL DB
V12
B S0 S1 S2 S3 P1 P2 P4 P6 P11
Database Throughput Units (DTUs)
Azure SQL Database Service Tiers
Basic, Standard, and Premium provide increasing
performance levels
Scale individual databases up/down via portal, PS, APIs, or
T-SQL
Database remains online while scaling
Hourly billing provides cost efficiency
What exactly is a DTU?
% CPU
% READ % WRITE
% MEMORY
DTU represents a set of operations that
are typical for an online transaction processing
(OLTP) request, and then measured by how
many transactions could be completed per
second under fully loaded conditions
Create SQL Server and database using ARM
.NET STANDARD LIBRARY
LINQ to Entities
Object Services
ObjectQuery
Entity SQL
Entity Client
Entity Framework layers
Conceptural
Mapping
Logical
1st migration
Scaffolding a Web API Controller for our DB
nuget packages
DB Context code
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Key Vault
The secrets we
keep…
• Connection strings
• Application keys / Client
secrets
• Certificates, and passwords to
certificate private keys
• Encryption keys
• Service account passwords
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Show enabling Managed Service Identity
Show code changes
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Deployment
Slots
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Application
Insights
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
DNS-based load balancing and failover
Health probe of endpoints to determine availability
Impact of Time To Live (TTL)
Multiple performance policies
Geoscaling
Cross-region continuity
Region 1
Region 2
X
Azure for SharePoint Developers - Workshop - Part 3: Web Services
aka.ms/Azure/ServiceBus aka.ms/Azure/Queues
http://bit.ly/AzureSPC-WebAPI
http://bit.ly/AzureAppSvcs
http://bit.ly/WebAPICore
http://bit.ly/AzureSql
http://bit.ly/AzureResMgr
http://bit.ly/AzureKVault

More Related Content

PPTX
Azure for SharePoint Developers - Workshop - Part 5: Logic Apps
PPTX
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
PPTX
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
PPTX
Get Some Rest - Taking Advantage of the SharePoint 2013 REST API
PPTX
Introduction to Office and SharePoint Development
PDF
SPTECHCON - Rev Your Engines - SharePoint 2013 Performance Enhancements
PPTX
[Vončina] Configuring SharePoint 2016 for BI Scenarios
PPTX
SharePoint and Office 365 Performance Best Practices
Azure for SharePoint Developers - Workshop - Part 5: Logic Apps
Azure for SharePoint Developers - Workshop - Part 2: Azure Functions
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
Get Some Rest - Taking Advantage of the SharePoint 2013 REST API
Introduction to Office and SharePoint Development
SPTECHCON - Rev Your Engines - SharePoint 2013 Performance Enhancements
[Vončina] Configuring SharePoint 2016 for BI Scenarios
SharePoint and Office 365 Performance Best Practices

What's hot (20)

PPTX
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
PDF
SharePoint 2013 - A Real World Help Desk App End to End
PPTX
SharePoint and Office Development Workshop
PPTX
Introduction to Azure Web Applications for Office and SharePoint Developers
PPTX
Microsoft Flow best practices European Collaboration Summit 2018
PPTX
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
PPTX
Kerberos part 2
PPTX
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
PPTX
Rev Your Engines - SharePoint Performance Enhancements
PDF
SPTECHCON - Get Some REST - Taking Advantage of the SharePoint 2013 REST API
PDF
Share point 2010 performance and capacity planning best practices
PPTX
DD105 Multi Tenancy in SharePoint 2010
PPTX
It112 SharePoint 2010 Mythbusters
PDF
SPUnite17 Introduction to Azure Web Applications
PPTX
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
PDF
Developing an intranet on office 365
PPTX
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
PDF
SharePoint 2013 Performance Enhancements
PPTX
RavenDB overview
PPTX
ECS 19 Anil Erduran - simplifying microsoft architectures with aws services
Advanced SharePoint Integration (Azure Service Bus and Dynamics CRM)
SharePoint 2013 - A Real World Help Desk App End to End
SharePoint and Office Development Workshop
Introduction to Azure Web Applications for Office and SharePoint Developers
Microsoft Flow best practices European Collaboration Summit 2018
Creating Cloud-Ready Enterprise Applications with the SharePoint 2013 Add-In ...
Kerberos part 2
From Zero to Hero: A Real World Guide to Building High Availability SharePoin...
Rev Your Engines - SharePoint Performance Enhancements
SPTECHCON - Get Some REST - Taking Advantage of the SharePoint 2013 REST API
Share point 2010 performance and capacity planning best practices
DD105 Multi Tenancy in SharePoint 2010
It112 SharePoint 2010 Mythbusters
SPUnite17 Introduction to Azure Web Applications
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
Developing an intranet on office 365
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
SharePoint 2013 Performance Enhancements
RavenDB overview
ECS 19 Anil Erduran - simplifying microsoft architectures with aws services
Ad

Similar to Azure for SharePoint Developers - Workshop - Part 3: Web Services (20)

PDF
Microsoft Azure essentials
PDF
Azure Cloud Application Development Workshop - UGIdotNET
PDF
Developing and deploying windows azure applications
PPTX
04 Azure IAAS 101
PPTX
Azure ARM’d and Ready
PDF
Introduction to Azure IaaS
PDF
Building Real World Application with Azure
PDF
Adelaide Global Azure Bootcamp 2018 - Azure 101
PDF
Building real world cloud apps with azure
PPTX
70 533 - Module 01 - Introduction to Azure
PPTX
Return on Ignite 2019: Azure, .NET, A.I. & Data
PPTX
Running Open Source Solutions on Windows Azure
PDF
Major Cloud Providers - Azure.pdf new doc
PPTX
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
PDF
02microsoftazurefundamentalsworkloads1606403971632.pdf
PPTX
10052016115118 (2).pptx
PPTX
Inside Azure Resource Manager
PPTX
Tokyo azure meetup #8 - Azure Update, August
PPTX
Tokyo azure meetup #8 azure update, august
PDF
Innovation morning agenda+azure arc
Microsoft Azure essentials
Azure Cloud Application Development Workshop - UGIdotNET
Developing and deploying windows azure applications
04 Azure IAAS 101
Azure ARM’d and Ready
Introduction to Azure IaaS
Building Real World Application with Azure
Adelaide Global Azure Bootcamp 2018 - Azure 101
Building real world cloud apps with azure
70 533 - Module 01 - Introduction to Azure
Return on Ignite 2019: Azure, .NET, A.I. & Data
Running Open Source Solutions on Windows Azure
Major Cloud Providers - Azure.pdf new doc
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
02microsoftazurefundamentalsworkloads1606403971632.pdf
10052016115118 (2).pptx
Inside Azure Resource Manager
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 azure update, august
Innovation morning agenda+azure arc
Ad

More from Bob German (20)

PPTX
Introduction to the Microsoft Bot Framework v4
PPTX
Adaptive cards 101
PPTX
Introduction to Teams Development - North American Collaboration Summit
PPTX
Future-proof Development for Classic SharePoint
PPTX
Azure for SharePoint Developers - Workshop - Part 4: Bots
PPTX
Azure for SharePoint Developers - Workshop - Part 1: Azure AD
PPTX
Azure AD for browser-based application developers
PPTX
Mastering Azure Functions
PPTX
Going with the Flow: Rationalizing the workflow options in SharePoint Online
PPTX
Modern SharePoint, the Good, the Bad, and the Ugly
PPTX
Developing JavaScript Widgets
PPTX
Introduction to TypeScript
PPTX
Developing JavaScript Widgets
PPTX
TypeScript and SharePoint Framework
PPTX
German introduction to sp framework
PPTX
SPSNYC - Next Generation Portals
PPTX
Typescript 102 angular and type script
PPTX
Typescript 101 introduction
PPTX
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
PPTX
Enterprise Content Management + SharePoint 2013 - SPSNH
Introduction to the Microsoft Bot Framework v4
Adaptive cards 101
Introduction to Teams Development - North American Collaboration Summit
Future-proof Development for Classic SharePoint
Azure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 1: Azure AD
Azure AD for browser-based application developers
Mastering Azure Functions
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Modern SharePoint, the Good, the Bad, and the Ugly
Developing JavaScript Widgets
Introduction to TypeScript
Developing JavaScript Widgets
TypeScript and SharePoint Framework
German introduction to sp framework
SPSNYC - Next Generation Portals
Typescript 102 angular and type script
Typescript 101 introduction
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Enterprise Content Management + SharePoint 2013 - SPSNH

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
cuic standard and advanced reporting.pdf
PPT
Teaching material agriculture food technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
sap open course for s4hana steps from ECC to s4
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Machine Learning_overview_presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Per capita expenditure prediction using model stacking based on satellite ima...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
cuic standard and advanced reporting.pdf
Teaching material agriculture food technology
Building Integrated photovoltaic BIPV_UPV.pdf
Review of recent advances in non-invasive hemoglobin estimation
sap open course for s4hana steps from ECC to s4
A comparative analysis of optical character recognition models for extracting...
Machine Learning_overview_presentation.pptx
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectroscopy.pptx food analysis technology
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Azure for SharePoint Developers - Workshop - Part 3: Web Services

  • 2. …if cloud computing was transportation
  • 5. Choose your Editors and Tools Open Source with Contributions Cross-PlatformOSS Seamless transition from on-premises to cloud Faster Development CycleTotally Modular Fast
  • 6. .NET Standard Base Core Library (BCL) supported by all .NET Framework ASP.NET Console Windows Forms WPF .NET Core ASP.NET Core Console Xamarin iOS MacOS Android
  • 7. .NET Framework .NET Core Full .NET Framework for any scenario and library support on Windows Modular libraries & runtime optimized for server and cloud workloads
  • 8. Create a new ASP.NET Core WebAPI Work with authorization Test locally and in Azure
  • 13. Show data in PostMan Show resources in Azure Code walk-through: • Data model, mock data, updated values controller • Configuration – application.json, user secrets http://bit.ly/AzureSPC-WebAPI
  • 17. Name in Azure Portal Name in Resource Manager Other aliases What is it? App Service Plan Microsoft.Web/serverFarms Web service Plan, Server farm Virtualized web farm App Service Microsoft.Web/sites Web service Web site App Service Authentication use a “Config” resource within Microsoft.Web/sites Easy Auth
  • 18. App Service Reference Architectures 99.95% SLA does not apply to free and shared tiers
  • 19. FREE SHARED GOOD FOR FOR DEV/TEST BASIC GOOD FOR DEV/TEST STANDARD GOOD FOR PRODUCTION WORKLOADS PREMIUM ENHANCED PERF AND SCALE ISOLATED HIGH-PERF, SECURITY AND ISOLATION Web, mobile, or API apps 10 100 Unlimited Unlimited Unlimited Unlimited Disk space 1 GB 1 GB 10 GB 50 GB 250 GB 1 TB Maximum instances – – Up to 3 Up to 10 Up to 20 Up to 100* Custom domain – Supported Supported Supported Supported Supported Auto Scale – – – Supported Supported Supported VPN hybrid connectivity – – – Supported Supported Supported Network Isolation Supported
  • 21. R E S O U R C E M A N A G E R
  • 23. Tightly coupled containers of resources that are related in some way Every resource *must* exist in one and only one resource group Resource groups can span regions Nesting of Resource Groups not supported RESOURCE GROUP  Set Permissions  Monitor and alerting rules  Billing  Deployment  Communication
  • 24. Question: Should these resources be in the same group or a different one? Hint: Do they have common lifecycle and management? Answer: Up to you.
  • 25. ? Show resources in Portal, PowerShell, and Resource Explorer
  • 27.  Name-value pairs assigned to resources or resource groups  Subscription-wide taxonomy  Each resource can have up to 15 tags • Tag by environment, e.g. dev/test/prod • Tag by role, e.g. web/cache/db • Tag by department, e.g. finance/retail/legal • Tag by responsible party, e.g. Bob • Tags show up in billing
  • 28. When you download the usage CSV for services that support tags with billing, the tags will appear in the Tags column.
  • 30. RBAC Concepts Role Definitions • describes the set of permissions (e.g. read actions) • can be used in multiple assignments Role Assignments • associate role definitions with an identity (e.g. user/group) at a scope (e.g. resource group) • always inherited – subscription assignments apply to all resources Show permissions in portal and PowerShell
  • 32. Azure Templates can: • Repeated deployment and consistent state. • Simplify Orchestration • Simplify Roll-back • Provide unified management and Update Support. Azure Templates are: • Source file, checked-in • Able to specify resources and dependencies (VMs, WebSites, DBs) and connections (config, LB sets) • Based on parametrized input/output SQL - A Website Virtual Machines SQL-A Website [SQL CONFIG] VM (2x) DEPENDS ON SQLDEPENDS ON SQL SQL CONFIG
  • 33. Element name Requi red Description $schema Yes Location of the JSON schema file that describes the version for the template language. You should use the URL. content Version Yes Version of the template. (i.e.1.0.0.0). Any value can be provided. When deploying resources using the template, this value ensures that the right template is being used. parameters No Values that are provided when deployment is executed to customize resource deployment variables No Values that are used as JSON fragments in the template to simplify template language expressions resources Yes Resource types that are deployed or updated in a resource group outputs No Values that are returned after deployment
  • 35. Deploy with an ARM template
  • 37. • leaves unchanged resources that exist in the resource group but aren’t specified in the template • adds resources specified in the template that don’t exist in the resource group • does not re-provision resources that exist in the resource group in the same condition defined in the template • deletes resources that exist in the resource group but aren’t specified in the template • adds resources specified in the template that don’t exist in the resource group • does not re-provision resources that exist in the resource group in the same condition defined in the template
  • 38. Deployment Best Practices for ARM 1. Define and deploy your infrastructure through the declarative syntax in Resource Manager templates, rather than through imperative commands. 2. Define all deployment and configuration steps in the template. You should have no manual steps for setting up your solution. 3. Run imperative commands to manage your resources, such as to start or stop an app or machine. 4. Arrange resources with the same lifecycle in a resource group. Use tags for all other organizing of resources.
  • 40. Visual Studio Team Services OneDrive Local Git Github BitBucket Dropbox External repositories Show ARM code to deploy from Github Show .deployment file Show in portal
  • 41. Call service from SPFx web part Show in old and new admin portals Code walk-through
  • 43. Which one to use? SQL Server in Azure VM Need a specific version of SQL Server or Windows Need instance-level SQL features (e.g. Agent Job, Linked Servers, DTC) Ok configuring/managing SQL Server and Windows (patching, high availability, backups) Great for migrating existing apps Azure SQL Database Don’t need a specific version of SQL Server or Windows Don’t need instance-level SQL features Don’t want to configure and manage SQL Server or Windows Great for new apps Many customers use both
  • 44.  Built for SaaS and Enterprise applications  Predictable performance & pricing  99.99% availability built-in  Geo-replication and restore services for data protection  Secure and compliant for your sensitive data  Fully compatible with SQL Server 2014 databases Fully managed SQL database service so you can focus on your business SQL DB V12
  • 45. B S0 S1 S2 S3 P1 P2 P4 P6 P11 Database Throughput Units (DTUs) Azure SQL Database Service Tiers Basic, Standard, and Premium provide increasing performance levels Scale individual databases up/down via portal, PS, APIs, or T-SQL Database remains online while scaling Hourly billing provides cost efficiency
  • 46. What exactly is a DTU? % CPU % READ % WRITE % MEMORY DTU represents a set of operations that are typical for an online transaction processing (OLTP) request, and then measured by how many transactions could be completed per second under fully loaded conditions Create SQL Server and database using ARM
  • 48. LINQ to Entities Object Services ObjectQuery Entity SQL Entity Client Entity Framework layers Conceptural Mapping Logical 1st migration Scaffolding a Web API Controller for our DB nuget packages DB Context code
  • 51. The secrets we keep… • Connection strings • Application keys / Client secrets • Certificates, and passwords to certificate private keys • Encryption keys • Service account passwords
  • 55. Show enabling Managed Service Identity Show code changes
  • 66. DNS-based load balancing and failover Health probe of endpoints to determine availability Impact of Time To Live (TTL) Multiple performance policies
  • 68. X

Editor's Notes

  • #2: WRK403 - What Every SharePoint Developer should know about Microsoft Azure While the SharePoint Framework is the new place to customize the SharePoint UI, it runs completely within the web browser, and does nothing to help with background processing or other server-side work, including situations where you need to elevate permissions beyond what the end user is allowed to do. Both sandboxed and farm solutions are off the table in SharePoint Online, leaving few SharePoint-based options for this kind of work. Fortunately, Microsoft Azure is well positioned to handle these situations and many more, and should be part of every SharePoint developer's tool set. This workshop will introduce Azure platform services including Azure Active Directory, web apps, logic apps, Azure Functions, and more. You will learn practical approaches to integrate these with SharePoint. Scenarios will include: • Surfacing line of business data in SharePoint via Azure web apps and functions • Elevating permission in a SharePoint web part • Using Azure functions as timer jobs and web services • Implementing workflows and business orchestration with Azure Logic Apps • Storing and querying large data sets (beyond 5,000 rows) in SQL Azure • Safely managing security and secrets in your Azure code with Managed Service Identities and Key Vault Attendees should have a working knowledge of C# development and familiarity with SharePoint Online. Don't miss this opportunity to upgrade your development skills for modern SharePoint!
  • #3: 2
  • #9: 4 STEP video demo 1. Create new project, get 401, comment out Authorize 2. Open Azure AD fix up entry copy values 3. Test in Postman – 401 – fix headers, select right token – works! 4. Deploy to Azure works there too
  • #10: 4 STEP video demo 1. Create new project, get 401, comment out Authorize 2. Open Azure AD fix up entry copy values 3. Test in Postman – 401 – fix headers, select right token – works! 4. Deploy to Azure works there too
  • #11: 4 STEP video demo 1. Create new project, get 401, comment out Authorize 2. Open Azure AD fix up entry copy values 3. Test in Postman – 401 – fix headers, select right token – works! 4. Deploy to Azure works there too
  • #12: 4 STEP video demo 1. Create new project, get 401, comment out Authorize 2. Open Azure AD fix up entry copy values 3. Test in Postman – 401 – fix headers, select right token – works! 4. Deploy to Azure works there too
  • #13: 4 STEP video demo 1. Create new project, get 401, comment out Authorize 2. Open Azure AD fix up entry copy values 3. Test in Postman – 401 – fix headers, select right token – works! 4. Deploy to Azure works there too
  • #22: Blue pill – go on believing what you want Red pill – all the way down the rabbit hole
  • #35: A JSON template file is a text file that contains descriptions of the resources, configurations code and extensions. JSON templates are idempotent, which means that they can be run multiple times without changing the outcome beyond initial deployment. A consequence of this characteristic is that templates can be used to upgrade applications, for example, by scaling out applications with additional VMs. You modify the template to include the specifications for the additional virtual machines. When you deploy the template, Azure Resource Manager will recognize the resources that have previously been deployed and create only the resources that have been added. A JSON template is divided into sections: <CLICK> The $schema (a required element that provides the location of the file that describes the version of the template language) along with a required element that provides the version of the template The schema reference is used by intelligent JSON clients to determine the schema that is applicable to the JSON file and to provide additional functionality such as autocomplete and intellisense. <CLICK> Parameters (optional elements that define values that are passed in when the template is executed) The value for the Parameters key is an array of parameter objects that representing the dynamic input for the JSON template. Each of the parameter objects has a name that is used pass values in at runtime and is referenced within the JSON itself in other sections. For example, "NewStorageAccount" is the name of the parameter that is supplied as an input and used to provide the name of the storage account resource specified in the JSON file. <CLICK> Variables (optional elements that define the values that are used when template is executed) <CLICK> Resources (a required element that defines the resources that are deployed or updated in a resource group); and This slide doesn’t show it, but you can also have an optional Outputs section that defines values that are returned after a deployment <CLICK> A JSON file is constructed of key/value pairs. For example, in the image above, "ContentVersion" is the key and "1.0.0.0" is the value. A key is always a string enclosed in quotation marks. A value can be a string, securestring, number, boolean expression, array, or object. A JSON object is enclosed in curly braces, "{ }". In a key/value pair the key is always followed by a colon. Key/pairs are separated by commas. A JSON template may also contain functions and expressions. Expression are enclosed in square brackets, "[ ]', and can appear anywhere in a JSON string. Functions calls have the format functionName(arg1,arg2,arg3). Properties are referenced using the dot and index operators. The lab provides notes with additional details regarding specific parameters, variables, resources, etc. Authoring Azure Resource Manager templates https://azure.microsoft.com/en-us/documentation/articles/resource-group-authoring-templates/
  • #66: In general don’t worry about it As you scale out, fabric controller will put instances into different fault domains
  • #68: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-designing-cloud-solutions-for-disaster-recovery