Overview of the Apple M1 chip architecture
The M1 chip is Apple's first processor for Macs. Since its release in November 2020, it has shaped Apple's product lineup and set a new standard for what consumers can expect from their devices. Although the world has moved past M1 technology, it's still
Is Apache Kafka a Database?
Well, no. Apache Kafka isn't a database. It's a real-time event streaming platform. However, Kafka's ability to retain data in a durable and replicated manner does give it some database-like properties, which can be helpful in specific scenarios. In this article, I intend to
How Does Real-Time Data Streaming Work in Kafka?
Producing and processing real-time data are two sides of a coin. Imagine you run a company that continuously generates a steady stream of data that needs to be processed efficiently. Traditional solutions for handling this data using Kafka's producer and consumer APIs can be bulky because of the
Schema Evolution in Kafka
While applications are producing and consuming messages to and fro Kafka, you'll notice that new consumers of existing topics start emerging. These new consumers (applications) might have been written by the same engineers who wrote the original producer of those messages or by people you don't
Kafka Architecture 101
Apache Kafka offers you three key features. It's the ability to publish & subscribe to events, store them, and process them in real-time or at a later point. In this article, you'll better understand all the components that make these features possible. You'll go
Build a Docker Image and Push to Docker Hub: A Quick Guide
In the build process of modern applications, one important step you wouldn't want to skip is containerizing your app, with Docker being the go-to tool for this process. After containerization, your application will be tagged and pushed to a public repository like Docker Hub. The workflow is usually
When Do You Need A Container vs. Virtual Machines?
Choosing between virtual machines and containers is an application-dependent decision. Containers provide speed, have a smaller footprint and are commonly used for cloud-native applications (or microservice apps). On the other hand, although containers provide isolation, virtual machines take it a step further; they allow you to run multiple OS on
How to Checkout Git Tags
Version control systems like Git provide developers powerful tools to manage codebases effectively. One essential feature of Git is the ability to create tags, which refer to specific points in your project's repository history. Tags are commonly used to mark releases, milestones, or significant changes in the codebase,