Understanding Difference Between Cloud Endpoints and API Gateway
In this lab, you will be deploying your APIs on Cloud Endpoints and API Gateway and then securing both of the APIs. Both these services are used to create and manage the APIs but API Gateway is newer.
How is Cloud Endpoints different from API Gateway?
Cloud Endpoints is a user-managed service whereas API Gateway is a fully managed service.
Both support the same OpenAPI definition format. The main difference is that API Gateway can route a request to multiple backends, but Cloud Endpoints can route traffic only to a single backend. API Gateway can do anything that Cloud Endpoints can do but vice versa is not always true.
Another notable difference is the processing of the host property in Open API definitions:
- In Cloud Endpoints, it is mandatory and is set to the hostname part of the URL. For e.g. .appspot.com
- In API Gateway, it is not mandatory, the host property can be deleted or left blank or it is set to the DNS Name of the deployed API.
Learning Objectives
Upon completion of this lab you will be able to:
- Deploy and Secure your APIs on Cloud Endpoints
- Deploy and Secure your APIs on API Gateway
Intended Audience
This lab is intended for:
- Software Developers
- QA Engineers
- API Developers
Prerequisites
You should possess:
- A basic understanding of Python
- A basic understanding of JSON or YAML format is helpful but not required
Updates
December 6th, 2023 - Addressed user ban issue and promptly added a warning
August 26th, 2022 - Resolved an issue causing the test application to not enable the sign in button
May 26th, 2022 - Correct error within VM instance
Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.