Jul 9, 2021
Next up in our Integrating PostgreSQL blog series, we'll further explore PostgreSQL integration to help enterprises do more and go faster.
This blog post will highlight the next area of importance: Deployment Tools.
In the deployment space, there are two major deployment types to focus on:
- Deployment of the software - That is, the PostgreSQL cluster, and any associated tools.
- Deployment of database changes - For example, changes to a table definition.
In virtualized environments, that is on Infrastructure as a Service (IaaS) in public clouds or private clouds such as vSphere, Ansible was the most popular choice among respondents in an EDB survey in June 2020 of infrastructure as code.
Ansible Galaxy is the preferred place to download roles and plugins, the key building blocks for Ansible playbook.
Terraform is a popular choice to create infrastructure as code in public clouds, where it excels in provisioning compute, storage, and networking. Terraform is frequently used in conjunction with Ansible: Terraform to provision the infrastructure and Ansible to deploy and configure the software.
If we look at the results from the user personas angle, it is quite evident that many developers are using Ansible. However, for IT operations, Puppet and Chef are the most popular tools.
In containerized environments, Kubernetes (K8s) is the clear leader in public cloud and in private cloud orchestrations built on RedHat OpenShift or Suse Rancher.
PostgreSQL is extremely popular in containerized environments. PostgreSQL is the most popular persistent database deployed in Docker containers.
Stolon and Patroni are two popular first generation high availability mechanisms used in containerized environments. Stolon and Patroni coexist with Kubernetes, but they are not really cloud native; they are an add-on that makes PostgreSQL® work with Kubernetes.
More recently, proper cloud native approaches have emerged that leverage Kubernetes’ built-in capabilities for high availability, failover, and other cluster operations. EDB’s Cloud Native PostgreSQL is a leading example proving that proper leverage of the new Kubernetes capabilities results in simpler and more robust implementations with fewer moving parts.
Flywheel and Liquibase are very popular frameworks for database version control, implementing Martin Fowler’s evolving database model. Many development frameworks, such as Ruby-on rails, Django, and others, automatically create “migrations” that can be applied to PostgreSQL too.
In the next post in this series, we'll cover Security Integration.