Перейти к содержимому
Local
bot

Snap. Что такое и с чем едят.

Рекомендованные сообщения

Быстрая установка, безопасная работа, простота обновления, невероятная легкость использования и поддержки, - все эти свойства snap-приложений представляют огромный шаг вперед для разработки и установки ПО на Linux. Начиная с Ubuntu, а сейчас уже получив распространение и в Arch Linux, Debian, Fedora, Gentoo Linux и openSUSE, такие приложения дают множество преимуществ по сравнению с традиционными пакетами ПО. В отличие от стандартных пакетов ПО, snap-приложения:

  • Более простые для разработки программистами;
  • Быстрее устанавливаются;
  • Автоматически обновляются;
  • Автономны;
  • Изолированы от других приложений;
  • Более безопасны;
  • Стабильны (их работа не нарушается другими приложениями);

 


Итак, что же такое snap-приложения?

Изначально, snap-приложения были разработаны компанией Canonical для использования в Ubuntu. Этот сервис должен был называться "snappy", сама технология "snapcraft", фоновый процесс - “snapd” а пакеты - “snaps”, однако все это стало новым способом подготовки и установки приложений для Linux. Есши вы считаете, что приставка “snap” говорит о некоторой упрощенности в разработке приложений и процессе их установки? Это абсолютно так!

 

Snap-приложения кардинально отличаются от других пакетов Linux. Другие пакеты в основном представляют собой архивы файлов, которые при установке помещают файлы в несколько директорий (/usr/bin, /usr/lib, и пр.). К тому же, другие инструменты и библиотеки, от которых зависит пакет, также необходимо установить или обновить, иначе возможен конфликт с более ранней версией. Snap-приложение, напротив, устанавливается как один независимый файл, включающий необходимые библиотеки и другие нужные файлы.  Его работа не будет влиять на работу других приложений, или менять какие-либо ресурсы, от которых также зависят и другие приложения.

 

При разработке snap-приложения, все источники, необходимые для его работы, включаются в один файл. Такое приложение также изолированно от всей системы, обеспечивая тем самым то, что при изменении snap-приложения, остальные файлы системы не будут подвергаться каким-либо изменениям. Это также затрудняет доступ других программ к данным такого приложения.

 

Другим важным отличием является то, что snap-приложения не могут являться частью пакетов программ, они рассматриваются и устанавливаются по отдельности, поговорим об этом чуть подробнее.

Snap-приложения начали свое существования как Клик-пакеты (Click packages) - новый формат пакетов, разработанный для Ubuntu Mobile - а затем уже стали snap-приложениями.

 


Как работают snap-приложения?

Snap-приложения работают посредством множества дистрибутивов Linux таким образом, который иногда называют “дистро-агностикой” “distro-agnostic” , он дает разработчикам выйти за рамки своих представлений о совместимости ПО и предварительно установленных библиотек системы. Пакет snap-приложения уже содержит все, что ему нужно для запуска – сжатое, готовое к использованию. По сути, такими (сэатыми) они и остаются. Это позволяет им занимать мало места на диске, не смотря на их автономность.

Работа таких приложений относительно незаметна. Ваша система может иметь несколько таких программ, а вы даже не будете знать об этом, например, если они входили в дистрибутивы, о которых мы говорили ранее.

 

Если все же такие приложения присутствуют в вашей системе, для того, чтобы их найти вам нужно будет прописать в строке поиска /snap/bin. Если вы используете для работы оболочку bash users, эта строка будет добавлена автоматически.

$ echo $PATH
/home/shs/bin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/snap/bin

Проблемы не возникнут даже при автоматическом обновлении. Запущенное snap-приложение продолжает свою работу даже во время обновления. Просто, более новая версия станет активна при следующем запуске.

 


Почему такие приложения более безопасны?

Одной из причин повышения безопасности является то, что эти программы имеют существенно более ограниченный доступ к ОС, чем стандартные пакеты ПО. Они находятся в песочницах и контейнерах и не имеют широкого доступа к системе.

 


Как snap-приложения помогают разработчикам?

 

Они проще в разработке.
Snap-приложения позволяют разработчикам больше не думать о необходимости разработки множества дистрибутивов и версий, которые могут понадобиться пользователям. Они просто помещают в пакет snap-приложение и все, что может понадобиться для его работы.

 

Упрощение длительного процесса разработки
С точки зрения разработчиков, запускать приложения в разработку довольно трудно. Сообщество открытого кода способно на такое только в ответ на давление по поводу выпуска новых релизов. К тому же, разработчики могут использовать новые библиотеки, не принимая во внимание то, что целевой дистрибутив ссылается на более старые библиотеки. И, даже если они пока новички в разработке snap-приложений, наверстать упущенное они смогут уже за неделю. Говорят, что обучение разработке snap-приложений намного легче, чем изучение новых языков. И, конечно, компаниям, выполняющим поддержку дистрибутива не будет нужно проводить каждое приложение через процесс разработки. Таким образом, выигрывают все.

 

Пользу snap-приложений также оценят и системные администраторы, особенно то, что эти программы на наносят вред системе и не приводят к необходимости разбираться в дебрях поддержки.

 


Имеет ли ваша система snap-приложения?
Ваша система может иметь несколько таких программ, а вы даже не будете знать об этом, например, если они входили в дистрибутивы, о которых мы говорили ранее.

Проверка работы:

$ ps -ef | grep snapd
root  672    1 0 Jun22 ?     00:00:33 /usr/lib/snapd/snapd

где лежит запускающий файл:

$ which snap
/usr/bin/snap

какие snap запущены:

$ snap list
Name                 Version    Rev   Tracking  Developer     Notes
canonical-livepatch  8.0.2      41    stable    canonical     -
core                 16-2.32.8  4650  stable    canonical     core
minecraft            latest     11    stable    snapcrafters  -


Куда установлены snap'ы?
Обычно это /var/lib/snapd/snaps. Пакеты поставляются как файлы со .snap расширением

$ sudo find / -name "*.snap"
/var/lib/snapd/snaps/canonical-livepatch_39.snap
/var/lib/snapd/snaps/canonical-livepatch_41.snap
/var/lib/snapd/snaps/core_4571.snap
/var/lib/snapd/snaps/minecraft_11.snap
/var/lib/snapd/snaps/core_4650.snap

 

Установка snap'а

$ sudo snap install hello
hello 2.10 from 'canonical' installed
$ which hello
/snap/bin/hello
$ hello
Hello, world!

 

проверяем:

$ snap list
Name                 Version    Rev   Tracking  Developer     Notes
canonical-livepatch  8.0.2      41    stable    canonical     -
core                 16-2.32.8  4650  stable    canonical     core
hello                2.10       20    stable    canonical     -
minecraft            latest     11    stable    snapcrafters  -

Для удаления есть snap remove
Для обновления - snap refresh
Для списка доступных - snap find

 


Небольшая предыстория
Идея snap-приложений родилась у Марка Ричарда Шаттерворта (Mark Richard Shuttleworth), основателя и директора компании Canonical Ltd., выпустившей операционную систему Ubuntu на основе Linux-based и имеющей десятилетия опыта работы с ней. Одной из составляющих мотивации был уход от возможных ошибок при установке – впервые эти программы были использованы на телефонах. Упрощение процесса разработки, простота техподдержки и повышение безопасности системы не оставили шансов забросить эту идею.

 

источник: networkworld

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: bot
      Тестирование Linux на DROP сетевых пакетов. Разные методы и их эффективность. Тесты синтетические, но от этого не становятся менее интересными. Пример от Cloudflare.
       
      Для иллюстрации производительности методов будут продемонстрированы некоторые цифры. Тесты синтетические, т.е. не на реальной сети с реальными пользователями и трафиком, так что не воспринимайте цифры слишком серьезно. Будет использоваться один из Intel серверов c 10Gbps сетевым интерфейсом. Детали железа не особо важны, т.к. тесты будут показывать вопросы, связанные с операционкой, а не с ограничениями по железу.
       
      Что происходит при тестировании:
      передача большого количества мелких UDP пакетов, достигая уровня в 14Mpps этот трафик направляется на единственный CPU на сервере измеряется количество пакетов, обработанных ядром на этом CPU  
      Мы не пытаемся максимизировать ни скорость приложения в юзерспейсе (userspace), ни количество пакетов. Вместо этого мы пытаемся показать узкие места самого ядра.
       
      Синтетический трафик пытается максимально нагрузить conntrack - используется рандомный IP адрес источника и порт. Tcpducmp будет выглядеть примерно следующим образом:
      $ tcpdump -ni vlan100 -c 10 -t udp and dst port 1234 IP 198.18.40.55.32059 > 198.18.0.12.1234: UDP, length 16 IP 198.18.51.16.30852 > 198.18.0.12.1234: UDP, length 16 IP 198.18.35.51.61823 > 198.18.0.12.1234: UDP, length 16 IP 198.18.44.42.30344 > 198.18.0.12.1234: UDP, length 16 IP 198.18.106.227.38592 > 198.18.0.12.1234: UDP, length 16 IP 198.18.48.67.19533 > 198.18.0.12.1234: UDP, length 16 IP 198.18.49.38.40566 > 198.18.0.12.1234: UDP, length 16 IP 198.18.50.73.22989 > 198.18.0.12.1234: UDP, length 16 IP 198.18.43.204.37895 > 198.18.0.12.1234: UDP, length 16 IP 198.18.104.128.1543 > 198.18.0.12.1234: UDP, length 16 На другой стороне все пакеты будут направлены на одну очередь прерываний (RX), т.е. на один CPU. Делается это через ethtool:
      ethtool -N ext0 flow-type udp4 dst-ip 198.18.0.12 dst-port 1234 action 2  
      Оценочное тестирование всегда довольно сложное. Когда мы готовили тесты, мы обнаружили, что любые активные сырые сокеты (raw socket) сильно влияют на производительность. Это вполне очевидно, но легко не учесть. Перед тестами убедитесь, что у вас не запущен, к примеру, tcpdump.
      $ ss -A raw,packet_raw -l -p|cat Netid State Recv-Q Send-Q Local Address:Port p_raw UNCONN 525157 0 *:vlan100 users:(("tcpdump",pid=23683,fd=3))  
      В конце концов мы отключили Intel Turbo Boost:
      echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo Это классная функция, и увеличивает производительность по крайней мере на 20%, но она также очень сильно влияет на разброс показаний при замерах. Со включенным бустом разброс достигал +-1.5%. С выключенным - 0.25%.
       

       

      1. Отброс/DROP пакетов в приложении

      Начинаем с доставки пакетов к приложению и отбрасывании их уже с помощью него. Чтобы убедиться, что файервол не влияет на это делаем так:
      iptables -I PREROUTING -t mangle -d 198.18.0.12 -p udp --dport 1234 -j ACCEPT iptables -I PREROUTING -t raw -d 198.18.0.12 -p udp --dport 1234 -j ACCEPT iptables -I INPUT -t filter -d 198.18.0.12 -p udp --dport 1234 -j ACCEPT Код приложения - обычный цикл, который получает данные и сразу же их отбрасывает (в юзерспейсе):
      s = socket.socket(AF_INET, SOCK_DGRAM) s.bind(("0.0.0.0", 1234)) while True: s.recvmmsg([...]) Код приложения: https://github.com/cloudflare/cloudflare-blog/blob/master/2018-07-dropping-packets/recvmmsg-loop.c
      $ ./dropping-packets/recvmmsg-loop packets=171261 bytes=1940176 Тут мы получаем жалкие 175kpps:
      $ mmwatch 'ethtool -S ext0|grep rx_2' rx2_packets: 174.0k/s Железо нам дает 14Mpps, но мы не можем обработать это ядром на одном CPU с одной очередью прерываний. mpstat это подтверждает:
      $ watch 'mpstat -u -I SUM -P ALL 1 1|egrep -v Aver' 01:32:05 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 01:32:06 PM 0 0.00 0.00 0.00 2.94 0.00 3.92 0.00 0.00 0.00 93.14 01:32:06 PM 1 2.17 0.00 27.17 0.00 0.00 0.00 0.00 0.00 0.00 70.65 01:32:06 PM 2 0.00 0.00 0.00 0.00 0.00 100.00 0.00 0.00 0.00 0.00 01:32:06 PM 3 0.95 0.00 1.90 0.95 0.00 3.81 0.00 0.00 0.00 92.38 Как видите, код приложения не является узким местом, используя 27% системы + 2% юзерспейса на CPU #1, в то время как SOFTIRQ на CPU #2 сжирает 100% ресурсов.
      Кстати, использовать recvmmsg(2) довольно важно в наши пост-Спектровые дни (Spectre + Meltdown все же помнят?). Системные вызовы теперь требуют больше ресурсов. Мы используем ядро 4.14 с KPTI и retpolines:
      $ tail -n +1 /sys/devices/system/cpu/vulnerabilities/* ==> /sys/devices/system/cpu/vulnerabilities/meltdown <== Mitigation: PTI ==> /sys/devices/system/cpu/vulnerabilities/spectre_v1 <== Mitigation: __user pointer sanitization ==> /sys/devices/system/cpu/vulnerabilities/spectre_v2 <== Mitigation: Full generic retpoline, IBPB, IBRS_FW  
       
      2. Отключение conntrack

      Мы специально выбрали рандомные IP адреса и порты при тестировании для того чтобы нагрузить conntrack. Это можно проверить, посмотрев на заполненность conntrack таблицы:
      $ conntrack -C 2095202 $ sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max = 2097152 И, конечно же, conntrack будет кричать в dmesg:
      [4029612.456673] nf_conntrack: nf_conntrack: table full, dropping packet [4029612.465787] nf_conntrack: nf_conntrack: table full, dropping packet [4029617.175957] net_ratelimit: 5731 callbacks suppressed Для ускорения наших тестов, давайте его отключим:
      iptables -t raw -I PREROUTING -d 198.18.0.12 -p udp -m udp --dport 1234 -j NOTRACK Запускаем тест:
      $ ./dropping-packets/recvmmsg-loop packets=331008 bytes=5296128 Теперь наше приложение получает 333kpps вместо 175kpps.
      P.S. с SO_BUSY_POLL можно добиться 470kpps, но об этом в другой раз.
       
       
      3. BPF дропание на сокете

      Далее мы подумали - зачем этот трафик вообще нужен на юзерспейсе? Мы можем с помощью setsockopt(SO_ATTACH_FILTER) присоединить классический BPF фильтр к SOCK_DGRAM сокету и отбрасывать пакеты на уровне ядра (kernel space).
      Код: https://github.com/cloudflare/cloudflare-blog/blob/master/2018-07-dropping-packets/bpf-drop.c
       
      Тест:
      $ ./bpf-drop packets=0 bytes=0 С таким подходом (у классического BPF схожая производительность с eBPF) у нас получилось 512kpps. При этом экономится CPU, т.к. не нужно дергать приложение в юзерспейсе.
       

      4. DROP с помощью iptables после роутинга

      В качестве следующего теста мы решили отбрасывать пакеты в цепочке INPUT в iptables:
      iptables -I INPUT -d 198.18.0.12 -p udp --dport 1234 -j DROP Conntrack отключен в предыдущем правиле. Эти два правила в файерволе дали нам 608kpps.
      $ mmwatch 'iptables -L -v -n -x | head' Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 605.9k/s 26.7m/s DROP udp -- * * 0.0.0.0/0 198.18.0.12 udp dpt:1234  

      5. DROP с помощью iptables в таблице PREROUTING

      Т.е. отбрасываем пакеты пока они не попали в роутинг:
      iptables -I PREROUTING -t raw -d 198.18.0.12 -p udp --dport 1234 -j DROP Получаем 1.688mpps
      Довольно существенный прирост при использовании таблички "raw".
      Не совсем понятно почему такой прирост, возможно потому, что у нас сложный роутинг или баг в настройке сервера.
       

      6. DROP с помощью nftables перед conntrack

      Т.к. iptables доживает свои дни, то теперь можно пользоваться nftables.
      Видео, объясняющее почему nftrack лучше: https://www.youtube.com/watch?v=9Zr8XqdET1c
      nft add table netdev filter nft -- add chain netdev filter input { type filter hook ingress device vlan100 priority -500 \; policy accept \; } nft add rule netdev filter input ip daddr 198.18.0.0/24 udp dport 1234 counter drop nft add rule netdev filter input ip6 daddr fd00::/64 udp dport 1234 counter drop Счетчики можно пронаблюдать так:
      $ mmwatch 'nft --handle list chain netdev filter input' table netdev filter { chain input { type filter hook ingress device vlan100 priority -500; policy accept; ip daddr 198.18.0.0/24 udp dport 1234 counter packets 1.6m/s bytes 69.6m/s drop # handle 2 ip6 daddr fd00::/64 udp dport 1234 counter packets 0 bytes 0 drop # handle 3 } } Получили 1.53mpps. Это немного медленнее iptables, хотя должно быть наоборот. В любом случае nftables рулит.
       

      7. Отбрасывание пакетов в tc ingress

      Неожиданным фактом стало то, что tc (traffic control) ingress обрабатывается перед PREROUTING. Т.е. можно управлять трафиком еще раньше.
      Синтаксис довольно неудобный, поэтому рекомендуется использовать скрипт: https://github.com/netoptimizer/network-testing/blob/master/bin/tc_ingress_drop.sh
      tc qdisc add dev vlan100 ingress tc filter add dev vlan100 parent ffff: prio 4 protocol ip u32 match ip protocol 17 0xff match ip dport 1234 0xffff match ip dst 198.18.0.0/24 flowid 1:1 action drop tc filter add dev vlan100 parent ffff: protocol ipv6 u32 match ip6 dport 1234 0xffff match ip6 dst fd00::/64 flowid 1:1 action drop проверяем:
      $ mmwatch 'tc -s filter show dev vlan100 ingress' filter parent ffff: protocol ip pref 4 u32 filter parent ffff: protocol ip pref 4 u32 fh 800: ht divisor 1 filter parent ffff: protocol ip pref 4 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1 (rule hit 1.8m/s success 1.8m/s) match 00110000/00ff0000 at 8 (success 1.8m/s ) match 000004d2/0000ffff at 20 (success 1.8m/s ) match c612000c/ffffffff at 16 (success 1.8m/s ) action order 1: gact action drop random type none pass val 0 index 1 ref 1 bind 1 installed 1.0/s sec Action statistics: Sent 79.7m/s bytes 1.8m/s pkt (dropped 1.8m/s, overlimits 0 requeues 0) backlog 0b 0p requeues 0 Получили 1.8mppps на одном CPU.
       

      8. XDP_DROP

      https://prototype-kernel.readthedocs.io/en/latest/networking/XDP/
      С помощью XDP - eXpress Data Path мы можем запустить eBPF код прямо в сетевом драйвере. Т.е. перед тем как skbuff выделяет память.
       
      Обычно в XDP две части:
      eBPF код, загруженный в ядро юзерспейсный загрузчик, который загружает код в нужную сетевую карту и управляет им  
      Написание загрузчика довольно трудное занятие, поэтому мы решили воспользоваться новой iproute2 фичей:
      ip link set dev ext0 xdp obj xdp-drop-ebpf.o https://cilium.readthedocs.io/en/latest/bpf/#iproute2
      Исходник программы: https://github.com/cloudflare/cloudflare-blog/blob/master/2018-07-dropping-packets/xdp-drop-ebpf.c
      Программа парсит IP пакеты и ищет заданные параметры: IP транспорт, UDP протокол, сеть, порт:
      if (h_proto == htons(ETH_P_IP)) { if (iph->protocol == IPPROTO_UDP && (htonl(iph->daddr) & 0xFFFFFF00) == 0xC6120000 // 198.18.0.0/24 && udph->dest == htons(1234)) { return XDP_DROP; } } XDP программа должна быть скомпилена с современным clang, который умеет делать BPF байткод. После этого загружаем и проверяем XDP программу:
      $ ip link show dev ext0 4: ext0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdp qdisc fq state UP mode DEFAULT group default qlen 1000 link/ether 24:8a:07:8a:59:8e brd ff:ff:ff:ff:ff:ff prog/xdp id 5 tag aedc195cc0471f51 jited И смотрим цифры в статистике интерфейса (ethtool -S)
      $ mmwatch 'ethtool -S ext0|egrep "rx"|egrep -v ": 0"|egrep -v "cache|csum"' rx_out_of_buffer: 4.4m/s rx_xdp_drop: 10.1m/s rx2_xdp_drop: 10.1m/s Итого получаем 10Mpps на одном CPU.
       

       

       
      Источник: cloudflare
    • Автор: fet4
      Привет всем.
      Кто-то использовал бондинг в режиме balance-alb?
      Если да, расскажите конфигурацию? На свитче нужно настраивать агрегацию? 
    • Автор: katerina_kn_telecom
      We need a System Administrator.
      Projects are created and maintained for the telecom company in Sweden. Part of the tasks will be on the datacenter and switching devices. We are in Kyiv, the team is small - 10 people.

      Qualifications:
      - Higher Technical degree
      - 2+ years of experience in *nix servers administration (CentOS 6.x/7.x, Ubuntu 12.x/14.x/16.x are required)
      - Experience in Backup solutions setup and maintenance
      - Experience in RDBMS setup and support (MySQL is required, PostgreSQL would be a plus)
      - Experience in Web server setup and configuration (Nginx, Apache are required)
      - Experience in system capacity/performance analysis and optimization
      - Understanding of basic networking, and security operations including routing protocols and patching
      - Understanding of basic system security and patching
      - Knowledge of scripting languages (Bash)
      - Intermediate or higher level of English is a must

      Would be a plus:
      - Experience with Virtualization systems (VMWare, Xen)
      - Experience with OpenStack (Mitaka, Newton)
      - Experience in replication solution setup (MySQL or PostgreSQL)
      - Experience with Cisco data center products
      - Experience with iSCSI storage systems, Dell EMC products or 
      Software-defined Storage products
      - Experience in monitoring systems setup and maintenance (Nagios, Zabbix)
      - Experience with high-load environments, load balancing

      Successful candidate should be:
      - Quick learner
      - Responsible
      - Result-oriented
      - Able to demonstrate strong ownership skills
      - Able to work with multiple tasks
      - Able to deal with routine

      Responsibilities:
      - Support and maintain existing applications and related services in production environment
      - Support infrastructure by taking on projects as needed
      - Troubleshoot application and related services
      - Analyze and isolate issues
      - Monitor and maintain integrity and security of the network and servers
      - Help customers with Linux-related issues

      If you want to learn more details, just message me here.
    • Автор: vlada
      Сеть Ланет - один из крупнейших в Украине провайдеров Интернет и кабельного телевидения с десятилетней историей. Сегодня, мы Лидеры гигабитного Интернета в Украине, работаем в 15 населенных пунктах Украины, обслуживаем более ста тысяч абонентов.
      Наши проекты - это разработка и внедрение инфраструктурных решений в сфере телекоммуникаций и потокового видео, IP-телефонии, веб-сервисов, виртуализации. Это задачи, включающие работу с сетью, оборудованием, ресурсами ОС, конфигурацию программного обеспечения и создания кода.
       
      Обязанности:
      Администрирование, поддержка, развитие L2/L3 сети - более 10 тысяч единиц активного оборудования Edge-Core/BDCOM (PON), десятки корневых маршрутизаторов Juniper/Cisco, L3 коммутаторы Juniper QFX/EX
      Внедрение новых сервисов и технологий
      Тестирование и интеграция нового оборудования
      Выявление и устранение неисправностей в сети
      Разработка и реализация сетевых проектов разного уровня сложности
      Общение с нашими партнерами для организации новых точек взаимодействия и сервисов
       
      Требования:
      Понимание принципов построения сетей ISP
      Уверенное понимание принципов работы коммутационного и маршрутизирующего оборудования (Ethernet, адресация, коммутация, маршрутизация, multicast)
      Уверенное знание протокола SNMP, мониторинг/управление оборудованием
      Практический опыт работы с функционалом коммутаторов уровня доступа (IP source guard, ARP Inspection, port security, dhcp snooping и т.д.)
      Понимание основ работы протоколов BGP, OSPF, PIM, MSDP
      Опыт работы с Linux
      Понимание назначения и принципов работы основных сетевых служб (DNS, DHCP и т.д.)
      Английский язык на уровне понимания технической документации
      Умение решать проблемы, с которыми ранее не сталкивались, с помощью Google или без него
       
      Преимуществом будет:
      Опыт работы с оборудованием Juniper Networks, Cisco Systems, Extreme Networks, Edge-Core
      Опыт работы с сетями PON
      Опыт написания скриптов на языке Python/Go
       
      Мы предлогаем:
      Разработка и реализация интересных проектов
      Работа с современным оборудованием
      Крутой, профессиональный коллектив 
      Работа и менеджмент в соответствии с принципами lean / agile 
      Уютный офис недалеко от м. Святошин с крытой велопарковкой
      Официальное оформление  в штат 
      График работы: с Пн по Пт, с 9:00 до 18:00
       
      Ждем резюме))
    • Автор: Miroslava
      Our company is seeking for an experienced DevOps to develop and maintain a wide range of services and servers networks.
       
      Required skills:
      Experience in administration of Unix systems (primary CentOS Linux);
      Experience in building, testing and installing software;
      Skills to work with virtualization systems;
      Experience with Web servers;
      Experience with monitoring tools;
      Experience with databases;
      Experience in troubleshooting problems on the level of networks, operating systems and services;
      Experience in writing scripts;
      Understanding the principles of VCS;
      Intermediate level of English (read, write).
       
      Will be an advantage:
      Virtualization technologies (VmWare, VirtualBox, Xen, KVM, bhyve);
      Containerization technologies (docker, cubernets)
      Web servers (Nginx, Openresty);
      Load balancing (Nginx, Haproxy);
      Means of monitoring (Zabbix, Grafana, etc.);
      Experience in SQL (MySQL, Postgres, GreenPlum, etc.);
      Experience in KV (Redis, BDB, etc.);
      Network protocols: DNS, SMTP, IMAP, NFS, SMB / CIFS, LDAP, etc.;
      Experience in writing and debugging scripts (Shell, Lua, JS, Perl, Python, etc.);
      VCS - git (GitLab);
      Experience with CI/CD systems (jenkins, teamcity, etc.);
      Experience in using logging and metric collection systems;
      Experience with high-loaded services;
      Experience with Java Web Applications.
       
      Responsibilities:
      Network infrastructure administration;
      Writing automation scripts;
      Development and maintenance of CI/CD infrastructure;
      Deployment of services for projects;
      Monitoring software productivity;
      Setting up traffic balancing;
      Maintenance of products (DB, work with logs, etc.);
      Setup backup scripts;
      Automation of everyday tasks.
       
      Our benefits:
      Work in a modern and continuously growing company
      Convenient location near Poznyaki metro station
      Food in the office limitless - own chef
      A subscription to the SportLife, including a swimming pool
      Medical insurance - the best clinics «Dobrobut» and «Boris»
      Annual vacation of 24 calendar days
      Young and friendly team of professionals
       
      Please send us your CV with the desired salary to hr@adsology.com
×