Dev Ops администрирование

Transformation/Migration


Мы осуществляем запуск, миграцию и перенастройку инфраструктуры в облаке многими путями. Инфраструктура как код (IaC), через консоль или деплоями с помощью сторонних/родных облачных сервисов (AWSCloudFormation, Terraform,  и др.). С помощью трансформации можно уменьшать стоимость владения проектом в облаке с помощью вынесения различных сервисов в контейнеры dockerили перехода на пользование сервисов облачного провайдера. В большинстве случаев при таком переходе поддержкой сервиса занимается само облако.

Backup


 
Гибкость работы и высокий уровень SLA позволяет создавать бэкапы почти для любых сервисов. Расписание тестирования консистентности бэкапов позволяет быть уверенным за свои данные. Возможность размещения резервных копий как на «земле»(on-premises), так и в облаке(Azure) с помощью Unix-инструментов, а так же программ сторонних вендоров (Veeam).

DevOps


Формирование CI/CD процессов с помощью сервисов AWS. Процессы CIмогут быть выстроены как на специальных инструментах (Jenkins, BitBucket, etc), подходе Infrastructureas Code (Terraform, CloudFormation), так и инструментах AWS(AWSCodeDeploy, AWSCodePipline). Процессы CDсопровождают развернутую версию до нового релиза в продакшен. Мониторинг с помощью встроенных инструментов, а также настроенного Zabbixокружения позволяют отслеживать изменения. Любые требуемые для наблюдения Alarm’s присылаются уведомлениями с помощью почты либо телефонными звонками.
Типовые задачи, которые решаемые DevOps
  1. Непрерывная интеграция (Continuous Integration) – централизация и объединение всего кода, производимого разработчиками, автоматическое тестирование
  2. Непрерывная доставка (Continuous Delivery) – автоматизация развертывания, чтобы разработчик мог развернуть релиз в тест или продакшен буквально парой кликов
  3. Непрерывное развертывание – автоматизация, без участия разработчика,  включения в продакшен продукта, прошедшего тесты
Реальные задачи и проблемы, которые мы также решаем с помощью приемов DevOps
  1. Снижение стоимости владения проектом. Производительные сервера и облачные сервисы стоят дорого, DevOps позволяет снизить затраты, комбинируя различные оптимизированные по стоимости сервисы и автоматизируя их использование.
  2. Автоматическое масштабирование. При росте нагрузки не будет необходимости ручного добавления ресурсов в инфраструктуру, все произойдет автоматически.
  3. Повышение отказоустойчивости. Незарезервированные или неправильно зарезервированные сервисы подвержены сбоям. DevOps позволяет поддерживать инфраструктуру, способную пережить сбой и автоматически восстанавливающуюся при выходе из строя каких-либо компонентов.
  4. Мониторинг. Обычный мониторинг является стандартным сервисом, обязательным к применению везде. Но методы DevOps позволяют автоматизировать его, автоматически подключать к мониторингу новые сервисы инфраструктуры.
  5. Сбор ошибок с программного продукта, для последующего анализа разработчиками, а также централизованный сбор логов для анализа проблем инженерами поддержки.
  6. Создание единой среды разработки, удобной в установке и использовании для всех разработчиков.
  7. Создание и внедрение инструментов для работы распределенных команд разработчиков, внедрение систем контроля версий.
  8. Создание удобной  среды для тестирования.
  9. Оптимизация нагрузки на базу данных.
  10. Оптимизация нагрузки на хранилище статики.
  11. Организация резервного копирования в несколько хранилищ для обеспечения сохранности резервных копий.
 

Site to Site tunel


Для использования многочисленных облачных сервисов для бизнес-аналитики, машинного обучения, бэкапов и др. возможно произвести настройку site-site, для обмена данных с облаком AWS. При этом Ваша инфраструктура остается так же независима.
 

Spot-way


Для уменьшения стоимости (cost) Клиента мы производим переход требуемых сервисов на Spot. Это позволяет уменьшить от 45% до 90% затрат на использование вычислительных ресурсов сервиса. Так же данная структура позволяет при тех же затратах увеличить мощность приложения.
В данном примере расписан сервис индексации Sphinx.
Использование auto-scaling на каждой роли сервиса позволяет реактивно реагировать на всплески нагрузки.

Типовой веб-проект в AWS


Типовой веб-проект состоит из следующих компонентов:
  1. Front-end-сервер
  2. Рабочие сервера
  3. База данных
  4. Хранилище статического контента
  5. Различные сервисы кэширования и индексирования
  6. Тестовая инфраструктура
Также обычно используются различные вспомогательные сервисы, такие как сервисы сбора логов, мониторинга и резервного копирования.