Introducing Terra: Community Dev-Ops Platform
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.
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:
- Mass hosting, like Aegir.
- Continuous Deployment & Testing, like DevShop.
- Content Staging & Deployment, like WFTools.
- Software-as-a-Service, like Drupal Gardens or NuCivic Data.
- Platform-as-a-Service like Acquia Cloud, Pantheon, or Platform.sh.
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.
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
Testing is as easy as running the command
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.
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.