Category: Architecture


Tyk Open Source API Gateway and API Management

I’m a big fan of APIs (I even wrote an article on REST API Architecture – Best Practices) because in any given enterprise application in today’s modern world, the API is considered to be one of the key success factors in digital transformation of any business. When you have multiple APIs being exposed and being accessed by a number of entities, there has to be a way to manage those APIs without bursting onto a pain in the ass. That’s where the concept of API management comes into the picture. I have been using WSO2 API Manager for a while now and thought of exploring what are the other opportunities out there. Then I came across Tyk, an amazing product with a bunch of great functionalities.

What’s Tyk

As per their definition,

Tyk is an open source API Gateway that is fast, scalable and modern. Out of the box, Tyk offers an API Management Platform with an API Gateway, API Analytics, Developer Portal and API Management Dashboard.

The package includes pretty much everything you require to manage your APIs within your enterprise. It offers cloud, hybrid and on-premises deployments where I decided to go ahead with the 3rd option and deployed it in a DigitalOcean droplet. I’m running Tyk in a basic droplet with 512MB of memory; surprisingly it works very smoothly. – Read More –

How to architect a product properly (software architecture)

How’s it going tech folks? I have been silent for a while but decided to make a noise after all. How to architecture your product precisely for it to operate without any abnormalities to meet its non-functional requirements is what I’m going to talk about. If you don’t properly architecture your product it might behave abnormally under a heavy load, could be vulnerable to attacks or even it could face a number of other consequences.

What’s Software Architecture

Let’s see what’s Wikipedia has to say,

Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. These structures are needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations.

What Wikipedia is trying to say here is that the software application architecture serves as the blueprint which defines the structure of the final outcome so that it will meet all of its functional and non-functional requirements while ensuring it is technically feasible. The architecture of any product is the key carrier of its qualities such as performance, security etc. none of which can be achieved without a unifying architectural visualization. It’s a must to have the right balance of the users, system and business aspects to define the best architecture for the product. – Read More –

REST API Architecture

REST API Architecture – Best Practices

This blog post has been featured on

SOA(Service Oriented Architecture) has become a foundation for the most of the application that are developed today. A service oriented architecture is an architectural pattern which enables collection of services to communicate with external/internal parties to pass data or for services coordinating. Let’s start from what’s a service.

What’s a Service/API

A service is a function that is well-defined, self-contained, and does not depend on the context or state of other services.

In other words an interface used by software components to communicate with each other. Let understand the difference between API and Web Services. A Web Service is a type of API, almost always one that operates over HTTP. In the modern world there are two types of web services that are used.

  • SOAP
  • REST

We can’t compare REST and SOAP since SOAP is a protocol and REST is an architectural pattern. People mostly get confused when selecting one for their application. If you are wondering what’s the difference between these two you can get a good start from here and here.

Our today’s focus is on REST. How we can implement a perfect REST API? What are the best practices? Let’s get down to business.
– Read More –