Search This Blog

API management with Kong

Kong is an API Management solution. These kind of solutions are very popular currently but I remember back in 2010 have to work in projects that had required develop in-house. API Managers are not a brand new concept they have some functions like ESBs. I'm not saying you should use an ESB :-).

Kong is built on the top of NGINX. No matter if you are a developer or operations it's possible to use king with a REST API. Another interesting feature is the plugin support.

Kong Architecture and Features

Kong has Authentication, Logging and Rate Limit support. Rate Limit as also known as throttling which is the ability to add back pressure in the REST service, this is needed when you have mobile apps or customer-facing APIs.

Kong uses Cassandra which is a very wise choice in sense of architecture. Cassandra is an outstanding database it scales and works very well in a multi-region replication in AWS.

So let's say you have an SOA or Microservices architecture and you have the concepts of internal services and external services. External services can be viewed as customer facing services. Kong fits the hole of an edge solution for the external services. It's a good SOA pattern to have separation of concerns between your core microservices and what you expose yo the world. For lots of reasons such as SOC, security and decoupling.

Popular posts from this blog

I often don't blog about this kind of stuff. Yesterday I friend of mine showed me this awesome project called cool-retro-term.

When you work with Cloud Computing and DevOps Engineering you spend lots of time on the black screen testing things on the cloud. When I saw this project I got very excited because it brings some nostalgy back to my life. To be 100% clearI'm not that old as my friend :-) However I share his joy into this retro terminals. This also reminds me some old games like Fallout 1. I just this is pure fun so I'm sharing here with you guys some screenshots and also how to run on Gnome Ubuntu 17.04.

Terraform is a good tool for infrastructure provisioning. However to test terraform it could be pretty difficult. So you will create some terraform scripts and upload to the cloud a run some slow Jenkins job? and if your syntax is wrong? Well, this process can be very painful. So I want to share some simple sandbox I built in order to speed up terraform + aws development in your local machine. I might be wondering how is that possible─? Well, my secret sauce is Localstack. So we are limited to all endpoints that localstack mocks. As Localsttack adds more endpoints we benefit from that. The main idea behind this simple project is to show how easy is to docker-ize somDevOpsps tools and make engineering easy. Currently is very often to spend 40mim or more doing baking and that's is wrong. So that's kind of mainframe era so the idea is to save time and run things local - as much as possible. Docker helps a lot with that. I run software in production using AWS Amazon Linux. Now t…

Go is a simple, fast and powerful programing language. Go is growing a lot into the DevOps Engineering scene like Hashicorp Stack or even Kubernetes. One of the main advantages of GO is the fact that you can generate a single binary with all you needed, bundled in a single file. This makes distribution so much easier.

Go is also very compact for some use cases and you can write so less code and still very very efficient and get best of performance. Today we will see how to create a very, very, very simple service in go. This service will access redis to increment how many times it was called. We will use Minikube in order to run kubernetes locally and we will store our data in Redis.