DevOps Tools that Work: Behind the Scenes with Platform.sh
This session aims to take a look at the building of Platform.sh and map the principles we applied in building our own software to ideas that all developers can use when choosing or building DevOps solutions that work for them, their companies, and their use cases. Rather than being "about" our company, we'd like to talk about the choices that have led us to be successful in technical terms -- the choices we hope any web developer or sysadmin or stakeholder can emulate to be successful with their own DevOps choices.
Platform.sh has spent the last several years building a next-generation platform-as-a-service product with a goal of supporting the entire open-source industry. Now featuring a half-dozen open-source language runtimes and an even wider variety of back-end services, Platform.sh is inspired by products like Heroku and Docker and built to meet the needs of software and DevOps engineers everywhere. We aim to provide a set of DevOps tools that really work for the user.
This session aims to bridge the gap between a “conceptual” tech talk and more concrete topics by looking at the evolution of Platform. We will connect the dots from what we consider universal “best practices” for software engineering to how we designed our own software and applied those principles in practice. It is both a behind-the-scenes look at the creation of cutting-edge DevOps software and a playbook for some of the engineering principles that we find important for everyone -- engineers and businesspeople -- in our industry.
This is an ever-evolving session based on our current company history, so those who have seen it previously at BADCamp or DevDays are welcome to attend again and see what new stuff we think we have learned... :)
Topics include:
- How to analyze use cases and goals and pick the right size tools for the job
- Creating DevOps and system administration tools in the languages you know
- Decentralization of services as a model for meeting the challenges of scaling
- Identifying the pieces of your product which demand the most developer attention
- Finding ways to contribute back to the open-source community
- Time, task, and expectations management: Dealing with growth the DevOps way
- Treating your users right: How to prevent conflict and keep people happy and satisfied