July 18, 2024
Self-service DynamoDB change management: Safe, secure, & scalable
See Liquibase in Action
Accelerate database changes, reduce failures, and enforce governance across your pipelines.
Amazon DynamoDB is a top choice for organizations seeking scalability, cost-efficiency, serverless architecture, and support for massive throughput and storage. When data and application teams need to quickly and efficiently handle an immensely high volume of data, this key-value database is tough to beat.
As NoSQL databases go, DynamoDB is fast and flexible, but when updates to its data and structure are handled manually, it’s not immune to disruptions, slowdowns, and vulnerabilities. Submitting changes for a DBA team to review is error-prone and time-consuming, risking many of DynamoDB’s unique benefits. It remains one of the final manual holdouts in an otherwise automated and streamlined pipeline.
Developers using DynamoDB can achieve change management automation and self-service deployments with Liquibase’s database DevOps solution. This integration also unlocks confidence, flexibility, and visibility thanks to advanced governance and observability capabilities.
Liquibase integrates the database DevOps approach into DynamoDB change management workflows to enable self-service deployments with instant feedback and consistency, improving confidence and reliability.
Why do teams choose DynamoDB?
DynamoDB, a key-value database, is one of Amazon’s many purpose-built databases geared for teams who need lightning-fast read/writes, nearly unlimited throughput and storage, and the ability to scale massively and quickly. It also leads in security and reliability, offering zero downtime and integration with the rest of AWS’s suite of services.
“DynamoDB is especially great for applications or services using online transaction processing workloads that require high performance reads and writes, and where high availability and scalability are critical to your business,”
- Loreli Cadapan, VP of Product at Liquibase
The high velocity of updates, variability in workloads, and rapid growth can create significant challenges for traditional database backup methods. DynamoDB is designed to handle these large, continuous updates efficiently while providing the flexibility needed for teams facing significant fluctuations in database workloads throughout the day. By integrating Liquibase with DynamoDB, development teams can further streamline and automate their database management processes, ensuring consistent performance and reliability even under the most demanding conditions.
In addition to DynamoDB, Liquibase also integrates with other Amazon data stores for full-pipeline automation:
- Aurora - MySQL
- Aurora - PostgreSQL
- DocumentDB
- MariaDB
- RDS - MySQL
- RDS - Oracle
- RDS - PostgreSQL
- RDS - SQL Server
- Redshift
Any new NoSQL database introduced to the pipeline pitches teams a learning curve as they get used to doing everything in new ways, and Amazon offers all the resources they’ll need. As a developer-focused database, DynamoDB’s benefits and efficiencies are well worth the time spent training up development teams and has become a common part of enterprise application pipelines.
Developer-focused database
A “developer-focused database” like DynamoDB caters to the needs of application teams, reducing the database-related workload and providing strength in key capabilities. Managed and serverless, it enables them to focus primarily on developing top-notch products instead of database provisioning, setup, and maintenance.
DynamoDB supports key-value and document data models, so it provides flexibility for a wide range of application development use cases, from simple key-value stores to complex query patterns. Plus, it’s AWS integrations and automatic throughput and storage handling eliminate scalability limitations and concerns.
However, to get maximum advantage from DynamoDB, developers need a quick, simple, and reliable way to build and deploy changes to their DynamoDB (and other) environments to keep them aligned with application releases. Manual deployments not only slow down the pipeline but risk errors, disruptions, and vulnerabilities.
With the right tooling and approach, development teams can integrate DynamoDB deployments into the CI/CD pipeline, keeping schema and data updates aligned with application releases – without delay or disruption.
Database change management & CI/CD automation for DynamoDB
Development teams who need a self-service database deployment solution for DynamoDB use Liquibase to automate, govern, track, and monitor database change management alongside software code releases. By integrating into the CI/CD pipeline – across different tools and types of databases – Liquibase expands DevOps to the database to maximize DynamoDB’s flexibility, scalability, and security.
With a database-as-code approach, Liquibase enables pipeline-aligned database deployments without manual slowdowns or delays. Instead, automation empowers the same rigor and efficiency as application code deployments, including control and visibility for compliance and auditability.
Liquibase enforces consistency and compliance across environments, helping teams maintain data integrity and adhere to best practices. By automating database changes and incorporating them into the CI/CD pipeline, Liquibase enables app teams to deliver features faster, respond quickly to changes, and improve reliability in their development workflows.
Integrating throughout the CI/CD pipeline connects teams and helps shift-left quality and testing. By also connecting the rest of the organization’s database environments into a unified change management stream – Liquibase supports more than 60 types of databases – teams get a centralized platform for managing database change, governance, and observability.
Most importantly for development and DevOps teams, Liquibase puts the power in their hands to confidently, reliably, and successfully deploy database changes as needed. With that great power to evolve the state of the database comes immense responsibility, which is why an automated, standardized, constantly monitored solution is needed.
Self service – safely, transparently
Enabling self-service DynamoDB deployments for developers requires a careful approach that includes:
- Reproducibility
- Traceability
- Incremental changes
- Rehearsal deployments before Production
Liquibase ensures these four best practices to embrace DevOps methodology and shift-left quality and security. Other options that fall short where Liquibase stands out:
- Tracking changes
- Automatic and Targeted Rollbacks
- Embracing incremental DevOps approach (small, freq. deploy.)
- Separation of duties
- Policy enforcement
- Observability & alerts
Instead, Liquibase covers all database environments with granular tracking, easy rollbacks, and automated change builds that support incremental change.
Head to the webinar replay to learn how Liquibase accelerates and improves Amazon DynamoDB deployments. It includes a live demo of Liquibase + DynamoDB in action. You’ll see what a ChangeLog for DynamoDB looks like, how to create a table in DynamoDB, and how to insert (change) data within that table in DynamoDB, all using Liquibase and GitHub Actions.
In this demo, Liquibase’s James Bennett also shows off why “NoSQL doesn’t mean no governance.” With Quality Checks and Operations Reports, developers can figure out why their deployment failed without bugging the DevOps or DBA team. He also demos a Targeted Rollback and reviews the Rollback Report.