Design Layer
The first thing to understand about the Design Layer is that it represents the abstract version of cloud system design. Not a particular deployment, wether on laptop or on cloud provider infrastructure.
The Design Layer uses generic representations of application and platform services as building blocks for designing cloud systems. When we say generic we mean as an abstract form, not as a particular deployment on laptop or cloud provider. These generic types represent different kinds of application services, like Java or Go service, API exposing, or background job type of service. Then also platform services like databases, queues, and file storages are expressed in their most generic terms. And again, think about these services as non-material high-level descriptions of services, not particular deployments.
Abstract Types of Components and Links
Python classes that implement v1.component.Component
or v1.link.Link
base class from Torque Framework.
Building blocks for DAG describing Cloud System (DAG = Directed Acyclic Graph).
Contain no specific deployment instructions, meaning they have no insight whether they will be deployed inside a Kubernetes or a managed cloud service.
Components and links provide three functions for the framework:
- Expose an interface for connecting components with links to form a DAG.
- Inform the framework which kind of interfaces to deployment providers, so-called Bonds, they use so that the framework can provide implementations of the required Bond interfaces when the execution time comes.
- They invoke functions on provided bond implementations to create specific cloud configurations and deployments.
DAG Describing Cloud System
Use torque component
and torque link
set of commands to assemble a DAG structure. Each created component is a node in the DAG, and each created link is a directed edge from one node (component) to another. Put together, these form a DAG that represents your Cloud System.
Now, Torque Framework uses the DAG definition to execute build and apply operations in the correct order and correctly configure and deploy the entire system.