Implementing SharePoint on Azure.
Lessons Learnt from a Real World
Project
K Mohamad Faizal,
Microsoft Azure MVP
www.zquad.in @kmdfaizal
66thth
March 2015- 11AMMarch 2015- 11AM
Implementing SharePoint on
Azure.
Lessons Learnt from a Real World Project
K Mohamad Faizal,
Microsoft Azure MVP
www.zquad.in / @kmdfaizal
Azure architecture concepts for
SharePoint IT Pros
11 Virtual Network
22 Cloud Service
44
Reserve IP / Domain Name55
Database Planning and Disk Performance
Load Balancer Configuration66
33 SharePoint Server Topology
Microsoft positioning for SharePoint in
Microsoft Azure
Azure architecture
concepts for
SharePoint IT Pros
Example — Hybrid on-premises and
Azure
Reference architecture for a Microsoft Azure-based environment to integrate an on-premises
environment
Virtual Network
Windows Azure
VPN Gateway
Gateway
subnet
Active VPN
Cloud Service
Availability Set
Active Directory
& DNS
Cloud Service Cloud Service
Active Directory
Windows Server
2012 RRAS
Availability Set
Front End
Availability Set
Distributed
Cache
Availability Set
Search Front
End
Availability Set
Search
Backend
Availability Set
Backend
On-premises
environment
Availability Set
Database
B
Microsoft Azure
Virtual network
A container where you define the IP address ranges your virtual machines will use. Microsoft Azure
uses infinite-lease DHCP addresses and you can’t assign static IP addresses.
Virtual Network
Windows Azure
Active Directory
Windows Server
2012 RRAS
On-premises
environment
B
Microsoft Azure
Site-to-Site VPN gateway and subnet
When you setup a VPN connection, the VPN service resides in a separate subnet. Microsoft Azure manages the primary
and secondary instances of this service for high availability. You will not see the secondary instance. You do not need to
configure high availability for the VPN service.
Virtual Network
Windows Azure
VPN Gateway
Gateway
subnet
Active VPN
Active Directory
Windows Server
2012 RRAS
On-premises
environment
Standby VPN
Not visible.
Automatically
configured and
managed by
Azure.
B
Microsoft Azure
Cloud services
Cloud services are typically used to group VMs by role based on functionality that takes place at the cloud service level
Virtual Network
Windows Azure
VPN Gateway
Gateway
subnet
Active VPN
Cloud Service Cloud Service Cloud Service
Active Directory
Windows Server
2012 RRAS
On-premises
environment
Active Directory
and DNS
SharePoint Server roles Database
servers
Plan cloud services
before creating VMs!
B
Microsoft Azure
10
Cloud services
B
Availability sets and fault domains
Configure identical server roles to be part of an availability set. This ensures that the VMs are spread across multiple
fault domains.
A fault domain is a grouping of hardware in which role instances run.
Cloud Service
Availability Set
Active Directory
& DNS
Cloud Service Cloud Service
Availability Set
Front End
Availability Set
Distributed
Cache
Availability Set
Search Front
End
Availability Set
Search
Backend
Availability Set
Backend
Availability Set
Database
B
12
Virtual Machine Availability Sets
 Putting two or more VMs in availability sets
guarantees that your VMs are spread across multiple
racks in the Azure Data Centers.
 This means redundant power supply, switches and
servers.
 99.95% SLA
SharePoint
Server Topology
Use Larger Memory SKUs
Number of
Server Cores Server SKU
Approx. Cost
$/Month US-West
RAM
in GB
Local Disk Size
in GB
4 Cores
A3 Basic $229 7 120 Std
A3 Standard $268 7 285 Std
A6 Standard $491 28 285 Std
D3 $509 14 200 SSD
D12 $600 28 200 SSD
8 Cores
A4 Basic $458 14 240 Std
A4 Standard $536 14 605 Std
A7 Standard $982 56 605 Std
D4 $1,018 28 400 SSD
D13 $1,080 56 400 SSD
Use Larger Memory SKUs
Web Front End Tier
Availability Set #1
Front End ServicesDistibuted Cache
Workflow Manager Query Processing
Front End ServicesDistibuted Cache
Workflow Manager Query Processing
Index Partion #0 Index Partion #0Replica
Front End ServicesDistibuted Cache
Workflow Manager Query Processing
ReplicaReplica
XL - 8 cores / 14GB
C: (System) 127GB
D: (Page File, Blob Cache) 604GB
E: (Log) 40GB
F: (Index) 500GB
C: (System) 127GB
D: (Page File, Blob Cache) 604GB
E: (Log) 40GB
F: (Index) 500GB
C: (System) 127GB
D: (Page File, Blob Cache) 604GB
E: (Log) 40GB
F: (Index) 500GB
XL - 8 cores / 14GB XL - 8 cores / 14GB
Replica
Front End ServicesDistibuted Cache
Workflow Manager Query Processing
XL - 8 cores / 14GB
C: (System) 127GB
D: (Page File, Blob Cache) 604GB
E: (Log) 40GB
F: (Index) 500GB
K
App Server Tier
Availability Set #2
Content Processing
Admin
Crawl
Analytics Back End Services
Content Processing
Admin
Crawl
Analytics Back End Services
C: (System) 127GB
D: (Page File) 604GB
E: (Log) 40GB
F: (Analytics) 300GB
C: (System) 127GB
D: (Page File) 604GB
E: (Log) 40GB
F: (Analytics) 300GB
XL - 8 cores / 14GB XL - 8 cores / 14GB
Content Processing
Admin
Crawl
Analytics Back End Services
C: (System) 127GB
D: (Page File) 604GB
E: (Log) 40GB
F: (Analytics) 300GB
XL - 8 cores / 14GB
K
Data Server Tier
Availability Set #3
Availability Group #1
Availability Group #2
Availability Group #3
Search
Content
Content
Configuration
Service Applications
C: (System) 127GB
D: (Page File) 604GB
E:, F:, G:, H: (TempDB Files) 500GB
I: (TempDB Logs) 500GB
L: (Transaction Logs) 500GB
J:, K:, M:, N: (Content Data) 1024GB
O: (Search Databases) 1024GB
XL - 8 cores / 14GB XL - 8 cores / 14GB
C: (System) 127GB
D: (Page File) 604GB
E:, F:, G:, H: (TempDB Files) 500GB
I: (TempDB Logs) 500GB
L: (Transaction Logs) 500GB
J:, K:, M:, N: (Content Data) 1024GB
O: (Search Databases) 1024GB
Content
Content
Configuration
Service Applications
C: (System) 127GB
D: (Page File) 604GB
E:, F:, G:, H: (TempDB Files) 500GB
I: (TempDB Logs) 500GB
L: (Transaction Logs) 500GB
J:, K:, M:, N: (Content Data) 1024GB
O: (Search Databases) 1024GB
XL - 8 cores / 14GB
K
Database Planning
and Disk
Performance
Improve SQL Performance
Improve SQL Performance
New Azure Capabilities
Database Planning
25
Database Planning
Set Minimum
and Maximum
Server Memory
Max Degree of
Parallelism = 1
Database Planning
Audit Log Planning
Resaved IP and
Load Balancer
Configuration
Reserved IP Addresses
• Incase virtual machines are shut down, your IP release and you will another
IP when u restart you VM, Reserved IP help persistent the external IP
• Reserved IP Addresses for Cloud Service Ips
• Persistent external IP address even if all virtual machines are stopped or
deleted.
• The first 5 reserved IPs IN USE is free. If they are left unused you have to pay for them.
• The pricing is cheap at $0.005 per hour per IP (~$4/month per IP).
• EA subscriber your subscription is limited to at most 5 IPs.
Set via the Azure PowerShell Cmdlets
New-AzureReservedIP -ReservedIPName "myIP" `
-Location "West US"
New-AzureVM -ReservedIPName "myIP" ...
Port Forwarding Input Endpoints
• Cloud service has only one external IP address, port
forwarding is used to direct various access
requirements to the right location
Port 3389
Port 3389
Port 53591
Port 6237
Remote Desktop connection
Cloud Service
Configure External Load Balancer
• Azure Load Balancer to distribute a specific type of
traffic between multiple virtual machines or services
• Azure provides random distribution of the incoming
traffic.
Port 80
Port 80
Port 80
Cloud Service
Cloud Service VIP
TCP Health Probe
• The default load balancer probe settings are set to TCP
• Load Balancer Probes Every 15 seconds
• Looks for ACK on socket connect
• Traffic stops until ACK received (two failures)
• LB consider the node offline and will stop directing traffic to it
• Continues Polling
Port 80
Port 80
Port 80
Cloud Service
Cloud Service VIP
Probe
HTTP Health Probe
• HTTP gives you a bit more flexibility and power on what actions you can take
• Health probe every 15 seconds
• ProbePath is essentially a relative HTTP URL on your web servers that will respond
with an HTTP 200 if the server is fine and ANY other response if the node will be
taken out of rotation
• Continues polling until healthy
Port 80
Port 80
Port 80
Cloud Service
Cloud Service VIP
Probe
Internet sites — lessons learned
Global Azure Bootcamp in Singapore
• 25th
April 2015
• http://globalazurebootcampsg.azurewebsites.net
• http://azuresgbootcamp.eventbrite.sg
• http://www.meetup.com/mssgug/
Related Content
Introduction to SharePoint and Windows Azure IaaS, By Kirk EvansIntroduction to SharePoint and Windows Azure IaaS, By Kirk Evans
Architect, Azure Modern Apps COEArchitect, Azure Modern Apps COE
SPC3992- SharePoint Solutions and Architectures on Windows Azure, By Kirk EvansSPC3992- SharePoint Solutions and Architectures on Windows Azure, By Kirk Evans
Architect, Azure Modern Apps COEArchitect, Azure Modern Apps COE
Architecting SharePoint for the Cloud, Jared Shockley, Sr. IT Service Engineer, MicrosoftArchitecting SharePoint for the Cloud, Jared Shockley, Sr. IT Service Engineer, Microsoft
ITIT
Michael Washam,Michael Washam, CEO – Opsgility – Microsoft Azure and DevOps TrainingCEO – Opsgility – Microsoft Azure and DevOps Training
38
FILL IN YOUR
EVALS
FEEDBACK TO USFEEDBACK TO US
++
LUCKY DRAW PRIZESLUCKY DRAW PRIZES
FOR YOU!FOR YOU!
=
Thank You
www.systemcenteruniverse.asia
…for updated content and NEWS

Implementing SharePoint on Azure, Lessons Learnt from a Real World Project

  • 1.
    Implementing SharePoint onAzure. Lessons Learnt from a Real World Project K Mohamad Faizal, Microsoft Azure MVP www.zquad.in @kmdfaizal 66thth March 2015- 11AMMarch 2015- 11AM
  • 2.
    Implementing SharePoint on Azure. LessonsLearnt from a Real World Project K Mohamad Faizal, Microsoft Azure MVP www.zquad.in / @kmdfaizal
  • 3.
    Azure architecture conceptsfor SharePoint IT Pros 11 Virtual Network 22 Cloud Service 44 Reserve IP / Domain Name55 Database Planning and Disk Performance Load Balancer Configuration66 33 SharePoint Server Topology
  • 4.
    Microsoft positioning forSharePoint in Microsoft Azure
  • 5.
  • 6.
    Example — Hybridon-premises and Azure Reference architecture for a Microsoft Azure-based environment to integrate an on-premises environment Virtual Network Windows Azure VPN Gateway Gateway subnet Active VPN Cloud Service Availability Set Active Directory & DNS Cloud Service Cloud Service Active Directory Windows Server 2012 RRAS Availability Set Front End Availability Set Distributed Cache Availability Set Search Front End Availability Set Search Backend Availability Set Backend On-premises environment Availability Set Database B Microsoft Azure
  • 7.
    Virtual network A containerwhere you define the IP address ranges your virtual machines will use. Microsoft Azure uses infinite-lease DHCP addresses and you can’t assign static IP addresses. Virtual Network Windows Azure Active Directory Windows Server 2012 RRAS On-premises environment B Microsoft Azure
  • 8.
    Site-to-Site VPN gatewayand subnet When you setup a VPN connection, the VPN service resides in a separate subnet. Microsoft Azure manages the primary and secondary instances of this service for high availability. You will not see the secondary instance. You do not need to configure high availability for the VPN service. Virtual Network Windows Azure VPN Gateway Gateway subnet Active VPN Active Directory Windows Server 2012 RRAS On-premises environment Standby VPN Not visible. Automatically configured and managed by Azure. B Microsoft Azure
  • 9.
    Cloud services Cloud servicesare typically used to group VMs by role based on functionality that takes place at the cloud service level Virtual Network Windows Azure VPN Gateway Gateway subnet Active VPN Cloud Service Cloud Service Cloud Service Active Directory Windows Server 2012 RRAS On-premises environment Active Directory and DNS SharePoint Server roles Database servers Plan cloud services before creating VMs! B Microsoft Azure
  • 10.
  • 11.
    Availability sets andfault domains Configure identical server roles to be part of an availability set. This ensures that the VMs are spread across multiple fault domains. A fault domain is a grouping of hardware in which role instances run. Cloud Service Availability Set Active Directory & DNS Cloud Service Cloud Service Availability Set Front End Availability Set Distributed Cache Availability Set Search Front End Availability Set Search Backend Availability Set Backend Availability Set Database B
  • 12.
    12 Virtual Machine AvailabilitySets  Putting two or more VMs in availability sets guarantees that your VMs are spread across multiple racks in the Azure Data Centers.  This means redundant power supply, switches and servers.  99.95% SLA
  • 13.
  • 14.
    Use Larger MemorySKUs Number of Server Cores Server SKU Approx. Cost $/Month US-West RAM in GB Local Disk Size in GB 4 Cores A3 Basic $229 7 120 Std A3 Standard $268 7 285 Std A6 Standard $491 28 285 Std D3 $509 14 200 SSD D12 $600 28 200 SSD 8 Cores A4 Basic $458 14 240 Std A4 Standard $536 14 605 Std A7 Standard $982 56 605 Std D4 $1,018 28 400 SSD D13 $1,080 56 400 SSD
  • 15.
  • 16.
    Web Front EndTier Availability Set #1 Front End ServicesDistibuted Cache Workflow Manager Query Processing Front End ServicesDistibuted Cache Workflow Manager Query Processing Index Partion #0 Index Partion #0Replica Front End ServicesDistibuted Cache Workflow Manager Query Processing ReplicaReplica XL - 8 cores / 14GB C: (System) 127GB D: (Page File, Blob Cache) 604GB E: (Log) 40GB F: (Index) 500GB C: (System) 127GB D: (Page File, Blob Cache) 604GB E: (Log) 40GB F: (Index) 500GB C: (System) 127GB D: (Page File, Blob Cache) 604GB E: (Log) 40GB F: (Index) 500GB XL - 8 cores / 14GB XL - 8 cores / 14GB Replica Front End ServicesDistibuted Cache Workflow Manager Query Processing XL - 8 cores / 14GB C: (System) 127GB D: (Page File, Blob Cache) 604GB E: (Log) 40GB F: (Index) 500GB K
  • 17.
    App Server Tier AvailabilitySet #2 Content Processing Admin Crawl Analytics Back End Services Content Processing Admin Crawl Analytics Back End Services C: (System) 127GB D: (Page File) 604GB E: (Log) 40GB F: (Analytics) 300GB C: (System) 127GB D: (Page File) 604GB E: (Log) 40GB F: (Analytics) 300GB XL - 8 cores / 14GB XL - 8 cores / 14GB Content Processing Admin Crawl Analytics Back End Services C: (System) 127GB D: (Page File) 604GB E: (Log) 40GB F: (Analytics) 300GB XL - 8 cores / 14GB K
  • 18.
    Data Server Tier AvailabilitySet #3 Availability Group #1 Availability Group #2 Availability Group #3 Search Content Content Configuration Service Applications C: (System) 127GB D: (Page File) 604GB E:, F:, G:, H: (TempDB Files) 500GB I: (TempDB Logs) 500GB L: (Transaction Logs) 500GB J:, K:, M:, N: (Content Data) 1024GB O: (Search Databases) 1024GB XL - 8 cores / 14GB XL - 8 cores / 14GB C: (System) 127GB D: (Page File) 604GB E:, F:, G:, H: (TempDB Files) 500GB I: (TempDB Logs) 500GB L: (Transaction Logs) 500GB J:, K:, M:, N: (Content Data) 1024GB O: (Search Databases) 1024GB Content Content Configuration Service Applications C: (System) 127GB D: (Page File) 604GB E:, F:, G:, H: (TempDB Files) 500GB I: (TempDB Logs) 500GB L: (Transaction Logs) 500GB J:, K:, M:, N: (Content Data) 1024GB O: (Search Databases) 1024GB XL - 8 cores / 14GB K
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    25 Database Planning Set Minimum andMaximum Server Memory Max Degree of Parallelism = 1
  • 25.
  • 26.
  • 27.
    Resaved IP and LoadBalancer Configuration
  • 28.
    Reserved IP Addresses •Incase virtual machines are shut down, your IP release and you will another IP when u restart you VM, Reserved IP help persistent the external IP • Reserved IP Addresses for Cloud Service Ips • Persistent external IP address even if all virtual machines are stopped or deleted. • The first 5 reserved IPs IN USE is free. If they are left unused you have to pay for them. • The pricing is cheap at $0.005 per hour per IP (~$4/month per IP). • EA subscriber your subscription is limited to at most 5 IPs. Set via the Azure PowerShell Cmdlets New-AzureReservedIP -ReservedIPName "myIP" ` -Location "West US" New-AzureVM -ReservedIPName "myIP" ...
  • 29.
    Port Forwarding InputEndpoints • Cloud service has only one external IP address, port forwarding is used to direct various access requirements to the right location Port 3389 Port 3389 Port 53591 Port 6237 Remote Desktop connection Cloud Service
  • 30.
    Configure External LoadBalancer • Azure Load Balancer to distribute a specific type of traffic between multiple virtual machines or services • Azure provides random distribution of the incoming traffic. Port 80 Port 80 Port 80 Cloud Service Cloud Service VIP
  • 31.
    TCP Health Probe •The default load balancer probe settings are set to TCP • Load Balancer Probes Every 15 seconds • Looks for ACK on socket connect • Traffic stops until ACK received (two failures) • LB consider the node offline and will stop directing traffic to it • Continues Polling Port 80 Port 80 Port 80 Cloud Service Cloud Service VIP Probe
  • 32.
    HTTP Health Probe •HTTP gives you a bit more flexibility and power on what actions you can take • Health probe every 15 seconds • ProbePath is essentially a relative HTTP URL on your web servers that will respond with an HTTP 200 if the server is fine and ANY other response if the node will be taken out of rotation • Continues polling until healthy Port 80 Port 80 Port 80 Cloud Service Cloud Service VIP Probe
  • 33.
    Internet sites —lessons learned
  • 34.
    Global Azure Bootcampin Singapore • 25th April 2015 • http://globalazurebootcampsg.azurewebsites.net • http://azuresgbootcamp.eventbrite.sg • http://www.meetup.com/mssgug/
  • 35.
    Related Content Introduction toSharePoint and Windows Azure IaaS, By Kirk EvansIntroduction to SharePoint and Windows Azure IaaS, By Kirk Evans Architect, Azure Modern Apps COEArchitect, Azure Modern Apps COE SPC3992- SharePoint Solutions and Architectures on Windows Azure, By Kirk EvansSPC3992- SharePoint Solutions and Architectures on Windows Azure, By Kirk Evans Architect, Azure Modern Apps COEArchitect, Azure Modern Apps COE Architecting SharePoint for the Cloud, Jared Shockley, Sr. IT Service Engineer, MicrosoftArchitecting SharePoint for the Cloud, Jared Shockley, Sr. IT Service Engineer, Microsoft ITIT Michael Washam,Michael Washam, CEO – Opsgility – Microsoft Azure and DevOps TrainingCEO – Opsgility – Microsoft Azure and DevOps Training
  • 36.
    38 FILL IN YOUR EVALS FEEDBACKTO USFEEDBACK TO US ++ LUCKY DRAW PRIZESLUCKY DRAW PRIZES FOR YOU!FOR YOU! =
  • 37.

Editor's Notes

  • #39 Please remind the audience to fill in their evaluation and submit them at the end of Day 2. They will be eligible for a Lucky Draw from the Sponsors.