Работа системного и базового программного обеспечения влияет на надёжность, отказоустойчивость, производительность, безопасность и масштабируемость цифровых сервисов. Также этот компонент удовлетворяет требование применения корректного стека технологий.
К системному ПО относятся: операционная система, решения для виртуализации, решения для контейнеризации (при необходимости).
К базовому ПО относятся: программные фреймворки, компиляторы, СУБД, системы контроля версий, специальное ПО (код приложения).
Операционные системы, использующиеся в серверной IT-инфраструктуре, как правило построены либо на базе ядра Windows (большая часть корпоративных приложений), либо
Linux (веб-сервисы). Выход вендора Microsoft из российского рынка сегодня стимулирует процессы импортозамещения на Linux-системы, различие версий которой зависит от деятельности компании. Например, российским представителям госсектора сегодня требуется
импортозамещённая ОС Astra Linux. Операционная система серверов заказчика из коммерческого сектора не обязательно должна быть импортозамещённой, можно использовать CentOS или Ubuntu.
Системное ПО должно быть унифицировано и удобно, процессы поддержки и обновлений должны быть прозрачными. Количество использованных инструментов важно свести к необходимому минимуму, поскольку разнообразие систем всегда трудно поддерживать.
Один из современных подходов к разработке приложений — это создание сервис-ориентированной архитектуры программного обеспечения, получившей название микросервисной (модульной). Для её управления часто применяют такой метод виртуализации, как контейнеризация, при которой для приложений используют «контейнеры» — окружение, изолированное от ядра ОС. Контейнеры легко масштабировать и перемещать из одной инфраструктуры в другую.
Контейнеризация позволяет снижать риски воздействия одного приложения на другие и управлять безопасностью более просто. Также она обеспечивает: быстрое развёртывание новых версий приложений, внесение изменений без простоев сервиса, лёгкость переноса приложений между различными средами (разработка, тестирование, продакшен). Основные плюсы микросервисной архитектуры заключаются в простоте работы с каждым модулем и, как следствие, резком уменьшении количества ошибок в них. Минусами является сложность связей и обмена данными между микросервисами.
Наши инженеры исследуют сервис заказчика, сопоставляя его работу с бизнес-целями компании, чтобы определить, нуждается ли эта IT-инфраструктура во внедрении контейнеризации. Если не нуждается, то обеспечить масштабирование сервиса можно другими способами.