Manage your Docker image layers with Ansible

If you are managing infrastructure at large scale as we do in OpenSooq you had better have good level of automation and orchestration, your SysAdmins and operators had better handle their infrastructure as code. In OpenSooq, our preferred tool is Ansible.

Ansible is exceptionally great to put your servers into the desired state, which make it ideal for deployment orchestration and configuration management. For containerized environment, typically people use Dockerfiles to describe their setup inside the container, so they

Continue Reading

Binding two SystemD-services to manage Loadbalancer IPVS

We have demonstrated how to make scalable resilient UDP service behind  IPVS load-balancer.

In this article we will see how we can bind two systemd services (one is the process on a given port and the other is registering it to IPVS)

Requires, Before and After

When you write systemd unit files for two dependent systemd services, let’s say A then B, usually we specify both “Requires and “After” for example, in B.service you specify “Requires=A.service” and “After=A.service” which

Continue Reading

Scalable Highly-available Resilient UDP Service using IPVS and smart client

The problem

We wanted a service that collects datapoints pass them to some backend to be queried later. We don’t want to bock senders of data or reduce their speed waiting their data to be submitted.

We have made a version of this service that is exposed via UDP, the service respond with “1” to acknowledge client that datapoint is received successfully because UDP unlike TCP have no acknowledgment.

Although UDP is much lightweight compared to TCP-based (including HTTP), it’s

Continue Reading

Manage Cronjobs Over Multiple Servers

Diglett is a cron management system that manages all your cronjobs without modifying crontab. Handles locking, logging, error emails, and more. This project was created from the need of managing hundreds of tasks ( scheduled tasks) over multiple servers.

Why Diglett ?

Let’s assume that you have the following projects :

  1. projectA : 3 Servers
  2. projectB : 2 Servers
  3. projectC : 4 Servers

And each one of these project has his own multiple cronjobs that only on one of its servers. And

Continue Reading

Docker Multi-host with OVS

network

Docker integration with OpenVSwitch:
In this article I’m going to show you how to setup a multi-host docker cluster where containers on different hosts can talk to each other without NATing (Network Address Translation). I’m going to use OpenVSwitch using GRE tunnels, GRE tunnels are Linux kernel technologies that are true and tested (they are used in production for years).

Continue Reading

Site Footer

@ OpenSooq 2019