OSP334 Why SharePoint and Windows Azure are Just Plain Better Together Steve Fox Director, MCS Microsoft Corporation SharePoint and Windows Azure are now more than ever a very compelling technology integration. Goals of this Session Provide a 360 view of how SharePoint and Windows Azure integrate
Walk through four scenarios that integrate SharePoint and Windows Azure Discuss in the context of both IT Pro and Developer Agenda Summary Fundamentals 4 Scenarios Fundamentals SharePoint and Windows Azure: Evolved
SharePoint FIS Hosted Learning Dev. & Test BI Apps Departmental IAAS Apps Hybrid/LOB Applications Services/Data Layer Storage and
Archiving Messaging Regional Caching PAAS Resource Offload Media Apps All-Cloud Solutions LOB applications Windows Phone 7.x Apps Custom SAASClientside
Applications GA Client Layer Whats in the Windows Azure Spring Preview? Integration Layer Office SharePoint Data Layer
Service Layer CDN Traffic Manager Media Services Storage Drive PC
Tablet Phone Browser Games Console Virtual Network Load Balancer Connect
EAI / EDI Service Bus Cloud Services Blobs Tables Web Sites Queues Web/Worker
Caching Virtual Machines SQL SP Onpremises Service Onpremises Database AD Access
Control SQL Data Sync Hadoop Stream Insight SQL Reporting SQL Database Today? Four Scenarios
Data Synchronization Data Sync to bridge cloud-based data sources Streaming Media Azure Media Services to manage videos Lift and Shift Using IAAS to host SharePoint solutions All-Cloud Solution SharePoint Online, BCS & Windows Azure Data Synchronization Architecture
Office SharePoint WFE INDXR PC Tablet Phone Browser WFE
APP SVR SQL SVR SQL Database Data Sync SQL Azure Data Sync SQL Azure Data Sync Demo Data Synchronization Process Replicate schema to SQL Azure Install Data Sync Agent on server Register SQL Server database with SQL Azure Data Sync Agent Edit the schema in SQL Azure you want to
synchronize Surface data in client/web/device SQL Data Connection Service REST Windows Azure Cross-Premises Connectivity ENTERPRISE CLOUD Data Synchronization SQL Azure Data Sync Application-Layer Connectivity &
Messaging Service Bus Secure Machine-toMachine Connectivity Windows Azure Connect Secure Site-to-Site Network Connectivity Virtual Network Streaming Media Azure Media Services Architecture Client Libraries Build-On Media Partners and Customers
Partner CDNs Windows 8 REST APIs Azure Media Services Components Encoding Media Job Scheduling Build-In Partner Media OnDemand Origin
Live Ingest Content Protection Live Encoding Live Origin Analytics Processors Windows Azure Core Platform
Ad Insertion Broadcast Scheduling Windows Phone XBOX Azure CDN Secure Media Ingest Silverlight
Origin Caching HTML5 Flash Adaptive Streaming Porting Kits (STB, iOS/Android) Architecture Media O365 SP-O
WFE INDXR PC Tablet Phone Browser WFE APP SVR SQL SVR CDN Cache
BLOB Storage CDN Cache AMS Streaming Azure Media Services (AMS) Demo Streaming Media in SharePoint Azure Media Services Code Snippet string inputFilePath = @"C:\windows\Performance\WinSat\winsat.wmv"; CloudMediaContext mediaContext = new CloudMediaContext(new Uri("https://nimbustap.cloudapp.net/API/"),
"F7DF85E4-E142-2212-A433-161FE60D409C", "7HCe8R6n", "urn:Nimbus", "https://nimbusvoddev.accesscontrol.windows.net"); IAsset asset = mediaContext.Assets.Create(inputFilePath); string fileName = asset.Files[0].Name; IAccessPolicy readPolicy = mediaContext.AccessPolicies.Create("CanReadFor30Minutes", TimeSpan.FromMinutes(30), AccessPermissions.Read); asset.AccessPolicies.Add(readPolicy); ILocator locator = asset.Locators.Where(c => c.AccessPolicyId == readPolicy.Id && c.ExpirationDateTime > DateTime.UtcNow).First(); var uriBuilder = new UriBuilder(locator.Path); uriBuilder.Path += Path.AltDirectorySeparatorChar + fileName; Uri fullUrl = uriBuilder.Uri;
More information? http://msdn.microsoft.com/en-us/magazine/jj133821.aspx Process Create a video (e.g. WMV file) Leverage Media Services to Upload video Transcode and encode BLOB Leverage the video URL within SMF player or custom player Streaming Progressive Download Embed SMF or custom player within a SharePoint (or SharePoint Online) site
Lift and Shift Architecture WFE WFE SP Standalone INDXR APP SVR SQL SVR VPN Tunnel WFE
INDXR APP SVR SQL SVR SharePoint Farm On-Premises LOB AD/DC/DNS SharePoint Farm Cloud
Demo Creating a SharePoint VM in Azure IAAS http://tinyurl.com/7blzor2 Process Log onto Azure portal Create a new VM (or upload an existing one) Create a VNET if you want to create a cloud network Create or upload other VMs and associate them with the VNET Configure the VM(s) as you would normally configure your SP Farm servers OR Use PowerShell to do all of the above in parallel
PowerShell to Create/Migrate SP Farm ## Create SP WFE1 $spwfe1 = New-AzureVMConfig -Name 'SP-WFE1' -AvailabilitySetName $avsetwfe ` -ImageName $spimage -InstanceSize Medium | Add-AzureProvisioningConfig -WindowsDomain -Password $dompwd ` -Domain $domain -DomainUserName $domuser -DomainPassword $dompwd ` -MachineObjectOU $advmou -JoinDomain $joindom | Add-AzureInputEndpoint -Name 'http' -LBSetName 'lbhttp' -LocalPort 80 -PublicPort 80 -Protocol tcp -ProbeProtocol http -ProbePort 80 ` -ProbePath '/healthcheck/iisstart.htm' | Set-AzureSubnet $spsubnet ... $dns1 = New-AzureDns -Name 'dns1' -IPAddress '10.1.2.4' New-AzureVM -ServiceName $cloudsvc -AffinityGroup $ag -VNetName $vnetname -DnsSettings $dns1 -VMs $spwfe1, $spwfe2, $spwfe3, $spwfe4, $spapp1, $spapp2, $spsql1, $spsql2
More Information? AZR327: Deploying SharePoint Farms on Windows Azure Virtual Machines All-Cloud Solutions All-Cloud Solution Patterns 1 2 3 4 Architecture
Device Interoperability External List SSS ECT SharePoint (On-Premises or Online) Web Service Proxy (HTTP or HTTPS) LOB Data (SQL Database)
LOB Data Demo Creating a Cloud-Based LOB Application using BCS Other Potential BCS LOB Connectivity Patterns Any public facing WCF/ASMX service Open or username/password protected A WCF service that wraps any OData service A WCF service that wraps any REST-based service A WCF service that exposes data from any database An on-premises WCF service Use a Windows Azure WCF Service as a proxy service
Access on-premises service via Windows Azure Service Bus More Information? OSP331: Building Microsoft SharePoint Online Applications in a Hybrid World Process Create SQL Azure (or other DB or endpoint, e.g. REST) Write a WCF service wrapper around that endpoint Optionally add certificate for HTTPS Provide username/password configuration Expose the endpoint in SharePoint Designer and create an external content type (ECT) Provide permissions for ECT Create external list and publish to SharePoint Online Optionally code against that list using the client object
model partner DocAve & SharePoint Summary What about Identity? Option Development or OOB Sample Scenario Active Directory OOB
Create VM in the cloud and federate with Brooklyn. ADFS Federation OOB Federate on-premises users for SSO to O365. Office Live ID OOB Log into O365 session with your Office Live ID. Windows Azure Active Directory
Development/OOB Uses token and secret key to authenticate service/ device or federate (ADFS 2.0) with claims for SSO. WIF Development Identity management across multiple systems with no flow-through. oAuth Development/OOB
Can use with ACS or leverage SSO. BCS OOB Configure external content types to pass username and password claim using SSS and Application ID. SQL Connection String Development Obfuscate in application code or encrypt. Shared Access Permissions
Development Set permissions on a BLOB in Windows Azure storage. Certificate Development/OOB Upload/manage certs within Azure for HTTPS service endpoints. Headless Authentication Development
Access SP-O from Azure using system account. Differentiation IAAS Good for a number of SharePoint workloads Reasonable to use for remote, hosted development environments You might find challenges with network configuration/performance Good hybrid story (on multiple fronts) PAAS Use as service bridge or cloud-based data apps Offload code to cloud Hybrid solutions and cross-device SAAS Supports the all-cloud modeltrue cloud connect model Increasingly rich functionality with CRM Online and BCS support
Azure can provide service layer for device abstraction Call to Action For Development Channel 9 SharePoint Developer Training Kit Channel 9 Azure Developer Training Kit Channel 9 O365 Developer Training Kit SharePoint and Windows Azure Developer Kit http://tinyurl.com/3hoga7c Also... Check out Steves blog for code and walkthroughs Read Developing Microsoft SharePoint Applications using Windows Azure Read Professional SharePoint 2010 Cloud-Based Solutions Steve Fox
@redmondhockey [email protected] http://blogs.msdn.com/steve_fox Resources Learnin g Connect. Share. Discuss. Microsoft Certification & Training Resources http://europe.msteched.com www.microsoft.com/learning TechNe t
Resources for IT Professionals http://microsoft.com/technet Resources for Developers http://microsoft.com/msdn The Business Collaboration Platform for the Enterprise and the Internet The Business Collaboration Platform for the Enterprise & the Internet Deliver the Best Productivity Experience
Cut Costs with a Unified Infrastructure Rapidly Respond to Business The capabilities of SharePoint 2010 Needs provide a powerful business collaboration platform Project and SharePoint Better Together Manage Resources Improve efficiency and save money by better managing work and allocation of resources Maximize Portfolio Returns Make informed investment decisions and effectively communicate results across a
portfolio of projects Keep Teams Productive Save time and improve project results by centralizing team collaboration on deliverables and tasks Improve SharePoint ROI www.sharepoint.microsoft.com Effectively manage requests to maximize the ROI of your SharePoint environment www.microsoft.com/project Resources Learnin g Connect. Share. Discuss.
Microsoft Certification & Training Resources http://europe.msteched.com www.microsoft.com/learning TechNe t Resources for IT Professionals http://microsoft.com/technet Resources for Developers http://microsoft.com/msdn
Evaluations Submit your evals online http://europe.msteched.com/sessions 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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. Welcome to a Deep Dive on