overview of new networking features in windows azure ganesh srinivasan program manager, windows...
TRANSCRIPT
Overview of New Networking Features in Windows Azure
Ganesh SrinivasanProgram Manager, Windows Azure NetworkingMicrosoft Corporation
AZR304
Agenda
Review existing concepts in Windows Azure
New scenarios
The new scalable network in Windows Azure
Gaming and Media StreamingMonitoring and Debugging Cloud ServicesEnabling Enterprise WorkloadsGeo-loadbalancing applications with Traffic ManagerEnabling Hybrid scenarios
The New Scalable Network in Windows Azure
High throughput and low latency across the entire datacenter
New High-density server SKUs
10 Gigabit Ethernet from servers
Optimized for East-West traffic
N:1 failover redundancy
Highly available and scalable software-based loadbalancing solution
…
HD Compute
Rack
10G Uplinks
…
Compute Clusters
…
…
HD Storage Rack
HD Storage Rack
…
Storage Clusters
HD Compute
Rack
10G ToR
DCR
DCR
10G ToR
Compute Rack
ToR…
…
Compute Clusters
…
…
Storage Rack
Storage Rack
…
Storage Clusters
Agg
DCR
Compute Rack
ToR
Compute Rack
ToR
Compute Rack
ToR
AggLB LB AggLB LB
Agg
… … …
Agg
AggLB LB AggLB LB
Agg
… …
Overview: Existing Connectivity in Azure
LB
VIP:Input Endpoint
Internal Endpoint
Loadbalanced endpoint. Stable VIP per service.Single port per endpointSupported protocols: HTTP, HTTPS, TCP
Input Endpoint
Instance-to-instance communicationSupported Protocols: TCPPort ranges supportedCommunication boundary = Deployment boundary
Internal Endpoint
Windows Azure-provided DNS service for service-level name resolutionRuntime APIs for instance identification
Name Resolution
foo.cloudapp.net VIP
New Scenarios
Gaming and Media Streaming
Monitoring and debugging Cloud Services
Enabling Enterprise workloads
Geo-loadbalancing applications with Traffic Manager
Enabling Hybrid scenarios
Gaming and Media Streaming
LB
UDP unicast traffic
UDP unicast traffic
Default way of delivering media content is over UDP unicast streams
Media Streaming
MMO Games need real-time communicationRendezvous point to connect to specific servers over the internet
Gaming
Inbound and outbound UDP unicast support Loadbalanced UDP trafficDirect connectivity to every instance behind loadbalancer
Requirements
rtspu://mediastream.cloudapp.net/
Streaming media service in Windows Azure
Defining UDP Endpoints for PaaS Roles
<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>
Service Definition Schema
Monitoring and Debugging Cloud Services
Access to each role instance running in a cloud service for monitoring and diagnostics
Monitoring
Profiling information on application for developers
Debugging
Access to every role instance behind the loadbalancer
Requirements
Internet
Monitoring / Debugging Service
Web ClientsWeb Clients
Windows Azure Role Instances …
IN_1 IN_2 IN_N
LB
Load Balanced Traffic
Direct Connectivity to Individual Role Instances
Schema for Port Forwarding
<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>
Service Definition Schema
Enabling Enterprise Workloads in Windows Azure
Requirements
High AvailabilityName resolution for inter-VM communicationIP level communication between VMs in the same Cloud ServiceSupport for hybrid scenarios
Run a multi-tier application in Windows Azure without having to modify the application
Enable you to move services in a phased manner
Complement investments made to support virtual machines
Custom Health Probes
LB
VM VM
Your Application
Your Application
LB
VM VM
AzureAgent
CustomerApplication
AzureAgent
CustomerApplication
Role Status Role Status
Loadbalancing Support for Virtual Machines
LB
Role
Web / Worker Role Instance
LB
Virtual Machine
Web / Worker Role Instance
Web / Worker Role Instance
Web / Worker Role Instance
Virtual Machine
Schema: Loadbalanced Sets and Probes
<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>
Service Definition Schema
PowerShell: Loadbalanced Sets and Probes
$serviceName = 'customprobes'$vmname = 'ProbeVM1'
Get-AzureVM -Name $vmname -ServiceName $serviceName | Add-AzureEndpoint -Name 'Web' -LocalPort 80 -PublicPort 80 `-Protocol tcp -LBSetName 'Web' -ProbeProtocol http `-ProbePath '/' -ProbePort 80 |Update-AzureVM -ServiceName $serviceName
Azure-provided DNS
TestVM2TestVM1
Who is TestVM2?
10.1.1.1Who is TestVM2?
Azure-provided DNS Scenarios
WINDOWS AZURE-PROVIDED DNS SCENARIOS
A. Client-server applications using VMs
B. Loadbalanced VMs with SQL backend
Virtual Machine
SQL Reporting Service
Virtual Machine
SQL Analysis Service
Virtual Machine
Internet
IIS ServerWeb Site
IIS ServerWeb Role 2
IIS IIS ServerWeb Role 3
PERSISTENT VM ROLE
LB
SQL Service
SQL Service
http://customprobes.cloudapp.net/
Loadbalancing across VMs and Azure-provided DNS
Using your DNS service for name resolution
<Role name=“MyWebRole" vmName=“MyWebVM">…<NetworkConfiguration> <Dns> <DnsServers> <DnsServer name=“MyDNS" IPAddress=“157.23.45.67" /> </DnsServers> </Dns> … </NetworkConfiguration>
Service Configuration Schema
• Instances will be named MyWebVM0, MyWebVM1, …• Names provided at provisioning time are applied for virtualmachines. • Hostnames can be changed by logging into VMs
Partner
Realtime. Multiplayer. Cross Plattform.
Photon Cloud
Implementing reliable UDPLeveraging Direct Ports (bring players together on instances)
Now supports Windows Azure
Photon Socket ServerUDP and Port Forwarding
Realtime. Support UDP, TCP & WebSocketsMultiplayer. Millions of Players. Used by 15k+ devs.Cross Platform.
Azure Deployment
Azure
GameServer Deployment
Master Deployment
MasterWorkerRole
GameServer
WorkerRoleInstance_XXX
Client
MasterWorkerRole
GameServer
WorkerRoleInstance_2
LB with Loadbalanceprobe: - Leader OK - NON Leader NOK
FixedPortRange 6001-6999
GameServer
WorkerRoleInstance_1
Port 6001
Port 6002
Port 6XXX
Port 5000Leader election
InstanceInputEndpoint
Port 6000
Port 6000
Port 6000
InternalEndpoint port=“*“ protocol=“any“
Port 4000
Port 4000
InternalEndpoint
InputEndpoint
Client connects Master for Matchmaking (:5000)
Clients creating new games are sent to GS with least load
Clienst bypass Loadbalancer via Port Forwarding (6001, : 6002, ...)
Master failover per LoadbalancerProbe (Leader election)
Demo
AngryBots in Action
Windows Azure Traffic Manager
DNS with a policy engineIn public preview and free of charge
Traffic Manager is
Distribute end users to the “best” locationBoost service performanceRecover automatically from outages (high availability)
With Traffic Manager you can
Traffic Manager Overview
www.contoso.com
CNAME
Hosted Service
Hosted Service
Hosted Service
Load-balancingEndpoint monitoring
contoso.trafficmanager.net
Performance - Direct traffic to “closest” service based on network latencyRound-robin - Distribute traffic equally across all servicesFailover - Direct traffic to “backup” service if primary service fails
Load balancing policies
Traffic management based on DNS
Geographically distributed services
Extend capacity across data centers
Simplify upgrade of your application
Traffic Manager in Action
Hybrid solutions in Windows Azure
Secure Site-to-Site Network Connectivity
Windows Azure Virtual Network
Secure Site-to-Site Network Connectivity
Windows Azure Virtual Network
CLOUD ENTERPRISE
Data Synchronization
SQL Data Sync
Application-Layer Connectivity & Messaging
Service Bus
Secure Machine-to-Machine Network
ConnectivityWindows Azure Connect
AZR316: Extending Enterprise Networks to Windows Azure
Azure Cross-premise Connectivity
WINDOWS AZURE CONNECT Windows Azure Virtual Network
Windows Azure
SIMPLE TO SETUPEASY TO MANAGE
RAPID PROVISIONING
EASYCOMPLETE CONTROLSCALABLECOMPLEX SCENARIOS
ENTERPRISE-READY
On-premise
Windows Azure
On-premise
Summary Of Networking Features
LB
Supported protocols: HTTP, HTTPS, TCP, UDPLoadbalancing for virtual machinesCustom loadbalancer probes
Input Endpoint
Windows Azure Traffic Manager
Windows Azure DNS service for service-level name resolutionRuntime APIs for instance identificationWindows Azure-provided DNS service for service-level name resolutionWindows Azure-provided DNS for vm-level name resolutionUsing your DNS servers for name resolution
Name Resolution
Instance-to-instance communicationSupported Protocols: TCP, UDP, ANY IP based protocol
Internal Endpoint
Windows Azure Virtual Network for Hybrid scenarios
Download SDK 1.7 and try out new features
Sign up for Windows Azure Virtual Machines and Virtual Networks previewUse Windows Azure Virtual Network features and provide feedback to [email protected]
Visit Windows Azure Forum for support and tips
Call to Action
Related Content
AZR201Overview Windows Azure Virtual Machines and how they workAZR202An Overview of Managing Applications, Services, and Virtual Machines in Windows AzureAZR203Business Continuity in the Windows Azure CloudAZR313Deep Dive into Windows Azure Virtual MachinesAZR314Migrating Applications to Windows Azure Virtual MachinesAZR204Hybrid Will Rule: Options to Connect, Extend and Integrate Applications in Your Data Center and Windows AzureAZR316Extending Enterprise Networks to Windows AzureAZR307Running Linux in Windows Azure Virtual MachinesAZR327Deploying SharePoint Farms on Windows Azure Virtual MachinesAZR319Monitoring and Managing Your Windows Azure Applications and Services
Azure Track Resources
Meetwindowsazure.com
@WindowsAzure @ms_teched
DOWNLOAD Windows Azure
Windowsazure.com/teched
Hands-On Labs
Resources
Connect. Share. Discuss.
http://europe.msteched.com
Learning
Microsoft Certification & Training Resources
www.microsoft.com/learning
TechNet
Resources for IT Professionals
http://microsoft.com/technet
Resources for Developers
http://microsoft.com/msdn
Evaluations
http://europe.msteched.com/sessions
Submit your evals online
© 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.