Skip to content

gstackio/gstack-bosh-environment

Repository files navigation

GBE (Gstack BOSH Environment) & Easy Foundry

GBE

GBE is a set of tools and conventions that establish best practice for managing “infrastructure as code”, through the description of an expected infrastructure state, and convergence towards that state.

GBE is a convergent infrastructure framework if you like, where the idea of “converging” infrastructure embraces both initial deployment and any further updates or upgrades. It's a solution for both day 1 and day 2 concerns.

Easy Foundry

Easy Foundry is a GBE-based distribution of Cloud Foundry. It's 100% Open Source. By “distribution”, we mean a set of infrastructure modules around Cloud Foundry that are consistently glued together to provide usable features. Those modules can be opted-in or out, whenever necessary, and declare other modules they depend on. You can think of GBE like a package manager for deploying distributed systems.

One of the main design goals of Easy Foundry is to have minimal coupling with proprietary Cloud services, and thus reduce the risk of being tied with any Cloud Provider. This preserves Easy Foundry adopters freedom to chose the provider they want, and still being free to switch whenever necessary.

Overall picture

GBE brings a solution to several separate concerns:

  1. Bootstrap a BOSH environment. This is mainly about creating a BOSH server, properly configured to pilot some automated infrastructure*. Here we basically propose a (big) wrapper around bosh create-env for making things easy, smooth, and provide a completely automated bootstrap process.

  2. Converge infrastructure modules, targeting a given BOSH environment. This could be seen as a (big) wrapper around bosh deploy for making things easy, smooth, and ensure modularity.

  3. Converge application deployments on top of the converged infrastructure modules. This is not finished yet, but is planned for the near future.

Those are separated. You could create your BOSH environment with any other solution like BUCC, and still be able to deploy Easy Foundry on top of it.

* Automated Infrastructure: BOSH supports various Iaas like public or private clouds, Bare-Metal-as-a-Service solutions like RackHD, or container orchestration platforms like Kubernetes.

Topologies

Deployment modes

We address several deployment modes that are worth being explained.

  • Multi VMs: This is the classical BOSH mode, as used by many Fortune 500 companies for their production infrastructures. The BOSH server runs alone on its VM, and all managed nodes are running on their own VM too. This mode provides proper isolation between workloads and thus higher robustness, for higher costs.

  • Single VM: This is the classical BOSH-Lite mode, where one single VM runs both the BOSH server, and managed nodes. The BOSH server is on the VM itself, whereas managed nodes are deployed in containers, on the same VM. This mode provides poor isolation of workloads, for absolute minimal costs.

  • Hybrid VMs: One VM, that only runs the BOSH server, and a second one for running the managed nodes only. This is a hybrid setup where the BOSH server is on its VM alone, whereas managed nodes are deployed in containers, on a separate VM. This mode provides improved isolation, for very reduced costs.

Support status

gbe up-based environments

Infrastructure Topology System Status GBE Flavor
Bare-Metal server Single VM Linux Supported ddbox
Bare-Metal server Hybrid VMs Linux Actively supported ddbox
Bare-Metal server Multi VMs Linux Not planned ddbox
Google Cloud (GCP) Single VM Linux Supported gcp
Google Cloud (GCP) Hybrid VMs Linux Not supported gcp
Google Cloud (GCP) Multi VMs Linux Not supported gcp
Local Virtualbox Single VM Linux Supported ddbox
Local Virtualbox Hybrid VMs Linux Actively supported ddbox
Local Virtualbox Multi VMs Linux Not planned ddbox
Local Virtualbox Single VM macOS Supported ddbox
Local Virtualbox Hybrid VMs macOS Supported ddbox
Local Virtualbox Multi VMs macOS Not planned ddbox

bucc up-based environments

Infrastructure Topology System Status
AWS Multi VM Linux Supported
Azure Multi VM Linux Supported
Azure Stack Multi VM Linux Supported
Docker Single VM Linux Not supported
Google Cloud (GCP) Multi VM Linux Supported
OpenStack Multi VM Linux Supported
Virtualbox Single VM Linux Supported
vSphere Multi VM Linux Supported

Getting started

Basically, you need to:

  1. Check some prerequisites.

  2. gbe up for converging the base infrastructure environment.

  3. gbe converge for converging infrastructure modules or application deployments.

Deployment guides

We have several deployment guides for some topologies that we support.

In case you encounter issues, please refer to the troubleshooting chapter of the documentation.

Documentation

The gbe CLI provides inline help with gbe help. And generally, help on a given command can be obtained with gbe <command> -h.

Other documentations are available in the docs directory:

Contributing

Please feel free to submit issues and pull requests.

Author and License

Copyright © 2017-2018, Benjamin Gandon, Gstack

Like the rest of BOSH, the Gstack BOSH environment is released under the terms of the Apache 2.0 license.

About

A framework for delivering integrated BOSH 2.0 deployments, and managing BOSH 2.0 environments

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages