Presentation on theme: "Windows Azure Overview"— Presentation transcript:
1 Windows Azure Overview Microsoft ResearchWindows Azure for Research Training
2 Windows Azure Overview Learning objectives – what you will learn:Cloud computing basicsPatterns and terminology – IaaS, PaaS, SaaSWindows Azure basicsVirtual machinesWeb sitesCloud servicesBuilding blocks for applications – storage, messaging, identity, etc.Cloud patterns for research scientists
3 Agenda Cloud Computing Introduction Windows Azure Overview Windows Azure WebsitesWindows Azure Virtual Machines (VMs)Windows Azure StorageWindows Azure Cloud ServicesSlide Objectives:Introduce the topics that will be covered in this sessionVALUE PROPSpeaking Points:Notes:
4 What is the cloud?An approach to computing that’s about internet scale and connecting to a variety of devices and endpointsSpeaking 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
5 Cloud Computing Patterns On and OffOn & off workloads (e.g. batch job)Over provisioned capacity is wastedTime to market can be cumbersomeCloud Computing PatternsInactivityPeriodComputetGrowing FastSuccessful services needs to grow/scaleKeeping up w/ growth is big IT challengeCannot provision hardware fast enoughComputetUnpredictable BurstingUnexpected/unplanned peak in demandSudden spike impacts performanceCan’t over provision for extreme casesComputeSlide Objectives:Describe the various computing patterns that are good for Cloud ComputingSpeaking 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 businessCover the workloads in the slidetPredictable BurstingServices with micro seasonality trendsPeaks due to periodic increased demandIT complexity and wasted capacityComputet
6 Cloud Computing Variants Packaged SoftwareStorageServersNetworkingO/SMiddlewareVirtualizationDataApplicationsRuntimeYou manageInfrastructure(as a Service)Platform(as a Service)Managed by vendorYou manageStorageServersNetworkingO/SMiddlewareVirtualizationApplicationsRuntimeDataSoftware(as a Service)Managed by vendorStorageServersO/SMiddlewareVirtualizationApplicationsRuntimeDataNetworkingApplicationsDataYou manageRuntimeMiddlewareO/SSlide Objectives:Explain the differences and relationship between IaaS, PaaS, and SaaS in more detail.Speaking Points:Here’s another way to look at the cloud services taxonomy and how this taxonomy maps to the components in an IT infrastructure.Packaged SoftwareWith packaged software a customer would be responsible for managing the entire stack – ranging from the network connectivity to the applications.IaaSWith Infrastructure as a Service, the lower levels of the stack are managed by a vendor. Some of these components can be provided by traditional hosters – in fact most of them have moved to having a virtualized offering.Very few actually provide an OSThe customer is still responsible for managing the OS through the Applications.For the developer, an obvious benefit with IaaS is that it frees the developer from many concerns when provisioning physical or virtual machines.This was one of the earliest and primary use cases for Amazon Web Services Elastic Cloud Compute (EC2).Developers were able to readily provision virtual machines (AMIs) on EC2, develop and test solutions and, often, run the results ‘in production’.The only requirement was a credit card to pay for the services.PaaSWith Platform as a Service, everything from the network connectivity through the runtime is provided and managed by the platform vendor.The Windows Azure best fits in this category today.In fact because we don’t provide access to the underlying virtualization or operating system today, we’re often referred to as not providing IaaS.PaaS offerings further reduce the developer burden by additionally supporting the platform runtime and related application services.With PaaS, the developer can, almost immediately, begin creating the business logic for an application.Potentially, the increases in productivity are considerable and, because the hardware and operational aspects of the cloud platform are also managed by the cloud platform provider, applications can quickly be taken from an idea to reality very quickly.SaaSFinally, with SaaS, a vendor provides the application and abstracts you from all of the underlying components.VirtualizationManaged by vendorServersStorageNetworking
7 Global presence Datacenter Edge point 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.DatacenterEdge point
8 89 countries and territories Australia Austria Belgium Brazil Canada ChileColombiaCosta RicaCyprusCzech RepublicDenmarkFinlandFranceGermanyGreeceHong KongHungaryIndiaIrelandIsraelItalyJapanKoreaLuxembourgMalaysiaMexicoNetherlandsNew ZealandNorwayPeruPhilippinesPolandPortugalPuerto RicoRomaniaRussiaSingaporeSpainSwedenSwitzerlandTrinidad & TobagoUKUnited StatesNew Countries:Algeria89countries and territoriesArgentinaBelarusBulgariaCroatiaDominican RepEcuadorEgyptEl SalvadorEstoniaGuatemalaIcelandIndonesiaJordanKazakhstanKenyaKuwaitLatviaLiechtensteinLithuaniaMacedoniaMaltaMontenegroMoroccoAzerbaijanNigeriaOmanPakistanPanamaParaguayQatarSaudi ArabiaSerbiaSlovakiaSloveniaSouth AfricaSri LankaTaiwanThailandTunisiaTurkeyUAEUkraineUruguayVenezuelaBahrainSpeaking 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.
9 Pay only for what is used There is no upfront costThere is no need to buy any server licensesIf you use a SQL database, no need to buy a SQL Server licenseFor Virtual Machines and Web Sites, pay by the hourScale up and scale down your solutions – or even turn them on and off as necessary – cost is scaled appropriately, automaticallyEvaluation period is no cost at all, of course – including this training
12 Virtual machines Windows Server & Linux You can use remote desktop or SSH and run any workloadThese 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 diskWith virtual private networking, you can deploy Virtual Machines in the cloud and group them together so they are part of their own private networkTransition: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.
13 VM with persistent storage VM with persistent driveWindows Azure StorageVirtual machines have drives that are backed up in the Windows Azure storageWhen you mount a drive on a VM it is triply replicatedIf one goes bad, we automatically create a replicaFrom your VMs perspective you never know that an issue actually occurred
14 Continuous storage geo-replication WESTDCEASTDC> 500 milesSpeaking 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 integrityWindows Azure StorageWhenever you save something in the storage system, in the background we automatically replicate the data to another datacenterThis feature can be turned off if you don’t want this to happen
15 Web sites Build with ASP.NET, Node.js or PHP Deploy in seconds with FTP, Git or TFSStart for free, scale up as your traffic growsYou don’t have to worry or think about VMs, servers, or infrastructure…You can simply focus on building and deploying HTTP based applicationsAllows you to use any tool and any operating system to build these sites including Windows, OS X, and LinuxMachine instances can be registered with a load balancer and scaled out as needed to additional VMsSpeaking 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 restYou 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.
16 Cloud servicesCloud Services is another model we support for building applicationsBuild highly scalable apps and servicesYou might have a combination of front ends, middle tiers, as well as virtual machines running as part of your solutionAutomated application managementSpeaking 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.
17 A container of related service roles What is a Cloud Service?A container of related service rolesWeb RoleWorker RoleNote: VM is separated out as IaaS offering.A design pattern and tool kit for multi-tier applicationsWeb Roles are web server instancesWorker Roles are the VM that manage computation and data
18 Application building blocks Big dataDatabaseStorageTrafficCachingMessagingIdentityApplication building blocksMediaCDNNetworkingSpeaking 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.
19 Multiple programming languages 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 directlyA new option is Python, with a complete SDK and dev centerFor each option we provide libraries that you can consume that call into the REST APIs that we expose for the building block servicesYou can also call the REST APIs directly
20 Open source http://github.com/windowsazure 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
21 Blob storageA highly available, scalable, and secure file system in the cloudStore any type of dataExpose storage through HTTP URLs and make it public or you can make it privateCreate a new storage account in a few minutesContinuous geo-replication is enabled by default for storage accountsSpeaking 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.
22 Service bus Secure messaging and relay capabilities Securely integrate cloud based solutions with on premise environmentsEnable loosely coupled solutionsCross platform libraries so you can use service bus from any OSSpeaking 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 wayand 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.
23 Windows Azure – Application Scenarios Ideal for Applications Needing:ScalabilityAvailabilityFault ToleranceCommon Application Uses:Web SitesCompute Intensive appsData Intensive appsDevice ApplicationsVM: A Work environment in the CloudManual workstation burst, R MatlabVM as a Testing EnvironmentBlog Storage: Store and share your Data in the CloudUse persistent queue and table to scale embarrassingly parallel workloadPublish Reproducible Simulations in the Cloud
24 Cloud Patterns for Research Scientists Windows Azure Execution ModelsWhich should I choose?Virtual machines – most general solution, IaaSWeb sites – best for simple web hosting, specific PaaSCloud services – best for sophisticated web solutions, full PaaSAll three let you build scalable, reliable applications in the cloud. Which you use depends on what you’re trying to do.
25 Cloud Patterns for Research Scientists Windows Azure Virtual Machines – when to use:IaaS – infrastructure as a serviceIf you need Linux persistent VMsExtending your own infrastructure into the cloudDisaster recoveryRef:
26 Cloud Patterns for Research Scientists Windows Azure Web Sites – when to use:Simple web sitesEasy and fast – site in secondsBuilt on Windows Azure cloud services to create a PaaS optimized for web applicationsMany web applications, frameworks and templates readily available as building blocks, e.g. Joomla, WordPress, Drupal, etc.Ref:
27 Cloud Patterns for Research Scientists Windows Azure Cloud Services – when to use:Full PaaS – platform as a serviceVM web roles for web servicesVM worker roles for processingApplication uses a combination of rolesUnlike Windows Azure web sites: admin access, separate staging and production, flexible connectivity, remote desktop access to VMsUnlike Windows Azure VMs: OS updates handled for you, lower operations overheadRef:
28 Cloud Patterns for Research Scientists Some typical usage patterns in science:VM as a work environment in the cloudManual workstation burst for R or MATLABVM as a testing environmentBlob storage to share your data in the cloudPersistent queue and table to scale embarrassingly parallel workloadPublish reproducible simulations in the cloudAll can be implemented using the 3 basic patterns offered by Windows Azure. You can also combine. We will illustrate throughout the class.Ref:
29 SummaryWindows Azure provides a comprehensive set of services that you can selectively compose to build your cloud appsGlobal Data Center Footprint99.95% Monthly SLA. Pay only for what you use.Flexible & Open Compute OptionsVirtual Machines, Web Sites, & Cloud ServicesManaged Building Block ServicesSQL Database, Cache, Service Bus, & more
30 Windows Azure Overview Learning objectives – what we have learned:Cloud computing basicsPatterns and terminology – IaaS, PaaS, SaaSWindows Azure basicsVirtual machines = IaaSWeb sites = web-specific PaaSCloud services = full PaaSBuilding blocks for applications – storage, messaging, identity, etc.Cloud patterns for research scientists