31-01-2013, 12:59 PM
PRESENTATION On CLOUD COMPUTING
1CLOUD.doc (Size: 1.05 MB / Downloads: 44)
Abstract
For the past decade, application developers have been forced into an increasingly complex labyrinth of multi-tiered hardware, complex OO frameworks and middleware and associated tools. Each year, developers have faced new frameworks and a sea of new APIs. Instead of making the life of application developers easier and reducing the cost of application development, these technologies have done just the opposite. We are only now beginning to understand the expense of the middleware legacy.
The good news is that application developers are on the verge of being liberated from the tyranny of middleware. Next Generation IT will leverage a new computing platform which makes the development and delivery of applications significantly easier than it is today. This new platform consists of Cloud Computing, Software As A Service and Dynamic Languages. Cloud Computing offers mainframe or better infrastructure through a small set of services delivered globally over the Internet. Software as a Service is a new delivery model which provides flexibility to both the provider and the customers. Dynamic languages and modern frameworks lower the barrier for application development and enable the rapid development of applications.
Why cloud computing?
Cloud Architectures address key difficulties surrounding large-scale data processing.
In traditional data processing problems faced are:
1. Cost
2. Scalability
3. Flexibility
4. Availability
5. Portability
6. Collaboration
7. Enable new stuff that we couldn't do before!
Definition
A cloud is a pool of virtualized computer resources. A cloud can:
• Host a variety of different workloads, including batch-style back-end jobs and interactive,
user-facing applications
• Allow workloads to be deployed and scaled-out quickly through the rapid provisioning of
virtual machines or physical machines
• Support redundant, self-recovering, highly scalable programming models that allow
workloads to recover from many unavoidable hardware/software failures
• Monitor resource use in real time to enable rebalancing of allocations when needed
. A cloud is more than a collection of computer resources because a
Cloud provides a mechanism to manage those resources. Management includes provisioning,
change requests, reimaging, workload rebalancing, deprovisioning, and monitoring
what is Cloud computing?
Cloud computing is using the internet to access someone else's software running on
someone else's hardware in someone else's data center.
It is a style of computing in which IT-related capabilities are provided “as a service”, allowing users to access technology-enabled services from the Internet ("in the cloud") without knowledge of, expertise with, or control over the technology infrastructure that supports them.
An emerging computing paradigm where data and services reside in massively scalable data centers and can be ubiquitously accessed from any connected devices over the internet.
Cloud computing environments support grid computing by quickly providing physical and virtual servers on which the grid applications can run.
Key characteristics of cloud computing
• Customer capital expenditure is minimized and thus lowers barriers to entry, as infrastructure is owned by the provider and does not need to be purchased for one-time or infrequent intensive computing tasks.
• Device and location independence enables users to access systems regardless of their location or what device they are using, e.g., PC, mobile.
• Multi-tenancy enables sharing of resources, and costs, among a large pool of users, allowing for:
o Centralization of infrastructure in areas with lower costs, e.g., real estate, electricity, etc.
o Peak-load capacity increases (users need not engineer for highest possible load levels)
o Utilisation and efficiency improvements for systems that are often only 10-20% utilised
• On-demand allocation and de-allocation of CPU, storage and network bandwidth
• Performance is monitored and consistent, but can be affected by insufficient bandwidth or high network load.
• Reliability is enhanced by way of multiple redundant sites, which makes it suitable for business continuity and disaster recovery.
Architecture of cloud computing
Cloud architecture is the systems architecture of the software systems involved in the delivery of cloud computing, e.g., hardware, software, as designed by a cloud architect who typically works for a cloud integrator. It typically involves multiple cloud components communicating with each other over application programming interfaces, usually web services.
This is very similar to the Unix philosophy of having multiple programs doing one thing well and working together over universal interfaces. Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts.
Cloud architecture extends to the client, where web browsers and/or software applications are used to access cloud applications.