Semelhante a OpenStack in Action 4! Serge Frezefond - Database Clusters as a Service in OpenStack: Integrated, Scalable, Highly Available and Secure (20)
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
OpenStack in Action 4! Serge Frezefond - Database Clusters as a Service in OpenStack: Integrated, Scalable, Highly Available and Secure
1. Database
Cluster
as
a
Service
in
OpenStack
Integrated, Scalable, Highly Available and Secure
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
Serge Frezefond
@sfrezefond
.
2. SkySQL
• Leading
provider
of
open
source
databases,
services
and
solu=ons
• Home
for
the
founders
and
the
original
developers
of
the
core
of
MySQL
• The
creators
of
MariaDB,
the
drop-‐in,
innova=ve
replacement
of
MySQL
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
3. MySQL/MariaDB
in
the
Cloud
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
4. MySQL/MariaDB
High
Availability
• MySQL
Replica=on
with
MHA
and
Pacemaker
• MariaDB
Galera
Cluster
Synchronous
Replica=on
with
Codership
Galera
• Support
from
SkySQL
for:
• DRBD
• Shared
storage
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
4
5. MySQL
/MariaDB
Scalability
• In
MariaDB
5.5:
• XtraDB
5.5
• Group
commit
• MySQL
Replica=on
for
read
scalability
• TokuDB
and
ScaleDB
engine
• Plus,
in
MariaDB
10:
• XtraDB
5.6
with
Improved
InnoDB
scalability
• Parallel
and
mul=-‐source
replica=on
• CONNECT,
Spider
and
Cassandra
engine
• MariaDB
Galera
Cluster
for
synchronous
replica=on
• MySQL
Cluster
for
high
volume/small
transac=ons
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
6. MySQL
/
MariaDB
Ease
of
Use
• MHA
• Xtrabackup
• MariaDB
Manager
• Enterprise
Monitor
• Query
Editor
• MySQL
U=li=es
• Percona
Toolkit
• MySQL
Workbench
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
6
7. MySQL
in
Rackspace
• Rackspace
Cloud
Database
• MySQL
Community
5.1
• Up
to
16GB
RAM,
150GB
storage
• Standard
Servers
• Up
to
8
vCPUs,
30GB
RAM,
1.2TB
storage
• BYODBMS
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
7
8. MySQL
in
HPCloud
• Manage
a
single
DB
instance
through
the
REST
API
• Standard
Servers
• Up
to
8
vCPUs,
30GB
RAM,
960GB
storage
• BYODBMS
• Marketplace
• GenieDB
• MariaDB
ScaleDB
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
8
9. MySQL
in
AWS
• Amazon
RDS
• MySQL
Community
5.1,
5.5
&
5.6
• Reserved
instances,
provisioned
IO
and
Flash
storage
• 32
vCPUs,
244GB
Memory,
10GB
network
• Automa=c
backups,
Storage
replica=on,
MySQL
Replica=on
• Limited
tuning
• Standard
Servers
and
Marketplace
• Similar
instances
• MariaDB
on
CentOS,
Debian
and
Ubuntu
• GenieDB
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
9
10. MySQL
in
Google
Cloud
• MySQL
in
Google
Cloud
SQL
• Google
compute
(GA)
• Google App Engine
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
10
11. MySQL
and
OpenStack
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
12. MySQL
in
OpenStack
• Used
as
repository
-‐
alterna=ve
to
SQLite
• Increased
portability
and
availability
• High
Availability
is
the
key
factor:
• MySQL
Replica=on
• DRBD
• Galera
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
12
13. MySQL
Replica=on
Control
Network Compute
Node
Manager
HA
Manager
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
13
16. MySQL
as
a
Service
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
17. Automa=c
Provisioning
• REST-‐based
for
interopera=on
• GUI-‐assisted
for
end-‐users
• From
server
to
cluster
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
17
18. The
false
promise
of
the
elas=city
• Distributed
MySQL
is
not
something
you
can
have
out
of
the
box
• Or
not
for
all
your
applica=ons
Read-Write
Read-Only
binlog
Read-Only
relaylog
relaylog
relaylog
OpenStack in Action 4 ! - Paris -relaylog
5th December 2013
Serge Frezefond
18
19. DBaaS
vs
PaaS
vs.
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
19
20. Storage
• Backups
on
Swic
• Full
or
incremental
• Moving
tablespaces
in
Cinder
• For
high
availability
• For
backups
and
archiving
• For
maintenance
OpenStack in Action 4 ! - Paris - 5th December 2013
in01
in02
in03
Serge Frezefond
in04
in05
20
21. Networking
• Mul=ple
NICs
and
floa=ng
IPs
• Public
IPs
• Local
proxies
vs
enhanced
connectors
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
21
22. Security
• LDAP
&
Keystone
• Integra=on
with
MySQL
• LDAP
/
OpenLDAP
• MySQL
Security
Plugin
using
OpenLDAP
LDAP
Keystone
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
22
23. MariaDB
Cluster
in
OpenStack
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
24. What’s
new
with
MariaDB
MariaDB Manager
Configuration
& Provisioning
GUI
API
Monitor
OpenStack in Action 4 ! - Paris - 5th December 2013
MariaDB Cluster
MaxScale
MHA
Galera
MariaDB
Server(s)
Serge Frezefond
24
25. Client
Client
Client
Client
Client
Client Applications
Frontend
SkySQL
MaxScale
Frontend
Frontend
Frontend
Frontend
Listener
MaxScale
Core
Server
Listener
Listener
Service
Server
Service
Server
Router
Router
Router
Service
Server
Listener
Auth
Auth
Auth
Server
Monitor
Monitor
Backend
OpenStack in Action 4 ! - Paris - 5th December 2013
Backend
Backend
Data Stores
Serge Frezefond
25
27. MariaDB
Galera
Cluster
-‐
State
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
27
28. Provision
a
new
node
1
HTTP
POST
method
-‐
Create
a
node
URI:
• .../resfulapi/system/systemid/
node
• Parameters:
• name
• hostname
• publicip,
privateip,
port
• instanceid
• dbusername,
dbpassword
• ...
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
28
29. Provision
a
new
node
1
HTTP
POST
method
-‐
Create
a
2
node
URI:
HTTP
POST
method
-‐
Run
the
• .../resfulapi/system/systemid/
command
node
Connect
to
the
new
node
• Parameters:
URI:
• .../resfulapi/command/connect
• name
• hostname
• publicip,
privateip,
p• Parameters:
ort
• instanceid
• systemid
• dbusername,
dbpassword
• nodeid
• ...
• rootpassword
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
29
30. Provision
a
new
node
1
HTTP
POST
method
-‐
Create
a
2
node
URI:
HTTP
POST
method
-‐
Run
the
3
• .../resfulapi/system/systemid/
command
node
Connect
to
the
new
node
POST
method
-‐
Run
the
HTTP
• Parameters:
URI:
command
• name
• .../resfulapi/command/connect
state
of
the
node
• hostname
Probe
the
• publicip,
privateip,
p• Parameters:
ort
URI:
• instanceid
• systemid
• .../resfulapi/command/probe
• dbusername,
dbpassword
• nodeid
• Parameters:
• ...
• rootpassword
• systemid
• nodeid
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
30
31. Provision
a
new
node
1
HTTP
POST
method
-‐
Create
a
2
node
URI:
HTTP
POST
method
-‐
Run
the
3
• .../resfulapi/system/systemid/
command
node
Connect
to
the
new
node
POST
method
-‐
Run
the
HTTP
• Parameters:
4
URI:
command
• name
• .../resfulapi/command/connect
state
of
the
node
OST
method
-‐
Run
the
• hostname
Probe
the
HTTP
P
• publicip,
privateip,
p• Parameters:
ort
URI:
command
• instanceid
• systemid
• .../resfulapi/command/probe
the
node
Provision
• dbusername,
dbpassword
• nodeid
• Parameters:
• ...
• rootpassword
URI:
• systemid
• .../resfulapi/command/provision
• nodeid
• Parameters:
OpenStack in Action 4 ! - Paris - 5th December 2013
• systemid
• nodeid
Serge Frezefond
31
32. Start
a
node
HTTP
POST
method
-‐
Run
the
command
Start
the
node
URI:
• .../resfulapi/command/start
• Parameters:
• systemid
• nodeid
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
32
33. Retrieve
the
status
of
a
cluster
• .../resfulapi/system/systemid
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
33
34. Monitor
the
#
of
connec=ons
of
a
node
• ../resfulapi/system/systemid/
node/nodeid/monitor/
{monitorid}/data
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
34
35. What’s
coming
• MariaDB
Replica=on
and
MHA
• MariaDB
10
• MaxScale
integra=on
• Juju
charms
for
MariaDB
Cluster
and
MariaDB
Manager
• Puppet
&
Chef
manifests
and
recipes
• MariaDB
and
Trove
• Trove
for
MariaDB
Manager
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
35
36. For
More
Informa=on...
• MariaDB
Enterprise:
www.mariadb.org
www.mariadb.com
• MariaDB
Manager
and
MaxScale:
hPp://downloads.skysql.com/
archives
• Bugs:
hPp://bugs.skysql.com
OpenStack in Action 4 ! - Paris - 5th December 2013
Serge Frezefond
36
37. Pictures
courtesy
of:
• www.pluralsight.com
Thank
You!
www.skysql.co
m
OpenStack in Action 4 ! - Paris - 5th December 2013
serge.frezefond@skysql.co
m
hop://serge.frezefond.com
www.slideshare.net/
Serge Frezefond
sfrezefond