A $100 billion Fortune 200 consumer packaged goods company recently partnered with CapTech to commercialize Microsoft Azure's Platform as a Service (PaaS) as an enterprise service offering. This blog is the second in a ten-part series of blogs. The purpose of this post is to cover some of the pre-requisite concepts for cloud computing. It is intended for anyone interested in gaining insight into the major bodies of work and considerations involved in commercializing cloud services for large enterprises.

Separation of Responsibilities

When talking about cloud computing, there are really three main levels of service to consider. They are:

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)

This post isn't going to cover what those terms all mean but we do want to talk about the separation of responsibilities for each of these offerings. If you want more information on what these things mean here is a useful link.

Here is a diagram that shows the separation of responsibilities within these different layers.

Cloud Layers

When working with an on-premise environment the resource owner is responsible for managing the entire stack. You must handle all hardware, software, operating systems, virtualization, networking, storage, etc… As you transition off premises, some of these responsibilities shift from the subscriber to the service provider. While working with IaaS, the subscriber is still responsible for the applications, the data, the runtime, the middleware, and the operating system. The physical hardware, virtualization, and networking tasks are all handled by the service provider.

As the subscriber starts to move into the PaaS space, they are responsible for even less of the overall stack. The service provider takes over responsibility of managing the operating systems, any middleware, and the runtime environment. The cloud provider is responsible for managing upgrades and making them transparent to the subscriber while maintaining a Service Level Agreement (SLA) on uptime. The Subscriber does however maintain the following roles:

  • Governance
  • Logical DBA
  • Webmaster
  • ID and Access Management

Design Patterns

Another concept to understand with cloud solutions are the different design patterns that are available. The illustration below shows the three major design patterns that were utilized by the CPG.

Cloud Design Patterns

In the first pattern, listed as Website only, the application consists of one or many websites running in the cloud with no persistent storage either in the cloud or on-premise. This is the simplest pattern and requires the least lead time.

In the second pattern the application consists of one or many web sites or applications running in the cloud with a persistent storage layer also in the cloud. This storage layer can be a relational database, a non-relational database, or even file or blob storage. With this model the entire application still resides within the cloud.

The third and final pattern is the hybrid pattern. In the hybrid pattern some of the components of a solution reside in the cloud and some reside on-premise. In this scenario a dedicated connection, such as a Virtual Private Network (VPN), exists between the cloud host and the on-premise environment. This allows your cloud components the ability to access components such as web services or databases within your network from the cloud.

This second post in the ten-part series hopefully helped to describe some of the concepts that are pre-requisites of implementing a cloud solution. This was not intended to be an exhaustive list of things you should know before leveraging any cloud solutions. It is important to be aware of the evolving nature of cloud technologies. New services, upgrades, and refinements are constantly and quickly being released. Be comfortable with adapting to these changes during implementation

The entire series:

Commercializing Azure Part 8 - Facilitating Enterprise Adoption of Service Commercializing Azure Part 9 - Transitioning to Support Commercializing Azure Part 10 - Summary of Benefits

In the next post we are going to talk about the recommended skills and resources for implementing cloud solutions.