Introduction to webhooks

In today’s highly connected online world, nothing can function optimally in isolation. Achieving a task (almost) always involves the participation of more than one entity. E-commerce apps need to communicate with payment systems, payment systems need to communicate with banking systems, banking systems need to communicate with customer accounts…do you see the pattern?

The ability of independent online systems to communicate with one another and share data is the core of what makes online services valuable today. In this post, will look at webhooks. …


In a previous article, Introduction to Message Queues, we took a look at the fundamentals of message queues. The article introduced message queues, message producers and consumers, and the advantages of using message queues for asynchronous processing in our system architecture.

In this post, we will go further into the internals of message queues and look at different strategies used to handle the interaction between producers and consumers. We will also expand more on producers and consumers, and what application developers need to keep in mind when designing them to work with message queues.

The Operational Structure of Message Queues

A message queue does not work…


Modern software and system architectures encourage the decoupling of different layers/services in an application’s design. These services and/or layers can be web service APIs, database systems, cache proxy servers, serverless functions, etc. Communication between these elements is done by sending data in the form of messages from one point to another, oftentimes asynchronously. In this post, we will look at one of the tools that help broker messages between the layers and services in these architectures and ensure that messages are transferred at a rate that can be handled by the intended destination service/layer.

What are message queues?

A message queue is a component…


Almost every new application starts out its life under very simple circumstances. The beginning means few users (mostly in the hundreds, rarely thousands), low traffic, few transactions, a small amount of data to process, and oftentimes limited clients ( at first most apps have just a web portal and no mobile or desktop clients at all). However, the number of users starts to grow, traffic spikes, transactions increase across the system, and user needs might prompt the requirement of mobile, desktop, and (in rare cases) IoT clients to be served.

In this post, we take a look at the requirements…


A webhook is a method of responding to a change in a system using a custom callback in your web applications. Webhook requests are triggered from SaaS applications like Shopify, Stripe, etc., to an API endpoint in your application, and if these requests increase rapidly, you will need a way to asynchronously process requests to ensure that your server is not overloaded.

In this post, we will be taking a look at Hookdeck and Amazon EventBridge, two services that offer systems for asynchronous processing, to find out which is the best option for processing webhook requests.

Hookdeck and how it works

Hookdeck is an Infrastructure…


Client-server communication is one of the core operations in software development today. A system (the client) can request work to be done on another system (the server) by sending messages between each other and communicating the outcome of the requested work. Managing this communication can easily grow in complexity on the network layer when you begin to manage the rate at which messages are sent, the number of requests a service can handle at a given time, and the speed at which the client requires a response.

In this post, we look at the two methods of managing communication between…

Why you should care

The success or failure of a request can make all the difference when providing a service. It can mean the difference between your website making money or losing money, a user returning to your site or never visiting it again, a shining 5-star rating, or a damaging 1-star rating. Experience multiple failed requests across your web app, and you begin to see a decrease in customer retention, a significant drop in earnings, and overall customer dissatisfaction. Nobody wants that.

More often than not, failed requests indicate flaws in your system or infrastructure. Usually, this means your system is not set…

On October 3 2017, Google announced the release of another Realtime database service on Firebase known as Firestore. Now Google already had a realtime database service known as the Firebase Realtime Db, so why release a new product that offers the same service as an already existing one?

To this question, Google explained that Firestore was going to be the de facto realtime database going forward as it provides a data model that is more intuitive to how developers think about data structures in NoSQL databases and also scales better and offers richer and faster queries. …

For Rapid Application Development (RAD), development teams (or individual developers) need to adopt strategies that speed up development. One of such strategies is to enable different parts of the application to be developed in parallel. However, such good plans are often faced with a chicken and egg situation where (e.g.) parts of the frontend of the application needs data from the backend, and in the same vein, parts of the backend need to understand what the frontend will be requesting.

Thus, in this article, i will be teaching you how to solve this problem when developing your frontend with the…

Have you ever tried running your Ionic Android application in debug mode on your phone (ionic cordova run android) and you’re suddenly locked out of what is happening in the background? You then have to guess what’s happening behind the scenes. This becomes more frustrating when you notice bugs while the app is running on your phone.

Many have tried and failed miserably to hack their way around this by using dialog boxes to print out portions of what is happening underneath the app just to get a clue of what to target while debugging. This is not only impractical…

Fikayo Adepoju

Serial Author @Packt, @Udemy, CircleCI, @Auth0. Javascript Junkie

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store