28
Definition, Architecture and issues Seyed Mahdi Hosseini Moghaddam * Cloud Computing

Cloud computing

Embed Size (px)

Citation preview

Definition, Architecture and issues

Seyed Mahdi Hosseini Moghaddam

*Cloud Computing

*Intro

*The idea of cloud computing is almost as old as the computer itself. The concept was born in the 1960s from the ideas of pioneers like J.C.R. Licklider (instrumental in the development of ARPANET) envisioning computation in the form of a global network and John McCarthy (who coined the term “artificial intelligence”) framing computation as a public utility. Some of the first uses included the processing of financial transactions and census data.

* History of computing

1. First Age: In the beginning of the first age the focus was on big infrastructure mainframes, big point-to-point networks, and centralized databases.

2. Second Age: The second age of computing is really the story of the rise of the Internet, Sun, Cisco, Mosaic, web 1.0, eBay, Yahoo, baby.com, and the first Internet Bubble.

3. Third Age: Revealing individual services, even select customer data as callable services one of the key application lessons that is leading to the third age such as Amazon.

* Cloud computing delivery models and services

*Software as a Service (SaaS),

*Platform as a Service (PaaS),

*Infrastructure as a Service (IaaS)

*Infrastructure as a Service IaaS

*Include the delivery of computer hardware (servers, storage, networking technology, and data center space) as a service. It may also include the delivery of virtualization and operating systems technology to manage the resources

*Platform as a Service PaaS

*Is the delivery of more than just infrastructure. It delivers what you might call a solution stack an integrated set of software that provides everything a developer needs to build an application for both software development and runtime.

*Software as a Service SaaS

Delivering of business applications designed for a specific purpose. Software as a Service comes in two distinct modes:

*Simple multi-tenancy: Each customer has its own resources that are segregated from those of other customers. It amounts to a relatively unproductive form of multi-tenancy.

*Fine-grain multi-tenancy: propose the same level of segregation but is far more efficient. All resources are common, but customer data and access capabilities are segregated through the application.

*Could Computing General View

*Parallel Computing

Parallel computing allows us to solve large problems by splitting them into smaller ones and solving them concurrently. Parallel hardware and software systems allow us to solve problems demanding more resources than those provided by a single system and, at the same time, to reduce the time required to obtain a solution.

*Parallel computer architecture

1. Bit level parallelism. The number of bits processed per clock cycle, often called a word size, has increased gradually from 4-bit processors to 8-bit, 16-bit, 32-bit, and since 2004 to 64-bit. This has reduced the number of instructions required to process larger size operands and allowed a significant performance improvement.

2. Instruction-level parallelism. Today’s computers use multi-stage processing pipelines to speed up execution. Once an n-stage pipeline is full, an instruction is completed at every clock cycle. A “classic” pipeline of a RISC (Reduced Instruction Set Computing) architecture consists of five stages : instruction fetch, instruction decode, instruction execution, memory access, and write back. A CISC (Complex Instruction Set Computing) architecture could have a much large number of pipelines stages, e.g., an Intel Pentium 4 processor has a 35-stage pipeline.

*Parallel computer architecture (2)

3. Data parallelism or loop parallelism. The program loops can be processed in parallel.

4. Task parallelism. The problem can be decomposed into tasks that can be carried out concurrently. A widely used type of task parallelism is the SPMD (Same Program Multiple Data) paradigm. As the name suggests individual processors run the same program but on different segments of the input-data. Data dependencies cause different flows of control in individual tasks.

* Distributed systems

*A distributed system is a collection of autonomous computers, connected through a network and distribution software called middleware, which enables computers to coordinate their activities and to share the resources of the system; the users perceive the system as a single, integrated computing facility.

*Concurrency

*Concurrency means that several activities are executed simultaneously. Concurrency is exploited by application software to speed up a computation and to allow a number of clients to access a service. Parallel applications partition the workload and distribute it to multiple threads running concurrently. The Message Passing Interface (MPI) supports both synchronous and asynchronous communication and it is often used by parallel and distributed applications.

*Cloud Industry Standards

* Cloud interoperability and integration standards, covering cloud to-cloud (C2C) integration, hybrid-to-private cloud integration, and interoperability of various cloud patterns with one another.

* Cloud interface standards and application programmer interfaces (APIs) to facilitate the consumption of cloud to support specific business requirements, standardize the access to and invocation of cloud computing, and more.

* Cloud discovery, portability, onboarding and off boarding models, and cloud provider abstraction to enable seamless switching of cloud providers without disrupting business operations.

* Cloud performance benchmarks to guide consumers on how cloud can increase asset utilization, resource optimization, and other performance guides, as well as pricing model standardization of various a la carte cloud models (e.g., comparing Amazon’s web services to other cloud service and solution providers).

*…Cloud Industry Standards

*Cloud governance standards for design-time planning, architecture, modeling, and deployment, as well as run-time standards for management, monitoring, operations and support, quality of service (QoS), and service level agreements (SLAs).

*Cloud security and privacy concerns, such as data integrity, physical and logical security, and all other related security requirements for services, applications, and interactions in a cloud ecosystem.

*Cloud standards for various tiers of cloud enablement, such as virtualization standards for physical resources, as well as virtualization of applications, application infrastructure and containers, and more.

*Cloud Architecture

*…Cloud Architecture (2)

*…Cloud Architecture (3)

1. Cloud Physical Tier. Provides the physical computing, storage, network, and security resources that are virtualized and cloud enabled to support cloud requirements. The cloud physical tier has nothing to do with cloud, specifically. The physical tier provides the substrate on which cloud virtualization technologies and cloud operating systems platforms build to enable higher order cloud patterns to be realized. While we identify the Cloud Physical Tier in this discussion, we will not reference it further in the Cloud computing reference model.

2. Cloud Virtualization Tier. Provides core physical hardware virtualization and provides a potentially useful (in certain situations) foundation for cloud computing.

*…Cloud Architecture (4)

4. Cloud Operating System Tier. Provides the cloud computing ‘‘fabric,’’ as well as application virtualization, core cloud provisioning,

metering, billing, load balancing, workflow, and related functionality typical of cloud platforms. The Cloud OS tier is represented by a wide variety of new cloud platforms and cloud enablement technologies.

5. Cloud Platform Tier. Provides the technical solutions, application and messaging middleware, application servers, et cetera that

comprise cloud- and/or application platforms, as well as pre-integrated cloud- and application platforms themselves, offered via PaaS delivery models.

6. Cloud Business Tier. Comprises the business or mission exploitation of cloud-enabled business applications, software, data, content, knowledge, and associated analysis frameworks, and other cloud consumption models that facilitate and enable end-user business value from cloud consumers’ ability to access, bind, and consume cloud capabilities.

*Cloud Computing Project

*Cloud computing at Amazon

*Cloud computing, the Google.

*Microsoft Windows Azure

*Open-source software platforms for private clouds

* Cloud storage diversity and vendor lock-in

There are several risks involved when a large organization relies solely on a single cloud provider:

1. Cloud services may be unavailable for a short, or even for an extended period of time.

2. The single vendor may decide to increase the prices for service and charge more for computing cycles, memory, storage space, and network bandwidth than other cloud service providers.

* Cloud storage diversity and vendor lock-in(2)

Another solution could be based on an extension of the design principle of a RAID-5 system used for reliable data storage

* Cloud computing interoperability; the Intercloud

Cloud interoperability could alleviate the concerns that users become hopelessly dependent on a single cloud service provider

* First, we need a set of standards for interoperability covering items such as: naming, addressing, identity, trust, presence, messaging, multicast, and time. Indeed, we need common standards for identifying all the objects involved, the means to transfer, store, and process information, and we also need a common clock to measure the time between two events.

* Security is a major concern for cloud users and an Intercloud could only create new threats. The primary concern is that tasks will cross from one administrative domain to another and that sensitive information about the tasks and user could be disclosed during this migration.

*Service level agreements and compliance level agreements

* Identify and define the customer’s needs and constraints including the level of resources, security, timing, and quality of service.

*Provide a framework for understanding; a critical aspect of this framework is a clear definition of classes of service and the costs.

*Simplify complex issues; for example, clarify the boundaries between the responsibilities of the clients and those of the provider of service in case of failures.

*Reduce areas of conflict.

*Encourage dialog in the event of disputes.

*Eliminate unrealistic expectations.

* Service level agreements and compliance level agreements(2)

*An agreement usually covers: services to be delivered, performance, tracking and reporting, problem management, legal compliance and resolution of disputes, customer duties and responsibilities, security, handling of confidential information, and termination.

* Software licensing

*Software licensing for cloud computing is an enduring problem without a universally accepted solution at this time

*When a user requests a license from the license service, the terms of the license usage are negotiated and they are part of a Service Level Agreement document

*The SLA describes all aspects of resource usage, including the Id of application, duration, number of processors, and guarantees, such as the maximum cost and deadlines.

*Software licensing (2)

*To understand the complexity of the issues related to software licensing, we point out some of the difficulties related to authorization. To verify the authorization to use a license, an application must have the certificate of an authority. This certificate must be available locally to the application because the application may be executed in an environment with restricted network access; this opens the possibility for an administrator to hijack the license mechanism by exchanging the local certificate.

*Questions?