Salt (іноді згадується як SaltStack Platform) відкрите програмне забезпечення для керування конфігурацією та віддаленого виконання написане на Python. Підтримує підхід "Infrastructure as Code" до розгортання і керування хмарами. Основними аналогами є Puppet, , та Ansible.
Історія Salt з'явився через потребу швидкого збирання даних та виконання завдань в середовищах системного адміністрування. Автор Salt, Томас С. Гатч, раніше створив кілька внутрішніх продуктів компанії для вирішення цієї проблеми, але цього, та інших продуктів з відкритим кодом виявилося не достатньо. Гатч вирішив використати бібліотеку обміну повідомленнями ØMQ і створив Salt використовуючи ØMQ для всіх рівнів мережі.
В липні 2014-го (в релізі "Helium") був додана надійна транспортна система RAET (Reliable Asynchronous Event Transport Protocol) на основі черги. Вона була створена в партнерстві з кількома великими підприємствами, щоб Salt мала альтернативу для ZeroMQ та можливість маштабування понад десятки тисяч серверів.
Стани Наприкінці травня 2011, були зроблені перші кроки до розробки централізованого керування конфігурацією в Salt. Ця система керування конфігурацією базується на збереженні всіх даних конфігурації (або "стану") всередині просто зрозумілої структури даних. Цей функціонал увійшов в стабільний реліз в Salt 0.9.3 в листопаді 2011.
Архітектура Salt був спроектований бути модульним і легко розширюваним, щоб його можна було сформувати по різному для різних застосувань. Архітектура Salt дозволяє створювати модулі Python які відповідають за певні аспекти наявних систем Salt.
Типи модулів Модулі керують віддаленим виконанням та керуванням станами в Salt. Їх можна поділити на шість груп:
Модулі виконання () - "робочі конячки" функціоналу Salt. Вони описують функції доступні для виконання на віддалених машинах. Ці модулі містять специфічну крос-платформну інформацію яка використовується Salt для забезпечення переносимості, і складають ключове API з системних функцій що використовуються в Salt. Модулі станів () компоненти що утворюють бекед для системи керування конфігурацією Salt.
Див. також
Інфраструктура як код
Puppet Ansible
Зноски
Посилання