SlideShare a Scribd company logo
1 of 45
Download to read offline
Postgres on OpenStack 
• Dave Page | 18/9/2014 
© 2014 EnterpriseDB Corporation. All rights reserved. 1
Introduction 
• PostgreSQL: 
− Core team member 
− pgAdmin lead developer 
− Web/sysadmin teams 
− PGCAC/PGEU board member 
• EDB: 
− Tools 
− Cloud products 
− Configuration management 
− Packaging/distribution 
− Infrastructure 
© 2014 EnterpriseDB Corporation. All rights reserved. 2
What is OpenStack? 
• Cloud environment, similar to AWS: 
− Private implementations 
− Public implementations – Rackspace, HP Cloud 
• Modular design, offering a choice of services including: 
− Image Service (Glance) 
− Block Storage (Cinder) 
− Compute (Nova) 
− Network (Neutron) 
− Object Storage (Swift) 
© 2014 EnterpriseDB Corporation. All rights reserved. 3
Glance Image Service 
• Store virtual machine images and snapshots 
• Preconfigure an image or snapshot with the desired 
OS/software 
• Share images with members of selected projects (AKA, 
tenants). 
© 2014 EnterpriseDB Corporation. All rights reserved. 4
Cinder Block Storage Service 
• Analogous to Amazon Elastic Block Storage (EBS) 
• Provides block storage devices to virtual machine 
instances 
• Can be provided from one or more service nodes via a 
controller 
• Service nodes may use various storage systems, with 
different properties including: 
− LVM 
− GlusterFS 
− NFS 
− Various SANs 
© 2014 EnterpriseDB Corporation. All rights reserved. 5
Nova Compute Service 
• Analogous to Amazon Elastic Compute Service (EC2) 
• Schedules and runs VM instances 
• Multiple machine flavours with individual RAM, CPU 
and disk requirements 
• Compute node selection is highly configurable: 
− Pluggable scheduler filters 
− Target images to specific hosts 
− Target flavours to specific hosts 
− Target instances to hosts with enough free resources 
© 2014 EnterpriseDB Corporation. All rights reserved. 6
Neutron Networking Service 
• Provides network services to VM instances 
• Attach instances to one or more virtual networks 
• Map floating/public IP addresses to a VM 
• Configure firewall rules for ingress and egress 
© 2014 EnterpriseDB Corporation. All rights reserved. 7
Swift Object Storage 
• Analogous to Amazon Simple Storage Service (S3) 
• Provides highly redundant object storage 
• Suitable for storage and retrieval of whole files 
© 2014 EnterpriseDB Corporation. All rights reserved. 8
Wait, what about Trove? 
• Still in relatively early stages of development 
• Currently seems focused on MySQL/Cassandra 
• No support for clustering or other non-trivial setups 
• API favours psql/pgAdmin operations, not deployment/ 
configuration 
© 2014 EnterpriseDB Corporation. All rights reserved. 9
Well that all sounds pretty cool, 
but what can we do with it? 
© 2014 EnterpriseDB Corporation. All rights reserved. 10
Database Server Images 
© 2014 EnterpriseDB Corporation. All rights reserved. 11
Database server images 
• Preconfigure a “standard” database image 
• Enables consistency, which leads to ease of 
management 
• Preinstall commonly required software: 
− Procedural languages 
− WAL-E 
− pgBouncer/pgPool 
• Minimise launch/deployment time 
© 2014 EnterpriseDB Corporation. All rights reserved. 12
Image or Snapshot? 
• Technically there’s not much difference 
• OCD: I like images to be, well images 
• Images may be considered “blessed” or approved 
• Snapshots are a convenient way to take backups, 
perhaps of work in progress 
• Images are “clean” configurations, whilst snapshots 
may contain artifacts from previous use, e.g. shell 
history or log files. 
© 2014 EnterpriseDB Corporation. All rights reserved. 13
Creating an image 
• Create a small root disk in QCOW2 format 
• Install the base OS on the disk (I use KVM on RHEL) 
• Install the required software 
• Add the EPEL Yum repo, and install cloud-init 
• Disable zeroconf for the network 
• Shutdown the VM 
• Run virt-sysprep to clean the OS installation 
© 2014 EnterpriseDB Corporation. All rights reserved. 14
Uploading the image 
$ glance image-create --name ”PostgreSQL-9.4" --disk-format qcow2  
--container-format bare --is-public True --progress < pg-9.3.img 
+------------------+--------------------------------------+ 
| Property | Value | 
+------------------+--------------------------------------+ 
| checksum | 64d7c1cd2b6f60642c14663941cb7913 | 
| container_format | bare | 
| created_at | 2014-08-29T14:55:08 | 
| deleted | False | 
| deleted_at | None | 
| disk_format | qcow2 | 
| id | acafc7c0-40aa-4026-9673-b879124bcec2 | 
| is_public | True | 
| min_disk | 0 | 
| min_ram | 0 | 
| name | PostgreSQL-9.4 | 
| owner | efa984b0a914450e9a47788ad330699d | 
| protected | False | 
| size | 2013167616 | 
| status | active | 
| updated_at | 2014-08-29T14:55:08 | 
+------------------+--------------------------------------+ 
© 2014 EnterpriseDB Corporation. All rights reserved. 15
Database Server Machine 
Configurations 
© 2014 EnterpriseDB Corporation. All rights reserved. 16
Dedicated database flavours 
• “Flavors” (without the u) describe the instance 
configuration: 
− vCPUs 
− Memory 
− Root disk 
− Ephemeral disk 
− Swap 
− Other attributes 
• Additional attributes allow us to target specific 
hypervisor properties, e.g. 
− Compute nodes with SSDs 
© 2014 EnterpriseDB Corporation. All rights reserved. 17
Targeting a host aggregate 
• Create a host aggregate or group containing the 
desired compute nodes 
• Add a property to the host aggregate to identify the 
desired attribute for matching 
• Create the desired flavour(s) 
• Add a property to the flavour to correspond with the 
property on the host aggregate 
• Share the flavour with one or more tenants 
© 2014 EnterpriseDB Corporation. All rights reserved. 18
Create host aggregate 
$ nova aggregate-create pg-servers 
+----+------------+-------------------+-------+----------+ 
| Id | Name | Availability Zone | Hosts | Metadata | 
+----+------------+-------------------+-------+----------+ 
| 14 | pg-servers | - | | | 
+----+------------+-------------------+-------+----------+ 
$ nova aggregate-add-host pg-servers nova5.ox.uk 
Host nova5.ox.uk has been successfully added for aggregate 14 
+----+------------+-------------------+---------------+----------+ 
| Id | Name | Availability Zone | Hosts | Metadata | 
+----+------------+-------------------+---------------+----------+ 
| 14 | pg-servers | - | 'nova5.ox.uk' | | 
+----+------------+-------------------+---------------+----------+ 
$ nova aggregate-set-metadata pg-servers pgsvr=true 
Metadata has been successfully updated for aggregate 14. 
+----+------------+-----------------------------------+--------------+ 
| Id | Name | Availability Zone | Hosts | Metadata | 
+----+------------+-------------------+------- -------+--------------+ 
| 14 | pg-servers | - | 'nova5.ox.uk' | 'pgsvr=true' | 
+----+------------+-------------------+---------------+--------------+ 
© 2014 EnterpriseDB Corporation. All rights reserved. 19
Create flavour 
$ nova flavor-create --ephemeral 0 --swap 4096 --is-public true 
pgsvr.small auto 4096 40 4 
+--------------------------------------+-------------+-----------+... 
| ID | Name | Memory_MB |... 
+--------------------------------------+-------------+-----------+... 
| 44221572-a7e0-4660-97fc-352467743fce | pgsvr.small | 4096 |... 
+--------------------------------------+-------------+-----------+... 
...------+-----------+------+-------+-------------+-----------+ 
... Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | 
...------+-----------+------+-------+-------------+-----------+ 
... 40 | 0 | 4096 | 4 | 1.0 | True | 
...------+-----------+------+-------+-------------+-----------+ 
© 2014 EnterpriseDB Corporation. All rights reserved. 20
Create flavour 
$ nova flavor-key pgsvr.small set aggregate_instance_extra_specs:pgsvr=true 
$ nova flavor-show pgsvr.small 
+----------------------------+--------------------------------------------------+ 
| Property | Value | 
+----------------------------+--------------------------------------------------+ 
| OS-FLV-DISABLED:disabled | False | 
| OS-FLV-EXT-DATA:ephemeral | 0 | 
| disk | 40 | 
| extra_specs | {"aggregate_instance_extra_specs:pgsvr": "true"} | 
| id | 44221572-a7e0-4660-97fc-352467743fce | 
| name | pgsvr.small | 
| os-flavor-access:is_public | True | 
| ram | 4096 | 
| rxtx_factor | 1.0 | 
| swap | 4096 | 
| vcpus | 4 | 
+----------------------------+--------------------------------------------------+ 
© 2014 EnterpriseDB Corporation. All rights reserved. 21
A note on Scheduler Filters 
• Scheduler filters determine which compute node a new 
instance will be created on 
• Filters are chained, and can reject hosts based on: 
− Capabilities 
− Current utilisation 
− Physical location 
− Affinity 
− Other factors such as tenant isolation requirements 
• Our example used the 
aggregate_instance_extra_specs filter 
• Custom filters can be defined in JSON (json_filter), or 
written from scratch in Python 
© 2014 EnterpriseDB Corporation. All rights reserved. 22
Instance Storage 
-or- 
Where do my VMs live? 
© 2014 EnterpriseDB Corporation. All rights reserved. 23
Local storage 
• Known as Instance Store on AWS 
• Images are copied to local storage on the compute 
node and started 
• Pros: 
− Easy to setup 
− Performant 
− Minimal hardware requirements 
• Cons: 
− Moving instances requires downtime 
− Potentially less reliable 
© 2014 EnterpriseDB Corporation. All rights reserved. 24
Shared instance storage 
• Same as Instance Store, but uses storage shared 
between compute nodes using NFS, iSCSI, etc. 
• Pros 
− Allows easy migration of instances between compute nodes 
− Potentially more reliable storage (if a SAN or similar is used) 
• Cons 
− “Local” I/O is over the network 
− More complex to setup and maintain 
− Can be far more expensive (SAN, 10GBe or fibre channel 
network etc.) 
© 2014 EnterpriseDB Corporation. All rights reserved. 25
Volume storage 
• Known as Elastic Block Store (EBS) on AWS 
• Root volume is stored in Cinder 
• Pros: 
− Available as a launch-time option, if Cinder is configured 
− Allows easy migration of instances between compute nodes 
− Potentially more reliable storage (if a SAN or similar is used) 
• Cons: 
− “Local” I/O is over the network 
− More complex to setup and maintain 
− Can be far more expensive (SAN, 10GBe or fibre channel 
network etc.) 
© 2014 EnterpriseDB Corporation. All rights reserved. 26
Data Storage 
© 2014 EnterpriseDB Corporation. All rights reserved. 27
Data storage 
• In the instance: 
− Easy to setup and manage – click and go 
− Resizing will pause the instance 
− Not very “elastic” 
− Slower snapshots – data has to be moved to Glance 
• In Cinder: 
− More complex to setup 
− More expensive for a high performance setup 
− Add storage on the fly by adding volumes and utilising LVM 
− Can choose storage types – SSD vs. rust, low vs. high IOPs 
− Fast snapshots – Cinder can use filesystem/SAN snapshots 
© 2014 EnterpriseDB Corporation. All rights reserved. 28
Firewalling 
© 2014 EnterpriseDB Corporation. All rights reserved. 29
Instance firewalling 
• Neutron provides Security Groups to define firewall 
rules 
• No ingress access by default 
• Each security group has one or more ingress or egress 
rules defined 
• All instances have one or more security groups 
associated with them 
• Allows easy configuration of a standard set of firewall 
rules for multiple servers 
© 2014 EnterpriseDB Corporation. All rights reserved. 30
Security group configuration 
© 2014 EnterpriseDB Corporation. All rights reserved. 31
Networking 
© 2014 EnterpriseDB Corporation. All rights reserved. 32
Private cluster network 
• Create one or more virtual networks to contain a 
cluster of database servers, entire application or some 
other group of instances 
• Analogous to Virtual Private Cloud (VPC) in Amazon 
• Optionally attach virtual routers to networks 
• Attach one or more networks to each instance 
• Use Floating IPs (Elastic IPs) to access instances from 
outside the virtual network 
• Each network can have a DHCP server and custom 
routes 
© 2014 EnterpriseDB Corporation. All rights reserved. 33
Network configuration 
© 2014 EnterpriseDB Corporation. All rights reserved. 34
Network topology 
© 2014 EnterpriseDB Corporation. All rights reserved. 35
WAL Archiving 
© 2014 EnterpriseDB Corporation. All rights reserved. 36
WAL archiving to Swift 
• Object storage is ideal for storing WAL segments and 
backups 
• Highly redundant storage offers reliability and scaling 
• Easy to use with WAL-E (https://github.com/wal-e/wal-e) 
− WAL archival and retrieval 
− Base backup creation and restoration 
− WAL cleanup/pruning 
© 2014 EnterpriseDB Corporation. All rights reserved. 37
Installing WAL-E 
# pip install wal-e 
<stuff happens> 
# vi /var/lib/pgsql/9.3/data/postgresql.conf 
wal_level = archive 
archive_mode = on 
archive_command = '/var/lib/pgsql/wal-e.sh %p’ 
archive_timeout = 60 # For testing 
# vi /var/lib/pgsql/wal-e-creds.sh 
export SWIFT_AUTHURL=http://auth.enterprisedb.com:35357/v2.0 
export SWIFT_USER=wal-e 
export SWIFT_PASSWORD=ReallyReallySecret 
export SWIFT_TENANT=admin 
export WALE_SWIFT_PREFIX=swift://wal-e 
# chown postgres:postgres /var/lib/pgsql/wal-e-creds.sh 
# chmod 600 /var/lib/pgsql/wal-e-creds.sh 
© 2014 EnterpriseDB Corporation. All rights reserved. 38
Installing WAL-E 
# vi /var/lib/pgsql/wal-e.sh 
#!/bin/sh 
source /var/lib/pgsql/wal-e-creds.sh 
/usr/bin/wal-e wal-push $1 
# chmod +x /var/lib/pgsql/wal-e-creds.sh 
# service postgresql-9.3 restart 
# tail –f /var/lib/pgsql/9.3/data/pg_log/postgresql.log 
wal_e.main INFO MSG: starting WAL-E 
DETAIL: The subcommand is "wal-push". 
STRUCTURED: time=2014-08-29T16:55:56.236552-00 pid=18301 
wal_e.worker.upload INFO MSG: begin archiving a file 
DETAIL: Uploading "pg_xlog/00000001000000000000000E" to "swift://wal-e/ 
wal_005/00000001000000000000000E.lzo". 
STRUCTURED: time=2014-08-29T16:55:56.360962-00 pid=18301 action=push-wal 
key=swift://wal-e/wal_005/00000001000000000000000E.lzo prefix= seg=00000001000000000000000E 
state=begin 
urllib3.connectionpool INFO Starting new HTTP connection (1): auth.enterprisedb.com 
urllib3.connectionpool INFO Starting new HTTP connection (1): swift.enterprisedb.com 
wal_e.worker.upload INFO MSG: completed archiving to a file 
DETAIL: Archiving to "swift://wal-e/wal_005/00000001000000000000000E.lzo" complete 
at 9.29666KiB/s. 
STRUCTURED: time=2014-08-29T16:56:03.467501-00 pid=18301 action=push-wal 
key=swift://wal-e/wal_005/00000001000000000000000E.lzo prefix= rate=9.29666 
seg=00000001000000000000000E state=complete 
© 2014 EnterpriseDB Corporation. All rights reserved. 39
WAL Archives 
© 2014 EnterpriseDB Corporation. All rights reserved. 40
Summary 
© 2014 EnterpriseDB Corporation. All rights reserved. 41
Summary 
• Deploy standardised, maintainable database servers 
from images in Glance 
• Configure database-optimised compute nodes 
• Configure database-optimised machine flavours in 
Nova to target desired nodes 
• Select instance storage based on performance and 
flexibility requirements vs. budget. 
• Select data storage based on complexity vs. flexibility 
© 2014 EnterpriseDB Corporation. All rights reserved. 42
Summary contd. 
• Use Neutron’s security groups to provide standardised 
security configuration outside of the instance 
• Utilise virtual networks to isolate logical clusters or 
groups of machines 
• Archive base backups and WAL to Swift with WAL-E 
for ease of backup management, redundancy and 
scalability 
© 2014 EnterpriseDB Corporation. All rights reserved. 43
Questions? 
© 2014 EnterpriseDB Corporation. All rights reserved. 44
© 2014 EnterpriseDB Corporation. All rights reserved. 45

More Related Content

What's hot

Continuous Integration for Dynamics 365/CRM
Continuous Integration for Dynamics 365/CRMContinuous Integration for Dynamics 365/CRM
Continuous Integration for Dynamics 365/CRMWael Hamze
 
Design-First API : pourquoi et comment
Design-First API : pourquoi et commentDesign-First API : pourquoi et comment
Design-First API : pourquoi et commentAlexandre ESTELA
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsGiacomo Vacca
 
HyperAutomation (3).pptx
HyperAutomation (3).pptxHyperAutomation (3).pptx
HyperAutomation (3).pptxMeetPBarasara
 
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014Jaime Martin Losa
 
OpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve OmohundroOpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve OmohundroNumenta
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesPetteriTeikariPhD
 
NVIDIA A100 ampere GPU
NVIDIA A100 ampere GPUNVIDIA A100 ampere GPU
NVIDIA A100 ampere GPUsystem_plus
 
Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1VicenteTino
 
Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)Rakuten Group, Inc.
 
Webinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with BarmanWebinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with BarmanGabriele Bartolini
 
The Protiviti View: RPA governance as enabler for value and acceptance of Rob...
The Protiviti View: RPA governance as enabler for value and acceptance of Rob...The Protiviti View: RPA governance as enabler for value and acceptance of Rob...
The Protiviti View: RPA governance as enabler for value and acceptance of Rob...Erwin de Man
 
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...Vietnam Open Infrastructure User Group
 
Modelagem multidimensional conceitos básicos
Modelagem multidimensional conceitos básicosModelagem multidimensional conceitos básicos
Modelagem multidimensional conceitos básicosTânia Resende
 
Understanding the architecture of MariaDB ColumnStore
Understanding the architecture of MariaDB ColumnStoreUnderstanding the architecture of MariaDB ColumnStore
Understanding the architecture of MariaDB ColumnStoreMariaDB plc
 
Gpu with cuda architecture
Gpu with cuda architectureGpu with cuda architecture
Gpu with cuda architectureDhaval Kaneria
 
Managing Ceph operational complexity with Juju
Managing Ceph operational complexity with JujuManaging Ceph operational complexity with Juju
Managing Ceph operational complexity with JujuShapeBlue
 

What's hot (20)

Continuous Integration for Dynamics 365/CRM
Continuous Integration for Dynamics 365/CRMContinuous Integration for Dynamics 365/CRM
Continuous Integration for Dynamics 365/CRM
 
Design-First API : pourquoi et comment
Design-First API : pourquoi et commentDesign-First API : pourquoi et comment
Design-First API : pourquoi et comment
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
HyperAutomation (3).pptx
HyperAutomation (3).pptxHyperAutomation (3).pptx
HyperAutomation (3).pptx
 
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
 
OpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve OmohundroOpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve Omohundro
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and Kubernetes
 
NVIDIA A100 ampere GPU
NVIDIA A100 ampere GPUNVIDIA A100 ampere GPU
NVIDIA A100 ampere GPU
 
Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1
 
Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)
 
6 Principios arquitetura de dados moderna
6 Principios arquitetura de dados moderna6 Principios arquitetura de dados moderna
6 Principios arquitetura de dados moderna
 
Webinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with BarmanWebinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with Barman
 
The Protiviti View: RPA governance as enabler for value and acceptance of Rob...
The Protiviti View: RPA governance as enabler for value and acceptance of Rob...The Protiviti View: RPA governance as enabler for value and acceptance of Rob...
The Protiviti View: RPA governance as enabler for value and acceptance of Rob...
 
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
Room 3 - 6 - Nguyễn Văn Thắng & Dzung Nguyen - Ứng dụng openzfs làm lưu trữ t...
 
Modelagem multidimensional conceitos básicos
Modelagem multidimensional conceitos básicosModelagem multidimensional conceitos básicos
Modelagem multidimensional conceitos básicos
 
Understanding the architecture of MariaDB ColumnStore
Understanding the architecture of MariaDB ColumnStoreUnderstanding the architecture of MariaDB ColumnStore
Understanding the architecture of MariaDB ColumnStore
 
Gpu with cuda architecture
Gpu with cuda architectureGpu with cuda architecture
Gpu with cuda architecture
 
Microprocessor - Intel Pentium Series
Microprocessor - Intel Pentium SeriesMicroprocessor - Intel Pentium Series
Microprocessor - Intel Pentium Series
 
Managing Ceph operational complexity with Juju
Managing Ceph operational complexity with JujuManaging Ceph operational complexity with Juju
Managing Ceph operational complexity with Juju
 
Top 5 IoT Use Cases
Top 5 IoT Use CasesTop 5 IoT Use Cases
Top 5 IoT Use Cases
 

Similar to Postgres on OpenStack

Juniper Network Automation for KrDAG
Juniper Network Automation for KrDAGJuniper Network Automation for KrDAG
Juniper Network Automation for KrDAGKwonSun Bae
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldJignesh Shah
 
WindowsAzureSDK1.7
WindowsAzureSDK1.7WindowsAzureSDK1.7
WindowsAzureSDK1.7Saravanan G
 
Open Cloud BBQ - Nano Server
Open Cloud BBQ - Nano ServerOpen Cloud BBQ - Nano Server
Open Cloud BBQ - Nano ServerTomica Kaniski
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudAndrew Coleman
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsAlessandro Pilotti
 
Postgres for the Future
Postgres for the FuturePostgres for the Future
Postgres for the FutureEDB
 
Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...
Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...
Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...VMware Tanzu
 
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...Hendrik van Run
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5UniFabric
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceShapeBlue
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuiteEDB
 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the CloudRightScale
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesJimmy Angelakos
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Andrejs Prokopjevs
 
Puppet Camp London 2014: Keynote
Puppet Camp London 2014: KeynotePuppet Camp London 2014: Keynote
Puppet Camp London 2014: KeynotePuppet
 
Cloud Bursting 101: What to do When Cloud Computing Demand Exceeds Capacity
Cloud Bursting 101: What to do When Cloud Computing Demand Exceeds CapacityCloud Bursting 101: What to do When Cloud Computing Demand Exceeds Capacity
Cloud Bursting 101: What to do When Cloud Computing Demand Exceeds CapacityAvere Systems
 
Elastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackElastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackMats Kindahl
 
Speeding Up The Snail
Speeding Up The SnailSpeeding Up The Snail
Speeding Up The SnailMarcus Deglos
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Community
 

Similar to Postgres on OpenStack (20)

Juniper Network Automation for KrDAG
Juniper Network Automation for KrDAGJuniper Network Automation for KrDAG
Juniper Network Automation for KrDAG
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
 
WindowsAzureSDK1.7
WindowsAzureSDK1.7WindowsAzureSDK1.7
WindowsAzureSDK1.7
 
Open Cloud BBQ - Nano Server
Open Cloud BBQ - Nano ServerOpen Cloud BBQ - Nano Server
Open Cloud BBQ - Nano Server
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
 
Postgres for the Future
Postgres for the FuturePostgres for the Future
Postgres for the Future
 
Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...
Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...
Integrating Hybrid Cloud Database-as-a-Service with Cloud Foundry’s Service​ ...
 
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experience
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the Cloud
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
 
Puppet Camp London 2014: Keynote
Puppet Camp London 2014: KeynotePuppet Camp London 2014: Keynote
Puppet Camp London 2014: Keynote
 
Cloud Bursting 101: What to do When Cloud Computing Demand Exceeds Capacity
Cloud Bursting 101: What to do When Cloud Computing Demand Exceeds CapacityCloud Bursting 101: What to do When Cloud Computing Demand Exceeds Capacity
Cloud Bursting 101: What to do When Cloud Computing Demand Exceeds Capacity
 
Elastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStackElastic Scalability in MySQL Fabric Using OpenStack
Elastic Scalability in MySQL Fabric Using OpenStack
 
Speeding Up The Snail
Speeding Up The SnailSpeeding Up The Snail
Speeding Up The Snail
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
 

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
 
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
 
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
 
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
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJEDB
 

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!
 
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
 
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
 
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
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
 

Recently uploaded

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 

Recently uploaded (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 

Postgres on OpenStack

  • 1. Postgres on OpenStack • Dave Page | 18/9/2014 © 2014 EnterpriseDB Corporation. All rights reserved. 1
  • 2. Introduction • PostgreSQL: − Core team member − pgAdmin lead developer − Web/sysadmin teams − PGCAC/PGEU board member • EDB: − Tools − Cloud products − Configuration management − Packaging/distribution − Infrastructure © 2014 EnterpriseDB Corporation. All rights reserved. 2
  • 3. What is OpenStack? • Cloud environment, similar to AWS: − Private implementations − Public implementations – Rackspace, HP Cloud • Modular design, offering a choice of services including: − Image Service (Glance) − Block Storage (Cinder) − Compute (Nova) − Network (Neutron) − Object Storage (Swift) © 2014 EnterpriseDB Corporation. All rights reserved. 3
  • 4. Glance Image Service • Store virtual machine images and snapshots • Preconfigure an image or snapshot with the desired OS/software • Share images with members of selected projects (AKA, tenants). © 2014 EnterpriseDB Corporation. All rights reserved. 4
  • 5. Cinder Block Storage Service • Analogous to Amazon Elastic Block Storage (EBS) • Provides block storage devices to virtual machine instances • Can be provided from one or more service nodes via a controller • Service nodes may use various storage systems, with different properties including: − LVM − GlusterFS − NFS − Various SANs © 2014 EnterpriseDB Corporation. All rights reserved. 5
  • 6. Nova Compute Service • Analogous to Amazon Elastic Compute Service (EC2) • Schedules and runs VM instances • Multiple machine flavours with individual RAM, CPU and disk requirements • Compute node selection is highly configurable: − Pluggable scheduler filters − Target images to specific hosts − Target flavours to specific hosts − Target instances to hosts with enough free resources © 2014 EnterpriseDB Corporation. All rights reserved. 6
  • 7. Neutron Networking Service • Provides network services to VM instances • Attach instances to one or more virtual networks • Map floating/public IP addresses to a VM • Configure firewall rules for ingress and egress © 2014 EnterpriseDB Corporation. All rights reserved. 7
  • 8. Swift Object Storage • Analogous to Amazon Simple Storage Service (S3) • Provides highly redundant object storage • Suitable for storage and retrieval of whole files © 2014 EnterpriseDB Corporation. All rights reserved. 8
  • 9. Wait, what about Trove? • Still in relatively early stages of development • Currently seems focused on MySQL/Cassandra • No support for clustering or other non-trivial setups • API favours psql/pgAdmin operations, not deployment/ configuration © 2014 EnterpriseDB Corporation. All rights reserved. 9
  • 10. Well that all sounds pretty cool, but what can we do with it? © 2014 EnterpriseDB Corporation. All rights reserved. 10
  • 11. Database Server Images © 2014 EnterpriseDB Corporation. All rights reserved. 11
  • 12. Database server images • Preconfigure a “standard” database image • Enables consistency, which leads to ease of management • Preinstall commonly required software: − Procedural languages − WAL-E − pgBouncer/pgPool • Minimise launch/deployment time © 2014 EnterpriseDB Corporation. All rights reserved. 12
  • 13. Image or Snapshot? • Technically there’s not much difference • OCD: I like images to be, well images • Images may be considered “blessed” or approved • Snapshots are a convenient way to take backups, perhaps of work in progress • Images are “clean” configurations, whilst snapshots may contain artifacts from previous use, e.g. shell history or log files. © 2014 EnterpriseDB Corporation. All rights reserved. 13
  • 14. Creating an image • Create a small root disk in QCOW2 format • Install the base OS on the disk (I use KVM on RHEL) • Install the required software • Add the EPEL Yum repo, and install cloud-init • Disable zeroconf for the network • Shutdown the VM • Run virt-sysprep to clean the OS installation © 2014 EnterpriseDB Corporation. All rights reserved. 14
  • 15. Uploading the image $ glance image-create --name ”PostgreSQL-9.4" --disk-format qcow2 --container-format bare --is-public True --progress < pg-9.3.img +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | 64d7c1cd2b6f60642c14663941cb7913 | | container_format | bare | | created_at | 2014-08-29T14:55:08 | | deleted | False | | deleted_at | None | | disk_format | qcow2 | | id | acafc7c0-40aa-4026-9673-b879124bcec2 | | is_public | True | | min_disk | 0 | | min_ram | 0 | | name | PostgreSQL-9.4 | | owner | efa984b0a914450e9a47788ad330699d | | protected | False | | size | 2013167616 | | status | active | | updated_at | 2014-08-29T14:55:08 | +------------------+--------------------------------------+ © 2014 EnterpriseDB Corporation. All rights reserved. 15
  • 16. Database Server Machine Configurations © 2014 EnterpriseDB Corporation. All rights reserved. 16
  • 17. Dedicated database flavours • “Flavors” (without the u) describe the instance configuration: − vCPUs − Memory − Root disk − Ephemeral disk − Swap − Other attributes • Additional attributes allow us to target specific hypervisor properties, e.g. − Compute nodes with SSDs © 2014 EnterpriseDB Corporation. All rights reserved. 17
  • 18. Targeting a host aggregate • Create a host aggregate or group containing the desired compute nodes • Add a property to the host aggregate to identify the desired attribute for matching • Create the desired flavour(s) • Add a property to the flavour to correspond with the property on the host aggregate • Share the flavour with one or more tenants © 2014 EnterpriseDB Corporation. All rights reserved. 18
  • 19. Create host aggregate $ nova aggregate-create pg-servers +----+------------+-------------------+-------+----------+ | Id | Name | Availability Zone | Hosts | Metadata | +----+------------+-------------------+-------+----------+ | 14 | pg-servers | - | | | +----+------------+-------------------+-------+----------+ $ nova aggregate-add-host pg-servers nova5.ox.uk Host nova5.ox.uk has been successfully added for aggregate 14 +----+------------+-------------------+---------------+----------+ | Id | Name | Availability Zone | Hosts | Metadata | +----+------------+-------------------+---------------+----------+ | 14 | pg-servers | - | 'nova5.ox.uk' | | +----+------------+-------------------+---------------+----------+ $ nova aggregate-set-metadata pg-servers pgsvr=true Metadata has been successfully updated for aggregate 14. +----+------------+-----------------------------------+--------------+ | Id | Name | Availability Zone | Hosts | Metadata | +----+------------+-------------------+------- -------+--------------+ | 14 | pg-servers | - | 'nova5.ox.uk' | 'pgsvr=true' | +----+------------+-------------------+---------------+--------------+ © 2014 EnterpriseDB Corporation. All rights reserved. 19
  • 20. Create flavour $ nova flavor-create --ephemeral 0 --swap 4096 --is-public true pgsvr.small auto 4096 40 4 +--------------------------------------+-------------+-----------+... | ID | Name | Memory_MB |... +--------------------------------------+-------------+-----------+... | 44221572-a7e0-4660-97fc-352467743fce | pgsvr.small | 4096 |... +--------------------------------------+-------------+-----------+... ...------+-----------+------+-------+-------------+-----------+ ... Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | ...------+-----------+------+-------+-------------+-----------+ ... 40 | 0 | 4096 | 4 | 1.0 | True | ...------+-----------+------+-------+-------------+-----------+ © 2014 EnterpriseDB Corporation. All rights reserved. 20
  • 21. Create flavour $ nova flavor-key pgsvr.small set aggregate_instance_extra_specs:pgsvr=true $ nova flavor-show pgsvr.small +----------------------------+--------------------------------------------------+ | Property | Value | +----------------------------+--------------------------------------------------+ | OS-FLV-DISABLED:disabled | False | | OS-FLV-EXT-DATA:ephemeral | 0 | | disk | 40 | | extra_specs | {"aggregate_instance_extra_specs:pgsvr": "true"} | | id | 44221572-a7e0-4660-97fc-352467743fce | | name | pgsvr.small | | os-flavor-access:is_public | True | | ram | 4096 | | rxtx_factor | 1.0 | | swap | 4096 | | vcpus | 4 | +----------------------------+--------------------------------------------------+ © 2014 EnterpriseDB Corporation. All rights reserved. 21
  • 22. A note on Scheduler Filters • Scheduler filters determine which compute node a new instance will be created on • Filters are chained, and can reject hosts based on: − Capabilities − Current utilisation − Physical location − Affinity − Other factors such as tenant isolation requirements • Our example used the aggregate_instance_extra_specs filter • Custom filters can be defined in JSON (json_filter), or written from scratch in Python © 2014 EnterpriseDB Corporation. All rights reserved. 22
  • 23. Instance Storage -or- Where do my VMs live? © 2014 EnterpriseDB Corporation. All rights reserved. 23
  • 24. Local storage • Known as Instance Store on AWS • Images are copied to local storage on the compute node and started • Pros: − Easy to setup − Performant − Minimal hardware requirements • Cons: − Moving instances requires downtime − Potentially less reliable © 2014 EnterpriseDB Corporation. All rights reserved. 24
  • 25. Shared instance storage • Same as Instance Store, but uses storage shared between compute nodes using NFS, iSCSI, etc. • Pros − Allows easy migration of instances between compute nodes − Potentially more reliable storage (if a SAN or similar is used) • Cons − “Local” I/O is over the network − More complex to setup and maintain − Can be far more expensive (SAN, 10GBe or fibre channel network etc.) © 2014 EnterpriseDB Corporation. All rights reserved. 25
  • 26. Volume storage • Known as Elastic Block Store (EBS) on AWS • Root volume is stored in Cinder • Pros: − Available as a launch-time option, if Cinder is configured − Allows easy migration of instances between compute nodes − Potentially more reliable storage (if a SAN or similar is used) • Cons: − “Local” I/O is over the network − More complex to setup and maintain − Can be far more expensive (SAN, 10GBe or fibre channel network etc.) © 2014 EnterpriseDB Corporation. All rights reserved. 26
  • 27. Data Storage © 2014 EnterpriseDB Corporation. All rights reserved. 27
  • 28. Data storage • In the instance: − Easy to setup and manage – click and go − Resizing will pause the instance − Not very “elastic” − Slower snapshots – data has to be moved to Glance • In Cinder: − More complex to setup − More expensive for a high performance setup − Add storage on the fly by adding volumes and utilising LVM − Can choose storage types – SSD vs. rust, low vs. high IOPs − Fast snapshots – Cinder can use filesystem/SAN snapshots © 2014 EnterpriseDB Corporation. All rights reserved. 28
  • 29. Firewalling © 2014 EnterpriseDB Corporation. All rights reserved. 29
  • 30. Instance firewalling • Neutron provides Security Groups to define firewall rules • No ingress access by default • Each security group has one or more ingress or egress rules defined • All instances have one or more security groups associated with them • Allows easy configuration of a standard set of firewall rules for multiple servers © 2014 EnterpriseDB Corporation. All rights reserved. 30
  • 31. Security group configuration © 2014 EnterpriseDB Corporation. All rights reserved. 31
  • 32. Networking © 2014 EnterpriseDB Corporation. All rights reserved. 32
  • 33. Private cluster network • Create one or more virtual networks to contain a cluster of database servers, entire application or some other group of instances • Analogous to Virtual Private Cloud (VPC) in Amazon • Optionally attach virtual routers to networks • Attach one or more networks to each instance • Use Floating IPs (Elastic IPs) to access instances from outside the virtual network • Each network can have a DHCP server and custom routes © 2014 EnterpriseDB Corporation. All rights reserved. 33
  • 34. Network configuration © 2014 EnterpriseDB Corporation. All rights reserved. 34
  • 35. Network topology © 2014 EnterpriseDB Corporation. All rights reserved. 35
  • 36. WAL Archiving © 2014 EnterpriseDB Corporation. All rights reserved. 36
  • 37. WAL archiving to Swift • Object storage is ideal for storing WAL segments and backups • Highly redundant storage offers reliability and scaling • Easy to use with WAL-E (https://github.com/wal-e/wal-e) − WAL archival and retrieval − Base backup creation and restoration − WAL cleanup/pruning © 2014 EnterpriseDB Corporation. All rights reserved. 37
  • 38. Installing WAL-E # pip install wal-e <stuff happens> # vi /var/lib/pgsql/9.3/data/postgresql.conf wal_level = archive archive_mode = on archive_command = '/var/lib/pgsql/wal-e.sh %p’ archive_timeout = 60 # For testing # vi /var/lib/pgsql/wal-e-creds.sh export SWIFT_AUTHURL=http://auth.enterprisedb.com:35357/v2.0 export SWIFT_USER=wal-e export SWIFT_PASSWORD=ReallyReallySecret export SWIFT_TENANT=admin export WALE_SWIFT_PREFIX=swift://wal-e # chown postgres:postgres /var/lib/pgsql/wal-e-creds.sh # chmod 600 /var/lib/pgsql/wal-e-creds.sh © 2014 EnterpriseDB Corporation. All rights reserved. 38
  • 39. Installing WAL-E # vi /var/lib/pgsql/wal-e.sh #!/bin/sh source /var/lib/pgsql/wal-e-creds.sh /usr/bin/wal-e wal-push $1 # chmod +x /var/lib/pgsql/wal-e-creds.sh # service postgresql-9.3 restart # tail –f /var/lib/pgsql/9.3/data/pg_log/postgresql.log wal_e.main INFO MSG: starting WAL-E DETAIL: The subcommand is "wal-push". STRUCTURED: time=2014-08-29T16:55:56.236552-00 pid=18301 wal_e.worker.upload INFO MSG: begin archiving a file DETAIL: Uploading "pg_xlog/00000001000000000000000E" to "swift://wal-e/ wal_005/00000001000000000000000E.lzo". STRUCTURED: time=2014-08-29T16:55:56.360962-00 pid=18301 action=push-wal key=swift://wal-e/wal_005/00000001000000000000000E.lzo prefix= seg=00000001000000000000000E state=begin urllib3.connectionpool INFO Starting new HTTP connection (1): auth.enterprisedb.com urllib3.connectionpool INFO Starting new HTTP connection (1): swift.enterprisedb.com wal_e.worker.upload INFO MSG: completed archiving to a file DETAIL: Archiving to "swift://wal-e/wal_005/00000001000000000000000E.lzo" complete at 9.29666KiB/s. STRUCTURED: time=2014-08-29T16:56:03.467501-00 pid=18301 action=push-wal key=swift://wal-e/wal_005/00000001000000000000000E.lzo prefix= rate=9.29666 seg=00000001000000000000000E state=complete © 2014 EnterpriseDB Corporation. All rights reserved. 39
  • 40. WAL Archives © 2014 EnterpriseDB Corporation. All rights reserved. 40
  • 41. Summary © 2014 EnterpriseDB Corporation. All rights reserved. 41
  • 42. Summary • Deploy standardised, maintainable database servers from images in Glance • Configure database-optimised compute nodes • Configure database-optimised machine flavours in Nova to target desired nodes • Select instance storage based on performance and flexibility requirements vs. budget. • Select data storage based on complexity vs. flexibility © 2014 EnterpriseDB Corporation. All rights reserved. 42
  • 43. Summary contd. • Use Neutron’s security groups to provide standardised security configuration outside of the instance • Utilise virtual networks to isolate logical clusters or groups of machines • Archive base backups and WAL to Swift with WAL-E for ease of backup management, redundancy and scalability © 2014 EnterpriseDB Corporation. All rights reserved. 43
  • 44. Questions? © 2014 EnterpriseDB Corporation. All rights reserved. 44
  • 45. © 2014 EnterpriseDB Corporation. All rights reserved. 45