The document discusses different types of cloud computing including public cloud, private cloud, infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). It describes Microsoft's Windows Azure platform which provides IaaS and PaaS offerings including compute, storage, networking, and development tools. The platform allows customers to build and host applications at a large global scale using virtual machines, SQL databases, and other cloud services.
14. Offers pool of computing resources, abstracted from infrastructure
15.
16. Types of Clouds Infrastructure as a Service (IaaS) Your Application Deployment Runtimes Web Server Unit of Deployment OS Services Provided by Windows Azure Operating System Provided By Amazon EC2 Virtualized Instance Hardware
17. Types of Clouds Platform as a Service (PaaS) Your Application Deployment Unit of Deployment Runtimes Can swap out Web Server Provided by Google AppEngine OS Services Provided by Windows Azure Operating System Virtualized Instance Hardware
18. Types of Clouds Software as a Service (SaaS) Your Application Runtimes Web Server Provided by SaaS OS Services Operating System Virtualized Instance Hardware
20. This is Not New … Build vs. Buy Control High Low Economy of Scale Low High
21. This is New … On Premises vs. In the Cloud Control High Low Economy of Scale Low High
22. Fundamentals How Microsoft Views the Cloud Scale Out/In Automated Service Management High Availability Multi-Tenancy Considerations Location On premises Off premises Infrastructure Heterogeneous Homogeneous OpEx CapEx Business model Lease/Rented Owned Ownership Third Party Self Management
39. Windows Azure Compute – instance types: Web Role & Worker Role. Windows Azure applications are built with web role instances, worker role instances, or a combination of both. Operating system as an online service; with automated provisioning and services management Development, service hosting, & management environment .NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.) ASP.NET providers, FastCGI, memcached, MySQL, Tomcat Full-trust – supports standard languages and APIs Secure certificate store Management API’s, and logging and diagnostics systems Multiple roles – Web, Worker, Virtual Machine (VHD) Multiple VM sizes 1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storage Small (1X), Medium (2X), Large (4X), X-Large (8X) In-place rolling upgrades, organized by upgrade domains Walk each upgrade domain one at a time Each instance runs on its own VM (virtual machine), replicated as needed The Fabric Controller communicates with every server within the Fabric. It manages Windows Azure, monitors every application, decides where new applications should run – optimizing hardware utilization. Guest VM 3 Guest VM 2 Guest VM 1 Host VM Maintenance OS Guest VM 1 Host VM Host VM
40. SQL Azure Highly available, scalable, and consistent distributed relational database service; with geo-replication and geo-location of data VM 5 VM 6 VM 4 DBA role places more focus on policy/logical management SQL Server SQL Server SQL Server SQL DB SQL DB SQL DB Shared infrastructure at SQL database and below Each user database is replicated to one or more servers (configurable based on SLA) Client requests are routed to current “primary server” for read and write operations (based on SQL session) Security, lockdown and isolation enforced in SQL tier Highly scalable and state-of-the-art HA technology Automatic failure detection; client request re-routed to new primary on failure High SLA guarantee using logical replication (hot standby replicas) Automatic management, self-healing and load balancing across shared resource pool Security Model Uses regular SQL security model Authenticate logins, map to users and roles Authorize users and roles to SQL objects Supports standard SQL logins Logins are username + password strings Service enforces use of SSL to secure credentials Upcoming support for AD Federation, WLID, etc. Connectivity Model Connect using common client libraries ADO.NET, OLE DB, ODBC, etc. Clients connect to a database directly Cannot hop across DBs UserDB1 UserDB2 UserDB3 UserDB4 UserDB1 UserDB2 UserDB3 UserDB4 UserDB1 UserDB2 UserDB3 UserDB4 SQL Azure database provisioning (databases, accounts, roles, …, metering, and billing) Scalability and Availability: fabric, failover, replication, and load balancing
41. Windows Azure platform AppFabric Internet-scoped overlay-network bridging across IP NATs and firewalls with federated access control Service Bus Expose RESTful or SOAP services over the internet through firewall and NAT boundaries Communicate bi-directionally between apps and services in an interoperable manner Choose relays, queues, routers, and other message patterns and types Scale out naturally and reliably as apps and services grow Access Control Integrate authorization into apps to control “what users are allowed to do” Federate with multiple identity systems across organizations and ID providers Easily apply fine-grained access control rules Secure Service Bus communications Scale out naturally and reliably as apps and services grow
42. Sign up at the Windows Azure Platform developers’ portal Windows Azure access Developer tools White papers Sample applications Plan pilot applications, proofs of concept, and architectural design sessions with Windows Azure partners http://www.azure.com
43. Web Role and Worker Role Service Instance Service Instance Worker Role Web Role .NET in Windows Azure default.aspx RoleEntry Point IIS bind port(x) SQL Database http://instance:x http://instance:y Service Bus Access Control http://app:80 Fabric Controller Load Balancer Table Storage Blob Storage Queue
44. Web Role and IIS/FastCGI with Native Runtime Service Instance Service Instance Web Role PHP in Windows Azure php -cgi index.php FastCGI IIS bind port(x) SQL Database http://instance:x http://instance:y Service Bus Access Control http://app:80 Fabric Controller Load Balancer Table Storage Blob Storage Queue
45. Worker Role and Sub-Process Invoking Native Code Service Instance Java and Tomcat in Windows Azure listen port(x) Service Instance Worker Role Sub-Process Tomcat server.xml Catalina index.jsp new Process() RoleEntry Point bind port(x) get runtime info SQL Database JVM http://instance:x http://instance:y Service Bus Access Control http://app:80 Fabric Controller Load Balancer Table Storage Blob Storage Queue
Microsoft sees four fundamental requirements for any cloud computing offering. First it must have the ability to scale as customer demand requires. Second, it must provide automated service management, delivering more than just disk space and processors; it must have but the to seamlessly failover scale up scaled down and optimize management of the applications and services it hosts. Third must be highly available, with the highest level of reliability as well as redundancy and fail-over. Finally a must for multi-tenancy, concurrent hosting of multiple customers to optimize utilization and control costs.Beyond these fundamental requirements, there are also a number of considerations -- variables -- for cloud computing platforms. They may be located on premises (within IT data center) or remotely hosted by the provider and accessed over the Internet. The infrastructure they provide may support a single type of technology, or have the ability to host heterogeneous, interoperable technologies. The business model costs might be optimized for operating expenses or towards capital investment. The hardware and networking resources might be leased or owned. And the management of the IT systems might be self directed by the business or performed by a third party, perhaps cloud computing platform provider.
From the customer’s perspective, SQL Azure provides logical databases for application data storage. In reality, each customer’s data is actually stored in multiple SQL Server databases, which are distributed across multiple physical servers. Many customers may share the same physical database, but the data is presented to the customer through a logical database that abstracts the physical storage architecture and uses automatic load balancing and connection routing to access the distributed data. Security and isolation is managed automatically.The key impact of this model for the customer is a move from managing physical servers to focus on logical management of data storage through policies.