Windows Azure Alex BOGDAN Academic Developer Evangelist Evolution
Windows Azure Alex BOGDAN Academic Developer Evangelist
Evolution towards highly virtual and beyond to cloud
what is the challenge with current applications?
modern application Application: Business Logic, Code & Data Application Software: Web Servers, Databases, Messaging, Workflow… Operating Software: Networking, Storage, Compute… HARDWARE: Servers, Switches, Load Balancers etc… EACH APPLICATION: • Many hardware & software components to install, configure, manage • Hardware and Software is dedicated to the Application • Scaled and Architected for Worst Possible Case • Always ON • Multiple environments – Dev, Test, pre-Prod, Prod EXPENSIVE IN-FLEXIBLE UNDER UTILIZED BRITTLE TAKES TOO LONG
examples • • • toysrus. com • target. com walmart. com barnesandnoble. com • • turbotax. com hrblock. com ~10 x normal load (Tax season) ~4 x normal load (Holiday shopping) Source: Alexa • taxcut. com • taxact. com Source: Alexa
patterns Total Cost on Separate Hardware WHAT IF… + Costs to make systems resilient • We could share the hardware and the software across applications, across organizations… Server/Software Cost Saving Server/Software Cost For BOTH systems Predictable Bursting Server/Software Cost Services with micro seasonality trends Peaks due to periodic increased demand IT complexity and wasted capacity Server/Software Cost • We could scale up/down to closely match application needs & pay only for what I am using… • Resilience was baked in • Building applications was easier Server/Software Cost Predictable Bursting Unpredictable Bursting Growing Fast On and Off Services with micro seasonality trends Peaks due to periodic increased demand IT complexity and wasted capacity Unexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases Successful services needs to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enough On & off workloads (e. g. batch job) Over provisioned capacity is wasted Time to market can be cumbersome
sharing hardware AND software is where we want to be… how…?
virtualization VM VM VM Virtual Machine • A file on a disk – the physical machine became a software representation • Hyper-V understands and runs this file • VM’s configured against the physical resources • You install an OS and all needed software in the VM VIRTUALIZATION (Hyper-V) OPERATING SYSTEM (Windows) CPU memory dedicated to VMs disk network shared across VMs
new way of doing I. T. on-premise the private cloud VM (Machine E) VM (Machine C) VM (Machine H) VM VM VM (Machine G) (Machine D) VM (Machine B) VM VM (Machine K) (Machine I) (Machine A) VM VM (Machine J) (Machine F) VIRTUALIZATION (Hyper-V) OPERATING SYSTEM (Windows) Hyper-V Manager System Center EACH APPLICATION: • Is a collection of Virtual Servers run on Shared Hardware • ON when needed, OFF when not • Physical resources can be optimized • VM’s are portable, easily moved, copied • IT Ops becomes automated, faster, cheaper • Software can provision, mange and control WHAT IF… -> We could share on a massive scale… -> Share across companies and even geographies…? TO START: WE WOULD NEED DIFFERENT DATA CENTERS
Videos Data Center Innovation
datacenters
datacenter Green Energy San Antonio, TX Approx 477 K sq ft, 27 MW, uses recycled water for cooling Chicago, IL 707, 000 square feet with critical power of 60 MW, uses water side economization, containers Dublin, Ireland Approx 570 K sq ft, up to 27 MW, uses outside air for cooling.
everything in Windows Azure is virtual (well almost…)
On Premises Infrastructure Applications (as a Service) Software Data Runtime Middleware O/S O/S Virtualization Servers Storage Networking Runtime Data You manage Applications Managed by vendor Servers Storage Networking O/S Virtualization Servers Storage Networking Managed by vendor (as a Service) Data You manage Platform
software Windows Azure Fabric Controller Understands the physical DC – servers, load balancers, networking etc. • Interacts with the OS on the physical machines and manages all aspects of virtual machines • Multiple fabric controllers work together • Four main responsibilities: • Datacenter resource allocation • Datacenter resource provisioning • Service lifecycle management • Service health management http: //myapp. cloudapp. net Virtual Machine • Power on & Configure virtual server
Iaa. S (or your virtual machines in a cloud data center) VM Library: Pre-Built O/S + App Services or your own supplied VM Provisioning, Billing, Management Web Portal, self-service provisioning Windows Azure Fabric Controller Software that manages the physical infrastructure , O/S resources and virtual machines at Global DC scale Infrastructure as a Service: • • • You Build/Upload Virtual Machines to a DC on the Internet – e. g. Windows Azure You PAY for time/resources used and the software in your VM’s Your virtual machines RUN on hardware shared with other organizations You manage ALL aspects of the software stack inside your virtual machines VM’s can be moved to/from the Cloud and your own data center App development is unchanged
Iaa. S/Virtualization – Can we do even more. . ?
On Premises Infrastructure Applications (as a Service) Software Data Runtime Middleware O/S O/S Virtualization Servers Storage Networking Runtime Data You manage Applications Managed by vendor Servers Storage Networking O/S Virtualization Servers Storage Networking Managed by vendor (as a Service) Data You manage Platform
Paa. S an example Windows Azure BLOB Storage Example • You SUBSCRIBE to the service and create a unique name • You GIVE Blobs(Files) to the Storage Service – simple API or REST • The service provides resilience and scale, you don’t have to. • You ask for them back – you don’t care or know where they really are (which VM’s) • The service and the fabric controller make sure your data is stored so there is no single point of failure • You pay for the amount of storage you use the service manages everything • The service can also geo-replicate, provide disaster recovery https: //<account>. blob. core. windows. net/<container> ? VM VM Windows Azure Fabric Controller Windows Azure Data Center (e. g. North Central U. S)
With Paa. S – You don’t see VM’s Application package contains all the application artifacts – code, schema, data etc. • The Paa. S services and the fabric controller take care of deploying your app across the services you use • Each Service (database, messaging, web etc. ) provides scale and resilience capabilities for your apps • http: //myapp. cloudapp. net Instances = 2 Power on & Configure virtual server Application Package
On Premises Infrastructure Applications (as a Service) Software Data Runtime Middleware O/S O/S Virtualization Servers Storage Networking Runtime Data You manage Applications Managed by vendor Servers Storage Networking O/S Virtualization Servers Storage Networking Managed by vendor (as a Service) Data You manage Platform
Saa. S Software as a Service (Saa. S) • Complete apps you use • Subscribe, on-board, normally pay for the # of users who use the app • No access to underlying platform • Software may support some customizations • Shared hardware, platform and finished software across multiple customers • Build ON Paa. S services Finished Applications (you supply the data) (CRM, ERP, Exchange, Share. Point, etc. ) Compute VM VM VM Storage VM VM VM Web VM VM Database VM VM VM
– a platform for apps The Foundation for Private Cloud A Platform for ISV’s
Consumption Prices Per service hour Storage Per GB stored and transactions Web Edition Business Edition $0. 04 -0. 96/hour + Variable Instance Sizes $0. 15 GB/month $0. 01/10 k transactions $9. 99/month (up to 1 GB DB/month) Starting at $99. 99/month (10 -50 GB DB/month) Compute Per database/month Caching Access Control Per Message Operation 128 MB cache for $45/month Per Message Operation $1. 99/10 k transactions Per database/month Service Bus Per Message Operation $0. 10/100 Relay Hours $0. 01/10, 000 Messages (Queues/Topics/Relays)
Instance Sizes Extra Small Medium Large X-Large (low IO) (moderate IO) (high IO) 768 MB memory 20 GB storage (instance storage) 1. 75 GB memory 250 GB storage (instance storage) 3. 5 GB memory 500 GB storage (instance storage) 7. 0 GB memory 1000 GB storage (instance storage) 14 GB memory 2000 GB (instance storage)
“The Windows Azure platform is a highly effective and low cost option for hosting complex solutions with agility and scalability. ” “With Windows Azure, we didn’t have to make changes to the architecture of our solution to get it running. To start up quickly —that is really big for us. " 2
- Slides: 27