270 likes | 406 Views
Developing for the Cloud CLAEYS Kurt. Cloud ?. What is cloud computing ? Offering infrastructure, platform and software as a service over the internet to a global market. Move on-premises management of non functional IT assets to a providor. Difference from traditional hostings
E N D
Cloud ? • What is cloud computing ? • Offering infrastructure, platform and software as a service over the internet to a global market. • Move on-premises management of non functional IT assets to a providor. • Difference from traditional hostings • Sold on demand “pay as you grow” • Elastic scalability • Service is fully managed by the providor • End user centric (IW or developer) • Strong focus on integration (cloud-cloud or cloud-on-premises)
Cloud Taxonomy The Windows Azure platform fits here IaaS Traditional IT SaaS PaaS You manage Applications Applications Applications Applications Data Data Data Data You manage Runtime Runtime Runtime Runtime Managed by vendor Middleware Middleware Middleware Middleware You manage Managed by vendor O/S O/S O/S O/S Managed by vendor Virtualization Virtualization Virtualization Virtualization Servers Servers Servers Servers Storage Storage Storage Storage Networking Networking Networking Networking
Classic IT Capacity problem. Allocated IT-capacities Load Forecast “Under-supply“ of capacities “Waste“ of capacities Fixed cost of IT-capacities IT CAPACITY Barrier for innovations ActualLoad TIME
Capacity in a cloud model Load Forecast Allocated IT capacities No “under-supply“ IT CAPACITY Reduction of “over-supply“ Possible reduction of IT-capacities in case of reduced load Reduction of initial investments ActualLoad TIME
Rates • Compute • Per service hour of 1 CPU = 0,12 U$ • Storage • Per GB/month = 0,15 U$ • Transactions • Per 10K = 0,01 U$ • SQL Azure • 10 GB/month = 99,99 U$ • Access Control Transactions • 10K = 0,01 U$ • Service Bus Connections • 1 connection/month = 3,99 U$ • Data Transfer egress • Per GB = 0,15 U$ • Data Transfer ingress • Per GB = 0,10 U$
“Growing Fast“ “On and Off “ Inactivity Period Compute Compute Average Usage Usage Average Time Time • On & off workloads (e.g. batch job) • Over provisioned capacity is wasted • Time to market can be cumbersome • Successful services needs to grow/scale • Keeping up w/ growth is big IT challenge • Complex lead time for deployment “Unpredictable Bursting“ “Predictable Bursting“ Compute Compute Average Usage Average Usage Time Time • Unexpected/unplanned peak in demand • Sudden spike impacts performance • Can’t over provision for extreme cases • Services with micro seasonality trends • Peaks due to periodic increased demand • IT complexity and wasted capacity
The Windows Azure platform is a flexible cloud–computing platform that lets you focus on solving business problems and addressing customer needs.
Datacenters Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs
Fabric Controller Service Definition • The Fabric Controller communicates with every server within the Fabric. • Interacts with a “Fabric Agent” on each machine • Monitors every VM, application and instance • Service Management is performed by the Fabric Controller • Performs load balancing, check pointing and recovery Fabric Controller Fabric X X X
Virtual Network Storage Compute Access Control Service Bus Caching Reporting Database Data Sync
Azure Development • Work in Visual Studio (or Eclipse) • Runs ASP.NET, classic ASP, Java, Ruby, Phyton, PHP • Local SDK with Azure emulator
1. Start Developing with VS2010 (or VS2008) 2. Run/Test app in Local Fabric with local SQL Server 3. Publish to Azure portal in staging environment 4. Swap staging to production 5. Monitor logging and performance 6. Scale (if needed) Local Machine requirements testing Staging (in the cloud) acceptance testing Production (in the cloud)
SQL Data Windows Azure Service SQL Your Service Internet Worker Service NL B Worker Role SQL SQL Your Storage Queues NL B Web Site (ASPX, ASMX, WCF) Web Site (ASPX, ASMX, WCF) Web Role (ASPX, WCF) Tables Blobs
Application Roles • WebRole • Hosting ASP.NET webpages and/or WCF Services. • Handles incoming HTTP/HTTPS requests. • Public, Internet faced. • Has access to Storage Services. • WorkerRole • Code running in background, processing jobs. • ‘Hidden’ processing power. • Similar to a batch job or Windows service. • Handles messages from a queue. • Has access to Storage Services. • VMRole
VMRole • Ability to upload your own customized WS2008R2 Enterprise images • Full control over the OS image, install whatever you want on it. • You can remote desktop into the OS • Target scenarios • Need to use apps/libraries with no unattended setup • 32 bits apps • Change registry settings • Scale out ! • Instances are behind loadbalancer, one public IP per service • No durability of OS image on hardware failure • With VM Role, the customer creates & maintains the OS • Paying model = Paying model of current web/workerrole • Uses differencing disks to upload deltas to image
Azure Storage • Non SQL data • Unlimited storage • 4 types • Tables: no fixed schema, no relations • Blobs: large objects, have metadata attributes, MIME type aware • Queues: assync communication to workerrole • Drives: NTFS volume mounted to roles • Accessible through a HTTP/REST API
SQL Azure • Relational DB in the Cloud • Based on SQL 2008 R2 • Accessible from every ADO.NET client • SQL 2008 R2 Management Studio • High-availability and fault tolerance • No physical administration is required • Use existing knowledge in T-SQL development • Scale databases up or down based on business needs (between 1GB and 50GB)
SQL Azure admin SQL Azure Server My DB (1 GB) My DB (50 GB) Master DB users and roles users and roles logins firewall internal restricted IP ranges Azure Services (webrole,workerrole) Anybody code “near” code “far”
AppFabric ServiceBus • Connect applications and services in the cloud or on-premises, expose apps and services through firewalls and NAT gateways. • Service Bus provides the familiar Enterprise Service Bus application pattern, while solving some of the hard issues that arise when implementing this pattern across network, security, and organizational boundaries, at Internet-scale. • Acts as relay between WCF services and clients • Based on SOAP and REST
Virtual Network Web/Worker VM Role Network policy managed through portal Azure Connect Gateway Azure Connect Gateway IPV6 address IPV6 address On Premise Machine SQL Server IPV6 address Azure Connect Gateway
identity providers ACS Azure ACS rules Claims authorization Facebook ID WebApp Redirect login ADFS2