OSS + IaC Will Break the Internet
Burger and fries, PB and J, OSS and IaC — some things work better together.
Join the DZone community and get the full member experience.Join For Free
As infrastructure is increasingly managed by code (IaC), open source IaC modules have more power to expand operations support systems (OSS) — from what is run to how and where it is run — providing an alternative to commercial SaaS offerings.
Burger and fries, PB and J, OSS and IaC — some things work better together. In the beginning, there were servers. If a developer wanted to use an open-source tool such as MySQL, they would download the binaries from the web and install them on their own. When the time came to scale a database to handle a larger load, it required deep knowledge and continuous maintenance.
Then came the SaaS model, promising to save us from these “low level” infrastructure tasks. Managing a MySQL cluster is almost the same in every company, so why should organizations hire different people to do this? A single company can manage as many clusters as needed and sell access to them for a fraction of the cost of hiring a dedicated team.
What these SaaS companies are not selling is access to MySQL clusters. They are selling access to software engineers who are experts in managing these clusters. This expertise has been difficult to share as it consists of numerous buttons to click and a wide range of commands to run. Then came Infrastructure as Code — an efficient way to formalize this expertise in code, with the sharing of code being what OSS is all about.
When IaC meets OSS, a new option is put on the table. With interest by DevOps professionals in deploying MySQL on a dedicated K8s cluster, the code that deploys and runs it can simply be pulled. This code goes beyond a single MySQL server to handle fail-overs, health checks, and networking concerns. Like other OSS repositories, it continues to evolve, leveraging the contributions to enjoy the expertise and experiences of an entire developer community. Other great examples are Kafka and Vault, both of which can be deployed to AWS via Terraform.
An extremely prominent feature of SaaS is its flexible pricing model, which in many cases goes down to zero with “freemium” tiers. For non-serverless workloads, a production-grade setup might be expensive to start with. This is where serverless technologies really shine as they are priced by usage, allowing interested parties to start on a tiny budget. Such OSS projects are already out there, such as BinaryAlert and StreamAlert.
IaC Still Has a Way to Go
The world of IaC is still maturing, as existing tools still need to be “battle hardened” and new tools and ideas continue to emerge. Along with technical changes, workflows and processes also need to mature since managing IaC is not exactly the same as managing regular code as its deployment has different implications. One can be pleased that important new solutions in this space are now available, providing more efficient platforms to run IaC in a collaborative and controlled framework.
About the Author
Avner Sorek is a software engineer and founding team member at env0, a development leader in Infrastructure-as-Code (IaC).
Opinions expressed by DZone contributors are their own.