Cloud Computing

In the context of Software Engineering, see cloud native

1. Distilled

Most of the services a cloud vendor provides can be segregated along the dimensions (via qualitative and quantitative elaborations) of:

  • Compute
  • Storage
  • Networking

2. Abstract

This is an epistemological dive into the nature of cloud computing services.

On an extremely high level, any sort of cloud computing service one provides to a client can be broken down into differing amalgamations of compute and storage (extents of persistence, to elaborate).

For instance, Functions as a service will be compute oriented (RAM level storages are involved, and data persists till the execution life of the relevant function), where as container as a service will be a mixture of both.

The extent of virtualization in terms of how abstracted your compute is from the baremetal hardware also gives rise to different classes of services.

Intelligently managing the provision of compute and storage over time opens up a whole new opportunity for a suite of meta/administrative tooling (orchestration, scheduling, log analysis)

This core function of a providing a service enables several secondary services that can be used to improve the original provision (log anomaly detection for instance, or power usage prediction to control cooling requirements of a datacenter for instance)

Computer Networking plays an important role in connecting all the tangibly separate compute and storage into a large functioning system that abstracts away your specific requirements into a specific readily usable service.

Now adding further degrees of freedom to the problem description allows for the core abstraction to fork into as many services as we want to. Some dimensions being:

  • scale
  • security
  • extent of privacy

It would be infeasible to manufacture hardware adapted for each specific combination of the above factors. An ingenious solution to this issue is to have generically manufactured compute that is virtualized into symbolic/logical units with pointers to them when required.

2.1. Technical Granularity of Services

See Anything as a service

  • Platform
  • Infrastructure
  • Software

3. Control Flow (work in progress)

This sub-node intends to document the major points of control when it comes to provisioning resources on the cloud.

3.1. Cloud-Init

4. Practical Sentinel Refs

Tags::root:cloud:programming: