P
P
p4s8x2015-05-12 00:29:13
Highload
p4s8x, 2015-05-12 00:29:13

Should I switch from Proxmox to Docker? What architecture is more convenient for many highload projects?

I understand that the question sounds something like: Should I eat bananas instead of apples? But still.
We are engaged in gaming social / mobile projects, we are constantly launching new projects.
The audience is large and creates a fairly serious load (highload), so the server park is constantly increasing.
Now all servers have Proxmox, sometimes clustered, all virtual machines are launched by containers (openvz). The application deployment process looks something like this:
1) install proxmox on a new server
2) Start a virtual machine with API (php+nginx+..)
3) Start a virtual machine with a database (mongo)
4) Start a virtual machine with Cash (redis)
5) Start a virtual machine for static storage (nginx)
Sometimes the platform gives the load too much and either we transfer a specific virtual machine entirely to the server, or we do sharding in the case of mongo, or simply start a new instance in the case of static.
What I like about proxmox: the presence of a user-friendly interface and all related services: backup systems, etc. + it exists and works, potentially HA \ FT and so on.
What I like about docker: the ideology of microservices (really, why do we need so many extra processes), the "ease" of administration (is it easy?).
It is becoming more and more difficult to manage a fleet of virtual machines, so we are exploring alternative options for organizing infrastructure.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Y
Yuri Yarosh, 2015-05-12
@p4s8x

Well, how-be up to 100Mbps of traffic per node - well, not Highload at all.
You need to understand that the question is formed rather poorly and you can immediately see the general misunderstanding of the topic of deployment and continuous integration. I advise you to first deal with the features of modern orchestration and infrastructure management systems: Puppet, Chef, Ansible, SaltStack and OpenStack, then figure out how to make friends with virtual machines and container management systems like XEN, KVM and LXC (Docker). I also advise you to understand the concept of Test Driven Deployment and how it relates to Continuous Integration in general.
Proxmox is a solution that doesn't scale well horizontally and doesn't have orchestration tools. It is intended for small business solutions with low loads and attendance, and is certainly not associated with the rapid deployment of clusters.
In general, most of the above is not associated with a real highload at all - from 10 to 40 Gbit per node (pure REST traffic). PHP for this is not cake at all, but there are glimpses of the Phalcon type, although there are stability problems there.
Docker itself has nothing to do with microservice architectures, but is often used to manage containers in such cases, although any solution for this can be used. In general, microservice architectures have a lot of drawbacks, and they are completely unsuitable for near-real-time tasks.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question