Containers are Here to Stay

Containers are not a fad. They’re never overkill for any project and they simplify many aspects of development, even when running locally. With a wide selection of relevant tools and resources, there has never been a better time than now to implement containers in your organization and get ahead of the curve.

What Are Containers?

Containers are portable, self-sufficient, standardized units that store all code, assets, and dependencies of a program. They can be shared and run on virtually any hardware. Containerization has been around for years, although it has recently been gaining more traction with the advent of Docker. Many organizations are recognizing the value of managing their code in a simplified, shareable, and maintainable way. What does this mean for you and your organization?

Do You Really Need Kubernetes?

These days, it seems Kubernetes is a topic that is never too far from people's lips.  The tool, and the associated tools built around it, are talked about so often it seems it's the only subject important to developers these days - especially as the IT world becomes increasingly orientated towards cloud and microservices.

But in spite of all the conversation around Kubernetes... do you really need Kubernetes for your environment? Or is it just another case of the next 'new and shiny' object,  with people distracted by the novelty and possibility, rather than the facts? In this blog, I'll take a closer look at why Kubernetes might be a case of the hype outweighing the helpfulness in most cases. 

Top IoT App Development Trends in 2021

More Focus on Container Technologies in IoT Platforms

Gartner projects that over 75% of global organizations will be using containerized apps in production by 2022. So far, container technologies have been part of traditional enterprise IT environments and cloud architectures. Recent developments in industrial IoT platforms and the increased demand for vendor-neutral IoT technologies, however, have made containers increasingly relevant for the Internet of Things. 

Defining Containers

What is a container? It is a lightweight virtualization technology that includes an entire runtime environment. This means an application and all its dependencies, plus the libraries and configuration files required to run the application. Container technologies help you abstract differences in operating systems and underlying infrastructures. This is why they are often embedded in IoT platforms so that you can connect to any device and make virtually any machine or piece of legacy equipment IoT-ready. 

Working With Persistent Volumes in Kubernetes

Introduction

The main reason behind containerization is to allow microservices to run in a stateless way. A container will receive provisioned cloud resources, perform its tasks, and then be destroyed as soon as the process is over. There are no traces of that container or tied up cloud resources to worry about. This was what has made containerization so popular in the first place.

Running microservices as stateless instances, however, is not always as easy as it seems. As more applications get refactored and more microservices rely on containers for efficiency, sticking with the stateless concept becomes harder and harder. Stateless containers don’t always have the ability to meet complex requirements.

Getting Started With Windows Containers

Containers are a type of Operating System Virtualization that runs applications along with all its dependencies in a resource isolated process. Containers have come a long way in *nix based Operating Systems. There are many container runtimes available for running containers in Linux. Running Containers on Windows is a requirement that's been added recently 

Docker came up with an installation package for Windows that helps in running Windows containers, but the way containers run in Windows is quite different from containers running on linux. In 2016, Microsoft partnered with Docker to come up with the Docker specification that supports running Docker Windows containers. Not all Windows Operating Systems support running Containers other than Windows 10, Windows 2016 and Windows 2019. 

The Pros and Cons of Running Production Databases as Containers

Containerization has long been transforming the way we develop and deploy apps and microservices now. Every element of the application can run independently, be scaled as needed, and be configured to consume the most efficient amount of resources.

The real challenge lies in separating the application plane with the data plane since data still requires states in order to maintain consistency. In a traditional app structure, data and database adopt the same monolithic design.

Containers Without Docker

Why do people go for Docker? Though we have many container technologies, people preferred Docker for one reason: Docker made great leaps in the simplification of containers. It was always hard implementing containers in an organization before Docker.

Is Docker the only container technology? Can we create a container without Docker? This article talks about how we can create containers without Docker

Updating and Modernizing: Moving from Virtual Machines to Containers

There are a lot of benefits to be gained from containerization if you haven’t already made the progression yet. Development teams can move at a much faster pace with containers running microservices. The transition from on-premise development servers to cloud environments is more seamless thanks to platforms like Kubernetes. As well as K8s, we also have robust cloud computing solutions like Google Cloud, Microsoft Azure, and Amazon Web Services natively supporting containers.

Moving from virtual machines to containers is a logical step in today’s modern software development world—especially given the fact that recent trends are geared towards application architecture being microservice-oriented. If you want to modernize your apps and take them to the next level, making the switch to a container-based environment is the first thing to do. There are multiple approaches to choose from and different ways to move from VMs to containers; we are going to discuss them in this article.

Cloning Code In Containers

One common situation that I run into on different projects is how to tell my Docker container to clone or pull code automatically. In this article, we will see the various ways of getting the code to the Docker container.

There are multiple ways of getting code into the Docker container. In this post, we will see how we can clone a Github public and private repo using oauth tokens and with ssh keys.

Full Build Automation For Java Application Using Docker Containers

In this pipeline implementation, we will be using Dockers containers for building our Java application. We will run Jenkins inside a Docker container, start Maven containers from the Jenkins container to build our code, run test cases in another Maven container, generate the artifact (jar in this case), then build a Docker image inside the Jenkins container itself and push that to the Docker Hub at the end from Jenkins Container.

For this Pipeline, we will be using 2 Github repositories.