General Cloud Principles
The term “cloud” is somewhat amorphous and often misunderstood. It generally refers to software and services that run on servers connected to the internet rather than on a local computer. There are several broad type of cloud services and its helpful to understand the differences between them and how each works and is used.
- Software as a Service (SaaS) refers to actual applications that run on the cloud. Any website that you login to or have a private account on can be considered SaaS. As a software developer, you likely use many of these services every day and this is the most commonly used type of ‘cloud’ service that is familiar to most users of the internet.
- Platform as a Service refers to a set of tools and services that are designed for software developers to develop and deploy their applications on the cloud. Vendors like Microsoft, Google, RedHat, Rackspace and Amazon all have platforms that allow you to develop your application using a specific set of tools enabling ease of deployment on their cloud.
- Infrastructure as a Service (IaaS) refers to hardware and software that underly these platforms and software. Vendors like Amazon Web Services allow developers to provision virtual machines, storage and other services needed to deploy their applications on the cloud. This is different from PaaS insofar as the developer is responsible for designing the architecture of the deployment. It offers the most flexibility and has the highest learning curve.
Goals/Objectives/Outcomes
- Understand key differences between cloud software/hosting/deployment and local or on-premises software/hosting/deployment
- Understand the range of key PaaS platforms available and the basic differences between them.
- Understand how IaaS is used for full control over application deployment and management.
Reference Material
- http://www.rackspace.com/knowledge_center/whitepaper/understanding-the-cloud-computing-stack-saas-paas-iaas
Measures of Success
- Participant can articulate the general idea of cloud computing to non-technical people and explain the difference between different types of cloud computing.
- Participant can articulate the difference between deploying applications using PaaS or IaaS and the tradeoffs involved in each method.