Slide Objectives:
Explain the three established industry terms for cloud services
Speaker 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.
サービスとしてのサービス、サービスとしてのインフラストラクチャ、およびソフトウェアのプラットフォームのような別の用語について、業界での話がたくさんある。
我々が最初にWindows Azureを発表したときPDC08ので我々の焦点は、あなたがアプリケーションを構築することができ、サービスの提供などのプラットフォームを提供することになっています。プラットフォームは、アプリケーションのビルドと実行の複雑さからあなたを抽象化するところ。
私たちは、基本的に開発のための前進将来パスはプラットフォームを提供することであると考えています。あなたは数分でわかりますように、実際には、我々は、プラットフォームへのサービスとして提供されるべき新しい機能がいくつかあると考えています。
注意事項:
それがクラウドになると業界では多くの混乱があります。
それはあなたが、業界で起こっていることの両方を理解していることを、我々は、クラウドについてどのように考えるかが重要です。
これは、クラウドサービスの種類を区別するために最も一般的に使用される分類である。
業界では、サービスの3つのカテゴリに定義されています:
IaaSの - 使用サービスに対して支払うとして提供されており、アプリケーションをホストするために使用することができるなど、オペレーティングシステムなどのインフラストラクチャレベルの機能のセット、ネットワーク接続、。
PaaSの - アプリケーションを構築する開発者のための消耗品、サービスとして提供される機能は、より高いレベルのセット。 PaaSのはすぐに構成されていても、アプリケーションを可能にするために基盤となるインフラストラクチャから開発者を抽象化についてです。
SaaSの - 組織は単純に消費し、アプリケーションを使用することができ、サービス·デリバリー·モデルを使用して配信されたアプリケーション。通常、組織は広告収入によって収益化することができたアプリケーションまたはアプリケーションの使用のために支払うことになる。
それは、サービスのこれらの3種類が互いに又は互いに組み合わせから独立して存在し得ることに留意することが重要である。
Speaking Points:
Windows Azure itself is deployed around the world
With 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 servers
We have currently four regions in North America, two regions in Europe, and two in Aisa
As 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 markets
Notes:
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 cost
There is no need to buy any up front server licenses, that’s just included in the price
Likewise 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
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 provides
The 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 box
They are durable, meaning if you reboot the VM, it is still there with all of your changes and data you stored to disk
This means you can run any type of workload
If 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 do
Also enables you to do what we call virtual private networking
With virtual private networking, you can deploy Virtual Machines in the cloud and group them together so they are part of their own private network
You 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 format
Speaking 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 Portability
When you create a virtual machine in the cloud, as I just did, you are creating a VHD file
It is encapsulating your OS instance as well as your data
The 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 up
You 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 today
There 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 service
We can then spin up a new replica once we detect a disk is bad
From 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 fails
One of the things that we provide which is a little different with Windows Azure is a really powerful storage architecture
When 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-replication
What this means is that whenever you save something in the storage system, in the background we can automatically replicate the data to another datacenter
We 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:
Transition
Virtual 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 internet
Auto-managed environment
Just 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 – Python
Allows 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 Services
What 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 capability
You 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 mode
In 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 Services
Cloud 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 course
Support 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 Services
Now let’s look at the fourth compute service called Windows Azure Mobile Services.
Definition
Mobile 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 capabilities
You always can stand up VMs and put anything you want in it
But in a lot of cases you will find that we have built in services that we deliver or that are delivered by our partners
What’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 languages
We 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 license
So 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 Database
SQL Database is a service we’ve had for a while as part of Windows Azure
It provides a relational SQL Server database engine in the cloud
We 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 service
We 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 Azure
It 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 doing
You 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 up
It 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 milisecond
As 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 slide
Speaking Points:
Again you can scale up or scale down as needed and we will automatically add and remove the cache for you.
High Availability
If 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 Languages
Again you can access this in any language including using the Memcach’d interface
Speaking Points:
You can integrate with anyone using Active Directory
Once you integrate
You can also take advantage of our new graph API
Speaking Points:
We also have a bunch of new service bus capabilities
The 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 architecture
With 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 Azure
On 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 device
We’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 services
Of 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.