Now That We Have Kubernetes, Can We
Stop Re-Inventing API Platforms?
June 30, 2021
Hello!
Eric Newcomer
CTO
eric@wso2.com
How it started - how it’s going now
3
Some brief notes on this sea change in computing
4
● Once upon a time it was typical to be in the same room as the computer
⦿ You would come in, run your program, get your results (i.e. print out), and leave
⦿ Sometimes you could get a remote terminal connection, even using a dial up modem
⦿ But it was the same story, and the computer was always in the same place
⦿ Networking was not considered a first class resource such as CPU, disk, and memory
● With cloud native computing your program can run anywhere - and for sure
security will not even let you into the data center at all
⦿ You have no idea which computer is actually running your program - and don’t care
⦿ Networking has become a first class resource - apps connect multiple microservices
⦿ Docker containers run a microservice on any computer
⦿ Kubernetes orchestrates the containers across computers
⦿ This is better in many ways, for scale, reliability, agility, cost...
● Trade offs, different assumptions, and reinvention of the stack happen, but
things seem stable now - at least in this aspect of computing evolution
5
Just give us your containers! We’ll figure out where to run them.
(Interesting side note - you can get a data center in a container ;-)
6
So we have containers in
containers...
Kubernetes - standardizing container orchestration for cloud native
computing - how and where to run all those containerized programs
CLI
UI
Kubernetes Control Plane
API Server
Scheduler
Controller-Manager
Etcd
Workload Node 1
Container Runtime
Pod 1
Container
Pod 2
Container
Container
Kubelet Networking
Workload Node 2
Container Runtime
Pod 1
Container
Pod 2
Container
Container
Kubelet Networking
Kubernetes Cluster
Looks easy, right?
What could go
wrong?!?
7
Troubleshooting Guide
8
Source: https://learnk8s.io/troubleshooting-deployments
But yikes!
Have to navigate a complex
path to to fix problems
So how about a Kubernetes-based platform?
We can assume some kind of Kubernetes is going to be there, right?
9
Choreo
Architecture
10
Dev
Ops
APIs
How about a Kubernetes platform for APIs?
Platform
Features
11
Microservices
Kubernetes
Low Code
DevOps
API Marketplace
Existing
Enterprise IT
SaaS APIs
AI & Machine
Learning
Service Mesh
Security &
Compliance
GitOps
API Management
No Code
Apps
Low Code Integration
Zero Trust
Network
Observability
Solution
Architecture
GitHub
Domain-Driven
Design
Evolution of API platforms - maturity of Kubernetes
● The evolution of computing clearly points to Kubernetes as a lasting “platform”
⦿ Yes, everyone always says “until something else comes along”
⦿ They said that about Web services 20 years ago, and we still have WSDL and SOAP
out there ;-)
⦿ Of course something else will come along, but for the moment the industry is
standardizing on Kubernetes for container orchestration the way it’s already
standardized on Docker for containers
⦿ Sorry Heroku, Cloud Foundry, Open Stack, Mezos, Swarm…
● Yes, there are problems with Kubernetes but these are getting solved by
abstracting the “flavor” of Kubernetes into platforms (on platforms....?)
● Now that we know Kubernetes will be there for our containers
⦿ We can develop and auto-deploy APIs with confidence
12
wso2.com
Thanks!
Appendix

INTERFACE, by apidays - Now that we have K8s, can we stop re-inventing API Platforms? by Eric Newcomer, WSO2

  • 1.
    Now That WeHave Kubernetes, Can We Stop Re-Inventing API Platforms? June 30, 2021
  • 2.
  • 3.
    How it started- how it’s going now 3
  • 4.
    Some brief noteson this sea change in computing 4 ● Once upon a time it was typical to be in the same room as the computer ⦿ You would come in, run your program, get your results (i.e. print out), and leave ⦿ Sometimes you could get a remote terminal connection, even using a dial up modem ⦿ But it was the same story, and the computer was always in the same place ⦿ Networking was not considered a first class resource such as CPU, disk, and memory ● With cloud native computing your program can run anywhere - and for sure security will not even let you into the data center at all ⦿ You have no idea which computer is actually running your program - and don’t care ⦿ Networking has become a first class resource - apps connect multiple microservices ⦿ Docker containers run a microservice on any computer ⦿ Kubernetes orchestrates the containers across computers ⦿ This is better in many ways, for scale, reliability, agility, cost... ● Trade offs, different assumptions, and reinvention of the stack happen, but things seem stable now - at least in this aspect of computing evolution
  • 5.
    5 Just give usyour containers! We’ll figure out where to run them.
  • 6.
    (Interesting side note- you can get a data center in a container ;-) 6 So we have containers in containers...
  • 7.
    Kubernetes - standardizingcontainer orchestration for cloud native computing - how and where to run all those containerized programs CLI UI Kubernetes Control Plane API Server Scheduler Controller-Manager Etcd Workload Node 1 Container Runtime Pod 1 Container Pod 2 Container Container Kubelet Networking Workload Node 2 Container Runtime Pod 1 Container Pod 2 Container Container Kubelet Networking Kubernetes Cluster Looks easy, right? What could go wrong?!? 7
  • 8.
    Troubleshooting Guide 8 Source: https://learnk8s.io/troubleshooting-deployments Butyikes! Have to navigate a complex path to to fix problems
  • 9.
    So how abouta Kubernetes-based platform? We can assume some kind of Kubernetes is going to be there, right? 9
  • 10.
  • 11.
    Platform Features 11 Microservices Kubernetes Low Code DevOps API Marketplace Existing EnterpriseIT SaaS APIs AI & Machine Learning Service Mesh Security & Compliance GitOps API Management No Code Apps Low Code Integration Zero Trust Network Observability Solution Architecture GitHub Domain-Driven Design
  • 12.
    Evolution of APIplatforms - maturity of Kubernetes ● The evolution of computing clearly points to Kubernetes as a lasting “platform” ⦿ Yes, everyone always says “until something else comes along” ⦿ They said that about Web services 20 years ago, and we still have WSDL and SOAP out there ;-) ⦿ Of course something else will come along, but for the moment the industry is standardizing on Kubernetes for container orchestration the way it’s already standardized on Docker for containers ⦿ Sorry Heroku, Cloud Foundry, Open Stack, Mezos, Swarm… ● Yes, there are problems with Kubernetes but these are getting solved by abstracting the “flavor” of Kubernetes into platforms (on platforms....?) ● Now that we know Kubernetes will be there for our containers ⦿ We can develop and auto-deploy APIs with confidence 12
  • 13.