ROBERT KUBIS: Hello, and
welcome to this Next OnAir talk about how to choose
the right database for your workloads. I'm Robert Kubis. I'm a Google Cloud
developer advocate, and I've worked with
storage and databases for the majority of my
time here at Google. You can find me on
Twitter with @hostirosti. Now, if you look at application
and database migration journeys, we do understand that
these are dynamic and diverse. So if you are coming from
an on-premises system and moving into the cloud, if
you're moving from one cloud to another, or if you're looking
at a multi-cloud strategy, even if you are in the business
of developing something new from scratch or
extending your applications with new applications
from scratch, we want to meet you where you
are and want to support you in those journeys. So today I want to focus on
three major journeys here. First one is migration, so
like for like migration, lift and shift,
lift and optimize. Here, you're coming
from a system that you're familiar with and
you would like to stay with, but you want to move into
the cloud, reducing your TCO, for instance, or having actually
the possibility for faster migrations, fewer
applications, rewrites, and enable the modernization
once you are on the cloud. Second, I want to talk about
modernization journeys. Here you are looking
at challenges that you have with your
existing databases where you want to move off
your existing databases and want to move on a cloud
native database, for instance, or one of our managed
open source solutions. This can help you reduce
and eliminate reliance on a single database. It allows you to
rethink how you're using your databases,
for instance, consolidating many
databases into one or changing the database
that you're using. And third, I want to touch on
innovation and transformation. Here, I want to focus on what
are the databases that we are offering as fully
managed solutions to remove the toil
from your plate so that you can concentrate on
solving and building the things that your customers need. Here, you have the
ability to really tap into systems that are scalable,
available, SLA-backed, and that help you to advance
your business. So let's start with migrate. So the migration journey,
to be successful, is a multi-step process. And I want to touch on this
because this is important if you want to have a
successful database migration. You start with
assessment and discovery. You want to see where you
are, where you're coming from, and what are the criterias along
the way that build success. Make these criterias
in a way that you can check on your
journey your success criterias along the way. Then you want to set
up this environment. So there are different
ways of doing this. You can basically start an
organization, Google Cloud, create your projects,
set up network peering, set up private networks to
always have your data secure when you're moving it. Or if you have a lot of
data, you can use something like Transfer Appliance
that we are offering, which we are shipping
to your data center, where you can load data
onto it, ship it back, and then it gets
loaded into GCS, where you can load it back into
the database of your choice. Then you have the data
migration, of course. Check with monitoring if
this migration is going well, validate it,
and then have always a strategy of if something
goes wrong how to roll back. Especially if you
do online migration, you want to have
rollback strategies, and you want to
have them tested. So what are the options? You see here on
the left that there are a lot of databases
that are around. There are open source databases. There are third-party databases. There are relational databases,
key-value store, column store, caches, really streaming
databases, a lot of databases that are around. Now, if you look
at those databases, where can you end
up on Google Cloud? So you see on the right,
we have infrastructure as a service or
managed databases that you can choose to end up. Especially for
homogeneous migration, you want to look if your
databases are supported by our fully managed services. Or you can also get help
from our managed partners to go into those solutions. So let's resume. For instance, if you
have all those databases on the left side, you can
always go with the way and self-manage them on Compute
Engine or Kubernetes Engine, if you like. Now, if you are using, for
instance, MySQL, PL/SQL, SQL Server, you can use
one of our managed solutions with Cloud SQL. Now, for each base, for instance
if you have HBase workloads, our Cloud Bigtable managed
solution and cloud native database has an HBase API. And so you can end up
with your HBase workloads in Cloud Bigtables directly. Now, if you're looking
into cache solutions, you can use Cloud Memorystore. Or for writers, for
instance, we also have managed partner solutions
with our open source partners to provide you a
fully managed solution that is integrated
with billing, that is integrated with monitoring,
and easily accessible through the marketplace. And then, last but not least, we
also have Bare Metal Solution. So Bare Metal Solution I will
go a little bit more in detail later, but that also
allows you to bring your third-party database
workloads closer to our data centers. So I want to focus
a bit on SQL, the how do we support
you in SQL migration. So one of the things that, for
instance, with MySQL support is external replication. So you can set up
external replication of your existing MySQL
databases on-premises or on another cloud, and this
way, catch up with your data in our cloud on Cloud
SQL and then switch over. We have also a lot of
other functionality that helps you to move your
data and your applications into the cloud. Now, I want to point
out here that we are partnering with a lot
of migration partners. You see a screenshot of logos
down there in the slide. And if you basically
want to have help, if you want to have experienced
partners, experienced partners in your migration
journey, please feel free to reach out to
those migration partners that have done [INAUDIBLE] migration
successfully onto Cloud SQL. And last but not
least, I also wanted to point out that you can
get more information on what features we have, for instance,
with Cloud SQL coming, and how to migrate or recover
with Cloud SQL in the talks that you see in the
Learn More section. Now, what is Bare
Metal Solution? With Bare Metal
Solution, we allow you to migrate or move
your Oracle workflows closer to Google Cloud. So maybe you can't move
off Oracle right now, or you want to move
at a later point, and you want to move your
central workloads closer to Google Cloud. Now, with Bare
Metal Solution, you have some solution that is
possible in the sense of that we have purpose-built
hardware that is certified that brings
your workloads closer to Google Cloud. We have integrated billing. This is a very low latency
setup with our data centers. And we allow you to bring
your own DBAs or your service integration partners that
you prefer with the solution. Now, if you want to learn more
about the Bare Metal Solutions, please check out
the talk DBS213. All right. With this, I want to go
into the modernization section of this talk. So again, I want
to touch on-- also, modernization
journey is something that you need to look
at the multiple steps that you are [? trotting ?]
on during this journey. Now, this is a little
bit more complex. You see here, I
didn't do justice with just adding this app
into my creation step, but each of these
steps is touched if you do a modernization journey. Now in a modernization
journey, you have things you have
to think about, OK, I might have to do a data
model transformation. I have to do my
data transformation if I move into the cloud. There are maybe
different things that you need to change in your apps to
make that actually possible. But again, all this should
be starting at an assessment. Do POCs. Set up the success criteria. Set up the environment,
and have strategies if something goes wrong. Now, there are three main
cloud native databases that I want to touch on here
for your migration journeys. Number one is Firestore. So Firestore is our
fast, fully managed, serverless NoSQL cloud database. So it allows you to especially
build really powerful VAP and mobile applications. It is a document-based database. And it allows you also to sync
your devices in real time. Now, Bigtable is a
fast and fully managed wide-column database or
key-value NoSQL database that allows you low
latency, scalability, and reliability for
massive workloads where you need fast lookups,
fast writes, and fast scans. Now, Cloud Spanner
is our database that addresses the [INAUDIBLE]
and relational database market. With Cloud Spanner, you
have an enterprise-grade, globally-distributed, and
strongly consistent SQL database that has
asset functionalities and that you have basically
built-in disaster recovery and high availability
with horizontal scale. Now, what do we see
in our customers? What are the journeys that
we see a lot of times? So here, I want to point
out that, for instance, for the [INAUDIBLE] and
SQL database modernization on workloads, we see
a lot of customers that hit certain challenges
with their existing relational databases. And they want to move
into a more managed, scalable, and
SLA-backed solution. So many of those
customers are looking at Cloud Spanner
at the destination from a relational database. Now here, challenges are
addressed with scalability. You have an SLA
up to five nines. You have built-in
high availability and disaster recovery. So there are many things that
help you basically making this decision. Now, other workloads
that you can see is, for instance,
Cassandra workloads. Now, there's a little
bit of a differentiation here that you have to look at. So for Cassandra workload,
it's really important is, why did you move to
Cassandra in the first place? Did you try to address
a challenge like you had scalability issues,
and you were saying, OK, I wanted to address the
scalability issue challenge, and that's why I
moved to Cassandra, which is a horizontal,
scalable database system. But by that, you sacrificed some
of the consistencies, qualities that you have with a
relational database. Now, if you weren't happy with
sacrificing these constraints, the relational
constraints that you have, the consistency constraints
that you have in your workloads, and you had to build this
into your application, which is error prone, and difficult,
and quite an overhead, then many of those
customers are actually moving to Cloud Spanner
because you get back here the consistency, but you
keep the horizontal scalability before your workloads. Now, if you moved
to Cassandra because of the horizontal
scalability, and you're fine sacrificing the
consistency in here, then we see customers moving
to Cloud Bigtable, where you have a level of consistency,
but [? eventually ?] consistency for replication
across zones and regions. Now, if you, for instance,
come from a document store, we see quite a lot
of customers that are looking, for
instance, moving to Firestore as a destination
from mongoDB, for instance. All right. So what how do we support you
actually in these database modernization? So there are quite
a couple of things that you can look at for this
support in the modernization. On the one hand, we are
building more and more tools that help you migrate. So we are integrating
with industry standards like JDBC and Hibernate. We are integrating with
very popular frameworks like Spring Cloud
Integration, for instance. And we provide you with tools
for fast, iterative development that you can do. For instance, the
local emulators help you to fast iterate
and develop locally without having to set up a
database like Cloud Spanner or Bigtable database
in the cloud, and you have all
this overhead there. Also, by moving onto one
of our Cloud databases, cloud native databases, you get
all the other features as well. So you get high availability,
all the scalability, and the integrations that
come with more monitoring or optimizing your databases. Now, you might ask, OK, is
that the only thing that I need if I make a decision
to which database to move? And it is not. You have to differentiate
between two main areas that I see here. One is, what are the
technical considerations that we have touched on
already in this talk? And what are the
business considerations? Right? So a technical consideration,
again, just briefly, what are the tools, and
integration, and support you get on the technical side? What are the communities,
things like that? What is the data model
that you have to go into? And what are the
consistency requirements that you have for
your workloads? Now, on the other hand,
the business consideration is things like, can
you reuse the skills that you have already in your
teams, in your companies? Is there a certain
SLA that you need? Do you need certain
managed functionality? What is the security
requirements, compliance, certifications,
things like that? So there are many
criterias that you need and want to
look at when you make your choice for a database. Now, that said, for all the
cloud native databases that we offer, they are all SLA-backed. They all come with data
encryption in-flight and addressed. And they all are built for
scalability and availability. So with this, I want
to focus on like, OK, what are the databases
[INAUDIBLE] that you can end up with, and especially for your
innovation and transformation journeys? First, Cloud Spanner. So why would you
choose Cloud Spanner? First, it is a fully managed
ACID and a relational database. It comes with a built-in
high availability. So data is distributed
and replicated across zones and for our
multi-regional setups across regions. So if one zone goes
down, your database will still be available. Now, the second thing
is you are provisioning the database for what you need. Here, you can scale
flexibly, horizontally. So you have an online
elastic capacity scaling. And that is actually in a matter
of minutes that you can scale. So you're just going
to go either use an API or our console to scale
your database, depending on instance, actually, depending
on the load that you have. And a new feature that
we just added recently, you can do things like Query
Optimization Version pinning, where, if you have a query
optimizer that we have released that you like and you want
to test in your version before you actually go in
with this for your production workloads, you have the
ability to actually choose which kind of
optimizations you want to have for your workloads. Now, we see a lot
of uptake for Cloud Spanner in many,
many, many verticals and different diverse
workloads, especially things where you need the
consistency constraints, where you need the asset
capabilities of this database. Now, for Cloud
Bigtable, here we are looking at a really, really
performant, key-value, wide-column database. We see a lot of things like
[INAUDIBLE] or anything where you need fast lookups. But Cloud Bigtable is optimized
for fast [? ingress ?] and fast searches
[INAUDIBLE] reads. Cloud Bigtable also
has linear scalability. So depending on your workloads
and depending on your traffic that you have, you can
flexibly scale linearly for your workloads, which
is very, very powerful. Again, Cloud Bigtable is
a fully managed database. It comes with many,
many client libraries in idiomatic languages. And you have tools integration
like the Key Visualizer that helps you
optimize your schemas. I also want to
mention here, if you are going onto one of our
cloud native databases, these get better over time. So Cloud Bigtable, for
instance, is a database that we have
developed and started to develop 15 years ago. It has made many, many
iterations and optimizations along the way. Now, if you are betting on one
of the cloud native databases, we are constantly optimizing
the hardware, the network, the functionality
under the hood. And you just get
that out of the box. You don't have to self-manage,
for instance, the operating system. You don't have to run
patches or things like that, and updates for your
self-managed workloads. Here, everything is
fully managed for you. Now Firestore is the database
that currently has the highest net promoter score. Firestore is very
easy to start with. And again, it's a serverless,
fully managed database, where you pay for what you get,
and you pay for what you use. That is important here. And it comes with
many, many integrations for iOS, Android, web clients. You find server
client libraries. But a feature that I really,
really like from Firestore is the real time
synchronization between devices. And that can be a mobile
device with Android, iOS, or it can be a web application. It is very easy to set up. You don't have to
write a lot of code. It basically comes
out of the box. Another feature which
comes out of box here is that you
have offline support. So even if you have
connection challenges, we do all the things
behind the scenes to make sure that
your data is cached and the app experience is almost
uninterrupted if your people-- or your users and your
customers go offline. We see with Firestore that many,
many companies are actually using Firestore to extend and
modernize their application in front of legacy setups. So for instance, if you want
to add a more natural and more modern mobile
application experience, Firestore is one of the
number one choices here to achieve that with
your existing backends. Now, I don't want to say
that you only want to end up in our cloud native databases. There are many situations
where you might want to end up in an open source database. Now, with our managed
open source solutions, you can do just that. And remember, here, it's about
taking away the toil from you. With our managed solutions,
we and our partners are taking care of things
like operating system patches, database patches,
keeping everything secure in the background,
and updating the backend in the sense of that you get-- you can choose when you want to
have your new functionalities coming in with your
managed solutions. But it's much less toil. It is integrated with our
monitoring and our logging tools, and integrated with the
billing facilities as well. Now, you might have wondered--
there wasn't any data analytics database so far. So I want to actually
bring in BigQuery here, which is our serverless,
fully managed, petabytes-scale data
warehouse system. So with BigQuery,
you can run analytics across petabytes of data in
minutes or terabytes of data in seconds. It's very feature-rich. It has a lot of features
like ML integration. You have a natural language
query interface now that is just released. You have an SQL interface. So it speaks SQL so
you can, again, reuse your skills that you are
already familiar with. What's really
powerful with BigQuery is the integration
with other systems. So BigQuery allows
you to, for instance, run federated queries
into Cloud SQL databases. By doing this, you don't need to
move your data from Cloud SQL, for instance, to BigQuery. You can just query your
data directly from BigQuery. And we also just
recently announced that it's possible to actually
query data in other clouds with BigQuery as well. So with this, let's get
all this onto one slide. So here, you see the full
data management portfolio that we are offering ourselves,
as well as with our partners. And we don't stop there. You can always run
your database of choice that, even if it's
not supported by us directly or by our
partners, you can always run it on our infrastructure. So for instance, if you
look at HANA, or IBM Db2, or things like that, you
can always run them directly on GCE and Kubernetes. So there are many
ways, from in-memory, non-relational, relational data
warehouses, everything here you see that can be accomplished
with our database and data management portfolio. Now, I want to have a
little different view here as my last slide before
I close out this talk. So here, you see the
different data model schemas that are available and are
supported by our database systems and solutions. Now you see that many
of those are either supported by our fully
managed offerings, by our cloud native offerings,
or through our partner offerings that we have here. And just for you, for
reference and help, if you are in the business
of moving from one cloud to another, or you want to set
up a multi-cloud environment, we have also put the systems
in other cloud providers so you have something
that you can match up for our database solutions. All right. So with this, please tune into
the sections and breakout talks that are available
on Next OnAir. There are many really, really
great talks that are coming out and that are really
interesting to watch. Many go in a little bit more
detail or a lot more detail in how to migrate your
workloads onto Google Cloud. I also want to
especially recommend you to watch the
solution keynote, "What's New with Database Management." And also check out
our showcase demos that are available at
cloud.google.com, Next SF Demos under Data Management Databases. All right. With this, thank you
very much for tuning in. I hope this was helpful. And please feel free to reach
out to me, for instance, on Twitter @hostirosti. Thank you.