My Experience using Liquibase
Overall Satisfaction with Liquibase
In a modernization effort for a federal client, we leveraged Liquibase to improve visibility and automation with the database deployments. We have multiple AWS Aurora PostgreSQL databases that have to maintain consistency through each environment. Liquibase helps us to track what data is in each environment and allows us to build once and deploy many. This has helped us to make a major improvement in transparency for our client while also building a consistent and repeatable process going forward as the databases get updated. We also are utilizing Liquibase for a database reconciliation effort to deploy changes into a newly created schema to reconcile data after a migration. Liquibase allows us to make these deployments which will normally take months to minutes. Truly enjoy the service.
Pros
- Liquibase provides a clear error log that allows us to pinpoint what to troubleshoot.
- The service does not deploy bad data, which helps us keep our databases clean.
- Liquibase works with GitHub Actions as well as AWS CodeBuild and AWS Lambda. The flexibility allows us to deploy the service in many different ways.
Cons
- I would like Liquibase to explore all errors in the changelog files compared to one at a time. We spent a lot of time troubleshooting one error at a time versus having a batch log of errors in each file.
- Understanding where to get support on things. I spent a lot of time researching externally to learn what the best practices were. Although I found some of the youtube videos helpful, I would like a little more of a technical support. This may be a feature with the paid tier, however, we leveraged open source.
- Seeing more examples of how others use Liquibase and their usecases will be helpful. That way we can learn from each other which may help us improve on our own deployments.
- It has allowed us to deploy rapidly across many environments. Less drift in databases, more frequent deployments.
- Left us with a single point of failure as Liquibase requires much technical expertise to deploy. Not that it is difficult, but many are weary of using it because it seems hard to understand. Therefore only myself on the team can solve issues and get things to work. If I leave for a week, deployments stop because no one else is technically versed in this service.
- Everyone loves how Liquibase works in theory. It helps many to make deployments fast and traceable. However, the standup process is more difficult to grasp.
It has made deployments more repeatable than safer and easier. The service itself does have some guardrails, however, if the database administrators and engineers who are setting up the project do not understand how to use Liquibase, the purpose of the design is not helpful. This takes a lot of expertise from where to store the code, to how it is triggered and deployed to what service it is built upon. Without that background, bad data can go into the database, and many errors can block progress. Some things can be done easier with writing sql directly to the database compared to following a format that allows you to deploy as code. So this is a great service, but it takes significant effort to get up and running. Once running, it does become repeatable, maybe even easier, but safety is part Liquibase, yes, but also a big part of a secure infrastructure environment to support Liquibase.
Do you think Liquibase delivers good value for the price?
Yes
Are you happy with Liquibase's feature set?
Yes
Did Liquibase live up to sales and marketing promises?
I wasn't involved with the selection/purchase process
Did implementation of Liquibase go as expected?
No
Would you buy Liquibase again?
Yes


Comments
Please log in to join the conversation