Databases move. By their nature, developers and database administrators (DBAs) along with the full cadre of Ops-operations staff need to move data from one place to another – sometimes between applications, connected services and API endpoints, but sometimes between higher-level operating systems, platforms, suites and databases themselves.
Although this reality doesn’t necessarily make ‘data transport’ (i.e. the base level transit of information from one source to another inside pre-existing networked services) itself inherently more difficult, it does make ‘data transportation’ (i.e. the shifting of data workloads from one place to another) more challenging.
When we add in the fact that database volumes and complexity are exploding alongside application diversity and interconnectedness, we can safely say that there’s a lot to deal with. Developers, DBAs and the sysadmin usual suspects start to find themselves in situations where they need to work with technology they are not familiar with. This obviously slows teams down and imposes risk.
There are ways to get around these challenges already and managed databases in the cloud-native DataBase-as-a-Service vein do help, but they may be something of a fragmented antidote at times. Why? Because schema management remains a blind spot. As many will already know, a schema denotes and describes the sequence and data type of any given set of columns in a dataset and – once an initial schema is defined and time passes – applications often need to evolve that schema to incorporate new or changed datasets or data types. Putting it simply, as applications evolve, their backing database schema must follow suit and if not carefully managed, schema changes can result in data loss and application downtime
The company reminds us that modern application development is largely automated in many places thanks to DevOps and Continuous Integration & Continuous Deployment (CI/CD). So what about database schema management?
Ariga is introducing ‘Schema-as-Code’ to (exactly as it sounds) define and manage database schema through code. Similar to Infrastructure-as-Code, a popular paradigm used for managing cloud infrastructure, Schema-as-Code brings intelligent automation capabilities to schema management.
“Making database changes part of the DevOps flow was a revolution for application development. But we’ve come a long way in the last 10 years and database schema management needs to catch up; manual planning and verification does not cut it anymore”, said Ariga co-founder and CEO Ariel Mashraki. “Atlas, our open source project, lets [software engineers] define the desired schema of their database, or it can infer it from code. The user only defines the ‘what’ factor, Atlas takes care of the ‘how’. Changes are verified during a team’s existing CI/CD pipeline and safely deployed to production”.
Mashraki co-founded Ariga with CTO Rotem Tamir in 2021. Ariga’s founders have platform engineering and DevOps experience at the likes of Facebook and ironSource, where they developed infrastructure to enable other developers to solve problems working with databases. Both are active open source contributors stewarding, among other projects, Ent, a Linux Foundation-backed framework originally created by Mashraki at Facebook.
Atlas Cloud is Ariga’s commercial offering based on the open source project of the same name. Atlas is used to automatically plan, verify and deploy schema changes by many Fortune 500 companies as well as startups and other prominent open-source projects.
Atlas supports most popular open-source databases such as MySQL and PostgreSQL. It also works with DevOps tools such as Terraform. Atlas Cloud brings support for what the team call ‘deep’ Kubernetes integration, analytical databases such as Snowflake and Redshift, commercial mainstays such as Oracle and SQL Server and advanced collaboration, security, monitoring and analytics features.