Scaling Up With Kubernetes

This is an article from DZone's 2023 Kubernetes in the Enterprise Trend Report.

For more:


Read the Report

Cloud-native architecture is a transformative approach to designing and managing applications. This type of architecture embraces the concepts of modularity, scalability, and rapid deployment, making it highly suitable for modern software development. Though the cloud-native ecosystem is vast, Kubernetes stands out as its beating heart. It serves as a container orchestration platform that helps with automatic deployments and the scaling and management of microservices. Some of these features are crucial for building true cloud-native applications. 

What You Must Know About Rate Limiting

Rate limiting is the concept of controlling the amount of traffic being sent to a resource. How can you achieve this control? By means of a rate limiter – a component that lets you control the rate of network traffic to an API server or any other application that you want to protect.

Here’s a big-picture view of how a rate limiter sits in the context of a system.

Designing Databases for Distributed Systems

This is an article from DZone's 2023 Database Systems Trend Report.

For more:


Read the Report

Database design is a critical factor in microservices and cloud-native solutions because a microservices-based architecture results in distributed data. Instead of data management happening in a single process, multiple processes can manipulate the data. The rise of cloud computing has made data even more distributed. 

The Secret to High-Availability System for the Cloud

What Is a Highly-Available System?

You call a system highly available when it can remain operational and accessible even when there are hardware and software failures. The idea is to ensure continuous service. We all want our system to be highly-available. It seems like a good thing to have and makes for a nice bullet point in our application description. But designing a high-availability system is not an easy task. 

So, how can you go about it?

Demystifying the Infrastructure as Code Landscape

Infrastructure as Code started off with the commoditization of virtual machines sometime around the mid-2000s.

As with many things in the cloud infra space, Amazon played a key role in making IaC popular. The launch of AWS Cloudformation in 2009 made IaC an essential DevOps practice.

The Path From APIs to Containers

This is an article from DZone's 2023 Software Integration Trend Report.

For more:


Read the Report

In recent years, the rise of microservices has drastically changed the way we build and deploy software. The most important aspect of this shift has been the move from traditional API architectures driven by monolithic applications to containerized microservices. This shift not only improved the scalability and flexibility of our systems, but it has also given rise to new ways of software development and deployment approaches. 

Why the Cloud Revolution Is Just Getting Started

When cloud computing burst onto the scene in 2006 with the launch of AWS, it would have been hard to imagine how big of a thing it would eventually become. But more than 15 years later, cloud computing has come a long way. And yet, in my view, it is only just getting started towards realizing its true potential.

Why do I think this way?

How To Use Terraform to Provision an AWS EC2 Instance

Terraform is a deployment tool that you can use to provision and manage your infrastructure as code. Usually, the infrastructure is cloud-based, but Terraform can manage anything that can be controlled through an API.

But why should you consider infrastructure as code (IaC) in the first place?

How To Build a Node.js API Proxy Using http-proxy-middleware

A proxy is something that acts on behalf of something else. Your best friend giving your attendance in the boring lecture you bunked during college is a real-life example of proxying.

When it comes to API development, a proxy is an interface between the client and the API server. The job of the interface is to proxy incoming requests to the real server.

5 Challenges in Building Distributed Systems

Distributed systems are all the rage these days.

Whenever I visit a tech publication on the internet, I usually find a flurry of posts going on about the benefits of distributed systems. Everyone seems to be enthralled with the general idea of distributed systems and the seeming advantages they bring to the table.

Kafka’s Custom Partitioning in Action

Imagine that you are running an e-commerce store for electronic devices. Going into the holiday season, your business forecast predicts a significant increase in the sales of other brands when compared to Apple devices.

Every sale transaction goes through a Kafka broker, and you want to ensure there are no resource issues with the data flow. Out of the three Kafka partitions for handling sales data, you want to dedicate two for non-Apple devices and only one for Apple devices.

I Misunderstood Scalability in a Distributed System

"Is the application scalable?" asked the manager. It was almost halfway through the weekly system roadmap meeting. I thought we were done with all the tech parts and would soon move to business-related questions.

The architect of my team cleared his throat and answered, "It can easily handle double the usual load."

Building a NestJS Rest API Using Prisma ORM

NestJS is a pretty solid framework for building backend applications. 

In this post, we are going to take our NestJS knowledge and combine it with Prisma to build a RESTful API. This post is going to have a bunch of code that you can get from the Github link at the end or you can also code along.

Next.js Event Management Application Using File-Based Routing

Next.js is arguably the most versatile framework when it comes to building web applications using React. Next.js makes building production-ready applications easy. In this post, we are going to look at building a Next.js event management application.

Once we are done, our application will look like the image below:

Creating Routes in KoaJS

KoaJS is a minimal and flexible NodeJS web application framework. It provides a good set of features for building web and mobile applications. In this post, we will be getting started with KoaJS by creating a small application.

KoaJS is an open-source framework. It is developed and maintained by the creators of the extremely popular ExpressJS.

A Simple Guide to Rust Data Types

Every programming language depends on data types. The same goes for the Rust programming language. Rust data types cover the various needs of storing data. Since Rust is a statically typed language, data types become even more important. The Rust compiler uses the data types at the compilation time to make sure that the program is correct.

Rust data types are divided into two major types: scalar and compound. We will look at both types in detail.