Blog>>Deep dive

BLOG / Deep dive

Thumbnail of an article about Uncontainerizable VNFs in a CNF environment
NETWORKS

Uncontainerizable VNFs in a CNF environment

Cloud-native network functions (CNFs, for short) are a hot topic in network architecture. CNFs use containers as the base for network functions and thus would replace today’s most widely used standard, Virtual Network Functions (VNFs). In such a scenario, a container orchestration platform--Kubernetes, say--could be responsible not only for orchestrating the containers, but also for directing network traffic to proper pods. While this remains an area under research, it has aroused considerable interest among industry leaders.
Thumbnail of an article about How can DPDK access devices from user space?
SOFTWARE DEVELOPMENT
NETWORKS

How can DPDK access devices from user space?

DPDK (Data Plane Development Kit) is a set of libraries for implementing user space drivers for NICs (Network Interface Controllers). It provides a set of abstractions which allows a sophisticated packet processing pipeline to be programmed. But how does DPDK work? How is it able to access the hardware directly? How does it communicate with the hardware? Why does it require a UIO module (Userspace input-output)? What are hugepages and why are they so crucial? In this blog post I will try to explain, with a reasonable amount of detail, how a standard kernel space NIC driver works, how a user space program can access hardware and what can be gained from having it do so.
Thumbnail of an article about Security in Kubernetes — overview of admission webhooks
CLOUD

Security in Kubernetes — overview of admission webhooks

This blog post is a continuation of two previous posts on security mechanisms in Kubernetes. If you have not yet read them, click here for part 1 and part 2 to see how you can provide an adequate level of security in Kubernetes deployments. Existing admission controllers are very useful, as they allow you to validate or modify requests to a Kubernetes API server. However, they have two limitations: They have to be compiled into an API server and can be configured only on the API server startup. The flexibility of admission webhooks helps solve these problems.Once enabled, their behavior depends on the special application running inside the Kubernetes cluster.
Thumbnail of an article about How to make your Kubernetes cluster secure
CLOUD

How to make your Kubernetes cluster secure

In the last couple of years Kubernetes (K8s) has become one of the most popular tools for running containerized applications. Many cloud companies, major ones among them, have adopted it to orchestrate their container-based workloads. Given its popularity, the problem of K8s security is becoming even more pressing. Read our two-part blog post series on how to make a Kubernetes cluster secure. Part one provides a brief history of virtualization, presents admission controllers and how they work and shows how Pod Security Policies, a powerful admission controller, can help you manage user actions on Kubernetes cluster.
Thumbnail of an article about The benefits of Pod Security Policy — a use case
CLOUD

The benefits of Pod Security Policy — a use case

In the previous post I looked at how security is handled in Kubernetes. Let’s now see how it works in practice. One of the most powerful controllers is the Pod Security Policy admission controller (PSP). PSP is a cluster-level security mechanism that enables control over sensitive aspects of pod specification. It allows you to define a set of conditions a pod must meet in order to be accepted into the system.The following use case illustrates how it works. Let’s assume that we have a shared file system
Thumbnail of an article about How to use NVIDIA GPUs with Kubernetes — CodiLime approach
CLOUD

How to use NVIDIA GPUs with Kubernetes — CodiLime approach

The combination of NVIDIA GPUs, to allow computing power to be harnessed, and Kubernetes, responsible for managing containerization, may seem like a perfect marriage of two complementary tools, and an obvious solution. Yet, at the technical level, this combination, like many marriages, turned out to be more tricky than might have been expected. Read this blogpost to find out how CodiLime managed to find a way to deal with this matter. Let’s introduce the main characters then: NVIDIA GPUs (Graphic Processing Units) are powerful tools used to accelerate computationally-intensive tasks.
Thumbnail of an article about Debugging Nginx Ingress in Kubernetes — a study in (Codi)Lime  
CLOUD
NETWORKS

Debugging Nginx Ingress in Kubernetes — a study in (Codi)Lime  

This story comes with everything one needs to tell the perfect noir detective story. There’s an investigation, a mysterious victim and a silent psycho mass-murderer. Only the setting is changed, with Kubernetes clusters instead of Victorian era London and the CodiLime team smoking Sherlock Holmes’ pipe. So pour yourself some whiskey, light up a cigar and enjoy your reading! Kubernetes is currently one of the most popular open-source systems for deploying and managing applications. Yet it wouldn’t be so useful without Ingress, a tool that enables the outer world to contact the components within Kubernetes by using HTTP or an HTTPS protocol.
Thumbnail of an article about Sharing configuration between your CI, build and development environments
OPERATIONS

Sharing configuration between your CI, build and development environments

This post is a follow-up to our presentation at the OpenStack Summit in Berlin, where we discussed maintaining a unified CI and building pipelines using the open source CI system, Zuul. You’ll find a recording of the talk here and a related OpenStack Superuser writeup here. I thought it would be useful for some of you to expand the concept of unifying environments and to include also the development one. I will also explain why this may help you ensure your project is progressing smoothly. DevOps practitioners are always on the lookout for ways to optimize and bulletproof their development workflows.
Thumbnail of an article about Do you even Zuul? CI system reloaded
OPERATIONS

Do you even Zuul? CI system reloaded

When we first started, we were given two things to do: resolve issues with builds getting gradually slower and set up a completely new system that Tungsten Fabric could use. Over the years, Tungsten Fabric has received commits from more than 500 contributors and the code is scattered across over 50 repositories. The entire project consists of over 2 million lines of code, written mostly in C++ and Python. In the beginning of the project few major tasks emerged: prepare the CI for the increased involvement of the community;
Thumbnail of an article about Webpack 3 to webpack 4: tips on migrating
SOFTWARE DEVELOPMENT

Webpack 3 to webpack 4: tips on migrating

Having heard a lot about speed improvements, we recently migrated from webpack 3 to webpack 4. The results have been astonishing: our average build time improved by 30%, and hot-reloading by 83%! This article covers the following topics:1. The key benefits of migration2. How webpack 3 compares to webpack 4 in terms of build time3. How to effectively migrate from webpack 3 to webpack 44. The pitfalls to avoidI’ll start by saying our project is humongous, so builds are pretty slow. Our hot-update recently got so slow, in fact, that we decided something had to be done.

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