SlideShare a Scribd company logo
1 of 56
Download to read offline
… and where do you plan to be in the future?
Where are you now in your
Cloud Native journey with
Kubernetes?
How do you “feel” about using
Kubernetes for both stateless
applications and database
workloads with PostgreSQL?
Cloud Native
PostgreSQL
Gabriele Bartolini, VP of Cloud Native
APJ Webinar
18 March 2021
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
4
Introducing Gabriele Bartolini
• Based in Prato (Tuscany, Italy)
• PostgreSQL user since ~2000
• Community member since 2006
• Co-founder of PostgreSQL Europe
• 2ndQuadrant, from 2008 to 2020
• Co-founder
• Head of Global Support
• Cloud Native Initiative Lead
• Founding member of Barman
• Now with EDB
Kubernetes Patterns, Ibryam and Huß, O’Reilly
(about Cloud Native)
“Principles, Patterns, Tools to automate
containerized microservices at scale”
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
6
Agenda page
• General information
• Architectures
• Operator capabilities
• Configuration
• Storage for Postgres workloads in Kubernetes
• Conclusions
General
information
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
8
The largest dedicated PostgreSQL company
• More customers: Than any dedicated PostgreSQL company
• More experts: Leading PostgreSQL contributors
• More innovation: Positioned to lead in enterprise PostgreSQL
and hybrid cloud
EDB acquires 2ndQuadrant in Sept 2020
+
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
9
EDB and Kubernetes
• Kubernetes Certified Service Provider (KCSP)
• First PostgreSQL Company to reach this status
• Silver Member of CNCF & Linux Foundation
• Red Hat Certified Kubernetes Operators
• Cloud Native PostgreSQL (aka PostgreSQL Operator)
• Cloud Native BDR (aka BDR Operator)
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
10
Cloud Native Postgres and BDR
EDB products in Cloud Native
• Operators for Kubernetes
• Written in Go language, like Kubernetes
• Designed for Kubernetes
• Fully integrated with Kubernetes API server
• No requirements for tools designed for traditional contexts
• Repmgr, Patroni, Stolon, Failover Manager
• Immutable application containers for:
• PostgreSQL 10+ or EDB Postgres Advanced 10+
• BDR
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
11
What’s a Kubernetes operator?
• A Kubernetes operator automates actions of a human being, in a programmatic way
• A PostgreSQL cluster is a complex application
• Deployment and configuration
• Failure detection and Failover
• Updates and switchovers
• Backup and Recovery
• Relies on Kubernetes’ native components and capabilities:
• Self-healing, high availability, scalability, resource control, access, …
• Declarative and fully automated
Extends Kubernetes controller and defines how a complex application works
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
12
Imperative vs Declarative
Imperative Declarative
• Create a PostgreSQL 13 instance
• Configure for replication
• Clone a second one
• Set it as a replica
• Clone a third one
• Set it as a replica
There’s a PostgreSQL 13 cluster with 2
replicas
(At any time)
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
13
States in Kubernetes
• Definition of the desired state of an object and the overall infrastructure as configuration
• Reconciliation loops:
• Current state of the infrastructure matches the desired one
• If not, the operator reacts to restore the desired state
• Foundation of self-healing
The role of the Kubernetes controller
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
14
Desired state Actual state
RW RW
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
15
Cloud Native PostgreSQL is aka CNP
Cloud Native PostgreSQL in a nutshell
• Operator for Kubernetes
• Written in Go Language, like
Kubernetes
• Implements Primary/Standby
architecture
• Works with both:
• PostgreSQL 10+
• EDB Postgres Advanced 10+
• Container images are hosted on Quay.io
• Generally Available (BIS EAR)
• EDB Limited Use License
• Documentation
• docs.enterprisedb.io
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
16
Container images
All Container images are based on RedHat UBI 8
• Operator Container image
• EDB Limited Use License
• Operand Container images (Postgres Application)
• PostgreSQL:
• The Postgres License (PostgreSQL)
• GNU GPL 3 (Barman Cloud)
• EDB Postgres Advanced Server:
• EDB Limited Use License
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
17
Target Cloud environments
• Private Cloud (self-managed):
• Kubernetes 1.16+
• OpenShift 4.5+
• Public Cloud (provider-managed):
• Microsoft Azure (AKS) - 2021/Q1
• Amazon Web Services (EKS) - 2021/Q2
• Google Cloud (GKE) - 2021/Q2
• Hybrid Cloud and Multicloud
Run Postgres wherever Kubernetes runs
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
18
Designed for Kubernetes
• Fully integrated with Kubernetes API server
• No external tool required
• Repmgr, Patroni, Stolon
• Immutable Application Containers
• Running PostgreSQL only
• Very light
• Declarative configuration
• Relies on “kubectl” - official Kubernetes client command line tool
• YAML manifest
• Infrastructure as Code (IaC)
Architectures
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
20
System architectures
Main classification is based on where the application reside
Use case 1: Application and Database in K8s Use case 2: Application outside K8s
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
22
PostgreSQL cluster architecture
• One PostgreSQL primary
• Zero or more hot standby servers
• PostgreSQL native streaming replication
• Async (default) and Sync (quorum-based)
• Required for HA
• Transparent support for pg_rewind
• Provides apps with two K8s Services:
• -rw suffix (read-write workloads)
• -ro suffix (read-only workloads)
• -r suffix (read workloads)
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
23
Read-write workloads (“-rw” service)
Kubernetes service for the PostgreSQL Primary
App App App
PostgreSQL
Primary
PostgreSQL
Standby
PostgreSQL
Standby
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
24
Read-only workloads (“-ro” service)
Kubernetes service for the PostgreSQL Read-Only operations
App App App
PostgreSQL
Primary
PostgreSQL
Standby
PostgreSQL
Standby
Random
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
25
Read workloads (“-r” service)
Kubernetes service for the PostgreSQL Read operations
App App App
PostgreSQL
Primary
PostgreSQL
Standby
PostgreSQL
Standby
Random
Operator
Capabilities
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
27
The “Operator Capability Levels” Framework
Defined by Operator SDK (RedHat) - source sdk.operatorframework.io/docs/
CNP users can currently expect "Level III - Full Lifecycle"
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
28
Cluster management
• Self-healing capabilities
• Probes for liveness and readiness
• Failover of the primary
• Automated creation of a replica
• Planned switchover of the primary
• Promotion of a selected replica
• Rolling updates
• Scale up/down capabilities
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
29
Storage management
• Support for Persistent Volume Claims (PVC)
• Automatic generation of PVC
• Support for PVC templates
• Reuse of storage for Pods in the same cluster
• Storage classes
• Freedom of choice
• Local storage
• Network storage
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
30
Rolling updates
• Update of a deployment with zero downtime
• Incremental update of Pod instances with new ones
• Standby servers are updated first
• Then the primary, following a switchover
• supervised / unsupervised
• When they are triggered:
• Update of the operator
• Minor update of PostgreSQL
• Configuration changes when restart is required
• Reason why we did not use replicasets or statefulsets
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
31
Security
• 4C security model
• Cloud, Cluster, Container, Code
• Pod Security Policies and Security Contexts
• No privileged (root) mode required for containers
• No privileged (root) mode for volume access
• TLS encrypted connections
• Creation of PostgreSQL secrets
• Static code analysis
• Linters and Coverity Scan
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
32
About TLS (ex-SSL) support
• Native and fully automated
• Certification authority for the Operator
• Certification authority for each Postgres cluster
• TLS connections enabled by default
• Client authentication based on TLS certificates
• “kubectl cnp” plugin to issue client certificates
• Out of the box for standby streaming replication
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
33
Continuous physical backup
• Scheduled and on-demand
• Initial support for object stores (S3 compatible)
• Public clouds
• Private clouds (e.g. MinIO)
• Rely on Barman Cloud technology
• barman-cloud-wal-archive
• barman-cloud-backup
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
34
Recovery
• Create a new cluster from a backup
• Restore the base backup
• Full or PITR
• Pull and replay backup WAL files
• Rely on Barman Cloud technology
• barman-cloud-restore
• barman-cloud-wal-restore
Configuration
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
36
Custom Resource Definition (CRD)
• “Cluster” resource
• Extends the Kubernetes controller
• Responsible for the deployment
• “instances” parameter
• number of PostgreSQL instances in the cluster
• hot standby replicas = instances - 1
• Supports Async and Sync replication for RPO=0
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
37
Convention over configuration
apiVersion: postgresql.k8s.enterprisedb.io/v1
kind: Cluster
metadata:
name: myapp-db
spec:
instances: 3
imageName: quay.io/enterprisedb/postgresql:13.2
storage:
size: 10Gi
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
38
Declarative deployment
# Install the operator in the cluster
kubectl apply -f <OPERATOR_MANIFEST_URL>
# Deploy the cluster (declarative)
kubectl apply -f myapp-cluster.yaml
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
39
PostgreSQL configuration
Refer to “PostgreSQL configuration” for details
apiVersion: postgresql.k8s.enterprisedb.io/v1
kind: Cluster
metadata:
name: cluster-example
spec:
instances: 3
postgresql:
parameters:
work_mem: "8MB"
# …
# ...
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
40
Synchronous replication
apiVersion: postgresql.k8s.enterprisedb.io/v1
kind: Cluster
metadata:
name: cluster-example
spec:
instances: 3
minSyncReplicas: 1
maxSyncReplicas: 2
storage:
size: 1Gi
Refer to “Streaming replication overview” for details
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
41
Plugin for kubectl
kubectl cnp status cluster-example
Cluster in healthy state
Name: cluster-example
Namespace: default
PostgreSQL Image: quay.io/enterprisedb/postgresql:13
Primary instance: cluster-example-1
Instances: 3
Ready instances: 3
Instances status
Pod name Current LSN Received LSN Replay LSN System ID Primary Replicating Replay paused Pending restart
-------- ----------- ------------ ---------- --------- ------- ----------- ------------- ---------------
cluster-example-1 0/6000060 6927251808674721812 ✓ ✗ ✗ ✗
cluster-example-2 0/6000060 0/6000060 6927251808674721812 ✗ ✓ ✗ ✗
cluster-example-3 0/6000060 0/6000060 6927251808674721812 ✗ ✓ ✗ ✗
Refer to “Streaming replication overview” for details
Storage for Postgres
workloads in
Kubernetes
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
43
Required capabilities
Expected capabilities:
• Availability
• Scalability
• Performance
• Consistency
• Durability
Storage is critical in database contexts
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
44
Storage architectures in Kubernetes (simplified)
Network storage Local storage
• Access via network
• The K8s pattern
• Storage location options:
• Outside K8s (e.g. NFS)
• Inside K8s (e.g. Portworx)
• Data replication options:
• File level (K8s way)
• Application level (Postgres way)
• Cons: throughput and latency
• Direct access to the OS storage
• Local to the K8s node of the Pod
• What database people want
• The K8s anti-pattern
• Shared nothing architecture
• K8s is changing:
• “local” persistent volumes (1.14+)
• OpenEBS Local PV, topoLVM, …
• Cons: scalability
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
45
Storage outside K8s with Postgres replication
Not recommended for
Cloud Native Postgres
Common setup
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
46
Local storage with Postgres replication
Recommended for
Cloud Native Postgres
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
47
Shared-nothing architecture
What database people want
• Rely on dedicated storage of the K8s node
• On-board disks, dedicated DAS or NAS
• High-Performing Network is the only share
• Better resilience of a PostgreSQL cluster
• Postgres instances spread over multiple K8s nodes
• Also in different availability zones of the same region
• Pod uses local storage from the K8s nodes it runs on
• Consider latency with applications
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
48
Local storage benchmarks
Our team pioneered local storage use case in K8s
• Public benchmarks, released in May 2020
• Goal: publish an updated version as EDB
• Bare metal
• bonnie++ from OS on directly attached storage
• Kubernetes
• Local storage: OpenEBS Local PV using hostpath
• Network storage: OpenEBS cStor via iSCSI
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
49
Local storage benchmarks scenario
• Kubernetes 1.18 cluster:
• Dedicated rackspace
• 3 Kubernetes master nodes
• 4 Kubernetes worker nodes:
• 16 cores - 128GB of RAM
• OS volume: 2x 240 GB SSD, HW RAID 1 (BBU cache)
• App data volume: 2x 3.84 TB SSD, HW RAID 1 (BBU cache)
• High performing dedicated private network
• Dual 10Gb/s NICs in bonding
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
50
Storage Benchmarks Results
Workload Disks (manufacturer spec) Bare metal OpenEBS Local
(Persistent)
OpenEBS cStor (Pool)
Sequential
reads
Up to 550MB/s 1000MB/s 964MB/s
(-3.6%)
54MB/s
(-96.4%)
Sequential
writes
Up to 530MB/s 500MB/s 496MB/s
(-0.8%)
54MB/s
(-89.2%)
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
51
PostgreSQL benchmarks
• Cloud Native PostgreSQL
• Using pgbench
• OLTP like benchmarks results:
• 4.2k tps on bare metal
• 3.8k tps on K8s with OpenEBS Local PV (-10%)
• See the diagram on the right
• 500 tps on K8s with OpenEBS cStor
• Comparable to typical scenarios
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
52
A new frontier
• Performance on local storage close to bare metal
• Minimal impact of containers
• We used OpenEBS LocalPV
• Kubernetes is investing in local storage scenarios
• Get the best of the two worlds:
• Cloud Native and Kubernetes benefits
• Workloads business continuity
• High performance
• When needed by some PostgreSQL database workloads (VLDB)
Conclusions
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
54
There’s more coming …
• Observability
• Monitoring with a native
Prometheus exporter (Q1/2021)
• Logging (Fluentbit/Fluentd)
• Pooling
• pgBouncer support
• Replica cluster
• PostgreSQL online upgrades
• Major versions via logical
replication
• Backup
• Barman operator
• Snapshots
• Kubernetes Federation
• Multi-cluster Kubernetes
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
55
Evaluate it now!
Operator with PostgreSQL Operator with EDB Postgres Advanced
• No trial license key required
• No reconciliation attempt after 30d
• From the creation of each Postgres
cluster
• A trial license key is required
• Expiry date = 60d from license request
• No reconciliation attempt after expiry date
Start at docs.enterprisedb.io
© Copyright EnterpriseDB Corporation, 2021. All rights reserved.
56
Why Cloud Native PostgreSQL?
• PostgreSQL/Kubernetes
• Applications co-exist in the same system
• PostgreSQL databases are applications (workloads)
• Business Continuity
• PostgreSQL cluster is always up
• Auto pilot mode
• Complexity for HA is entirely hidden
• Services are the only interface for Applications
• Focus on applications and velocity
• Retain full control of your data
Demo + Q & A

More Related Content

What's hot

Cloud Native PostgreSQL
Cloud Native PostgreSQLCloud Native PostgreSQL
Cloud Native PostgreSQLEDB
 
EDB & ELOS Technologies - Break Free from Oracle
EDB & ELOS Technologies - Break Free from OracleEDB & ELOS Technologies - Break Free from Oracle
EDB & ELOS Technologies - Break Free from OracleEDB
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB
 
Szabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításábólSzabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításábólEDB
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and DjangoEDB
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
Migration DB2 to EDB - Project Experience
 Migration DB2 to EDB - Project Experience Migration DB2 to EDB - Project Experience
Migration DB2 to EDB - Project ExperienceEDB
 
Migrate Today: Proactive Steps to Unhook from Oracle
Migrate Today: Proactive Steps to Unhook from OracleMigrate Today: Proactive Steps to Unhook from Oracle
Migrate Today: Proactive Steps to Unhook from OracleEDB
 
PostgreSQL continuous backup and PITR with Barman
 PostgreSQL continuous backup and PITR with Barman PostgreSQL continuous backup and PITR with Barman
PostgreSQL continuous backup and PITR with BarmanEDB
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...EDB
 
Postgres Deployment Automation with Terraform and Ansible
 Postgres Deployment Automation with Terraform and Ansible Postgres Deployment Automation with Terraform and Ansible
Postgres Deployment Automation with Terraform and AnsibleEDB
 
Best Practices & Lessons Learned from Deployment of PostgreSQL
 Best Practices & Lessons Learned from Deployment of PostgreSQL Best Practices & Lessons Learned from Deployment of PostgreSQL
Best Practices & Lessons Learned from Deployment of PostgreSQLEDB
 
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres DayZero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres DayEDB
 
Webinar: Managing Postgres at Scale
Webinar: Managing Postgres at ScaleWebinar: Managing Postgres at Scale
Webinar: Managing Postgres at ScaleEDB
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationEDB
 
Whats New in Postgres 12
Whats New in Postgres 12Whats New in Postgres 12
Whats New in Postgres 12EDB
 
EDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 WebinarEDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 WebinarEDB
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQLUn guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQLEDB
 
Les nouveautés d'EDB Postgres 11
Les nouveautés d'EDB Postgres 11Les nouveautés d'EDB Postgres 11
Les nouveautés d'EDB Postgres 11EDB
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolEDB
 

What's hot (20)

Cloud Native PostgreSQL
Cloud Native PostgreSQLCloud Native PostgreSQL
Cloud Native PostgreSQL
 
EDB & ELOS Technologies - Break Free from Oracle
EDB & ELOS Technologies - Break Free from OracleEDB & ELOS Technologies - Break Free from Oracle
EDB & ELOS Technologies - Break Free from Oracle
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
 
Szabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításábólSzabaduljon ki az Oracle szorításából
Szabaduljon ki az Oracle szorításából
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and Django
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Migration DB2 to EDB - Project Experience
 Migration DB2 to EDB - Project Experience Migration DB2 to EDB - Project Experience
Migration DB2 to EDB - Project Experience
 
Migrate Today: Proactive Steps to Unhook from Oracle
Migrate Today: Proactive Steps to Unhook from OracleMigrate Today: Proactive Steps to Unhook from Oracle
Migrate Today: Proactive Steps to Unhook from Oracle
 
PostgreSQL continuous backup and PITR with Barman
 PostgreSQL continuous backup and PITR with Barman PostgreSQL continuous backup and PITR with Barman
PostgreSQL continuous backup and PITR with Barman
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
 
Postgres Deployment Automation with Terraform and Ansible
 Postgres Deployment Automation with Terraform and Ansible Postgres Deployment Automation with Terraform and Ansible
Postgres Deployment Automation with Terraform and Ansible
 
Best Practices & Lessons Learned from Deployment of PostgreSQL
 Best Practices & Lessons Learned from Deployment of PostgreSQL Best Practices & Lessons Learned from Deployment of PostgreSQL
Best Practices & Lessons Learned from Deployment of PostgreSQL
 
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres DayZero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
Zero-to-hero: Running Postgres in Kubernetes, Enterprise Postgres Day
 
Webinar: Managing Postgres at Scale
Webinar: Managing Postgres at ScaleWebinar: Managing Postgres at Scale
Webinar: Managing Postgres at Scale
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
 
Whats New in Postgres 12
Whats New in Postgres 12Whats New in Postgres 12
Whats New in Postgres 12
 
EDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 WebinarEDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 Webinar
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQLUn guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
 
Les nouveautés d'EDB Postgres 11
Les nouveautés d'EDB Postgres 11Les nouveautés d'EDB Postgres 11
Les nouveautés d'EDB Postgres 11
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic Tool
 

Similar to Cloud Native PostgreSQL - APJ

Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2Ashnikbiz
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataMarketingArrowECS_CZ
 
Hybrid cloud openstack meetup
Hybrid cloud openstack meetupHybrid cloud openstack meetup
Hybrid cloud openstack meetupdfilppi
 
Running secured Spark job in Kubernetes compute cluster and integrating with ...
Running secured Spark job in Kubernetes compute cluster and integrating with ...Running secured Spark job in Kubernetes compute cluster and integrating with ...
Running secured Spark job in Kubernetes compute cluster and integrating with ...DataWorks Summit
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes InternalsShimi Bandiel
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMwareVMUG IT
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsKublr
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Krishna-Kumar
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna KumarCodeOps Technologies LLP
 
IBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec Kubernetes
IBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec KubernetesIBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec Kubernetes
IBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec KubernetesIBM France Lab
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGabriel Carro
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Vietnam Open Infrastructure User Group
 
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Building Cloud-Native Applications with Kubernetes, Helm and KubelessBuilding Cloud-Native Applications with Kubernetes, Helm and Kubeless
Building Cloud-Native Applications with Kubernetes, Helm and KubelessBitnami
 
Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018Jonathan Katz
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...DataWorks Summit
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDStfalcon Meetups
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018Patrick Chanezon
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesJuarez Junior
 
Google container engine (GKE)
Google container engine (GKE)Google container engine (GKE)
Google container engine (GKE)Md. Sadhan Sarker
 

Similar to Cloud Native PostgreSQL - APJ (20)

Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
 
Hybrid cloud openstack meetup
Hybrid cloud openstack meetupHybrid cloud openstack meetup
Hybrid cloud openstack meetup
 
Moby KubeCon 2017
Moby KubeCon 2017Moby KubeCon 2017
Moby KubeCon 2017
 
Running secured Spark job in Kubernetes compute cluster and integrating with ...
Running secured Spark job in Kubernetes compute cluster and integrating with ...Running secured Spark job in Kubernetes compute cluster and integrating with ...
Running secured Spark job in Kubernetes compute cluster and integrating with ...
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
 
Centralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container OperationsCentralizing Kubernetes and Container Operations
Centralizing Kubernetes and Container Operations
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
 
IBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec Kubernetes
IBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec KubernetesIBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec Kubernetes
IBM Bluemix Nice meetup #5 - 20170504 - Orchestrer Docker avec Kubernetes
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
 
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Building Cloud-Native Applications with Kubernetes, Helm and KubelessBuilding Cloud-Native Applications with Kubernetes, Helm and Kubeless
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
 
Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CD
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
 
Google container engine (GKE)
Google container engine (GKE)Google container engine (GKE)
Google container engine (GKE)
 

More from EDB

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSEDB
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenEDB
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube EDB
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EDB
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLEDB
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLEDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?EDB
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLEDB
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresEDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINEDB
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQLEDB
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLEDB
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!EDB
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesEDB
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoEDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
All you need to know about CREATE STATISTICS
All you need to know about CREATE STATISTICSAll you need to know about CREATE STATISTICS
All you need to know about CREATE STATISTICSEDB
 
A Review of PostgreSQL Replication Approaches - APJ
A Review of PostgreSQL Replication Approaches - APJA Review of PostgreSQL Replication Approaches - APJ
A Review of PostgreSQL Replication Approaches - APJEDB
 
Beginner's Guide to High Availability for Postgres - French
Beginner's Guide to High Availability for Postgres - FrenchBeginner's Guide to High Availability for Postgres - French
Beginner's Guide to High Availability for Postgres - FrenchEDB
 

More from EDB (20)

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQL
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQL
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
All you need to know about CREATE STATISTICS
All you need to know about CREATE STATISTICSAll you need to know about CREATE STATISTICS
All you need to know about CREATE STATISTICS
 
A Review of PostgreSQL Replication Approaches - APJ
A Review of PostgreSQL Replication Approaches - APJA Review of PostgreSQL Replication Approaches - APJ
A Review of PostgreSQL Replication Approaches - APJ
 
Beginner's Guide to High Availability for Postgres - French
Beginner's Guide to High Availability for Postgres - FrenchBeginner's Guide to High Availability for Postgres - French
Beginner's Guide to High Availability for Postgres - French
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Cloud Native PostgreSQL - APJ

  • 1. … and where do you plan to be in the future? Where are you now in your Cloud Native journey with Kubernetes?
  • 2. How do you “feel” about using Kubernetes for both stateless applications and database workloads with PostgreSQL?
  • 3. Cloud Native PostgreSQL Gabriele Bartolini, VP of Cloud Native APJ Webinar 18 March 2021
  • 4. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 4 Introducing Gabriele Bartolini • Based in Prato (Tuscany, Italy) • PostgreSQL user since ~2000 • Community member since 2006 • Co-founder of PostgreSQL Europe • 2ndQuadrant, from 2008 to 2020 • Co-founder • Head of Global Support • Cloud Native Initiative Lead • Founding member of Barman • Now with EDB
  • 5. Kubernetes Patterns, Ibryam and Huß, O’Reilly (about Cloud Native) “Principles, Patterns, Tools to automate containerized microservices at scale”
  • 6. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 6 Agenda page • General information • Architectures • Operator capabilities • Configuration • Storage for Postgres workloads in Kubernetes • Conclusions
  • 8. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 8 The largest dedicated PostgreSQL company • More customers: Than any dedicated PostgreSQL company • More experts: Leading PostgreSQL contributors • More innovation: Positioned to lead in enterprise PostgreSQL and hybrid cloud EDB acquires 2ndQuadrant in Sept 2020 +
  • 9. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 9 EDB and Kubernetes • Kubernetes Certified Service Provider (KCSP) • First PostgreSQL Company to reach this status • Silver Member of CNCF & Linux Foundation • Red Hat Certified Kubernetes Operators • Cloud Native PostgreSQL (aka PostgreSQL Operator) • Cloud Native BDR (aka BDR Operator)
  • 10. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 10 Cloud Native Postgres and BDR EDB products in Cloud Native • Operators for Kubernetes • Written in Go language, like Kubernetes • Designed for Kubernetes • Fully integrated with Kubernetes API server • No requirements for tools designed for traditional contexts • Repmgr, Patroni, Stolon, Failover Manager • Immutable application containers for: • PostgreSQL 10+ or EDB Postgres Advanced 10+ • BDR
  • 11. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 11 What’s a Kubernetes operator? • A Kubernetes operator automates actions of a human being, in a programmatic way • A PostgreSQL cluster is a complex application • Deployment and configuration • Failure detection and Failover • Updates and switchovers • Backup and Recovery • Relies on Kubernetes’ native components and capabilities: • Self-healing, high availability, scalability, resource control, access, … • Declarative and fully automated Extends Kubernetes controller and defines how a complex application works
  • 12. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 12 Imperative vs Declarative Imperative Declarative • Create a PostgreSQL 13 instance • Configure for replication • Clone a second one • Set it as a replica • Clone a third one • Set it as a replica There’s a PostgreSQL 13 cluster with 2 replicas (At any time)
  • 13. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 13 States in Kubernetes • Definition of the desired state of an object and the overall infrastructure as configuration • Reconciliation loops: • Current state of the infrastructure matches the desired one • If not, the operator reacts to restore the desired state • Foundation of self-healing The role of the Kubernetes controller
  • 14. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 14 Desired state Actual state RW RW
  • 15. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 15 Cloud Native PostgreSQL is aka CNP Cloud Native PostgreSQL in a nutshell • Operator for Kubernetes • Written in Go Language, like Kubernetes • Implements Primary/Standby architecture • Works with both: • PostgreSQL 10+ • EDB Postgres Advanced 10+ • Container images are hosted on Quay.io • Generally Available (BIS EAR) • EDB Limited Use License • Documentation • docs.enterprisedb.io
  • 16. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 16 Container images All Container images are based on RedHat UBI 8 • Operator Container image • EDB Limited Use License • Operand Container images (Postgres Application) • PostgreSQL: • The Postgres License (PostgreSQL) • GNU GPL 3 (Barman Cloud) • EDB Postgres Advanced Server: • EDB Limited Use License
  • 17. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 17 Target Cloud environments • Private Cloud (self-managed): • Kubernetes 1.16+ • OpenShift 4.5+ • Public Cloud (provider-managed): • Microsoft Azure (AKS) - 2021/Q1 • Amazon Web Services (EKS) - 2021/Q2 • Google Cloud (GKE) - 2021/Q2 • Hybrid Cloud and Multicloud Run Postgres wherever Kubernetes runs
  • 18. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 18 Designed for Kubernetes • Fully integrated with Kubernetes API server • No external tool required • Repmgr, Patroni, Stolon • Immutable Application Containers • Running PostgreSQL only • Very light • Declarative configuration • Relies on “kubectl” - official Kubernetes client command line tool • YAML manifest • Infrastructure as Code (IaC)
  • 20. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 20 System architectures Main classification is based on where the application reside Use case 1: Application and Database in K8s Use case 2: Application outside K8s
  • 21. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 22 PostgreSQL cluster architecture • One PostgreSQL primary • Zero or more hot standby servers • PostgreSQL native streaming replication • Async (default) and Sync (quorum-based) • Required for HA • Transparent support for pg_rewind • Provides apps with two K8s Services: • -rw suffix (read-write workloads) • -ro suffix (read-only workloads) • -r suffix (read workloads)
  • 22. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 23 Read-write workloads (“-rw” service) Kubernetes service for the PostgreSQL Primary App App App PostgreSQL Primary PostgreSQL Standby PostgreSQL Standby
  • 23. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 24 Read-only workloads (“-ro” service) Kubernetes service for the PostgreSQL Read-Only operations App App App PostgreSQL Primary PostgreSQL Standby PostgreSQL Standby Random
  • 24. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 25 Read workloads (“-r” service) Kubernetes service for the PostgreSQL Read operations App App App PostgreSQL Primary PostgreSQL Standby PostgreSQL Standby Random
  • 26. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 27 The “Operator Capability Levels” Framework Defined by Operator SDK (RedHat) - source sdk.operatorframework.io/docs/ CNP users can currently expect "Level III - Full Lifecycle"
  • 27. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 28 Cluster management • Self-healing capabilities • Probes for liveness and readiness • Failover of the primary • Automated creation of a replica • Planned switchover of the primary • Promotion of a selected replica • Rolling updates • Scale up/down capabilities
  • 28. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 29 Storage management • Support for Persistent Volume Claims (PVC) • Automatic generation of PVC • Support for PVC templates • Reuse of storage for Pods in the same cluster • Storage classes • Freedom of choice • Local storage • Network storage
  • 29. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 30 Rolling updates • Update of a deployment with zero downtime • Incremental update of Pod instances with new ones • Standby servers are updated first • Then the primary, following a switchover • supervised / unsupervised • When they are triggered: • Update of the operator • Minor update of PostgreSQL • Configuration changes when restart is required • Reason why we did not use replicasets or statefulsets
  • 30. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 31 Security • 4C security model • Cloud, Cluster, Container, Code • Pod Security Policies and Security Contexts • No privileged (root) mode required for containers • No privileged (root) mode for volume access • TLS encrypted connections • Creation of PostgreSQL secrets • Static code analysis • Linters and Coverity Scan
  • 31. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 32 About TLS (ex-SSL) support • Native and fully automated • Certification authority for the Operator • Certification authority for each Postgres cluster • TLS connections enabled by default • Client authentication based on TLS certificates • “kubectl cnp” plugin to issue client certificates • Out of the box for standby streaming replication
  • 32. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 33 Continuous physical backup • Scheduled and on-demand • Initial support for object stores (S3 compatible) • Public clouds • Private clouds (e.g. MinIO) • Rely on Barman Cloud technology • barman-cloud-wal-archive • barman-cloud-backup
  • 33. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 34 Recovery • Create a new cluster from a backup • Restore the base backup • Full or PITR • Pull and replay backup WAL files • Rely on Barman Cloud technology • barman-cloud-restore • barman-cloud-wal-restore
  • 35. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 36 Custom Resource Definition (CRD) • “Cluster” resource • Extends the Kubernetes controller • Responsible for the deployment • “instances” parameter • number of PostgreSQL instances in the cluster • hot standby replicas = instances - 1 • Supports Async and Sync replication for RPO=0
  • 36. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 37 Convention over configuration apiVersion: postgresql.k8s.enterprisedb.io/v1 kind: Cluster metadata: name: myapp-db spec: instances: 3 imageName: quay.io/enterprisedb/postgresql:13.2 storage: size: 10Gi
  • 37. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 38 Declarative deployment # Install the operator in the cluster kubectl apply -f <OPERATOR_MANIFEST_URL> # Deploy the cluster (declarative) kubectl apply -f myapp-cluster.yaml
  • 38. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 39 PostgreSQL configuration Refer to “PostgreSQL configuration” for details apiVersion: postgresql.k8s.enterprisedb.io/v1 kind: Cluster metadata: name: cluster-example spec: instances: 3 postgresql: parameters: work_mem: "8MB" # … # ...
  • 39. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 40 Synchronous replication apiVersion: postgresql.k8s.enterprisedb.io/v1 kind: Cluster metadata: name: cluster-example spec: instances: 3 minSyncReplicas: 1 maxSyncReplicas: 2 storage: size: 1Gi Refer to “Streaming replication overview” for details
  • 40. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 41 Plugin for kubectl kubectl cnp status cluster-example Cluster in healthy state Name: cluster-example Namespace: default PostgreSQL Image: quay.io/enterprisedb/postgresql:13 Primary instance: cluster-example-1 Instances: 3 Ready instances: 3 Instances status Pod name Current LSN Received LSN Replay LSN System ID Primary Replicating Replay paused Pending restart -------- ----------- ------------ ---------- --------- ------- ----------- ------------- --------------- cluster-example-1 0/6000060 6927251808674721812 ✓ ✗ ✗ ✗ cluster-example-2 0/6000060 0/6000060 6927251808674721812 ✗ ✓ ✗ ✗ cluster-example-3 0/6000060 0/6000060 6927251808674721812 ✗ ✓ ✗ ✗ Refer to “Streaming replication overview” for details
  • 42. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 43 Required capabilities Expected capabilities: • Availability • Scalability • Performance • Consistency • Durability Storage is critical in database contexts
  • 43. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 44 Storage architectures in Kubernetes (simplified) Network storage Local storage • Access via network • The K8s pattern • Storage location options: • Outside K8s (e.g. NFS) • Inside K8s (e.g. Portworx) • Data replication options: • File level (K8s way) • Application level (Postgres way) • Cons: throughput and latency • Direct access to the OS storage • Local to the K8s node of the Pod • What database people want • The K8s anti-pattern • Shared nothing architecture • K8s is changing: • “local” persistent volumes (1.14+) • OpenEBS Local PV, topoLVM, … • Cons: scalability
  • 44. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 45 Storage outside K8s with Postgres replication Not recommended for Cloud Native Postgres Common setup
  • 45. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 46 Local storage with Postgres replication Recommended for Cloud Native Postgres
  • 46. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 47 Shared-nothing architecture What database people want • Rely on dedicated storage of the K8s node • On-board disks, dedicated DAS or NAS • High-Performing Network is the only share • Better resilience of a PostgreSQL cluster • Postgres instances spread over multiple K8s nodes • Also in different availability zones of the same region • Pod uses local storage from the K8s nodes it runs on • Consider latency with applications
  • 47. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 48 Local storage benchmarks Our team pioneered local storage use case in K8s • Public benchmarks, released in May 2020 • Goal: publish an updated version as EDB • Bare metal • bonnie++ from OS on directly attached storage • Kubernetes • Local storage: OpenEBS Local PV using hostpath • Network storage: OpenEBS cStor via iSCSI
  • 48. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 49 Local storage benchmarks scenario • Kubernetes 1.18 cluster: • Dedicated rackspace • 3 Kubernetes master nodes • 4 Kubernetes worker nodes: • 16 cores - 128GB of RAM • OS volume: 2x 240 GB SSD, HW RAID 1 (BBU cache) • App data volume: 2x 3.84 TB SSD, HW RAID 1 (BBU cache) • High performing dedicated private network • Dual 10Gb/s NICs in bonding
  • 49. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 50 Storage Benchmarks Results Workload Disks (manufacturer spec) Bare metal OpenEBS Local (Persistent) OpenEBS cStor (Pool) Sequential reads Up to 550MB/s 1000MB/s 964MB/s (-3.6%) 54MB/s (-96.4%) Sequential writes Up to 530MB/s 500MB/s 496MB/s (-0.8%) 54MB/s (-89.2%)
  • 50. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 51 PostgreSQL benchmarks • Cloud Native PostgreSQL • Using pgbench • OLTP like benchmarks results: • 4.2k tps on bare metal • 3.8k tps on K8s with OpenEBS Local PV (-10%) • See the diagram on the right • 500 tps on K8s with OpenEBS cStor • Comparable to typical scenarios
  • 51. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 52 A new frontier • Performance on local storage close to bare metal • Minimal impact of containers • We used OpenEBS LocalPV • Kubernetes is investing in local storage scenarios • Get the best of the two worlds: • Cloud Native and Kubernetes benefits • Workloads business continuity • High performance • When needed by some PostgreSQL database workloads (VLDB)
  • 53. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 54 There’s more coming … • Observability • Monitoring with a native Prometheus exporter (Q1/2021) • Logging (Fluentbit/Fluentd) • Pooling • pgBouncer support • Replica cluster • PostgreSQL online upgrades • Major versions via logical replication • Backup • Barman operator • Snapshots • Kubernetes Federation • Multi-cluster Kubernetes
  • 54. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 55 Evaluate it now! Operator with PostgreSQL Operator with EDB Postgres Advanced • No trial license key required • No reconciliation attempt after 30d • From the creation of each Postgres cluster • A trial license key is required • Expiry date = 60d from license request • No reconciliation attempt after expiry date Start at docs.enterprisedb.io
  • 55. © Copyright EnterpriseDB Corporation, 2021. All rights reserved. 56 Why Cloud Native PostgreSQL? • PostgreSQL/Kubernetes • Applications co-exist in the same system • PostgreSQL databases are applications (workloads) • Business Continuity • PostgreSQL cluster is always up • Auto pilot mode • Complexity for HA is entirely hidden • Services are the only interface for Applications • Focus on applications and velocity • Retain full control of your data
  • 56. Demo + Q & A