Kernel Tracing with Ftrace

There are a number of tools for analyzing events at the kernel level: SystemTap, ktap, Sysdig, LTTNG, etc., and you can find plenty of detailed articles and materials about these on the web.

You’ll find much less information on Linux’s native mechanism for tracing system events and retrieving/analyzing troubleshooting information. That would be ftrace, the first tracing tool added to the kernel, and this is what we’ll be looking at today. Read more

Direct Connections to IX and Low-Cost Bandwidth

For this post, we’d like to make two announcements right off the bat. Firstly, we are now offering a new service which is currently one-of-a-kind in Russia: Remote Points of Presence. This service shortens the route your online project takes to an Internet exchange point to just a few clicks in our control panel. Secondly, we’ve rolled back the prices for additional guaranteed bandwidth; these savings of up to 30% should help ease anyone’s spring fever!

Read more

Cloud Provider Checklist: Important Factors

The market today is flooded with offers from different cloud service providers. It’s not just a question of just choosing one service over another; clients firstly consider their business requirements and the relevant tasks.

In this post, we’ve compiled a list of the most important features individuals should look for when choosing their cloud service provider. If the best solution for your business is cloud-based, then please feel free to refer to this checklist before making your final decision.

Read more

Containerization Mechanisms: Cgroups

Today we’ll be continuing our post series on containerization mechanisms. In our last article on containerization, we talked about isolating processes using the namespaces mechanism. For containerization though, isolating resources isn’t enough. If we launch an application in an isolated environment, we should be sure it has been allocated enough resources and not use an inordinate amount, interrupting the rest of the system. For this task, the Linux kernel has a special mechanism, cgroups (short for control groups), which we will talk about today.

Read more

Data Centers: Standards and Certification

Any individual or company looking to utilize a data center’s services needs a guaranteed level of quality. There has to be some assurance that their equipment will not fail and that their data will always be available (or that in the worst case scenario, their project will quickly be restored).

When it comes to data centers, the most commonly recognized guarantee is certification. Certification asserts that the center complies with a predetermined list of standards. Although issues of standardization have gained particular interest over the past few years, the number of relevant publications on the topic remains low.

In this article, we’ll be looking at the primary regulatory documents for data center certification.

Read more

Containerization Mechanisms: Namespaces

Linux container solutions have gained quite a bit of popularity over the last few years. A lot of people have written or spoken about how containers can be used and what for, but little attention has been paid to the mechanisms behind containerization.

All containerization tools, like Docker, LXC, or systemd-nspawn, are built on two Linux kernel subsystems: namespaces and cgroups. In this article, we’ll be taking an in-depth look at namespaces.

Read more

YAWNDB – Time Series Databases

For many of our services, we have to provide clients with various statistics. Clients who rent dedicated servers need information on the traffic they’ve used, VPC users need stats on hardware and network resources, and Cloud Storage users need information on file transfers.

The simplest and most direct way to present statistics is in charts. There are many programs specifically designed for analyzing statistical data with subsequent visuals. We’ve looked for an appropriate tool with performance as our main criterion. As a result… well, let’s go through this step by step. We’ll start some theory.

Read more

Guest Post: Managing the Virtual Private Cloud with Terraform

pr-3210_terraform-9

Today we’re publishing a guest post written by our client Alexey Vakhov. Alexey is the CTO of Uchi.ru, a company that develops an educational platform under the same name and also hosts interactive competitions (olympiads) for schoolchildren. The entire Uchi.ru infrastructure is built on our Virtual Private Cloud.
Alexey Vakhov gives a detailed account of how he and his colleagues use the utility Terraform for automating the setup and support of a virtual infrastructure. We hope his experience will be interesting for our other VPC users.

Read more

Systemd and Containers: An Introduction to systemd-nspawn

Containerization has become an increasingly relevant topic. There are already thousands, if not tens of thousands, of articles and posts written about popular solutions like LXC and Docker.
In today’s article, we’d like to discuss systemd-nspawn, a systemd component for creating isolated environments. Systemd is already a standard in the world of Linux and in light of this, it wouldn’t be unfounded to suggest that the potential for systemd-nspawn will significantly expand in the near future. For this reason, we think now would be a good time to better acquaint ourselves with this tool.

Read more

Managing Logging in Systemd

The initialization daemon systemd has become the de facto standard in modern Linux systems and is already used in many popular distributions: Debian, RHEL/CentOS, and Ubuntu (as of ver. 15.04). Compared to the traditional syslog, systemd offers an entirely different approach to logging.
At its base you’ll find centralization; the journal component collects all of the system messages (messages from the kernel and from various services and applications). In this case, there’s no need to configure log distribution, instead the applications can just write to stdout and stderr, and journal automatically saves these messages. This setup is possible with Upstart, but Upstart saves all logs to a separate file, whereas systemd saves them in a binary base, greatly simplifying systemization and searches.
Read more