SlideShare a Scribd company logo
1 of 65
Download to read offline
WHO WANTS A SERVICE
WITH ZERO DOWNTIME?
… EVERYBODY
IS IT THAT GOOD?
NOT JUST TECHNOLOGY.
RISKS, PROCEDURES, PEOPLE
FROM 0 TO ~100:
BUSINESS
CONTINUITY WITH
POSTGRESQL
Gabriele Bartolini
Head of Support @ 2ndQuadrant
PgDay.IT 2017, Milan
2ndquadrant.com
@_GBartolini_ #PGDayIT
ABOUT MYSELF
▸ Open Source passionate and programmer since 1995
▸ First time with Postgres in 1997, regular from ~2000
▸ Lean and DevOps practitioner
▸ Co-Founder of ITPUG and PostgreSQL Europe
▸ Entrepreneur, with 2ndQuadrant since 2008
▸ Co-Author of “PostgreSQL Administration Cookbook”
▸ Came up with the name “Barman”
2ndquadrant.com
@_GBartolini_ #PGDayIT
BUSINESS CONTINUITY
▸ Disaster Recovery
▸ High Availability
▸ Types of disaster/failures
▸ Availability = Uptime / (Uptime + Downtime)
2ndquadrant.com
@_GBartolini_ #PGDayIT
OBJECTIVES
▸ Recovery Point Objective (RPO)
▸ How much data can I afford to lose?
▸ Recovery Time Objective (RTO)
▸ How long will it take me to recover?
2ndquadrant.com
@_GBartolini_ #PGDayIT
SERVICE RELIABILITY
▸ Cost of downtime
▸ How many €/$/£/AUD/…?
▸ Risk management
▸ SLI, SLO and SLA
2ndquadrant.com
@_GBartolini_ #PGDayIT
SOME NOTES FOR THIS PRESENTATION
▸ PostgreSQL on Linux
▸ Servers can be either physical or virtual
▸ Storage must be redundant
▸ RAID is required
▸ VOLUME: redundant disk mounted on a system
LET’S START
0.
ONE POSTGRES SERVER
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
Server name: hope
2ndquadrant.com
@_GBartolini_ #PGDayIT
RECAP
▸ Why is RPO = ∞?
▸ Why is RTO = n/a?
▸ “Hope is not a strategy” (cit. Google)
▸ More common than you’d expect
10.
ONE POSTGRES SERVER
+ LOGICAL BACKUPS
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
Add systematic backups
with pg_dump
LOGICAL
BACKUP LOGICAL
BACKUP
LOGICAL
BACKUP
…
Day 0

4AM
Day -1
4AM
Day -2
4AM
2ndquadrant.com
@_GBartolini_ #PGDayIT
RECAP
▸ How do you feel now?
▸ Still: RPO = ∞ and RTO = n/a. Why?
▸ A backup is valid only if you have tested it
▸ Unfortunately, this is very common
20.
ONE POSTGRES SERVER
+ LOGICAL BACKUPS
+ LOGICAL RESTORES
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
Test your backups
with pg_restore
LOGICAL
BACKUP
Day 0

4AM
2ndquadrant.com
@_GBartolini_ #PGDayIT
DEFINING SOME OBJECTIVES
▸ Measure time for pg_restore
▸ RPO = backup frequency
▸ RTO = maximum time of recovery
▸ Provision another server
▸ Configure another server (automated, right?)
▸ Time to restore the last backup (measure it)
HAVE WE REALLY THOUGHT
ABOUT EVERYTHING?
TIME OF REACTION
2ndquadrant.com
@_GBartolini_ #PGDayIT
RECAP
▸ Can this architecture work for you?
▸ We need reliable monitoring
▸ From now on, we assume we have it in place!
▸ We need to reduce both RPO and RTO
HOW?
POINT-IN-TIME-RECOVERY
2ndquadrant.com
@_GBartolini_ #PGDayIT
POSTGRESQL’S PITR
▸ Part of core (fully open source)
▸ Rebuild a cluster at a point in time
▸ From crash recovery to sync streamrep (physical/logical)
▸ RPO = 0 (zero data loss)
▸ Hot base backup, continuous WAL archiving, Recovery
▸ API
2ndquadrant.com
@_GBartolini_ #PGDayIT
BASIC CONCEPTS
▸ Continuous copy of WAL data (continuous archiving)
▸ Physical base backups
▸ Recovery:
▸ copy base backup to another location
▸ recovery mode (replay of WALs until target)
2ndquadrant.com
@_GBartolini_ #PGDayIT
BARMAN
▸ In this presentation: Barman 2.3
▸ Open Source (GNU GPL 3)
▸ Written in Python
▸ Developed and maintained by 2ndQuadrant
▸ Available at www.pgbarman.org
40.
ONE POSTGRES SERVER
+ ONE BARMAN SERVER
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
Continuous backup
2ndquadrant.com
@_GBartolini_ #PGDayIT
BASIC CONCEPTS
▸ Remote backup and recovery
▸ Multiple server management
▸ Backup catalogue and WAL archive
▸ Retention policies
2ndquadrant.com
@_GBartolini_ #PGDayIT
COPY METHOD
▸ PostgreSQL streaming
▸ Practical/Windows/Docker
▸ Rsync/SSH
▸ Incremental backup and recovery (via hard links)
▸ Parallel backup and recovery
▸ Network compression and bandwidth limitation
2ndquadrant.com
@_GBartolini_ #PGDayIT
WAL SHIPPING METHOD
▸ “archiving”, through “archive_command”:
▸ RPO ~ 16MB of WAL data, or
▸ “archive_timeout”
▸ “streaming”, through streaming replication:
▸ “pg_receivewal” or “pg_receivexlog”
▸ continuous stream, RPO ~ 0
▸ PostgreSQL 9.2+ required
2ndquadrant.com
@_GBartolini_ #PGDayIT
EXAMPLE FROM POSTGRESQL.CONF
archive_mode = on
wal_level = logical
max_wal_senders = 10
max_replication_slots = 10
archive_command = 'rsync -a %p
barman@HOST:/var/lib/barman/ID/incoming'
2ndquadrant.com
@_GBartolini_ #PGDayIT
EXAMPLE FROM BARMAN.CONF
[angus]
description = “Angus Young database"
ssh_command = ssh postgres@angus
conninfo = user=barman-acdc dbname=postgres host=angus
retention_policy = RECOVERY WINDOW OF 6 MONTHS
copy_method = rsync
reuse_backup = link
parallel_jobs = 4
archiver = true
streaming_archiver = true
slot_name = barman_streaming_acdc
2ndquadrant.com
@_GBartolini_ #PGDayIT
RECAP
▸ How do you feel now?
▸ Still: RPO = ∞ and RTO = n/a. Why?
▸ A backup is valid only if you have tested it
▸ Barman reduces backup risks, does not exclude them
▸ Systematic tests (especially custom scripts)
▸ Business risk is very high
60.
ONE POSTGRES SERVER
+ ONE BARMAN SERVER
+ ONE RECOVERY SERVER
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
Test your backups
with barman recover
WHAT A WASTE!
TESTING OR BI?
HAVE YOU EVER THOUGHT OF USING IT FOR
2ndquadrant.com
@_GBartolini_ #PGDayIT
HOOK SCRIPTS
▸ Barman has hook scripts:
▸ pre and post backup
▸ pre and post archiving
▸ with retry option (until the script returns SUCCESS)
2ndquadrant.com
@_GBartolini_ #PGDayIT
EXAMPLE OF RECOVERY SCRIPT
▸ Write a bash script that:
▸ connects to a remote server via SSH
▸ stops the PostgreSQL server
▸ issues a “barman recover” with target “immediate”
▸ starts the PostgreSQL
▸ Set it as post-backup script
2ndquadrant.com
@_GBartolini_ #PGDayIT
SOME FOOD FOR THOUGHT
▸ Outcomes:
▸ Systematically test your backup
▸ Measure your recovery time
▸ Identical server? This is a backup server ready to start
▸ You can use a different data centre
▸ Be creative, PostgreSQL gives you infinite freedom!
2ndquadrant.com
@_GBartolini_ #PGDayIT
RECAP
▸ RPO ~ 0 (your backups work, every time)
▸ RTO = Time of reaction + Recovery time
▸ Example: RPO ~0 and RTO < 1 day
▸ Acceptable or not acceptable?
▸ Entry level architecture for business continuity
▸ Priority now: improve RTO
HOW?
REPLICATION
2ndquadrant.com
@_GBartolini_ #PGDayIT
POSTGRESQL’S REPLICATION
▸ Part of core (fully open source)
▸ One master, multiple standby servers
▸ Evolution of PITR
▸ Standby server is in continuous recovery mode
▸ Hot standby (read-only)
▸ Both streaming (9.0+) and file based pulling of WAL
▸ Cascading from a standby
2ndquadrant.com
@_GBartolini_ #PGDayIT
SYNCHRONOUS REPLICATION
▸ Fine control (from global down to transaction level)
▸ 2-safe replication
▸ COMMIT of a write transactions waits until written on
both the master and a standby (or more from 9.6)
▸ More than a synchronous client is required
▸ Read consistency of a cluster
▸ RPO = 0 (zero data loss)
80.
TWO POSTGRES SERVERS
+ ONE BARMAN SERVER
+ ONE RECOVERY SERVER
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
barman_restore_wal
barman recover
Symmetric Cluster
master standbyANGUS MALCOLM
2ndquadrant.com
@_GBartolini_ #PGDayIT
EXCERPT FROM POSTGRESQL’S CONFIGURATION
postgresql.conf:
hot_standby = on
recovery.conf:
standby_mode = ‘on'
# Streaming
primary_conninfo = 'host=angus user=replica application_name=ha
sslmode=require’
# Fallback via Barman
restore_command = 'barman-wal-restore -U barman acdc angus %f %p'
2ndquadrant.com
@_GBartolini_ #PGDayIT
SWITCHOVER (PLANNED)
▸ Applications are paused (start of downtime)
▸ Shut down the master
▸ Allow the standby to catch up with the master
▸ Promote the standby
▸ Switch virtual IPs
▸ Resume applications (end of downtime)
▸ Reconfigure the former master as standby
2ndquadrant.com
@_GBartolini_ #PGDayIT
FAILOVER (UNPLANNED)
▸ The master is down (start of downtime)
▸ Promote the standby
▸ Change the virtual IP
▸ DEGRADED SYSTEM
2ndquadrant.com
@_GBartolini_ #PGDayIT
MANUAL SWITCHOVER AND FAILOVER
▸ Manual switchover != manual switchover procedure
▸ Manual switchover = manually triggered
▸ Automate the procedure!!!
▸ bash (good)
▸ Ansible (better)
▸ Enhance gradually
2ndquadrant.com
@_GBartolini_ #PGDayIT
RECAP
▸ RPO ~ 0 (your backups work, every time)
▸ RTO = Time of reaction + Time of promotion
▸ Criticality: manual intervention
▸ Reliable monitoring
▸ Trained people (practice & docs!)
2ndquadrant.com
@_GBartolini_ #PGDayIT
MANUAL FAILOVER VS AUTOMATED FAILOVER
▸ Risk management
▸ Split brain nightmare
▸ Automated is built on manual (test!)
▸ Your choice
▸ Very good solution for business continuity
▸ Uptime > 99.99% in a year
90.
TWO POSTGRES SYNC SERVERS
+ ONE BARMAN SERVER
+ ONE RECOVERY SERVER
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
barman_restore_wal
barman recover
Potential synchronous
Synchronous
ZERO DATA LOSS
2ndquadrant.com
@_GBartolini_ #PGDayIT
SYNCHRONOUS REPLICATION
▸ Primary: Barman
▸ Zero data loss backup
▸ Primary: Standby
▸ Zero data loss cluster (reduce RTO)
▸ Just one configuration line in PostgreSQL
▸ synchronous_standby_names = '1 (ha, barman_receive_wal)'
~100.
TWO POSTGRES SYNC SERVERS
+ ONE BARMAN SERVER
+ ONE RECOVERY SERVER
+ REPMGR (AUTO-FAILOVER)
2ndquadrant.com
@_GBartolini_ #PGDayIT
ARCHITECTURE
Potential synchronous
Synchronous
repmgr repmgr
repmgr witness
WHAT’S MORE?
2ndquadrant.com
@_GBartolini_ #PGDayIT
PUSH THE BOUNDARIES
▸ Repeatable architectures
▸ PgBouncer
▸ Virtual IPs
▸ S3 relay via Barman hook scripts
▸ Multiple standby servers and cascading replication
▸ Docker containers
▸ Logical replication backups
2ndquadrant.com
@_GBartolini_ #PGDayIT
CONCLUSIONS
▸ Babysteps and KISS
▸ New? Explore and learn
▸ Practice is the only way to mastery (drills)
▸ Plan regular healthy downtimes
▸ Use switchovers to perform PostgreSQL updates
▸ Smart downtimes increase long-term uptime
2ndquadrant.com
@_GBartolini_ #PGDayIT
ANY QUESTIONS?
▸ PostgreSQL: www.postgresql.org
▸ Barman: www.pgbarman.org
▸ Barman Cli: github.com/2ndquadrant-it/barman-cli
▸ PgBouncer: pgbouncer.github.io
▸ Repmgr: www.repmgr.org
▸ Our blog: blog.2ndquadrant.com
2ndquadrant.com
@_GBartolini_ #PGDayIT
LICENCE
Attribution 4.0 International (CC BY 4.0)
You are free to:
▸ Share — copy and redistribute the material in any medium or
format
▸ Adapt — remix, transform, and build upon the material for any
purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow
the license terms.

More Related Content

What's hot

Ceph Day New York 2014: Future of CephFS
Ceph Day New York 2014:  Future of CephFS Ceph Day New York 2014:  Future of CephFS
Ceph Day New York 2014: Future of CephFS Ceph Community
 
GlusterFS CTDB Integration
GlusterFS CTDB IntegrationGlusterFS CTDB Integration
GlusterFS CTDB IntegrationEtsuji Nakai
 
Gluster overview & future directions vault 2015
Gluster overview & future directions vault 2015Gluster overview & future directions vault 2015
Gluster overview & future directions vault 2015Vijay Bellur
 
What's new in Jewel and Beyond
What's new in Jewel and BeyondWhat's new in Jewel and Beyond
What's new in Jewel and BeyondSage Weil
 
Ceph at Work in Bloomberg: Object Store, RBD and OpenStack
Ceph at Work in Bloomberg: Object Store, RBD and OpenStackCeph at Work in Bloomberg: Object Store, RBD and OpenStack
Ceph at Work in Bloomberg: Object Store, RBD and OpenStackRed_Hat_Storage
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBayAliasgar Ginwala
 
What's new in Luminous and Beyond
What's new in Luminous and BeyondWhat's new in Luminous and Beyond
What's new in Luminous and BeyondSage Weil
 
Ceph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross TurkCeph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross Turkbuildacloud
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Community
 
Lisa 2015-gluster fs-hands-on
Lisa 2015-gluster fs-hands-onLisa 2015-gluster fs-hands-on
Lisa 2015-gluster fs-hands-onGluster.org
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDBSage Weil
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HAharoonm
 
Elephants in the Cloud
Elephants in the CloudElephants in the Cloud
Elephants in the CloudMike Fowler
 
Keeping OpenStack storage trendy with Ceph and containers
Keeping OpenStack storage trendy with Ceph and containersKeeping OpenStack storage trendy with Ceph and containers
Keeping OpenStack storage trendy with Ceph and containersSage Weil
 
Health Check Your DB2 UDB For Z/OS System
Health Check Your DB2 UDB For Z/OS SystemHealth Check Your DB2 UDB For Z/OS System
Health Check Your DB2 UDB For Z/OS Systemsjreese
 
The State of Ceph, Manila, and Containers in OpenStack
The State of Ceph, Manila, and Containers in OpenStackThe State of Ceph, Manila, and Containers in OpenStack
The State of Ceph, Manila, and Containers in OpenStackSage Weil
 
Geographically Distributed PostgreSQL
Geographically Distributed PostgreSQLGeographically Distributed PostgreSQL
Geographically Distributed PostgreSQLmason_s
 
Live migration: pros, cons and gotchas -- Pavel Emelyanov
Live migration: pros, cons and gotchas -- Pavel EmelyanovLive migration: pros, cons and gotchas -- Pavel Emelyanov
Live migration: pros, cons and gotchas -- Pavel EmelyanovOpenVZ
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephSage Weil
 

What's hot (20)

Ceph Day New York 2014: Future of CephFS
Ceph Day New York 2014:  Future of CephFS Ceph Day New York 2014:  Future of CephFS
Ceph Day New York 2014: Future of CephFS
 
GlusterFS CTDB Integration
GlusterFS CTDB IntegrationGlusterFS CTDB Integration
GlusterFS CTDB Integration
 
Gluster overview & future directions vault 2015
Gluster overview & future directions vault 2015Gluster overview & future directions vault 2015
Gluster overview & future directions vault 2015
 
What's new in Jewel and Beyond
What's new in Jewel and BeyondWhat's new in Jewel and Beyond
What's new in Jewel and Beyond
 
Ceph at Work in Bloomberg: Object Store, RBD and OpenStack
Ceph at Work in Bloomberg: Object Store, RBD and OpenStackCeph at Work in Bloomberg: Object Store, RBD and OpenStack
Ceph at Work in Bloomberg: Object Store, RBD and OpenStack
 
OVN operationalization at scale at eBay
OVN operationalization at scale at eBayOVN operationalization at scale at eBay
OVN operationalization at scale at eBay
 
What's new in Luminous and Beyond
What's new in Luminous and BeyondWhat's new in Luminous and Beyond
What's new in Luminous and Beyond
 
Ceph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross TurkCeph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross Turk
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOcean
 
Lisa 2015-gluster fs-hands-on
Lisa 2015-gluster fs-hands-onLisa 2015-gluster fs-hands-on
Lisa 2015-gluster fs-hands-on
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
 
Elephants in the Cloud
Elephants in the CloudElephants in the Cloud
Elephants in the Cloud
 
Keeping OpenStack storage trendy with Ceph and containers
Keeping OpenStack storage trendy with Ceph and containersKeeping OpenStack storage trendy with Ceph and containers
Keeping OpenStack storage trendy with Ceph and containers
 
Health Check Your DB2 UDB For Z/OS System
Health Check Your DB2 UDB For Z/OS SystemHealth Check Your DB2 UDB For Z/OS System
Health Check Your DB2 UDB For Z/OS System
 
The State of Ceph, Manila, and Containers in OpenStack
The State of Ceph, Manila, and Containers in OpenStackThe State of Ceph, Manila, and Containers in OpenStack
The State of Ceph, Manila, and Containers in OpenStack
 
Geographically Distributed PostgreSQL
Geographically Distributed PostgreSQLGeographically Distributed PostgreSQL
Geographically Distributed PostgreSQL
 
Live migration: pros, cons and gotchas -- Pavel Emelyanov
Live migration: pros, cons and gotchas -- Pavel EmelyanovLive migration: pros, cons and gotchas -- Pavel Emelyanov
Live migration: pros, cons and gotchas -- Pavel Emelyanov
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
 
Speeding up ps and top
Speeding up ps and topSpeeding up ps and top
Speeding up ps and top
 

Similar to From 0 to ~100: Business Continuity with PostgreSQL

Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...VictorSzoltysek
 
Developer-friendly taskqueues: What you should ask yourself before choosing one
Developer-friendly taskqueues: What you should ask yourself before choosing oneDeveloper-friendly taskqueues: What you should ask yourself before choosing one
Developer-friendly taskqueues: What you should ask yourself before choosing oneSylvain Zimmer
 
Developer-friendly task queues: what we learned building MRQ, Sylvain Zimmer
Developer-friendly task queues: what we learned building MRQ, Sylvain ZimmerDeveloper-friendly task queues: what we learned building MRQ, Sylvain Zimmer
Developer-friendly task queues: what we learned building MRQ, Sylvain ZimmerPôle Systematic Paris-Region
 
Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys! Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys! stevesloka
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Severalnines
 
PLAM 2015 - Evolving Backups Strategy, Devploying pyxbackup
PLAM 2015 - Evolving Backups Strategy, Devploying pyxbackupPLAM 2015 - Evolving Backups Strategy, Devploying pyxbackup
PLAM 2015 - Evolving Backups Strategy, Devploying pyxbackupJervin Real
 
黑豹 ch4 ddd pattern pracrice
黑豹 ch4 ddd pattern pracrice黑豹 ch4 ddd pattern pracrice
黑豹 ch4 ddd pattern pracriceFong Liou
 
Techniques to Improve Cache Speed
Techniques to Improve Cache SpeedTechniques to Improve Cache Speed
Techniques to Improve Cache SpeedZohaib Hassan
 
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas MurthyOrchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas MurthyEvention
 
Faster PHP apps using Queues and Workers
Faster PHP apps using Queues and WorkersFaster PHP apps using Queues and Workers
Faster PHP apps using Queues and WorkersRichard Baker
 
The Road to Continuous Deployment
The Road to Continuous Deployment The Road to Continuous Deployment
The Road to Continuous Deployment Sonatype
 
Node, can you even in CPU intensive operations?
Node, can you even in CPU intensive operations?Node, can you even in CPU intensive operations?
Node, can you even in CPU intensive operations?The Software House
 
The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)Michiel Rook
 
The road to continuous deployment: a case study (DPC16)
The road to continuous deployment: a case study (DPC16)The road to continuous deployment: a case study (DPC16)
The road to continuous deployment: a case study (DPC16)Michiel Rook
 
The road to continuous deployment (PHPCon Poland 2016)
The road to continuous deployment (PHPCon Poland 2016)The road to continuous deployment (PHPCon Poland 2016)
The road to continuous deployment (PHPCon Poland 2016)Michiel Rook
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeOlivier DASINI
 
2017-10-24 All Day DevOps - Disposable Development Environments
2017-10-24 All Day DevOps - Disposable Development Environments2017-10-24 All Day DevOps - Disposable Development Environments
2017-10-24 All Day DevOps - Disposable Development EnvironmentsBoyd Hemphill
 

Similar to From 0 to ~100: Business Continuity with PostgreSQL (20)

Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
 
Developer-friendly taskqueues: What you should ask yourself before choosing one
Developer-friendly taskqueues: What you should ask yourself before choosing oneDeveloper-friendly taskqueues: What you should ask yourself before choosing one
Developer-friendly taskqueues: What you should ask yourself before choosing one
 
Developer-friendly task queues: what we learned building MRQ, Sylvain Zimmer
Developer-friendly task queues: what we learned building MRQ, Sylvain ZimmerDeveloper-friendly task queues: what we learned building MRQ, Sylvain Zimmer
Developer-friendly task queues: what we learned building MRQ, Sylvain Zimmer
 
To AWS with Ansible
To AWS with AnsibleTo AWS with Ansible
To AWS with Ansible
 
Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys! Micro-datacenter chaos monkeys!
Micro-datacenter chaos monkeys!
 
Gitting better
Gitting betterGitting better
Gitting better
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
 
PLAM 2015 - Evolving Backups Strategy, Devploying pyxbackup
PLAM 2015 - Evolving Backups Strategy, Devploying pyxbackupPLAM 2015 - Evolving Backups Strategy, Devploying pyxbackup
PLAM 2015 - Evolving Backups Strategy, Devploying pyxbackup
 
黑豹 ch4 ddd pattern pracrice
黑豹 ch4 ddd pattern pracrice黑豹 ch4 ddd pattern pracrice
黑豹 ch4 ddd pattern pracrice
 
Techniques to Improve Cache Speed
Techniques to Improve Cache SpeedTechniques to Improve Cache Speed
Techniques to Improve Cache Speed
 
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas MurthyOrchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
Orchestrating Big Data pipelines @ Fandom - Krystian Mistrzak Thejas Murthy
 
Faster PHP apps using Queues and Workers
Faster PHP apps using Queues and WorkersFaster PHP apps using Queues and Workers
Faster PHP apps using Queues and Workers
 
The Road to Continuous Deployment
The Road to Continuous Deployment The Road to Continuous Deployment
The Road to Continuous Deployment
 
GopherCon Gilmour
GopherCon GilmourGopherCon Gilmour
GopherCon Gilmour
 
Node, can you even in CPU intensive operations?
Node, can you even in CPU intensive operations?Node, can you even in CPU intensive operations?
Node, can you even in CPU intensive operations?
 
The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)
 
The road to continuous deployment: a case study (DPC16)
The road to continuous deployment: a case study (DPC16)The road to continuous deployment: a case study (DPC16)
The road to continuous deployment: a case study (DPC16)
 
The road to continuous deployment (PHPCon Poland 2016)
The road to continuous deployment (PHPCon Poland 2016)The road to continuous deployment (PHPCon Poland 2016)
The road to continuous deployment (PHPCon Poland 2016)
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtime
 
2017-10-24 All Day DevOps - Disposable Development Environments
2017-10-24 All Day DevOps - Disposable Development Environments2017-10-24 All Day DevOps - Disposable Development Environments
2017-10-24 All Day DevOps - Disposable Development Environments
 

More from Gabriele Bartolini

Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Gabriele Bartolini
 
PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)Gabriele Bartolini
 
JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)Gabriele Bartolini
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLGabriele Bartolini
 
PostgreSQL Disaster Recovery with Barman
PostgreSQL Disaster Recovery with BarmanPostgreSQL Disaster Recovery with Barman
PostgreSQL Disaster Recovery with BarmanGabriele Bartolini
 

More from Gabriele Bartolini (6)

Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
 
PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)
 
JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQL
 
PostgreSQL Disaster Recovery with Barman
PostgreSQL Disaster Recovery with BarmanPostgreSQL Disaster Recovery with Barman
PostgreSQL Disaster Recovery with Barman
 
Why use PostgreSQL?
Why use PostgreSQL?Why use PostgreSQL?
Why use PostgreSQL?
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

From 0 to ~100: Business Continuity with PostgreSQL