590 likes | 723 Views
Windows Azure June 2012 Release for Developers & Architects. Mario Szpuszta Platform Strategy Advisor, EMEA Windows Azure Incubation Microsoft Corporation. Cloud Computing. Services-based Run applications Provide services Like a utility Similar to power Characteristics Elastic / dynamic
E N D
Windows AzureJune 2012 Release for Developers & Architects Mario Szpuszta Platform Strategy Advisor, EMEA Windows Azure Incubation Microsoft Corporation
Cloud Computing • Services-based • Run applications • Provide services • Like a utility • Similar to power • Characteristics • Elastic / dynamic • Scalable • Measured (pay-per-use)
Cloud Computing – What‘s different? • Higher level of abstraction • No knowledge about technology infrastructure • High degree of management-automation • Virtualized, sharedenvironment • Dynamic control ofhow much to use when • Cost-efficient dueto sharing with others • Scalable & reliable • Leverage existingassets of large vendors
Characteristics of Cloud Computing • On-demand delivery • Shared pool of Resources • Measured Service / Pay-per-Use • Broad Network Access • Elactisity Compute Average Usage Time = off off on
Cloud Computing Patterns Inactivity Period On and Off Compute t • On & off workloads (e.g. batch job) • Over provisioned capacity is wasted • Time to market can be cumbersome Growing Fast Compute • Successful services needs to grow/scale • Keeping up w/ growth is big IT challenge • Cannot provision hardware fast enough t Unpredictable Bursting Compute • Unexpected/unplanned peak in demand • Sudden spike impacts performance • Can’t over provision for extreme cases t Predictable Bursting Compute • Services with micro seasonality trends • Peaks due to periodic increased demand • IT complexity and wasted capacity t
Why bother about Cloud Computing? • Expand your reach • Reduce your costs and efforts • Focus on your business & strategy • Faster and agile – more reactive to change • Reduce risks by spreading load
Windows Azure From October 2009 (launch) – November 2010 (autumn 2010 release) Browser PC GamesConsole Tablet Phone Client Layer(on-premise) On-premise Database OfficeAdd-in On-premise Service Integration Layer Service Bus (relay) Access Control Application Layer Compute Web/Worker Tables Blobs Drive Queues SQL Azure Database Storage Data Layer
Windows Azure Spring 2011 release (Apirl – August) Browser PC GamesConsole Tablet Phone Client Layer(on-premise) On-premise Database OfficeAdd-in On-premise Service Integration Layer Caching Connect (*) Service Bus (relay) Access Control 2.0 Access Control CDN Application Layer Compute Web/Worker Data Sync (*) Tables Blobs Drive Queues SQL Azure Database Storage Data Layer Reporting (*) (*) Community Technology Preview
Windows Azure Detailed improvements from autumn 2010 and spring 2011 Startup-Tasks Full IISin Web Roles RDP intoWeb/Worker Extra-Small Instances AndroidToolkit for Azure iPhoneToolkit for Azure Windows PhoneToolkit for Azure Certificate Management Cloud-OS Version Selection VM Role (*) October 2009 – November 2010 April – August 2011
Windows Azure Autumn 2011 release (Nov. / Dec. 2011) Browser PC GamesConsole Tablet Phone Client Layer(on-premise) On-premise Database OfficeAdd-in On-premise Service Market Place Integration Layer Caching Connect (*) Service Bus (relay) Service Bus (relay+queue) Access Control 2.0 EAI/EDI (*) Traffic Manager (*) CDN Application Layer Compute Hadoop (*) Web/Worker HPC Data Sync (*) Tables Blobs Drive Queues SQL Azure Reporting (*) Database Storage Data Layer (*) Community Technology Preview
Windows Azure Detailed improvements autumn 2011 release SQL Database DAC support & import / export Visual Studio Publishing Cloud configurations in VS Profilingin the cloud Azure Storage Analytics Multiple Web Sites in Web Roles GEO Replication for BLOBs In-Place Upgrades SQL Databse Federations Azure .NET Libraries NuGet Integration Project validation in VS Service Management API SQL Database Multiple Servers & Co-Admins OfficialPHP SDK OfficialJava SDK Officialnode.js SDK
Windows Azure – June 2012 Relase Overview June 2012 Release Browser PC GamesConsole Tablet Phone Client Layer(on-premise) On-premise Database OfficeAdd-in On-premise Service Market Place Integration Layer Caching Virtual Network (*) Connect (*) Service Bus (relay+queue) AD(*)and Access Control Access Control 2.0 EAI/EDI (*) Traffic Manager (*) CDN Stream Insight (*) Application Layer Compute Virtual Machines (*) Hadoop (*) Media Services (*) Cloud Services Cloud Services Web Sites (*) Cloud Services HPC Data Sync (*) Tables Blobs Drive Queues SQL Azure Reporting Database Storage Data Layer Cache (service & dedicated(*)) (*) Community Technology Preview
A Continuous Offering From Private to Public Cloud Physical IaaS PaaS SaaS Virtual
Visual Studio Tools Improvements • Azure SDK side-by-side support • IIS Express for local development • Improved server explorer • Direct RDP from Visual Studio • Improved publishing (incl. simultaneous update) • Visual Studio 2012 (RC) support
.NET SDK Developer Improvements • CloudConfigurationManager class • Better NuGet-integration Updating of references easier Better, clear structure of libraries • Support for new networking functions UDP support Virtual network configurations Custom health-probes of load balancer • Support for new „dedicated Cache“ & memcache
PHP SDK Improvements • Windows Azure web sites support • Improved client libraries (storage, runtime) • PHP client libraries for service bus • WebMatrix tooling integration • Mac & Linux development support http://blogs.msdn.com/b/interoperability/archive/2012/06/27/windows-azure-sdk-for-php-available-including-support-for-service-bus.aspx
Java SDK and Tools Improvements • Eclipse Windows Azure deployment wizard • Server configuration editor for Eclipse • Instance Endpoint configuration through Eclipse • Azure toolbar for Eclipse • Azure Libraries for Java released • JDBC Driver 4.0 for SQL Server part of libraries • ACS Access Control Filter for Java web applications
Spring 2012 new service offerings • Virtual networking • Networking functionality in the cloud and across premises • Azure Active Directory • AD LDAP services incl. graph API and Access Control Service • Dedicated caching • Use your own instances for caching,synchronize caches through memcache Virtual Machines Web Sites VirtualNetworks Media Services AzureActive Directory Dedicated Caching
Spring 2012 new service offerings • Virtual networking • Networking functionality in the cloud and across premises • Azure Active Directory • AD LDAP services incl. graph API and Access Control Service • Dedicated caching • Use your own instances for caching,synchronize caches through memcache Virtual Machines Web Sites VirtualNetworks Media Services AzureActive Directory Dedicated Caching
Overview: Existing Connectivity in Azure foo.cloudapp.net VIP Input Endpoint Internal Endpoint Name Resolution VIP:Input Endpoint • Windows Azure-provided DNS service for service-level name resolution • Runtime APIs for instance identification • Loadbalanced endpoint. Stable VIP per service. • Single port per endpoint • Supported protocols: HTTP, HTTPS, TCP • Instance-to-instance communication • Supported Protocols: TCP • Port ranges supported • Communication boundary = Deployment boundary LB Internal Endpoint
New Scenarios to support... • Gaming and media streaming • Monitoring and debugging cloud services • Enterprise workloads through hybrid-cloud • Geo-loadbalancing with traffic manager
Gaming and Media Streaming Media Streaming • Default way of delivering media content is over UDP unicast streams UDP unicast traffic LB Gaming • MMO Games need real-time communication • Rendezvous point to connect to specific servers over the internet Requirements • Inbound and outbound UDP unicast support • LoadbalancedUDP traffic • Direct connectivity to every instance behind loadbalancer UDP unicast traffic
Defining UDP Endpoints for PaaS Roles Service Definition Schema • <WorkerRole name="name1" enableNativeCodeExecution="true" vmsize="Small"> • … • … • <Endpoints> • <InputEndpoint name=“MyUDPEP" protocol="udp" port=“554"/> • <InternalEndpoint name=“MyInternalEP" port=“5000" protocol=“udp"> • <FixedPortRange min=“5003" max=“5050" /> • </InternalEndpoint> • </Endpoints> • … • … • </WorkerRole>
Monitoring & Debugging Cloud Services Windows Azure Role Instances … Monitoring IN_1 IN_2 IN_N • Access to each role instance running in a cloud service for monitoring and diagnostics LB Debugging Internet Load Balanced Traffic • Profiling information on application for developers Requirements Direct Connectivity to Individual Role Instances • Access to every role instance behind the loadbalancer Web Clients Web Clients Monitoring / Debugging Service
Schema for Port Forwarding Service Definition Schema • <WebRole name=“MyWebRole" enableNativeCodeExecution="false" vmsize="Small"> • … • … • <Endpoints> • <InstanceInputEndpoint name=“MyMonitorPort" localPort=“5000" protocol="tcp"> • <AllocatePublicPortFrom> • <FixedPortRange min=“1001" max=“1010" /> • </AllocatePublicPortFrom> • </InstanceInputEndpoint> • </Endpoints> • … • … • </WebRole>
Enterprise Workloads in Windows Azure Requirements Run a multi-tier application in Windows Azure without having to modify the application • High Availability • Name resolution for inter-VM communication • IP level communication between VMs in the same Cloud Service • Support for hybrid scenarios • (see next session – introducing Virtual Machines) Enable you to move services in a phased manner Complement investments made to support virtual machines
Loadbalancing Support for VMs LB LB Role Web / Worker Role Instance Web / Worker Role Instance Web / Worker Role Instance Web / Worker Role Instance Virtual Machine Virtual Machine
Custom Health Probes LB LB VM VM VM VM Azure Agent Azure Agent Your Application Your Application Role Status Role Status Customer Application Customer Application
Schema: Loadbalanced Sets and Probes Service Definition Schema • <ServiceDefinition name="name1" upgradeDomainCount="1" schemaVersion="unspecified" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> • <LoadBalancedEndpointSets> • <LoadBalancedEndpointSet name=“MyLBSet" protocol=“tcp" port=“5000" loadBalancerProbe=“MyProbe" /> • </LoadBalancedEndpointSets> • <LoadBalancerProbes> • <LoadBalancerProbe name=“MyProbe" protocol=“tcp" port=“5000" intervalInSeconds=“10" timeoutInSeconds=“21" /> • </LoadBalancerProbes> • <WebRole name=“MyWebRole" enableNativeCodeExecution="false" vmsize="Small"> • … • … • <Endpoints> • <InputEndpoint name=“MyEP" protocol=“tcp" port=“5000" localPort="10000" loadBalancedEndpointSet=“MyLBSet" loadBalancerProbe=“MyProbe" /> • … • </Endpoints> • … • … • </WebRole>
Azure-provided DNS TestVM1 TestVM2 Who is TestVM2? 10.1.1.1 Who is TestVM2?
Azure-provided DNS Scenarios WINDOWS AZURE-PROVIDED DNS SCENARIOS A. Client-server applications using VMs IIS IIS Server Virtual Machine Virtual Machine IIS Server IIS Server SQL Analysis Service SQL Reporting Service Web Role 3 Web Role 2 Web Site Virtual Machine SQL Service B. Loadbalanced VMs with SQL backend PERSISTENT VM ROLE SQL Service LB Internet
Using your DNS service for name resolution Service Configuration Schema • <Role name=“MyWebRole" vmName=“MyWebVM"> • … • <NetworkConfiguration> • <Dns> • <DnsServers> • <DnsServer name=“MyDNS" IPAddress=“157.23.45.67" /> • </DnsServers> • </Dns> • … • </NetworkConfiguration> • Instances will be named MyWebVM0, MyWebVM1, … • Names provided at provisioning time are applied for virtualmachines. • Hostnames can be changed by logging into VMs
Spring 2012 new service offerings • Virtual networking • Networking functionality in the cloud and across premises • Azure Active Directory • AD LDAP services incl. graph API and Access Control Service • Dedicated caching • Use your own instances for caching,synchronize caches through memcache Virtual Machines Web Sites VirtualNetworks Media Services AzureActive Directory Dedicated Caching
Windows Azure Active Directory!? Cloud app • Extension of Active Directory into the cloud • Designed primarily to meet the needs of cloud applications • Identity as a service: an essential part of Platform as a Service Azure AD Cloud app Cloud app AD
Problem Statement Cloud app While enterprises working to consolidate identity system on-premises, cloud apps are fragmenting identity… again Cloud app Cloud app Separate username/password sign-in Manual or semi-automated provisioning No direct connection to directory AD
History of Azure Active Directory Exchange Online • Active Directory revised to operate as Internet-scale multi-tenant identity service, built concurrently with Office 365 • Extends Windows Server Active Directory into cloud • Provides cloud-based identity services for organizations without Windows Server AD SharePoint Online Lync Online Azure AD AD
Identity Management as a Service ISVApp Office365 ISVApp • Consolidate identity management across cloud apps • Connect to directory from any platform, any device • Connect with people from web identity providers and other organizations Azure AD Your Custom IT App Other MSFT Apps AD
Relationship to Windows Server AD • On-premises and cloud Active Directory managed as one • Directory information synchronized to cloud, made available to cloud apps via roles-based access control • Federated authentication enables single sign on to cloud applications Azure AD Sync and Federation AD
Spring 2012 new service offerings • Virtual networking • Networking functionality in the cloud and across premises • Azure Active Directory • AD LDAP services incl. graph API and Access Control Service • Dedicated caching • Use your own instances for caching,synchronize caches through memcache Virtual Machines Web Sites VirtualNetworks Media Services AzureActive Directory Dedicated Caching
What is Windows Azure Caching? A distributed, in-memory, flexible cache for all data types that can be used to speed up Windows Azure applications and reduce database load. Windows Azure Caching Basically, caching helps your app become faster.
Flavors of in-memory caching from Microsoft • Microsoft AppFabric v1.1 for Windows Server • Latest version released in Dec 2011 on premise • Windows Azure Shared Caching • In production today cloud • Windows Azure Caching (Preview) • Introduced with Windows Azure SDK June 2012
Challenges with Azure’s Caching Service • Better quota management • Relax the limits and warn me before I cross them What if there were no cache quotas at all? • Flexibility, control, isolation • Make the service less of a black box What if you had control over cache like your app? • Larger caches • Give me caches bigger than 4GB How about hundreds of GB of cache? • Lower cost • Cache should be cheaper than $45/mo for 128MB What if you didn’t pay a premium for cache? • No compromises with perf • Hold the bar How about reducing latency by more than half?
Windows Azure Dedicated Caching • New model of caching on Windows Azure where… • Cache is a part of your app Cache is deployed on regular web and worker roles Cache lives inside your cloud service Cache is scaled, managed and monitored just like your app
How is the new caching model different? \bin\plugins\Caching \bin\plugins\RemoteAccess \bin\runtimes\diagnostics --- \ref\CachingPreview \ref\Microsoft.ServiceBus.dll --- 3. 1. 2. 4. Caching plugin imported on your application role(s) Cache Web Role Cache cluster lives inside your cloud service Cache is added to a web/worker role Cache is packaged with your app Caching server bits are delivered via the SDK Web Role Worker Role http://myapplication.cloudapp.net
Benefits of the new caching model • No cache quotas or throttling Your application is the only consumer of cache. Use as much cache as your app needs, only limited by physical capacity. Isolation, Flexibility & Control Co-located and dedicated topologies allow you maximize your resources. You have as much control over cache as you do over your own application. Lower cost Pay no premium for cache. Pay only for the web/worker roles on which cache runs. In co-located, you’ve already paid for the role!
Benefits of the new caching model Easy to scale Scale cache just like you scale your app. Scale up, scale out, as often as you want. Bigger caches – 100+ GB. • Great development experience Integrated Visual Studio experience to make it easy to add cache to your app. Full fidelity devfabric experience for debugging your application before deployment. Support for memcache Support for the memcache binary and text protocols for easy migration of memcache-based applications to Windows Azure.