 Hello, my name is Alexander Stifanov, and I am a senior software developer at Averto-Ozzo. Probably, you know this company by technology OpenVZ. Well, we most know it just like an OpenVZ. Well, and Averto-Ozzo, it is our commercial product. Well, let's start. At first, we need to get a read about the confusion what is containers. Usually, people think that containers, it's something about Docker. But in fact, the term container in the virtualization world lives much longer than Docker exists. And traditionally, it uses it for lightweight virtualization. Lightweight, if we compare it with virtualization, trust the hypervisor. When you create a heavy virtual machine, when machine emulates CPU, RAM, PCI, and other stuff. In contrast, a container virtualization is almost a virtual machine which runs on the same kernel. For example, if you run Linux, then you are able to run Linux containers and can't run something else like Solaris, for example, RBSD. Well, containers exist not only in Linux world, but of course in RBSD and Solaris and probably other. Don't know what's going on in Macos. Probably, they invent their own bicycle. Well, this technology consumes much less resources than heavy VMs via hypervisor. And often this like various web hosting providers because they want to run a lot of lightweight containers than run less amount of virtual machines and they trying to reduce their costs. Well, this technology exists about 15 years, yes. And of course it's LXE, Docker, and our project virtuoso and our open source project open with Z. Well, I first need to say why Docker became so popular. It's because it's easy way to run user applications. For example, when you need to run a database, for example, if you need to run a database, you just like to isolate it in one single and simple container. And if 15 years ago, the launch of the operating system within other operating system, it was wow. But nowadays it's not so wow. Well, and I can say that it's pretty far from wow because people and users are lazy and they don't want to install, don't want to download an ISO, install it, then update. Of course ISO is updated often and users don't want to install it. Well, and it's a reason because Docker and containers are so popular. Yes, users need software. Well, how to deliver a software to a container? There is much ways, ways are different. Well, it's too much ways and ways are different and I'm trying to say how to receive it. Wait a moment. Well, how users can achieve various pre-created VMs. I'm talking about templates. For example, if you want distro Ubuntu with Apache or with a database or with Mongo or something else, here is several ways to deploy it. First, we can pre-create a bunch of VMs. I can say that it's a zoo of VMs. For example, VM with Apache, VM with PHP, VM with Ruby and other. What's wrong here? You need to support and maintain a lot of containers. You need to pull security fixes, you need to update it, you need to maintain it, you need to support it. And when it's too much container to replace, it's just a hell. Well, in a third way, it's automatic installation of the container creation. This way, we are using invertoso. For example, if you want to create an LXC container in Ubuntu with CentOS, it's hard because you need to find a way to bootstrap it. If you run Ubuntu, you need to install YAM. But YAM has a lot of Python dependencies, probably oven dependencies like in CentOS. It's difficult. Just trust me, it's very difficult to create machine. And usually in LXC, people prefer download pre-created templates as I said on the previous slide. It's not a good way. Well, in general, put to Linux in the container, possible in many ways. The question is how to live after install. As I said, need to support it, install updates and do other stuff. In invertoso, we organized such an approach. It is based in the first place on the fact that we have our own set of tools. We have a heterogeneous system. We don't need to reinvent some ways to install and execute scripts. Of course, you must know how Linux distro works. Because of when you unpacking Linux in container, you need to execute various pre or post pre-delete scripts and other stuff. It's usually hard because of every package manager has a hex in RPEM scripts. And from time to time, it looks like a hell. Well, what is container delivering? It's when you unpacking specially prepared archives. Usually, you know it like DApps are RPEM. Well, what it is? For example, what is RPEM package? It is CPIO archive that contains special formatted metadata with build time, with scripts, with triggers. And the most important thing is requires, for example, package batch requires RIP redline. Well, and the most difficult here is to unpack container in the right order. Well, five minutes left. I'm trying to hurry up. Well, in general, OS installation, it's RPEM, DApp, archive, and packaging in the correct secureings. And of course, with executing scripts and triggers, and packing it at right order. Which four requires library bar. And in additional special package manager nuances, like what hardcoded in RPEM or C files, scriptlets, et cetera. What we do in virtuoso? Well, we have a special tool that we call VZPTG. It's dual write and see. And part of this tool is wrapper for specially prepared and modified package manager for various Linux distros. For example, it's DNEF, Fume, Zeper, et cetera. And you don't need to pull specially pre-created VMs from web hosting. It's all this stuff you can create over the machine. And you don't need to worry about what's running here. On virtuoso Linux, you just can create Ubuntu template with absolutely default tools, VZPTG. Well, what we have? Kinds of templates. We separated two kinds. It's ost templates and aptiplates. For example, ost templates, it's basic. Basic for Ubuntu, it's a minimal system. It's basic for CentOS, it's bash and minimal set of tools like bash, yum, and probably several others. In sum, it's about 100 packages, not so much. Well, and second, it's an aptiplates like PHP, Apache, MySQL, Radis, et cetera. Well, how to use it? It sounds and looks very easy. VZPTL creates a number of your container. In fact, it's just a name of template and you need to put here what you want. In my example, it's just Ubuntu. Well, second line, it's an aptiplates. Well, and third, it's an example of removing. Well, sounds very useful and fast. That's all, guys. Thank you. Alexander, anybody any questions? So is the result actually a different type of container than a Docker template or a Docker container? What was? Is the result in container something different than a Docker container? Yes, it's Docker. It's based on the same principles, but Docker is for applications when you need to run just a simple database. You can run Docker and you can run Docker inside an OpenVZ container just for other purposes. As I said, this technology prefer web hosting providers because they need to run very much containers on the hardware then run less amount of virtual machines. Just an OpenVZ is for like a small virtual machine. It's not about application isolation. So one last question at the end of the year. How do you manage repositories and repository lists? I mean different versions for the same package. Repositories for distros, it's just a standard repository. So we don't invent bicycles here. Just use standard. What distros you guessed? Could people try and leave if they want to fire that site so that people coming in can move from that site, please? Because otherwise it's going to be really busy. So any more questions? That's all. Thank you. Time we have. Thank you all.