Introducing Terra: Community Dev-Ops Platform

Solving the build, test, release, & scale problem once and for all through Collaboration

Terra is a working prototype: a proposal to create a shared community dev-ops platform that is flexible enough to support all of our use cases, and modular enough to allow anyone to extend it to fit their specific needs.

Terra's mission is to make web development as easy and streamlined as possible.

Terra drastically reduces the amount of work needed to setup, and manage your localhost and your production environments.

Terra is built to scale out of the box. Terra creates new environments for your sites in seconds.  Terra is essentially No-Ops for Drupal.

Call for Community & Collaboration

The current state of DevOps is very similar to where website development was before Drupal: There are many specialized, specific tools being developed.  Tons of people and shops build their own bespoke infrastructure. Tons of overlapping functionality among these tools.

DevOps needs to follow in Drupal's footsteps.  We need a shared extensible framework for development, testing, hosting, monitoring, and scaling.

If we follow Drupal's principles of modularity and community, we can achieve great things.

Future

The idea behind Terra is to provide a common platform for multiple hosting use cases.  Many front-ends could be built on Terra for different purposes:

Each of these use cases is very different, yet all require similar functionality and user stories:

  • Developers can see their projects and environments across all hosting providers.
  • Quality Assurance teams can access test results.
  • Site Owners can see info about uptime and site performance.
  • Systems admins can see all of the machines they are managing and their status.
  • HR staff can see what users can see what projects and machines they are allowed access to.

Technology

Terra is written in PHP with the Symfony framework.

Terra uses Docker and Docker Compose to stand up websites, on your laptop or on a web server, but has plans to be pluggable, supporting any environment provider.

With Docker as the backing technology, Terra is able to support any web app in any language.

Ease of Use

Launching a website is as easy as running  terra environment:add

Testing is as easy as running the command terra environment:test

Scaling is as easy as running the command terra environment:scale 5

Join the Effort

Terra is written in Symfony, making it familiar to anyone who's peeked at Drupal 8.

Terra is in it's infancy, but we encourage you to try it out and join the development effort.

Presentation

In addition to a live demo of Terra in action, this presentation will give an overview of Docker and Docker Compose and will have a quick review of how Terra works and what the source looks like. 

Presenter(s): 
Skill Level(s): 
Audience(s): 
Tags: