Tech Review -GPRS,DTH,MOBILE,ADNETWORKS REVIEW AND TRICKS
Showing posts with label Containers. Show all posts
Showing posts with label Containers. Show all posts

Friday, April 24, 2020

What is Kubernetes? Manage Cloud based Containerized Applications

Using containers to host applications and other processes has gone mainstream. As more and more workload is moved into containers, management systems are needed to handle the demands of containerized applications at scale.

One of the most popular options for managing container-based workload is Kubernetes.it combines container management automation with an extensible API to create a cloud-native application management powerhouse.

At its core, Kubernetes manages the placement of pods, which can consist of one or more containers, on a Kubernetes cluster node. Additionally, if one of these pods crashes, Kubernetes can create a new instance of it.

If a cluster node is removed, Kubernetes can move any affected workload to a different node in the cluster. On top of that, Kubernetes pods can be scaled to provide more or less throughput to meet scale demands. And these scale operations can be triggered manually
or automatically using Kuberentes horizontal pod auto-scaling.

Finally, if an application needs to be updated, Kubernetes can stagger the update deployment to minimize downtime. Plus, if the update is problematic, Kubernetes can roll back to a previous version. Along with pod management, Kubernetes can also manage container storage and networking. Kubernetes persistent volumes can be used to present data storage to one or more containers.
This configuration allows containers to read and write application data and persist this data across many pod instances. That said, it is also common for an application running in Kubernetes to use cloud-based storage and data systems such as Azure Storage or Azure Cosmos DB for data storage and retrieval.
In regard to networking, Kubernetes network plugins provide capabilities
such as exposing pods to the internet, load balancing traffic across multiple replicas of a pod, network isolation, and policy-driven network security.

These networking plugins also manage communication and name resolution between pods in the Kubernetes cluster. The capabilities of Kubernetes are not limited to the built-in features. Additional capabilities can be created using a variety of methods for extending the Kubernetes API.With this flexibility, operators can be created to perform custom actions such as producing cloud events on pod creation, providing custom pod scheduling logic,
and on-demand provisioning of managed cloud services, just to name a few.

The extension capabilities of Kubernetes make it a great platform on which to build SaaS services.
Read More »

Understand Difference between Virtual Machine (VM's) and Containers

let us understand the difference between virtual machines and containers.

Deploying server applications has always been complicated.That complexity drove system admins to start looking at virtualization techniques, like virtual machines and containers.
Virtual machines, or VMs, provide an abstraction layer for CPU, memory, and storage
that can be changed without having to invest in new hardware, while still allowing the environment to be flexible and secure.

With VMs, you're in control. You decide the operating system, install tools and packages.and your app runs either in isolation or with the other apps you install into the VM. But there are downsides. VMs can only run one operating system at a time.
Difference between VM and Containers

So if you have multiple server apps that all require different runtime environments,
they may also require multiple virtual machines to execute properly and because the VM is emulating a full computer, tasks like starting one up or taking a snapshot are pretty slow, often taking several minutes.

But there's a lighter-weight solution that solves some of these issues. Containers,
A container bundles a single app and its dependencies, referred to as containerizing the app, then deploys it as a unit to a container host.

The container host provides a standardized runtime environment, which abstracts away the operating system and infrastructure requirements, allowing the containerized application to run side-by-side with other containerized apps.

An easy way to differentiate between VMs and containers is virtual machines virtualize the hardware, while containers virtualize the operating system.

The operating system level virtualization of containers is one reason, why the container approach is more efficient than a full virtual machine. It allows you to run multiple lightweight containers on a single host without sacrificing the isolation that the virtual machine originally offered.

If we talk about Microsoft Azure, it supports several container variations, the most popular being Docker.

Unlike VMs, you can spin up containers quickly.You're just waiting for the app to launch instead of both the operating system and the app. Also, containerized apps tend to be much smaller in size, and the development process is simplified, because your development runtime environment can look exactly like the production environment.

Another advantage to containers is that they can be orchestrated with container cluster orchestration. You can easily deploy and manage multiple containerized applications
without worrying about which server will host each container.
The decision of whether to use a VM or a container depends on how much flexibility you need.

If you need to completely control the environment, then you might choose a VM.

If not then the portability, performance characteristics, and management capabilities of containers might be the better choice.

Read More »

ShareThis