1.1

Architecture Overview

Before we begin generating code or provision any infrastructure let's first take some time to understand the basic architecture of what we want to achieve.

Architecture overview diagram

Storage bucket

We will first generate the storage bucket that will be used by Opsmaru to store the build artifacts. This bucket will be used to store and distribute artifacts and various other assets required for your compute cluster to operate.

Compute cluster

For the compute cluster we will setup a new VPC which will serve as the foundation layer of all of the other resources. This creates a clean and clear isolation for our resources.

Bastion Node

For the bastion node we can use the smallest available node. This node only serves as the jump host to allow us to access the other nodes in our cluster. The bastion host will be the only host that is internet facing for SSH access. All other nodes in our cluster will not have direct SSH access to the internet.

Compute Nodes

The bootstrap-node will be the first node provisioned. This node will be used to orchestrate the connectivity between the other nodes in the cluster. LXD will be setup on this node and the other nodes will join this node automatically. This node is mandatory and is the minimum node required for a cluster. All other nodes are optional.

You can start with a single node setup and scale up as you need.

Database

We will provision a PostgreSQL RDS instance and setup connectivity between the nodes and the database instances. All the nodes will need access to the database.


Instructor

Zack's profile picture

Zack Siri

Founder

Zack is the creator of Opsmaru. He's worked as CTO in many companies across many industries, everything from hospitality to fin-tech.

He's currently building Opsmaru and loves help customers simplify their DevOps journey. He's happy to share his knowledge and experience to empower customers to get the most out of Opsmaru.