REST API Design, Management, Monitoring & Analytics (Udemy.com)
REST API principle & design. Hands-on API management tools with Kong API Gateway, Docker, Zipkin, Elasticsearch, Kibana
Created by: Timotius Pamungkas
Produced in 2022
What you will learn
- Theory & Best Practices about API Management & Design
- Managing API using open-source tools: Kong
- This is NOT a coding course. We will NOT learn how to create REST API here. We will learn how to manage them.
- API Analytics with Elasticsearch, Logstash, and Kibana (ELK Stack)
- Monitor & notify your team real-time when your service is in trouble (e.g. down or high load)
- Trace your API calls that scattered on different machines
- Simple usage of Docker container technology
Quality Score
Overall Score : 76 / 100
Live Chat with CourseDuck's Co-Founder for Help
Course Description
- This is NOT a coding course. The focus is on API management tools using off-the-shelf (ready to use) softwares
- You don't need any credit card or payment to use tools in this course. All softwares (including API manager itself) are available as free edition. Some might even open source their codes.
---------------------------------------------------------------------------------------------------------------------------------------
Update November 2019
Minor Update:
- Added video about correlation id plugins on section 14
Update October 2019
Minor update :
- Changed kong version on docker to kong 1.3
- Added script & description for Elastic stack version on docker to 7.x. However, the video still use Elastic stack 6. I will update it soon to Elastic stack 7, maybe before christmas.
Before We Begin
If you want to learn, you simply need a web browser. For running tools and hands-on, specific hardware and software required. Please see requirements on Lecture One (with title Readme First : Hardware & Software Required).
Prerequisites
We will use Docker (which is container technology) to install tools required for this API management course. In this course, you will learn basic knowledge of Docker. To install docker, you need to be familiar with:
- Windows : basic command prompt usage & command, administrator access
- Mac / Linux : basic terminal usage & command, root / sudo access
Don't worry, the official documentation is complete and easy enough to follow.
---------------------------------------------------------------------------------------------------------------------------------------------------------
Works with REST API
Your workplace adopt modern architecture and relies on REST API. Having REST API give benefits, but the benefits comes at cost. For most teams, the processes of setting and enforcing standards or policies across their APIs is entirely manual. Often that process involves multiple teams or team members and becomes even more painful as the number of APIs grows.
Now that you have provisioned your APIs, you also need to have visibility on your APIs. How is your API traffic trending over time? Which API used most? Which API has large error rate? Having this data will help you analyze and take correct decision for further API development.
Implementing policies, securities, or analytics can be done by writing additional logic on your APIs. You can even write your own analytics tools for monitoring & analyzing your APIs. But those process will be redundant and time-consuming. Why don't we find a more efficient way so developers can focus on business needs? That will ultimately maximize the productivity of the developers who build on the API, and in turn give benefits to company.
API Management Software
API management tools can be an answer. API manager tools in market likely provides common API capabilities, like:
- API gateway, a single communication point for accessing API
- Basic security for accessing API
- Traffic control, like rate limiting or quota
- Monitor API health (is API accessible or down?)
- Load balancing
- API Analytics (hit rate, error rate)
- Logging your traffic
- Developer portal, act as API documentation. A common API documentation format is swagger / Open API specification
In this course, we will learn API Management using several tools. All software available as free edition. Some comes with option to upgrade into premium edition with more features. The tools we will learn here are:
- Kong API management
This is the main focus of this course. - Docker and docker compose
Popular container technology to speed up our installation and configuration. However, this course is NOT a docker course, so we will no go deep on docker. - Zipkin
An open source REST API tracing tools. Useful for distributed tracing on different services, even if the API services scattered on several machines. - Elasticsearch, Logstash & Kibana
A Popular search engine and it's visualization tools. This course is an introductory course on how to use these stacks to analyze your API traffic. But this course is not focusing on Elastic stack. - Prometheus & Grafana
Open source monitoring tools to gather performance metrics and display those metrics as time-series charts.
Benefit of API Management (for Engineering and Business)
Let's face it : we have time constraints. Business needs those API. And they need it fast.
Writing API that just functionally works but not secure, or technically flawed, will bring trouble sooner or later. Maybe somebody find a security hole in your API, and exploit them. Or you work on a place where API is used in many places by many people / systems? Without having transparency of API analytics (usage, error rate, etc), it is difficult to know whether your API works fine, or need improvement.
Writing codes for implementing API security, analytics, or some other technical aspects are nice. Either veteran programmer or new kids on the house will love the challenge to write such codes and solve complex problems.
But the time constraints speaks loud. Writing such codes can be time-consuming. It is a good thing to focus developers effort to delivering business logic, which in turns, keep the business stays ahead.
API management can be used to helps you solve common API aspects, like security, analytics, or who can access which API. And most of the time, you don't need to write any code. Put your API behind some API management, and configure it to works with your API.
That means, productivity increases. Whatever role you have in the company, productivity always a good thing, and API management (even the open-source) can helps you to boost it.
Kong API Management
Kong provides API gateway for REST APIs with plug-in architecture to enable users adding functiona
Instructor Details
- 3.8 Rating
- 15 Reviews
Timotius Pamungkas
Timotius Pamungkas came from small Indonesian city but now working on it's capital : Jakarta. He's been in software engineering job for years. His first job was in the large consumer finance in Indonesia. Then he took a role as Engineering Manager on Indonesian unicorn. Few moments after, he moved back to another large Indonesian consumer finance and take a role on Engineering & Architect Head.
Taking the role as Head, he get more time to coach his team members about software engineering practice.
With more than 5 years experience as Java developer, and for the last few years handle enterprise complexity as Engineering Manager & Enterprise Architect, he will be glad to deliver high quality courses containing information of various technologies and software architecture design skills that he has acquired through his professional experience.
His goal is to deliver courses that not only good in theory, but also applicable in real-life use cases. His courses give the concept, and the hand-coding experience. He will also provide various resources, including source code to hands-on coding.
Other than his daily job, I also like researching new tech and get his hands into keyboard for writing codes. But he does like share what he learnt. His first teaching experience was back years ago when he was still in the college and teach juniors about algorithm. Some says he is a natural teacher, and he hope that he can share his knowledge by publishing courses into Udemy.