one of the first problems you have to
tackle when building a cloud-based
application whether it handles HR or
e-commerce is where to run your code and
since each cloud-based application has
needs specific to its environment Google
cloud platform offers a diverse set of
options to run your code on but then
there's a new problem figuring out what
option is right for your specific use
case so join us as we explore some of
the options that Google offers for
compute let's work through this from the
most abstract adoptions to the least
first if you're a mobile developer and
then you might not be looking for the
full suite of configurable compute
options most of the time you want
something that does storage
notifications and syncing but with the
least amount of server-side code
possible for that you should check out
firebase it offers a plethora of options
including firebase functions as a
service database hosting and storage all
built with mobile developers in mind so
you get a lot of power for a little bit
of code and that's why firebase is a
common first choice for mobile and HTML
developers but if your application is
more complex and you do need compute
then there are other options available
let's say your application scales beyond
mobile and you still want to minimize
the amount of server-side code cloud
functions might be the right choice
applications that are mainly
event-driven say your accounting
department getting an email every time
your customer uploads a PDF can fit into
cloud functions and run just the event
logic you need without having to
maintain the structure that hosts and
scales them a second clue to
understanding whether cloud functions
will meet your needs is in the name
itself picture your code for a second
does it make sense to talk about it as a
bunch of fairly independent functions
think of cloud functions as the glue
connecting your api's together
with cloud functions you get full access
to our API s and only pay for the time
your functions are running now having
your applications split up between
independent functions may not always be
a great idea like maybe your application
is too intertwined to spool apart or
it's filled with legacy code and too
large to refactor either way you're
still covered thanks to App Engine App
Engine lets you run your application
without having to make each part
available as an independent function it
also supports a wide range of runtimes
and long running processes making App
Engine a flexible fit to host your
complex applications when you think of
App Engine think fast
auto-scaling let's say you're running a
brand new app and you don't know how
demand is gonna fluctuate over the long
term or maybe you have a spiky load
where usage jumps up really high for
short periods of time like an
advertising landing page for you having
consistent access to a fixed capacity
doesn't really make sense with App
Engine you pay for the cycle so you
don't have to guess and no matter how
quickly users adopt App Engine always
keeps up so if you want to get your idea
to market fast and be totally ready when
your app becomes a crowd favorite
overnight App Engine is your best pet
now until recently if you wanted the
advantages of running your app in
containers you had to bid farewell to
some of a pinch its most beloved
features like Faso's auto scaling but
thanks to a fourth option cloud run you
don't have to anymore cloud run brings
serverless principles and containers
together with our fully hosted back-end
it supports the server list principles
of pay for what you use and quick
scaling and adds the flexibility of
running anything you can run in a
container another factor that can and
should influence which compute option
you choose is of course the size of your
operations team all of the options we've
discussed so far are designed to work
well without one with cloud run it
really depends on how you plan to use it
you can think of cloud run as a platform
for running your out containers that can
be as managed as you want you can let it
handle tasks like monitoring application
health and automatically troubleshooting
but you don't have to now if you do
already have some designated team
members who can oversee tasks like
provisioning compute and monitoring
health but you're still running your
applications in containers google
kubernetes engine might be a better fit
for those who are new or need a
refresher gke groups containers that
make up an application into logical
units for easy management and discovery
for a little more context almost
everybody who decides to use gke has
already settled on kubernetes as their
orchestration system and theirs just
deciding how and where to run it maybe
you want to run a single kind of
container but on a bunch of VMs and have
it scale up and down as quickly as
possible or you've got a bunch of micro
services in containers that all need to
work together sometimes you may also be
looking to offload parts of the
management to a provider to remember
that kubernetes engine can be configured
to spin up new containers automatically
to grow and shrink with user demand so
you're still going to get scalability
where an important point of difference
comes into play though is pricing model
with google kubernetes engine as well as
Google compute engine which we'll talk
about in just a second you pay per VM
you decide the shape of the VM how much
CPU memory and disk it has and pay for
the time it's reserved for you unlike
the previous options which are based on
usage this can end up being an
economical option if your compute usage
is a little more on the consistent side
the same is true of Google compute
engine our final and most flexible
computing product why go with Google
compute engine instead because sometimes
you just want a computer whether that's
because you have existing shop software
or licensing reasons or you need a
specific kernel compute engine gives you
the VM to run what you need to run
they're all the way to a custom
image this means that you can use
compute engine to run existing
applications in the cloud without having
to make virtually any changes to the
software itself so when you think of
compute engine think high flexibility
with these quick overviews hopefully
you're feeling better about choosing the
right compute option for your
application remember that Google's
compute options are designed to cover a
range of use cases and team structures
so understanding exactly what you need
from Google cloud platform is just as
important as understanding what each of
our computers best check out our compute
options decision tree at the Google
cloud blog for more help thanks for
watching and as always subscribe for
more great Google cloud platform video
content
[Music]