Treating APIs as a product can be the business case you need to push your application to the cloud. The Big Four can stand up legacy and new API implementations with low friction. This talk will show how to build APIs in the Cloud, how it ties into IaaS, and the infamous Netflix API Gateway Model.
6. 6
Source: Docker.com | What is a Container?
Containers are like small, streamlined
virtual machines. Except where a virtual
machine is an entire system, OS and all, a
Container will only have an application
and its dependencies, using the OS and
Kernel of the machine it lives on.
For APIs housed in containers, an API, its
framework, and a webserver can live in
the container, while its required
infrastructure, such as a Linux or
Windows machine, remain outside.
Containers
nerdypaws /in/amycodes
7. 7
Source: Docker.com | What is a Container?
Pros:
➢ Can move from machine to
machine
➢ No need to upskill API
developers*
➢ More Runtime Control
Containers
Cons:
➢ High overhead on Container
Maintenance
➢ One bad container... nerdypaws /in/amycodes
8. 8
Serverless architecture uses Cloud
Native services to create an
infrastructure that does not need to be
managed by the Developer. It most often
uses a combination of a Cloud Provided
API Gateway and Functions as a Service
or Containers.
For developing APIs, the Cloud Provider
will create a collection of endpoints that
connect to a Cloud Compute Service
triggered by Events such as HTTP
Requests or Event Queues.
Serverless
nerdypaws /in/amycodes
9. 9
Serverless
Pros:
➢ Lightweight
➢ Pay-as-you-go
➢ Cloud Native, Cloud
Optimized
Cons:
➢ A very different
Programming Paradigm
➢ Vendor Lock
➢ Developers touch more
Infrastructure
nerdypaws /in/amycodes
14. 14
Zuul, Netflix’s Edge Gateway, allows
multiple video clients such as a Roku,
SmartTV, Smart Phone, Laptop, etc. to
connect to Netflix User and Streaming
Services using a single API Gateway to
connect to a Service layer which,
depending on the source and version,
returns the right data.
This works because the workflow for all
clients is the same. It looks for the same
things and returns data from the same
sources allowing Front End
optimization.
What it is
nerdypaws /in/amycodes
15. 15
Even though Zuul is a multi-client API, it
is not a magic bullet. One cannot send
any number of different requests at a
single endpoint and infer where it should
go depending on the content without
previous development for that logic.
Design Requirements for a single
product API are the same for even Large
Service Gateways. Purpose and
Frequency will dictate how they are built.
What it isn’t
nerdypaws /in/amycodes
16. 16
➢ Frequency and Size of Request are
still Important
➢ How similar are the Requests?
➢ How many end points will you have?
➢ How is this better than different
APIs?
Things to consider...
nerdypaws /in/amycodes
17. Summary
➔ Many ways into the
Cloud
➔ Containers vs
Serverless
➔ Modernization vs
Migration
➔ APIs have Limits
➔ Netflix’s API is
Case Specific
➔ APIs can do a lot,
but they shouldn’t
do everything
17
nerdypaws /in/amycodes