CISCO defines cloud computing as "it resources and services that are abstracted from the underlying infrastructure and provided "on-demand" and "at scale" Major Challenge is lack of standardized APIs and usage model. Defining a standard and scalable architecture is pivotal to the success of cloud computing.
Original Description:
Original Title
Architectural Requirements for Cloud Computing Systems
CISCO defines cloud computing as "it resources and services that are abstracted from the underlying infrastructure and provided "on-demand" and "at scale" Major Challenge is lack of standardized APIs and usage model. Defining a standard and scalable architecture is pivotal to the success of cloud computing.
CISCO defines cloud computing as "it resources and services that are abstracted from the underlying infrastructure and provided "on-demand" and "at scale" Major Challenge is lack of standardized APIs and usage model. Defining a standard and scalable architecture is pivotal to the success of cloud computing.
Enterprise Cloud Approach Objective To outline the challenges specific to enterprise cloud computing To explore the architectural features of Cloud Computing and classify them according to Requirements of end-users Enterprises that use the cloud as a platform Cloud Providers Vertical analysis of the requirement common to the above classification Cloud Computing Definition By CISCO IT resources and services that are abstracted from the underlying infrastructure and provided on-demand and at scale in a multittenant environment National Institute of Standards and Technology Cloud Computing is a model for enabling ubiquitous, convenient, on- demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics (Rapid Elasticity, Measured Service, On-Demand Self-Service, Ubiquitous Network Access, Location-Independent Resource Pooling), three delivery models (Software as a Service, Platform as a Service and Infrastructure as a Service), and four deployment models (Public Cloud, Private Cloud, Community Cloud and Hybrid cloud) Conceptually Everything as a Service( Example: TaaS, HaaS)
Some Cloud Providers Amazon EC2, Google App Engine (GAE), SalesForce.com, Microsoft Azzure, IBM Blue Cloud, 3Tera
Major Challenge is lack of standardized APIs and Usage Model
Several Initiatives for Cloud Distributed Computing Grid Computing Utility Computing Virtualization Server Clusters Lease Oriented Mechanism for Grid system Virtualization Autonomic Clouds on the Grid Dynamic Virtual clustering Violin Virtual workspaces Virtual Cluster In-VIGO Grid and Cloud Integration for Next Generation Network Virtual Organization Cluster Grid vs Cloud Open Issues with Cloud Security Availability Scalability Interoperability SLA Data Migration Data Governance Trust User-centric privacy Transparency Political and Legal issues Business Service Management Defining a standard and scalable architecture is pivotal to the success of Cloud Computing Classification of Architectural Requirements Higher Level Abstraction for this Classification From the Service Providers perspective Highly efficient service architecture to support infrastructure and services is needed to provide virtualized and dynamic services From the Enterprises perspective QoS enabled, secure and scalable system is needed Business management services with internal/external interoperable mechanism From the Users perspective Simplified interface with adaptability and self-learning capability that should address transparent pricing, metering and SLA User-centric Privacy Providers Requirements Provider Service Delivery Model Three Service Delivery Models SaaS, PaaS & IaaS SaaS/AaaS/Web Services Software deployed as a hosted service and accessed over the internet Scalability, performance, multi-tenancy, configurability and fault- tolerance are primary considerations for the architect PaaS Offering multiple applications on the same platform thus increasing the economy of scale and reducing complexity. IaaS On-demand, self-sustaining or self-healing,multi-tenant, customer segregation are the key requirements of IaaS Open Challenges in IaaS How will the applications behave due to dynamic infrastructure scaling? Can the users design their application in such a way as to maximize the scaling advantage? How to understand the Cloud workload (e.g.,transactional database, fileserver, web server,application server, batch data processing) to design successful IaaS? How to asses the power consumption and environmental impact? How to isolate of service failure within each tenant? How to minimize the response time of elastic demand and maximize the throughput of requests?
Service Centric Issues To meet the real world requirements of enterprise IT Management The Cloud Services should be Autonomic (Adapt dynamically to changes in environment) Self-describing: To notify the client application how they should be called and what type of data they will return Low cost composition of distributed applications Interoperability Creation of an agreed upon framework/ontology or open data format or open protocols/APIs that enables easy migration and integration of applications and data between different cloud service providers Issues Allow applications to be ported between clouds Use multiple cloud infrastructures before delivering applications from cloud Focus on how to integrate entire cloud and grid systems into each other across service providers and enterprises Quality of Service (QoS) Provides guarantee of performance and availability QoS requirements are associated with service providers and end-users SLAs contain agreed upon QoS between service providers and end-users Service Provider Emphasis on the performance of virtualization and monitoring tools Issue User expectations on QoS always remain high, it is important to set the tolerance level of entire business processes
Fault-tolerance Enables system to continue operating in the event of failure of some of its components Cloud Providers need to detect failure in cloud systems/applications with proper tools and mechanisms (Self- healing and Self-Diagnosis tools) Example: Outages in different cloud service providers Cloud reliance can cause significant problems if the control of downtime and outages are removed from cloud providers control Data Management, Storage and Processing Data Storage Data stored in an un-trusted hosts can create enormous risks for privacy Processing Elastic nature of computing power The focus of cloud computing namely the high performance computation, infinite capacity on- demand and no up-front cost is interpreted more easier in the context of computation than storage Storage goals Ensure the storage infrastructure is provided with rich query languages and simple data structures Allow programmers some control over the stored procedures No commercial solution addressing these goals exists Some Storage Models Amazon Elastic Block Store (EBS) Programmer managing entire software stack Difficult to scale-up on-demand Design of automatic replication facilities is difficult because the storage model is application dependent Googles AppEngine (GAE) Bigtable Good scalability Tied to specific application model Microsoft Azure Usage of SQL What these providers are lack with? Not providing the advances in Storage technologies related to SSDs No MapReduce operations over the raw data and declarative data management
Need for Storage Technologies Shift from HDDs to SSDs Hard disks augmented with flash memories (for reliable and high performance storage) Adopting SSDs is a problem- Why? Price Lack of sophisticated query processing techniques Benefit of using SSDs Input/output operation per second increases Convert traditional algorithms into MapReduce form Virtualization Management Abstraction of logical resources away from their underlying physical resources Hypervisor (controlling Virtual Machines) Virtualization in the Cloud Server Virtualization Client/desktop/application virtualization Storage Virtualization Network Virtualization Service/Application virtualization Infrastructure virtualization
Scalability Ability of the software system to manage increasing complexity when given additional resources Horizontal Scalability Via Load balancing Example:DHT Vertical Scalability Cloud based Scaling Depend on nature of the applications and the expected volume of usage Load Balancing Self regulating the workloads properly within the Clouds entities Used to implement failover Provides the ways by which applications can be provisioned and de-provisioned Designing Load Balancers Architectural Considerations Provide scalability at the CPU level, at the machine level, at the network level or even at the application level Capability to manipulate client requests and forward it to the selected target resources Scalability of the request handling capacity automatically Fault tolerance for applications Handling of more complex and higher traffic needs