►
From YouTube: Enter the Next Level: Migrating to Cloud Native Platform
Description
Organizations are moving from centralized data centers to distributed cloud native platforms. Due to the complexity of such a migration, an organization would be running a hybrid multi-platform environment which spans from the old to the new world. It starts at the edge of a system, using functionality provided by an API gateway or platform. In this session, Daniel Kocot will discuss:
- Strategies for application modernization
- Best practices for happy path migration
- How an API platform can become part of the migration process
A
A
We
think
about
cloud
native,
we
think
about
architecture,
so
we
mainly
think
about
api
gateways
service
measures.
Sometimes
we
have
an
opinion
about
the
people
in
the
project
regarding
cloud
native
migrations,
and
afterwards
we
are
always
thinking
about
observability
all
things
behind
that.
So
in
this
talk
we
will
just
spot
the
different
things
around
cloud
native
environments.
So
what
is
cloud
native
cloud
native
is
about
distributed
systems.
A
A
Normally,
when
you
think
about
a
cab
theorem,
you
only
will
achieve
two
of
the
three
ones,
so
mainly
you
will
have
consistency
and
high
availability,
or
you
will
have
consistency
and
tolerance
to
network
partitions
and
so
on.
So
this
is
what
you
can
achieve
when
we
also
think
about
cloud
native.
We
got
mentioned
the
12
factorials
so
often,
but
what
is
a
12
factor?
App?
A
When
we
also
think
further
about
cloud
native,
we
mainly
hit
containers
containers
are
everywhere.
So
even
on
the
picture,
you
see
a
lot
of
containers
so
when
we
get
into
adoption
to
what
we
call
cloud
native,
all
of
these
containers
on
the
picture
can
have
something
like
a
little
application
or
a
bigger
application,
and
so
on.
A
So
when
we
have
this
container
things,
we
need
something
to
orchestrate
some,
so
we
need
orchestration
and
when
we
think
about
orchestration,
we
want
to
provision
and
deploy
these
containers.
We
want
to
talk
about
resource
management,
health
monitoring,
scaling,
providing
mappings
to
connect
to
networks,
and
even
we
will
think
about
load
balancing
and
the
one
thing
we
have
when
we
think
about
orchestration
is
everybody
talks
about
kubernetes
kubernetes
was
open
source
by
google
in
19
2013
and
every
cloud
provider
has
an
hubernetes
offering,
so
it's
mainly
a
standard.
A
A
We
talk
about
infrastructure
as
a
service
or
platform
as
a
service,
so
when
we
do
lift
and
shift,
we
sometimes
use
infrastructure
as
a
service,
or
we
use
a
whole
platform
as
a
service
to
do
this
lift
and
shift,
and
hopefully
an
easy
way,
but
when
we
also
think
about
cloud
native,
we
think
about
application.
Modernization
we
want
to
modernize
our
application,
which
might
be
old,
might
be
a
legacy
solution
and
so
on,
and
why
what
we
are
talking
about
application?
Modernization
is
also
quite
easy.
A
So
this
is
what
comes
apart
when
we
think
about
application,
modernization
as
part
of
cloud
native
and
the
third
part
when
you
think
about
cloud
native
and
not
even
technology
but
concepts,
we
always
think
about
microservices,
but
why
normally
microservices
are
quite
small,
loosely
coupled
and
focused
on
their
area
of
functionality,
so
everything's
becomes
smaller,
no
bigger
code
bases
and
so
on.
We
get
straight
through
and
have
a
little
little
world
of
micro
services,
but
that's
it's
quite
hard
to
handle.
A
When
we
have
a
lot
of
microservices,
we
have
little
code
bases,
but
we
have
a
lot
of
them.
So
we
need
something
to
handle
these
microservices
even
in
this
migration
to
the
new
cloud
native
world.
So
what
comes
up
first
is
something
like
an
api
gateway,
but
what
is
an
api
gateway?
An
api
gateway
is
when
we
look
at
patterns
at
the
fir
at
first
fs8,
which
is
only
there
to
masking
complex
and
under
complex,
underlying
or
structural
code.
A
A
But
when
we
think
about
this
aggregation
pattern,
it's
quite
yeah
complex,
it's
getting
business
logic
into
and
a
gateway.
So
maybe
this
is
not.
The
good
show
the
best
choice
when
we
think
about
the
aggregation
pattern
in
a
different
way.
We
can
think
about
having
the
gateway
and
at
first
aggregation
service
between
the
services
and
the
gateway,
so
the
gateway
communicates
with
the
aggregation
service
and
not
with
the
services
directly.
A
A
The
third
solution
is
offloading
and
cross-cutting
concerns.
What
does
it
mean?
Normally,
when
we
have
services,
they
have
authentication
authorization,
they
need
rate,
limiting
retry
policies.
We
have
to
think
about
circuit,
breaking
caching,
compression,
ssl,
offloading
and
and
logging,
including
monitoring.
So
these
cross-cutting
concerns
or
offloading
features
can't
be
placed
into
the
gateway
and
the
gateway
uses.
The
cross-cutting
concerns
to
spread
them
all
over
the
services
behind
the
gateway.
A
A
Normally,
we
have
different
services,
maybe
in
different
languages,
and
we
have
the
code
of
the
service
and
each
service
needs.
Some
communication
code
to
communicate
with
other
services,
so
this
communication
code
is
always
placed
in
the
same
service,
but
this
makes
it
quite
complex
and
quite
not
so
handy
to
give
it
all
what
you
need
when
you
think
about
good
architecture,
you
might
think
about
a
side,
car
or
proxy,
where
all
the
communication
code
between
the
services
is
part
of
the
proxy,
not
part
of
the
service.
A
When
we
think
about
this
in
a
higher
level,
we
have
a
so-called
control
plane
and
we
have
this
data
plan,
so
we
can
have
different
services
in
different
data
plans
or
different
clusters,
and
they
all
can
communicate
between
because
of
the
proxies
placed
in
the
data
plans
who
are
connected
to
the
control
plan.
This
is
the
normal
architectural
architecture
diagram
which
we
saw
when
we
talk
about
service
measures.
A
A
A
We
can
manage
the
security
within
the
proxy
and
also
tracing
monitoring,
and
we
think
about
again
the
gateway.
We
have
the
possibility
to
combine
the
service
mesh
with
the
gateway
and
have
all
the
things
like
security
delivered
from
the
gateway
to
the
service
mesh
control
plan
to
have
all
the
features
at
one
place.
A
A
And
devops
should
improve
the
mean
time
to
recover
so
that
the
system
is
in
a
real,
fast
time
available
again.
These
are
some
points
about
devops.
We
have
this
broad
concept
and
we
have
this
improvement
of
collaboration
between
our
roles
in
a
development
team.
So
there
is
a
lot
of
conversation
between
people
and
it
should
be
improved
even
more
and
through
this
we
achieve
all
the
other
things.
A
But
how
can
we
measure
something
like
devops,
because
everybody's
talking
about
devops,
you
should
do
this.
You
should
do
that
and
you
should
build
the
pipelines
to
to
get
a
better
understanding
of
devops
and
do
all
the
things
we
are
always
talking
about
tools
when
we
think
about
devops,
but
devops
is
really
about
the
people,
so
we
need
something
to
to
measure
our
yeah
milestones
or
something
like
that.
Just
to
get
on
to
see
did
we
achieve
something
or
didn't
we
and
one
thing
about
measurements.
A
A
A
A
A
A
A
We
had
in
a
project
where
we
did
a
migration
to
to
the
cloud
and
our
application
become
cloud
native.
So
we
have
a
lot
of
sharing
with
other
people
and
when
we
think
about
all
this
def
ops,
normally
a
cicd
flow
comes
up.
This
is
just
an
example
where
we
have
it's
quite
complex,
where
we
have
to
complete
the
code,
put
it
to
git
and
then
go
through
all
the
steps.
Build
container
containers
put
push
these
containers
into
the
private
registry.
Do
a
security
scanning
test,
the
configuration
and
so
on.
A
After
a
lot
of
steps,
we
get
a
release
or
we
just
have
a
canary
test
and
so
on.
So
this
is
a
whole
complex,
ci,
cd
flow.
We
see
here
where
we
have
all
the
things
behind
the
devops
concept,
and
even
when
we
put
the
cons
model
on
it,
we
see
here
a
lot
of
learnings
in
it,
so
the
process
started
nearly
small
and
it
got
bigger
and
bigger.
So
everything
like
deployment
to
kubernetes
shouldn't
be
a
nor
it
shouldn't
be
an
a
manual
step.
It
will
be
an
automated
process.
A
A
A
A
A
There
will
be
an
q
a
session
afterwards,
so
please
stay
tuned
and
ask
the
questions
you
have
thank.