Container Networking in 2020: In-Depth Guide

The concept of container networking aims to standardize and optimize container data flows. Container networks create insulated zones to make it possible for multiple containers to communicate simultaneously and independently in an efficient manner.

What is container networking?

Container networking enables containers to communicate with other containers or host and share their resources, data and applications.

There are two main options when an application is run in a container:
  • The application can be run in the host network namespace: This is a normal network, and if you run a program on port X, it will run on port X on the computer.
  • The application can be run in its own network namespace: In a program running in its own network namespace, other programs on other computers must be able to establish a network connection with this program.

In cases where multiple containers are involved, the second option is implemented and each container should now have its own IP. A container network has now been created and it must be managed. Read more

Share

Container Management in 2020: In-Depth Guide

Container is a standard way to package the code of an application and its associated dependencies. Containers are aimed at solving portability problems (i.e. those that occur when moving software from one environment to another) in an efficient and effective manner. Container management is a key part of containerization and reduces the complexity of interdependent systems by facilitating container distribution.

If you are not clear on what containers are, feel free to read our article about containerization to get more information. Read more

Share

Containerization in 2020: Guide to portable modern apps

The concept of the containers in computing emerged with companies need to serve their applications consistently and efficiently across a multitude of hardware and software stack. Modern technology companies make extensive use of containerization to be able to run their applications on different infrastructure (hardware or software) to

  • serve different customer groups
  • run their applications on a variety of platforms for different use cases like IoT
  • be infrastructure agnostic. Infrastructure agnostic companies can change their infrastructure with limited configuration to take advantage of different architectures for cost or other optimization reasons. This limits vendor lock-in.

What is containerization?

Containerization aims to enable applications to run consistently across different systems and infrastructures and minimize sources of error and inefficiency. Modern businesses rely on different on-premise platforms and private, hybrid and public cloud infrastructure. To enable consistent and efficient operations across these diverse infrastructure, they rely on containerization. Read more

Share

AI chips in 2020: Guide to cost-efficient AI training & inference

In last decade, machine learning, especially deep neural networks have played a critical role in the emergence of commercial AI applications. Deep neural networks were successfully implemented in early 2010s thanks to the increased computational capacity of modern computing hardware. AI hardware is a new generation of hardware custom built for machine learning applications.

As the artificial intelligence and its applications become more widespread, the race to develop cheaper and faster chips is likely to accelerate among tech giants. Companies can either rent these hardware on the cloud from cloud service providers like Amazon AWS’ Sagemaker service or buy their hardware. Own hardware can result in lower costs if utilization can be kept high. If not, companies are better off relying on the cloud vendors.  Read more

Share

Auto Code Review: Guide to faster & effective code reviews

Automated code review tools are critical to standardize and scale an organization’s software development efforts. They are complementary to manual code reviews. Since automated code reviews take care of the more typical software mistakes, human reviewers can focus on higher level code issues. Automated code reviews make the source code more efficient while also speeding up the review process.

What is automated code review?

Automated code review is the process of automatically reviewing a source code using a predefined set of rules to identify inefficient or suboptiomal code. Read more

Share