Cloud computing is a generic architectural concept that encompasses the entire gamut of technology as it relates to infrastructure. Cloud computing is more than just another fancy term for “virtualization.” All of the new “as a service” models are implementations of cloud computing. Infrastructure, platform, database, software, network, and storage as a service all are implementations focusing on specific concepts of the technology stack within infrastructure. These terms are sometimes used interchangeably, but in reality, cloud computing is a concept, whereas the as-a-service models are implementations.
The very definition of “cloud computing” has introduced a fundamental change in thinking when it comes to ownership, roles, responsibilities, and expectations. This is not to say that ownership, roles, responsibilities, and expectations were missing or lacking before the advent of cloud computing. They have always existed, but cloud computing has changed the lens through which they are seen.
Introducing the core concept of “service” into the overall architecture brings about these changes. We saw that in order to deliver a service that is meaningful, cloud computing had to introduce “elasticity, flexibility, and rapid and easy deployment” into its core concept and architecture.
DBaaS implementations are not much different from other cloud implementations. Database clouds have some unique challenges when it comes to cloud implementations, driven by their complex and temperamental nature. We need to understand these core concepts specifically as they apply to databases in order to deploy a successful and meaningful DBaaS.
This chapter is the beginning of understanding the cloud computing framework, specifically when it comes to database clouds or DBaaS.