Speaking Points:There are numerous terms and definitions floating around in the industry for “the cloud”, “cloud computing”, “cloud services”, etc.Microsoft thinks of the cloud as simply an approach to computing that enables applications to be delivered at scale for a variety of workloads and client devices.The cloud can help deliver IT as a standardized service…freeing you up to focus on your business
Slide Objectives:Explain the three established industryterms for cloud servicesSpeaker Notes:There is a lot of talk in the industry about different terms like Platform as a Service, Infrastructure as a Service, and Software as a Service.Since PDC08 when we first announced the Windows Azure our focus has been on delivering a platform as a service offering where you can build applications. Where the platform abstracts you from the complexities of building and running applications. We fundamentally believe that the future path forward for development is by providing a platform. In fact, as you’ll see in a few minutes, we believe that there are a number of new capabilities that should be delivered as services to the platform.Notes:There is a lot of confusion in the industry when it comes to the cloud. It’s important that you understand both what is happening in the industry and how we think about the cloud. This is the most commonly used taxonomy for differentiating between types of cloud services.The industry has defined three categories of services:IaaS – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications. PaaS – higher level sets of functionality that are delivered as consumable services for developers who are building applications. PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed. SaaS – applications that are delivered using a service delivery model where organizations can simply consume and use the application. Typically an organization would pay for the use of the application or the application could be monetized through ad revenue. It is important to note that these 3 types of services may exist independently of one another or combined with one another.
Slide Objectives:Provide a high level summary of Windows Azure and what it enables at a high levelSpeaking Points:Transition:Several of you are probably asking, just what is Windows Azure? Definition:From a high level, Windows Azure is Microsoft’s Cloud Computing platform.It’s designed to enable you to build, deploy, and scale your applications in the cloud. Over the last year, we’ve been focused on three core tenants with Windows Azure – which you will see reflected throughout this keynote.FlexibleThe first is to make it Windows Azure really flexible and able to handle pretty much any workload on top of it.When we introduced Windows Azure a few years ago, we pioneered the concept of Platform as a Service, by providing a set of scalable, managed services that you can advantage of as a developer [to compose applications]We continue to push that forward with a bunch of great features that you will see in a few minutesThis past year we have also enabled a concept called infrastructure as a service, which is the ability to host and scale durable virtual machines in the cloud as well.With Windows Azure’s support for infrastructure as a service, you can install Windows or Linux and more easily migrate existing applications and workloads.This combination of the ability to run both platform as a service and infrastructure as a service together ends up being a really powerful combination and makes Windows Azure super flexible. OpenWe also focused a lot this year on making Windows Azure even more open.With Windows Azure you can use your choice of operating systems, your choice of frameworks, and your choice of tools.This really opens up the most possibilities in terms of building on the platformAnother aspect of this openness is to use open protocols whenever possible. For example, we use the memcachD protocol for our Caching service, we now support the AMQP protocol for our Service Bus messaging service, and all of the managed services are exposed through simple REST-based APIs that can be called from any framework or language. This enables you to interoperate very easily with our services and integrate with what you already haveWe’ve also taken all of our SDKs for Windows Azure and released them under an Apache 2 open source license and hosted them on GitHub.SolidLastly, we’ve focused a lot during the last year on making Windows Azure a really solid platform. One that you can bet your business on and that you know will be reliable. Built in across the platform is support for redundancy and across our managed services we provide guaranteed SLAs that you can bet on and know that your applications will scale and scale reliably. SummaryWe believe the end result is truly a unique modelYou can now use both platform as a service and infrastructure as a service *together*You can now use the best of the Microsoft ecosystem and the best of the open source ecosystem *together*Enabling you to build better and more scalable solutions. Notes:Comprehensive set of services that enable you to build, host and scale applications in Microsoft datacenters Windows Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. And you can integrate your public cloud applications with your existing IT environment.
Speaking Points:Windows Azure itself is deployed around the worldWith Windows Azure, we have a concept of regions, which is where you choose to place your code and run. In each of the regions, we have a Microsoft datacenter. These datacenters are massive facilities that host 10s or in some cases hundreds of thousands of serversWe have currently four regions in North America, two regions in Europe, and two in AisaAs you can see on this slide we also have a number of CDN edge points, which we can use to cache your content and deliver it even faster for customers. %What you’re going to see in the next couple months and years is that we will rapidly expand our datacenter footprint around the world, so you will have more options for running your applications. Once you build an application, you can choose where you want to run in the world and you can move your workloads from region to region. You can also run your application in multiple regions simultaneously and just direct traffic and customers to whichever version of the app is closest to them. That gives you a global footprint and a chance to reach a bigger customer base or audience in new marketsNotes:Windows Azure services such as compute and storage are now available in 8 worldwide datacenters with an additional 24 Content Delivery Network endpoints. You can’t have a real cloud without a data center.
Speaking Points:The final thing I’ll mention about Windows Azure, before we dive into the tour of services is the approach we’re taking with paying for services.This maybe different for many of you who are familiar with hosting providers and on-premises systems. With Windows Azure you pay only for what you use.There are no upfront costThere is no need to buy any up front server licenses, that’s just included in the priceLikewise if you use a SQL database, through our SQL Database feature in Windows Azure, you don’t have to buy a SQL Server license, that’s also included in the price. For compute services such as Virtual Machines and Web Sites you only pay by the hour. This gives you the flexibility to run your applications very cost effectively. You can scale up and scale down your solutions or even turn them on and off as necessary. This also opens up a ton of possibilities in terms of the new types of apps you can build
Now, in support of these applications, we're building a very robust Windows Azure app model. Now, of course, at the bottom of the app model is our infrastructure. We run 18-plus datacenters on our own, 100-plus co-locations. We have an edge network. And so that is the physical plant. But the key thing is it's the fabric, the operating system that we build to manage all of those resources. At the compute-storage-network level, at the datacenter scale and multi-datacenter scale. And that really is the operating system that is Windows at the backend, at this point, which in fact shipped even in Windows Server for a different scale unit. But that infrastructure management or resource management is one part of the operating system. Then about that, you have all the application containers. And we're unique in providing a complete IaaS plus PaaS, which is infrastructure as a service and platform as a service capability when it comes to application containers. Everything from virtual machines with full persistence to websites to mobile to media services to cloud services. So that capability is what allows you to build these rich applications and very capable applications. Now, beyond that, we also believe that we can completely change the economics of what complex applications have needed in the past. We can take both productivity around development and continuous deployment and cycling through your code of any complex application and reduce it by orders of magnitude. Take identity. We are going to change the nature of how people set up your applications to be able to accept multiple identities, have strong authentication and authorization, how to have a directory with rich people schema underneath it that you can use for authorization. Integration, take all of the complex business-to-business or EI type of project that you have to write a lot of setup before you even write the core logic; we want to change the very nature of how you go about that with our integration services. And when it comes to data, there is not a single application now that doesn't have a diverse set of needs when it comes to the data from everything from SQL to NoSQL, all types of processing from transactional to streaming to interactive BI to MapReduce. And we have a full portfolio of storage technologies all provided as platform services so that your application development can be that much richer and that much easier. Now, obviously, the story will not be complete without great tooling and great programming model. What we are doing with Visual Studio, we will see a lot of it throughout the demos. .NET, as well as our support for some of the cloud services around continuous development -- everything from source code control, project management, build, monitoring -- all of that technology pulled together, really take everything underneath it to a next level from an application development perspective. But also supporting all the other frameworks. In fact, just this week we announced with Oracle that we will have even more first-class support for Java on Windows Azure. And so we have support for node, we have support for PHP and so on. So we have a fantastic set of language bindings to all of our platform support and a first-class support for Visual Studio .NET, as well as TFS with Git when it comes to application development.
Windows interoperates via standard protocols like REST, JSON, AtomPub, and othersWindows works with your identity, be it Facebook, Yahoo, Google, or any other OpenID providerWindows works with open source, be it Hadoop, Mongo, CouchDB, mySQL, and othersWindows gives back to the open source community, with parts of .net and libraries for multiple non-ms languages published on githubWindows works with the languages developers like ... .NET, Java, PHP, node.js, Python, etc.Windows works with the tools developers like ... visual studio, eclipse ... we even provide tools for deployment from desktop Linux and MacWindows supports server OS distros from SUSE, openSUSE, Ubuntu, CentOS, and now Oracle LinuxWindows supports multiple device platforms, including iOS, Android, and HTML5
Transition:For the rest of this talk I’m going to give you a tour of Windows Azure, walk you through many of the features, and ground you in the capabilities it providesThe first set of features I want to walk through is Virtual Machines. Speaking Points:If you’re familiar with traditional hosting, this is probably the feature that feels most familiar and consistent with what other hosting providers provide. The ability to stand up a virtual machine with either Windows or Linux that you can basically remote desktop in or SSH in and run any workload. These virtual machines enable you to be admin on the boxThey are durable, meaning if you reboot the VM, it is still there with all of your changes and data you stored to diskThis means you can run any type of workloadIf you want to run SQL you can, if you want to install a no-SQL solution, you can do that to. If you want to run SharePoint you can do that. Provides ultimate flexibility to do what you want to doAlso enables you to do what we call virtual private networkingWith virtual private networking, you can deploy Virtual Machines in the cloud and group them together so they are part of their own private networkYou can also then connect it back to your corporate network (if you have one) and establish a VPN secure tunnel to link your machines running in your own corporate environment up to your virtual machines in the cloud – making them look like they’re all part of one connected network. So lots of flexibility in the compute side as well as in the networking side.
Speaking Points:Provision a new Linux machine. Provision a Windows machine.
Slide Objectives:Explain Virtual Machine Portability with the VHD file formatSpeaking Points:There are a few aspects of the Windows Azure Virtual machines feature that are important to understand.The first, is the support for Virtual Machine PortabilityWhen you create a virtual machine in the cloud, as I just did, you are creating a VHD fileIt is encapsulating your OS instance as well as your dataThe VHD file format is that it is compatible across Windows Azure, Windows Server, and even Windows client.VHD is an open specification that we’ve released.
Speaking Points:This support for the VHD file virtual machine file format provides a lot of flexibility. If you created a VHD file on your own local laptop or on Windows Server, you can take the VHD and just upload it to Windows Azure and boot it upYou don’t have to run an import / export process and there are no conversion tools or agents you have to install in the VM. You simply upload the VHD and it just works.[Click – move down to datacenter]You can also take, for example, either the Windows or Linux VMs that we created in Windows Azure and we make it really easy for you to download the VHD locally and you can then boot it up on a local server in whatever environment that you want. Again you don’t have to export it or convert it, just click and download it. [Transition to next slide – move across datacenters]
AUTO TRANSITION – DO NOT CLICK
Speaking Points:In addition to portability between your datacenter or your Windows 8 machine, the support for the VHD format in Windows Azure also allows you to run your virtual machines in other hosting providers as well.[CLICK – move the VHD from Windows Azure to Hosting provider]You can also then take the VHD files and host them with another Windows hosting provider that supports Hyper-V.The end result is that you have a lot of flexibility, a lot of portability, and you can avoid being locked in to one specific model – should your application or business needs change
Speaking Points:The second thing that I want to help you understand…neat thing that we’re doing with Windows Azure now is making it possible for you to mount durable drives to your virtual machine. We’re trying to do it in way that it is very reliable, consistent, and delivers a high performance.One of the things that’s different about how we enabled it is that when you mount a drive either in the portal or in the command line we are backing the disk with the Windows Azure Storage system that we’re running in the cloud todayThere are a couple nice characteristics about the storage system.Replication One is that we triple replicate the content within the data center. If a disk ever goes bad that you data is on then we have two other copies of the data that we can work with and we do not have any interruption of serviceWe can then spin up a new replica once we detect a disk is badFrom your VMs perspective you never know that an issue actually occurred[Transit to next slide]So you get much more reliability and an always on experience even when hardware failsOne of the things that we provide which is a little different with Windows Azure is a really powerful storage architectureWhen we booted up our Virtual Machine and you saw all of the disks attached to it, the disks were not actually disks. They were virtual disks on top of our Windows Azure Storage system. We have redundancy built in for you. We can also load balance our reads and writes to the drives, so we can provide more predictable performance. On top of these physical drives that we use for blob storage we also have a set of SSD cache of drives. The benefit is that you are reading and writing through an SSD drive and then back to the physical disk.
Speaking Points:This is designed to give you very reliable performance and hopefully it ensures that it is always on
Speaking Points:The third aspect of Windows Azure Virtual Machines that is important to understand is ….Another thing that is nice about the Windows Azure Storage solution is that we have support for Continuous storage geo-replicationWhat this means is that whenever you save something in the storage system, in the background we can automatically replicate the data to another datacenterWe guarantee that these data centers are several hundred miles (500) apart so that in the case of a natural disaster or a complete data center failure you can be ensured that a copy of your data exists somewhere else. You don’t have to set anything up to enable it. It’s automatically enabled by default.You can turn it off if there are policy reasons why you wouldn’t want it enabled. The end result is that you can deliver more robust solutions with even greater integrity
Speaking Points:TransitionVirtual machines provide a very flexible compute model. Another compute service available in Windows Azure is called Windows Azure Web Sites. Definition:Windows Azure Web Sites there is a managed service that you can use to run web sites and web APIs. Enable you to quickly stand up web applications and web sites on the internetAuto-managed environmentJust say that you want a web, here’s the DNS, copy the content, and we do the rest You don’t have to worry or think about VMs, servers, or infrastructure. You can simply focus on building and deploying HTTP based applications.Enables you to build web sites using ASP.NET, Node.js, PHP, and now with an update a few weeks ago – PythonAllows you to use any tool and any operating system to build these sites including Windows, OS X, and Linux. Enables a very fast deployment model. You can literally deploy in seconds. You can easily deploy these sites using the tools and infrastructure you know. We support several flexible deployment options including FTP, GIT, and Team Foundation ServicesWhat is nice about this offering is that not only does it enable to very quickly get going, but it also allows you to start with a free offer in a shared environment. Pricing starts at free.. Perpetually free and then you can scale up as you need more capabilityYou can then scale up these sites using reserved instances for higher performance and isolation and scale out these sites as your web site becomes successful and you have increased load.
Speaking Points:I’m going to show you three different web sites to show you the broad spectrum of scenarios that we’re enabling.First demo – a web site from a gallery.Second demo – new asp.net web site.Third demo – a PHP / Node.js web site.
Speaking Points:Just to recap When I’m running shared, multiple web sites from multiple customers are use the same virtual machine instances
Speaking Points:In shared mode the web sites can be scaled out to run on multiple shared instances,In this case Windows Azure provides load balancing of incoming requests resulting in better response time and performance for your application and higher availability
Speaking Points:If we really need to scale our application or we want to isolate our application, perhaps to use more memory, we can switch our app to reserved modeIn this case Windows Azure will use an instance out of the pool of available instances, deploy your site, and continue to serve up requests
Speaking Points:Just like with shared mode, we can also scale out with reserved mode, in which case the machine instances are registered with the load balancer for your web application.This can result in better response time, performance, and availability for your web application.
Speaking Points:What’s also cool is that you can have multiple sites in a reserved instance. So if you have three or four sites as I had in the demo, they can all run in my reserved instance, so I can be more efficient with using the resources. This is great if you want to run multiple sites for others or sites you want to run isolated
Speaking Points:We’ve talked about Virtual Machines and we’ve talked about Web Sites, now let’s talk about Cloud ServicesCloud Services is another model we support for building applications. Cloud Services enable a broader set of workloads then Windows Azure Web Sites, while providing more automated management then Windows Azure Virtual Machines. Enables you to build what we sometimes refer to as infinitely scalable applications. They can support 1 to hundreds or thousands of courseSupport not only web based deployments, but also multi-tier architectures where you might have a combination of front ends, middle tiers, as well as virtual machines running as part of your solution.Supports automated application management, so it is really easy to deploy, scale out, isolate, and recover from any type of hardware failure. As well as support for automated updates.
Speaking Points:Possible demos:Continue with previously built ASP.NET web site and convert it to a Cloud Service.Create a new Cloud Service with a Web Role and a Worker Role with Service Bus Queue. Use Server Explorer to generate test messages to be handled by the Worker Role (set break point in Worker Role to observe the message).
Transition:Let’s spend a few minutes talking about what happens when we deploy a cloud service in Windows Azure.
Speaking Points:Transition:So we’ve seen three ways to run your code in Windows Azure - Virtual machines, Web Sites, and Cloud ServicesNow let’s look at the fourth compute service called Windows Azure Mobile Services.DefinitionMobile Services is an exciting new service that we introduced about three months ago and we’ve rapidly been updating with new features and services. I’m sure that many of you today are building device applications that need connectivity to services and data. Mobile Services are designed specifically to make it really simply for you to build cloud back-ends that power mobile device applications by providing common functionality you need as configurable services. Features:Mobile Services provides the ability to easily store and retrieve data, manage users with several different identify providers including Microsoft Account, Twitter, Facebook, and Google accounts, and the ability to send push notifications to devices. Today Mobile Services has native SDKs for Windows 8 Store applications, Windows Phone apps, and iOS applications. We’re also adding Android and HTML5 support in the near future.
Demo: Create a new Mobile Service in the portal and use the quick-start todo application available in the portal
Speaking Points:In addition to the compute services for running your deploying and running your code, Windows Azure also provides a number of application building blocks. These are managed services that we run that provide a lot of value so you can avoid standing up the infrastructure for common capabilitiesYou always can stand up VMs and put anything you want in itBut in a lot of cases you will find that we have built in services that we deliver or that are delivered by our partnersWhat’s cool is that you can use any of these services with a VM, with a Web Site, or with a Cloud Service – so you have flexibility in how you will consume them.
Speaking Points:All of these services can also be used from multiple languagesWe now have as part of our developer center on WindowsAzure.com support for multiple different languages including .NET, Node, Java, and PHP.One of the new languages that we’re now enabling is Python with a complete SDK and dev center. For each of these we provide libraries that you can consume that call into the REST APIs that we expose for the building block services. You can also call the REST APIs directly
Speaking Points:All of the libraries are hosted on GitHub under an Apache 2 licenseSo you can both see the source and contribute back to the source
Speaking Points:Let’s walk through some of the building block services that we’re providing and in particular highlight some of the new features of these services. If you’ve been using Windows Azure you maybe familiar with some of these services. However, there are several new features we’re enabling with all of them. The first one I’m going to talk about is the SQL DatabaseSQL Database is a service we’ve had for a while as part of Windows AzureIt provides a relational SQL Server database engine in the cloudWe run the SQL engine for you, we do all of the clustering and availability work for you, so you don’t have to worry about standing up your own clustered environment. It’s a fully managed serviceWe also apply security patches and monitor the system
Speaking Points:Provision a new SQL database[Optionally] connect to the server using tools such as SSMS
Speaking Points:We have a great storage system.We talked about this earlier as part of virtual machines for mounting drives. You can think of blob storage as a highly available, scalable, and secure file system in the cloud. You can store any type of data you want in it. You can optionally expose storage through some HTTP URLs and make it public or you can make it private. Similar to databases, you can stand up a new storage account in a few minutes. Continuous geo-replication is enabled by default for storage accounts.
Speaking Points:We now have a new distributed cache feature in Windows AzureIt is a low latency, in-memory cache that you can stand up as part of our application It’s elastic so you can dynamically grow or shrink the cache at will, based on how your application is doingYou don’t have to modify any application code or redeploy your application to increase or decrease the cache size. Instead just go into the portal say you want more roles and Windows Azure will automatically spin them upIt also has high availability support. So you can indicate when you cache something that you want to pin the data on at least two cache servers, so if there is a hardware failure you will not loose any data.The Distributed Cache can be used from any language. It now supports the Memcach’D protocol, so if you have apps that use Memcached today you can simply point them to the new distributed cache and they will work with no code changes required.
Speaking Points:Twitter Reader is a good demo for this: https://github.com/WindowsAzure-Samples/TwitterReader
Speaking Points:So what happened? Let’s walk through an example with 4 web roles. Basically if I spin up my application and I have 4 web roles and I say use 300MB for each role…as soon as they startup in Windows Azure we will ring join the roles together. This will create a uniform 1.2GB distributed cache Then any of the roles that save the twitter data, regardless of whether the data is stored locally or on another role, any of the roles will be able to retrieve it in under a milisecondAs you spin up more roles inside your application using the management portal as I showed earlier, Windows Azure will automatically keep adding more roles and caches and your cache can grow or shrink on demand.
Speaking Points:You can also go into your project and say you want a dedicated worker role that is just running the cache.In this case you would not be using any your memory in an instance for the web server, making it all available to the cache. Again you can choose the cache size you want, up to an extra large instance which would have 12GB of available memory in each role. [transit to next slide]
Transition:Continue last slideSpeaking Points:Again you can scale up or scale down as needed and we will automatically add and remove the cache for you. High AvailabilityIf we ever know a machine is going down, for example, you say that you want to remove it from the application then we will actually spend a minute moving all of the data onto other nodes if there’s memory available before we actually take down the machine.So you don’t actually loose even in a shutdown situation. Programming LanguagesAgain you can access this in any language including using the Memcach’d interface
Speaking Points:You can integrate with anyone using Active DirectoryOnce you integrateYou can also take advantage of our new graph API
Speaking Points:We also have a bunch of new service bus capabilitiesThe Service Bus is a managed service that provides secure messaging and relay capabilities.It’s great for integrating cloud based solutions with on-premise environments in a very secure way and it enables a very loosely coupled architectureWith the new Windows Azure SDK and Tools for Visual Studio, you can now view information about the service bus directly from within Visual Studio. We are also now introducing cross platform libraries so you can use service bus from any OS whether it’s a VM, web site, or Cloud Service and with any of the languages we support.
Speaking Points:In addition to queues, the Service Bus also provides a relay capability that can be used to connect through networks and enable hybrid applications. To see this in action, we’ll take a look at another simple scenario.In this case we have a SQL database in our on-premises environment (for our demo, my local laptop) and the data is exposed through a simple WCF service By using the Service Bus relay, we can enable connectivity to our WCF service through Windows AzureOn the front end, we have a mobile web application created with ASP.NET MVC running as a Cloud Service in Windows Azure. This app will connect to the WCF service through the relay and serve up the data to users.
Speaking Points:Northwind Mobile Service Bus is a good demo for this:https://github.com/WindowsAzure-Samples/NorthwindMobileServiceBus
Speaking Points:This is a small sampling ..We’ve talked about a few of these building block services. In addition to Database, Storage, Caching, Messaging, and Identity…Big data - We also have services for managing big data…Traffic Manager - …Media Services - …Provides a managed service that allows you to create, manage, and distribute media. You can target any type of deviceWe’ll provide full analtyics on top of it. CDN – A content delivery network for putting your content closer to end users. We’ll drill into more details on several of these services later today and You will see this list grow in the months and weeks ahead
Speaking Points:In addition to the building block services that we provided from Microsoft, at BUILD we also introduced the Windows Azure Store. Focused on developer services – both for data, storage options, application monitoring, and more. Many of these services are recognizable startups such as NewRelic and SendGrid
Speaking Points:Windows Azure is commercially available in over 89 countries and territories.Anyone within these countries can sign up for a free trial or a paid subscription to use Windows Azure servicesOf course you can build and deliver solutions to any of your customers worldwide.
Speaking Points:All of the features I demoed today are available now either in released or preview form. The services that had the preview tag next to them in the management portal are currently in preview mode, meaning that they are not yet final.These services will be coming out of preview next calendar year. Working hard on getting them done as soon as possible.If you haven’t gotten started yet with Windows Azure, I encourage you to go to WindowsAzure.com and sign-up for an account. If you have an MSDN subscription you can activate up to $3700 worth of yearly Windows Azure benefits. Otherwise you can sign-up for a free trial and get started.
Windows Azure Overview
Programming Model + Tools
IaaS + PaaS
Microsoft Cloud Infrastructure