With the growing use of container-based platforms, developers need visibility into their applications running in these containers. Traditionally, they have had many traditional monitoring tools that work well in both virtual and physical environments, though the traditional approach to application visibility tends to falter when faced with containers. As containers are inherently structured to isolate processes from what is occurring system-wide, this makes it all the more difficult to monitor applications running inside them.
To help with this problem, Sysdig has added native support for Kubernetes into its Sysdig Cloud to allow developers better visibility into their namespace containers running at scale. The company announced this new feature at the Kubecon conference, taking place this week in San Francisco.
A full-service infrastructure monitoring platform, Sysdig Cloud provides monitoring, alerting, and troubleshooting container workloads. In addition of Kubernetes now allows the service to provide information not only on a single container but an entire cluster if need be.
Docker is a powerful container solution, but also very basic. Docker presents challenges when developing applications that need to scale up or down rapidly. On its own, Docker itself does not provide any capabilities to move containers or allocate resources to them in any particular way. For developers running microservices, the process of spinning up containers means that individual servers must be started, then the application service placed onto the server, along with starting any additional containers required such as a load balancer or a database. All of these will eventually need to be manually connected to the server, with additional containers requiring the same arduous process to get up-and-running.
As a result, developers may end up with a scattered network of containers across servers, which has presented obvious challenges. With Kubernetes, containers can be connected regardless of where they are located on a server as the master controller handles all minion container environment orchestration.
Kubernetes is software built to manage containers built on a structure of pods, nodes, clusters, services, and namespaces. Within a particular namespace, developers can establish clusters of physical or virtual machines onto which nodes are scheduled. From nodes, devs then deploy pods — groups of connected containers across a series of nodes. With Kubernetes, users can have many pods and clusters, with scaling made simpler with replication controls in the event of system failure.
“With Kubernetes, developers can obtain a logical understanding of their infrastructure by abstracting away underlying servers, then looking at their system from the context of how Kubernetes thinks about it,” said Chris Crane, chief operating officer and vice president of products at Sysdig.
Pulling information from individual pods, one can then take the metadata available and apply it to the information seen in Sysdig Cloud’s ContainerVision to look at performance on an app-by-app basis. Developers for a web-based application can look at the performance of those containers and pods associated with servers regardless of their location within the system environment. This allows for teams to abstract away layers of a container that don’t apply to their needs, allowing them better visibility into the microservices on which they are focused.
Sysdig Cloud is based on the open source Sysdig software, built by Loris Degioanni, who founded and now is CEO of Sysdig Cloud. Sysdig provides system-level exploration at the container level. It can capture system state and activity from a running Linux instance, then save, filter and analyze this information. It is scriptable in Lua and includes both a command line interface and an interactive graphic interface, called csysdig. “Think of sysdig as strace + tcpdump + htop + iftop + lsof + awesome sauce,” the website for the software states.
The technology behind Sysdig Cloud presents a solid foundation for running Sysdig. The local agent is written in C and C++, which dovetails well when monitoring Linux environments. Sysdig Cloud works by installing a module into the kernel of an OS, allowing developers deeper visibility into their containers.
Solving the Right Issues
For those concerned with system performance, the placement of pods and clusters across a server is an important part of monitoring the system. With its new support for the Kubernetes development hierarchy, developers using Sysdig Cloud are now able to drill down into their infrastructure at the individual level. Users can highlight a running element in csysdig using the Drill Down feature, press enter, and get a list of running containers, pods, and services to then explore what tasks are running in individual containers.
With the ability to see inside containers from the outside, developers don’t have to use legacy VM agents, etc. or pollute their existing containers with extra instrumentation. Sysdig Cloud offers a drag-and-drop solution, with users able to place a Sysdig Cloud container into their environment. This approach detects every other container present, including the processes running within those containers.
Sysdig Cloud then takes this monitoring further by allowing for users to monitor services at the individual level, isolating metrics by their individual parts for better performance and analysis. This allows for better visibility across the development pipeline, with Sysdig Cloud able to support not only cloud platforms but legacy VMs and those companies in the hybrid transition from legacy VMs to a cloud-based hosting solution.
Though containers started as merely lightweight VMs for quick application testing in an isolated environment, they have quickly changed the landscape of software development. Sysdig recognized that this shift has been a barrier to entry for enterprises wanting to run containers at scale in production, particularly microservices, offering a unique solution to a problem facing those working in containers today.
Docker is a sponsor of The New Stack.
The New Stack is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Docker, Sysdig.