Posts

Infrastructure as a Service

Image
Physical facilities and infrastructure hardware form the foundation of  IaaS . With cloud computing we abstract and pool these resources, but at the most basic level we always need physical hardware, networks, and storage to build on. These resources are pooled using abstraction and orchestration. Abstraction, often via virtualization, frees the resources from their physical constraints to enable pooling. Then a set of core connectivity and delivery tools (orchestration) ties these abstracted resources together, creates the pools, and provides the automation to deliver them to customers. All this is facilitated using  Application Programming Interfaces (APIs) . APIs are typically the underlying communications method for components within a cloud, some of which (or an entirely different set) are exposed to the cloud consumer to manage their resources and configurations. Most cloud APIs these days use  REST  (Representational State Transfer), which runs over the HTTP protocol

Logical Model

Image
At a high level, both cloud and traditional computing adhere to a logical model that helps identify different layers based on functionality. This is useful to illustrate the differences between the different computing models themselves: Infrastructure:  The core components of a computing system: compute, network, and storage. The foundation that every else is built on. The moving parts. Metastructure:  The protocols and mechanisms that provide the interface between the infrastructure layer and the other layers. The glue that ties the technologies and enables management and configuration. Infostructure:  The data and information. Content in a database, file storage, etc. Applistructure:  The applications deployed in the cloud and the underlying application services used to build them. For example, Platform as a Service features like message queues, artificial intelligence analysis, or notification services. Different security focuses map to the different logical layers. Ap

Software as a Service

SaaS services are full, multitenant applications, with all the architectural complexities of any large software platform. Many SaaS providers build on top of IaaS and PaaS due to the increased agility, resilience, and (potential) economic benefits. Most modern cloud applications (SaaS or otherwise) use a combination of IaaS and PaaS, sometimes across different cloud providers. Many also tend to offer public APIs for some (or all) functionality. They often need these to support a variety of clients, especially web browsers and mobile applications. Thus all SaaS tends to have an application/logic layer and data storage, with an API on top. Then there are one or more presentation layers, often including web browsers, mobile applications, and public API access. The simplified architecture diagram below is taken from a real SaaS platform, but generalized to remove references to the specific products in use: These reference and architectural models should not be construed as being

Platform as a Service

Image
Of all the service models,  PaaS  is the hardest to definitively characterize due to both the wide range of PaaS offerings and the many ways of building PaaS services. PaaS adds an additional layer of integration with application development frameworks, middleware capabilities, and functions such as databases, messaging, and queuing. These services allow developers to build applications on the platform with programming languages and tools that are supported by the stack. One option, frequently seen in the real world and illustrated in our model, is to build a platform on top of IaaS. A layer of integration and middleware is built on IaaS, then pooled together, orchestrated, and exposed to customers using APIs as PaaS. For example, a Database as a Service could be built by deploying modified database management system software on instances running in IaaS. The customer manages the database via API (and a web console) and accesses it either through the normal database network protoc

Essential Characteristics

Resource pooling is the most fundamental characteristic, as discussed above. The provider abstracts resources and collects them into a pool, portions of which can be allocated to different consumers (typically based on policies). Consumers provision the resources from the pool using on-demand self service . They manage their resources themselves, without having to talk to a human administrator. Broad network access means that all resources are available over a network, without any need for direct physical access; the network is not necessarily part of the service. Rapid elasticity allows consumers to expand or contract the resources they use from the pool (provisioning and deprovisioning), often completely automatically. This allows them to more closely match resource consumption with demand (for example, adding virtual servers as demand increases, then shutting them down when demand drops). Measured service meters what is provided, to ensure that consumers only use what

Cloud Components

3 components Clients Datacenter Distributed servers

Types of Clouds

Public Cloud    Marketed based on                Resources offered, availability, security, price Local/Private Cloud         Cloud architectures tailored to an organization’s needs. Hybrid Cloud             Combination of public and local cloud resources.