Project Goal

The goal of this project is to provide an automation starting point for Google Cloud that focuses on simplicity, security and best practices on day one.

Each architectural decision is based on current documentation from Google Cloud with a focus on a day one security foundation followed by simplicity at all costs.

Layers enabling DevOps

The infrastructure is split into 3 layers, the Foundation layer, the Service layer, and the App layer.

Layering the infrastructure enables seperation of responsibilities , enabling a DevOps culture to flourish.

  • Foundation Layer:

    • Allows for higher security settings for the Foundation layer to be enforced, protecting the business from unknown open ports or unauthorized logins.
  • Service Layer:

    • Allows for operations to wire up logging, monitoring, and observability into the services required to deploy applications.
  • App Layer:

    • Allows for developers to have the freedom to tinker with ideas in the development environment while knowing that the apps running in production are identical to what they intended to ship.

Deliverable Repos:

About SimplifyMy.Cloud

A passion for well engineered clouds using automation

We started this project after realizing that we were being recruited to perform the same engineering feat over and over for different companies. A well engineered cloud starting point is not difficult nor should it be. We have published what we believe to be a well engineered, secure on day one, simple cloud structure with Google Cloud. Using the documentation from GCP, along with the tooling best practices, we have built a simple starting point to ensure a secure and simple cloud platform to build on top of. [Read More]

App Layer

Application and Service Orchestration

Description The goal of the App Layer is the orchestration of applications and services running on the Service Layer. The App Layer enables developers to experiment freely with new ideas, without asking for approval to deploy into running services in the dev environment. It allows for developers to be confident the infrastructure they developed and tested against in the test environment is a clone of production. It allows for developers to understand and feel confident in the production environment as its only accessible by automation and not humans. [Read More]

Foundation Layer

Rock Solid, Static, and Secure Cloud Foundation

Description The goal of the Foundation Layer is to ensure the state and maintain the perimeter security of the cloud. The Foundation Layer is the bedrock of the cloud, ensuring a known and easily verifiable state of the security of the cloud. All infrastructure lives in a git repo, enabling the Foundation Layer to be protected from single person decisions, enabling multiple git pull request approvers before any state change is allowed. [Read More]

Service Layer

Ensure the Services to Service the Applications

The goal of the Service Layer is the ensured state of services needed to run the applications in the App Layer. The Service Layer enables the DevOps culture within the company. If developers are writing applications and operations are ensuring the state of the cloud, the Service layer is where those two teams meet. If the developers are wrapping their application in a rkt container, operations are responsible for wiring up the Kubernetes service into the cloud. [Read More]