Blog>>Deep dive

BLOG / Deep dive

Thumbnail of an article about Service mesh vs. Kubernetes Ingress — what is the difference?
NETWORKS
CLOUD

Service mesh vs. Kubernetes Ingress — what is the difference?

Service mesh and Ingress are two solutions used in the area of ​​application networking in Kubernetes. In this article you will see what characterizes each of them and understand where the real difference between them is. A service mesh is a kind of special “system” for communication between applications, different components of an application based on microservices architecture, or between various other workloads running in virtual environments, such as Kubernetes. The solution provides a rich set of features in the fields of traffic management, reliability, resilience, security, and observability.
Thumbnail of an article about What is a service mesh — everything you need to know
NETWORKS
CLOUD

What is a service mesh — everything you need to know

A service mesh is an increasingly popular solution in the area of ​​application networking, in Kubernetes and other environments. If you are still not familiar with the concept, in this article you will find everything you need to know before taking a deeper dive. Over the past few years, we have seen a shift away from approaches based on monolithic code when designing software applications. Instead, modern design is based on microservices architecture. At the end of the day, it is about delivering basically the same business logic, not in the form of a large monolith but as a collection of loosely coupled and independently deployable services.
Thumbnail of an article about Learning Go for C++ developers — differences and insights
SOFTWARE DEVELOPMENT

Learning Go for C++ developers — differences and insights

Some people enjoy discovering new songs, bands and genres. Others prefer listening to the songs they already know. One could say the same about programming languages. I've been listening most often to the song of C++, which I just enjoyed building my expertise in. Also Python was a recurring beat. Recently, having started a new project, I've been asked to learn the song of Go. This post is not supposed to be any kind of introduction to Go’s learning path. I just wanted to share some of my "Aha!" moments and analogies from the ongoing process of learning Go, from the perspective of the C++ genre.
Thumbnail of an article about CSS Container Queries. Why so enthusiastic about those?
SOFTWARE DEVELOPMENT

CSS Container Queries. Why so enthusiastic about those?

A front-end developer spends time adjusting CSS to the app they are working on, how much time depends on the specific project. Many people assume this is the easy part. I thought so too, but now I think I was wrong. CSS, or Cascading Style Sheets, is a style sheet language that focuses on the presentational part of the layout. Some people enjoy it, some even love it, but there are people who avoid it at any cost and try to focus, for example, on JavaScript logic instead. There are times that I feel like I belong to both groups.
Thumbnail of an article about Why should you be grateful for act() warnings in React tests
SOFTWARE DEVELOPMENT

Why should you be grateful for act() warnings in React tests

If you have ever written a test using the React Testing Library there is a good chance you have encountered the notorious act() warning. Usually, a solution can be found through intuition and/or a lucky guess, but not this time, though. Welcome! Let’s dive deeper into act() warnings to really understand them. I have created an uncomplicated newsletter app to act as a simple example.
Thumbnail of an article about Network ACL processing algorithms — optimizing firewall's performance
NETWORKS
SOFTWARE DEVELOPMENT

Network ACL processing algorithms — optimizing firewall's performance

A firewall is an important component in protecting a network from attacks. It allows configuration of what kind of traffic is allowed inside the network. So in a sense, a firewall is a barrier that can reject all suspicious connections at the very entrance to the network, making potential attacks significantly more difficult. There are many types of firewalls. In this article, we will focus only on simple stateless firewalls that work in the 3rd and 4th layer of the OSI model (L3 + L4 firewalls). Typically, a firewall uses a user-specified access control list (ACL) to decide which packets to let through and which to block.
Thumbnail of an article about How memory types affect DPDK application performance — case study
SOFTWARE DEVELOPMENT

How memory types affect DPDK application performance — case study

In this blog post, I will describe a problem encountered while working on a project involving GPU usage in network traffic processing (knowledge of GPU programming won’t be required as it will quickly become apparent that the problem is more general and the GPU can be eliminated). I will describe the steps that helped me in locating and fixing the problem – practical methods used for DPDK profiling and debugging. Also, I will describe some low-level internal DPDK mechanisms (e.g. packet processing, IOMMU, hugepages usage and impact) that helped in understanding the issue.
Thumbnail of an article about MobX in React — Scalable State Management
SOFTWARE DEVELOPMENT

MobX in React — Scalable State Management

MobX in React – using the MobX library in React-based applications – was the first part of our tech talk in which our principal frontend engineer covered the basics. This first video covered topics like what MobX is, how it works, how to use it outside React, and how MobX can be integrated with React components. The next episode focuses on reviewing types of states in Single Page Application (SPA), how to scale SPA using dependency injection with the react-ioc library and what benefits it offers, and points out the areas for MobX.Everything to provide you with knowledge about the best state management for React, and scalable state management in MobX.
Thumbnail of an article about Generics in Go — everything you should know before you start
SOFTWARE DEVELOPMENT

Generics in Go — everything you should know before you start

Go 1.18 introduces a new mechanism for generic programming – type parameters. This long-awaited feature finally sees daylight in the officially accepted proposal. This article focuses on a complex description of how type parameters work – everything you need to know about Go generics, with examples, in one place. Are you interested in more information about the language itself? Check out our previous articles for a Go overview and how it is different from Python. It is common knowledge that Go is a statically-typed programming language.
arrow

Get your project estimate

For businesses that need support in their software or network engineering projects, please fill in the form and we’ll get back to you within one business day.

For businesses that need support in their software or network engineering projects, please fill in the form and we’ll get back to you within one business day.

We guarantee 100% privacy.

Trusted by leaders:

Cisco Systems
Palo Alto Services
Equinix
Jupiter Networks
Nutanix