I’ve been using an Event Bus for some time now in the designs of a system, for reason of performance and scalability. There is also an issue with the message size. But it would be best if you were using the Event Bus as a messaging system, not a data transport mechanism.
There is a solution to this, and it is the claim-check pattern.
Continue reading Claim-Check Pattern
A good API design is important in a system architecture because all data exchange between services happens either through messages or API calls. APIs must be efficient to avoid creating chatty I/O. Because services are designed by teams working independently, APIs must have well-defined semantics and versioning schemes, so that updates don’t break other services.
Continue reading Designing APIs
Next-Generation Application Development
The world of IT infrastructure has evolved dramatically since the days of relying solely on bare metal hardware to support application development. In the early 2000s, a company called VMWare broke the mould, giving rise to virtualization — using an abstraction that makes software (virtual machines) look and behave like hardware. The primary difference between virtualization and bare metal is the inherent benefit of using software to “virtualize” infrastructure. Virtualization offers increased flexibility, scalability, reliability, and often overall capability and performance, all while lowering capital and operational expenses.
Continue reading Kubernetes
Places I have been working they have banded the use of WebSockets to pushing data to the end-user, or devices. I want to delve into the concept of WebSocket introduced in HTML 5, security issues around the WebSocket model, and the best practices that should be adopted to address security issues around WebSocket.
Continue reading WebSocket Security Issues
What are Push Notifications?
A notification is a message that pops up on the user’s device. Notifications can be triggered locally by an open application, or they can be “pushed” from the server to the user even when the app is not running. They allow your users to opt-in to timely updates and allow you to effectively re-engage users with customised content.
Continue reading Push Notifications
In an event-driven architecture, when a service performs some piece of work that other services might be interested in, that service produces an event—a record of the completed action. Other services consume those events so that they can perform any of their tasks needed as a result of the event. Unlike with REST, services that create requests do not need to know the details of the services consuming the requests. Here’s a simple example: When an order is placed on an e-commerce site, a single “order placed” event is produced and then consumed by several microservices:
Continue reading What is Event-Driven Microservice Architecture?
(Avoid shared databases). When multiple services consume a shared data schema, it can create tight coupling at the data layer. To avoid tight coupling, each service should have its data access logic and separate data store. The development team is free to pick the data persistence method which best fit each service and nature of data.
Continue reading Decentralised Data Management
API Gateway acts as a single entry point for all clients with a more critical role as an edge service for exposing microservices to the outside world as managed APIs. It sounds like a reverse proxy, but also has additional responsibilities like simple load-balancing, authentication & authorization, failure handling, auditing, protocol translations, and routing. There are several ways in which the API Gateway can be deployed from a development perspective.
Continue reading Microservices Best Practices
Microservices is a trending topic among software engineers today, why is this? In this post, I’ll endeavour to take the mystery and explain things in plain English so you can build genuinely modular, business agile IT systems with Microservices architectural style.
The goal of microservices is to increase the velocity of application releases, by decomposing the application into small autonomous services that can be deployed independently.
Continue reading Microservices
Docker’s containers allow for the immense economy of scale and have made development scalable, while at the same time keeping the process user-friendly.
Let’s get to work and see what it is all about, we’ll go over the following:
Continue reading Docker – Basic Concepts, Components and Advantages