Introduction to Cloud Computing
Cloud Overview
- Cloud computing is the delivery of computing as a service over a network, whereby distributed resources are provided to the end user as a utility.
- The idea of utility computing originated in the 1950s and 1960s, but the enabling technologies evolved decades later and have finally matured to a state in which cloud computing is a viable option for organizations to invest in.
- The enabling technologies of cloud computing are networks, virtualization and resource management, utility computing, programming models, parallel distributed computing, and storage technologies.
- Cloud computing consists of four building blocks: application software, development platforms, resource sharing, and infrastructure.
- Cloud service models exist at various levels in the building blocks.
- Software as a service (SaaS) is at the application software layer and is the delivery of SaaS over the Internet (typically through a Web browser).
- Platform as a service (PaaS) is at the development platform layer and can be defined as a computing platform that allows for the creation of Web applications in a simplified manner without the complexity of purchasing and maintaining any of the underlying software and infrastructure.
- In the Infrastructure as a service (IaaS) model, providers rent out compute resources in the form of instances or virtual machines, which have some form of CPU, memory, disk, and network bandwidth attached to them.
- There are three well-known deployment models for cloud computing: public, private, and hybrid.
- Popular cloud providers include Amazon Web Services, Microsoft Azure, Google Cloud Platform and OpenStack. Each provider typically offers a stack consisting of compute, storage and networking services, among others.
- Some of the most popular use cases for the cloud include: web and mobile applications, big data analytics, on-demand high performance computing, online storage and archival, and rapid application development and testing.
Benefits, Risks, and Challenges of Cloud Computing
Benefits of the Cloud
- Economic model - pay as you go model, which is better than having to pay upfront, especially for startups.
- Simplified IT management
- Scalability
- Flexibility - able to configure any software platform to run on any available operating system as a virtualized image on custom-provisioned, rented infra.