Cloud Computing

There are many patterns, or categories, in the world of cloud computing that you can use to meet the needs of your enterprise architecture. Some solve specific problems, such as security-as-a-service or testing-as-a-service, and some provide complete platforms, such as platform-as-a-service or infrastructure-as-a-service. Datalink provides best of the cloud computing solutions taking all the service specific needs into account.

The categories of service are storage, database, information, process, application, platform, integration, security, management/governance, testing, and infrastructure. The figure shows how they relate to one another. You can further break them down into fine-grained solutions, or those providers who solve very specific problems that alone cannot be considered a platform. Or into coarse-grained providers, or those that, unto themselves, are a complete platform. Thus, fine-grained services include storage, database, information, process, integration, security, management/governance, and testing. Coarse-grained services include application, platform, and infrastructure. It’s beneficial and conduct this breakdown , as because one coarse-grained cloud-computing provider can actually be made up of many fine-grained resources. For example, a single platform-as-a-service provider could offer storage, database, process, security, and testing services.

However, while it may seem easier to use a coarse-grained cloud computing solution because it provides many fine-grained resources, the decision is really a matter of the requirements of your architecture. You may find that selecting many fine-grained cloud-computing solutions is a much better fit for your architecture, when considering your requirements and/or the ability to mesh effectively with the on-premise portion of your architecture. Thus, it is useful to think of the candidate cloud computing provider categories by architectural component:

  • For processes, the service components are application, platform, infrastructure, process, and integration.
  • For data, the service components are application, plat-form, infrastructure, storage, database, and information.
  • For services, the service components are application, platform, infrastructure, and information.

The Process of Moving To The clouds

High-level process you can use to find the right cloud computing category or categories, and finally cloud computing providers to move your processes, services, and data that were selected as good cloud computing candidates.

The Datalink provides Cloud Computing in different Categories

As cloud computing emerges, there is a lot of discussion about how to define cloud computing as a computing model. Maturity models have been published and debated, and providers clearly have a model for their own products. In attempting to better define cloud computing, we have come up with a stack of sorts, which we believe makes logical sense. The stack considers each component of cloud computing and how they interact.

Storage-as-a-service (a .k .a. disk space on demand): As you may expect, this is the ability to use storage that physically exists at a remote site but is logically a local storage resource to any applicationthat requires storage. This is the most primitive component of cloud computing, and it is a component or pattern that’s used by most of the other cloud computing components.

Database-as-a-service: This provides the ability to use the services of a remotely hosted database, sharing it with other users, and having it logically function as if the database were local. Different providers have different models, but the power is to use database technology that would typically cost thousands of dollars in hardware and software licenses.

Information-as-a-service: This refers to the ability to consume any type of information, remotely hosted, through a well-defined interface such as an API. Examples include stock price information, address validation, and credit reporting.

Process-as-a-service: This refers to a remote resource that can combine many resources together, such as services and data, whether hosted within the same cloud computing resource or remotely available, to create business processes. You can think of a business process as a Meta application that spans systems, leveraging key services and information that are combined into sequence to form a process. These processes are typically easier to change than applications, and thus provide agility to those who use these process engines that are delivered on-demand.

Application-as-a-service (a .k .a. software-as-a-service): This is any application that is delivered over the platform of the Web to a user, typically accessing the application through a browser. While many people associate application-as-a-service with enterprise applications such as Salesforce SFA, office automation applications are indeed applications-as-a-service as well, such as Google Docs, Gmail, and Google Calendar.

Platform-as-a-service: This is a complete platform — including application development, interface development, database development, storage, and testing — delivered through a remotely hosted platform to subscribers. Based on the traditional timesharing model, modern platform-as-service providers provide the ability to create enterprise-class applications for use locally or on-demand for a small subscription price or free.

Integration-as-a-service: This is the ability to deliver a complete integration stack from the cloud, including interfacing with applications, semantic mediation, flow control, and integration design. In essence, integration-as-a-service includes most of the features and functions found in traditional EAI technology, but they are delivered as a service.

Security-as-a-service: This is the ability to deliver core security services remotely over the Internet. While the typical security services provided are rudimentary, more sophisticated services are becoming available such as identity management.

Management-/governance-as-a-service: This is any on-demand service that provides the ability to manage one or more cloud services. These are typically simple things such topology, resource utilization, virtualization, and uptime management. Governance systems are becoming available as well, such as the ability to enforce defined policies on data and services.

Testing-as-a-service: This is the ability to test local or cloud-delivered systems using testing software and services that are remotely hosted. It should be noted that while a cloud service requires testing unto itself, testing-as-a-service systems can test other cloud applications, Web sites, and internal enterprise systems, and they do not require a hardware or software footprint within the enterprise.

Infrastructure-as-a-service: This is actually data center-as-a-service, or the ability to remotely access computing resources. In essence, you lease a physical server that’s yours to do with as you will, and for all practical purposes it is your data center, or at least part of a data center. The difference with this approach versus more mainstream cloud computing is that instead of using an interface and a metered service, you’re getting access to the entire machine and the software on that machine. In short, it’s less packaged and more akin to hosting.

Pros and Cons of Cloud Computing