Блог CEO, CIO Виктора Карабедянц Блог CEO, CIO Виктора Карабедянц
  • Обо мне
  • Навыки
  • Образование
  • Опыт
  • Проекты
  • Блог
  • CIO аутсорсинг
  • Контакты

Что я могу и не могу сделать в сфере DevOps: откровенно и по пунктам

16 августа 201918 августа 2019 / By Виктор
  • Home
  • Что я могу и не могу сделать в сфере DevOps: откровенно и по пунктам

Я могу


Помочь клиенту решить, какой сервер и хостинг использовать

Я могу работать с:
Обычными выделенными серверами:

  • Hetzner
  • Online
  • HostDime
  • servers.com
    и другие

Виртуальными машинами на выделенных серверах — KVM и KVM в Proxmox VE.
Контейнерами Linux на выделенных серверах, также опционально с Proxmox VE.

VPS.

Облачными решениями:

  • AWS
  • Google Cloud
  • Azure
  • Alibaba Cloud

Наиболее распространенный вариант, который выбирают мои клиенты — это выделенный сервер Hetzner + контейнеры Linux. Я также рекомендую эту настройку из-за наилучшего соотношения производительности с достаточной гибкостью. Но в целом выбор хостинг-провайдера зависит от фактической и планируемой нагрузки.
Также рекомендую использовать облако только тогда, когда это оправдано: программная масштабируемость, многопользовательская поддержка по требованию, межрегиональные требования и т. д. По моему мнению, облако — не лучший вариант для такой простой настройки, как интернет-портал или магазин с постоянной нагрузкой: это будет стоить дороже и работать хуже. Люди склонны использовать облака неправильно.
После принятия решения о том, что использовать, я помогаю клиенту подписаться на услугу. Часто клиент делится доступом к услуге управления хостингом. Я храню пароли доступа клиентов с помощью частного решения sysPass.

Установить операционную систему и подключиться к набору DevOps

Я всегда стараюсь свести к минимуму часть настройки сервера, выполняемую вручную. Имеется большой опыт работы с Ubuntu и Debian и разработки пакетов инструментов и кода управления их конфигурацией. Как только ОС установлена, желательно также с автоматической подготовкой, я продолжаю декларативную настройку сервера с помощью кода.

Развернуть собственную инфраструктуру

Некоторым небольшим клиентам требуется собственная инфраструктура стека DevOps из-за правил, соображений безопасности и т. д. Именно поэтому я разработал специальный подход с учетом многопрофильности. Поэтому по желанию клиента можно развернуть собственный экземпляр клиента GitLab, сервер SaltStack и т. д., чтобы применять тот же подход, что и в моей собственной инфраструктуре, но используя собственные службы клиента. Конечно, клиент имеет гораздо больший контроль над основными компонентами, если они принадлежат ему.

Развернуть приложения

Есть опыт развертывания и настройки следующих приложений:

  • nginx/php-fpm веб-сайты
  • nginx/python веб-сайты
  • nginx статические веб-сайты
  • MySQL (Percona)
  • PostgreSQL
  • MongoDB
  • RabbitMQ
  • Rancher Kubernetes cluster
  • Softether VPN Server
  • Atlassian Jira Server and Confluence Server
  •  GitLab
    и др.

Обеспечить долгосрочную поддержку

Мне нравятся решения, которые работают уже много лет. Я поддерживаю некоторые сервера для наших клиентов уже более 10 лет, осуществляя миграцию, обновляя ОС и приложения. Разрабатываю наши инструменты для унификации мониторинга и резервного копирования, которые необходимы для долгосрочной поддержки.

Обеспечить качественную разработку

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

Управлять правами доступа

Все серверы, которыми я управляю, используют закрытую политику брандмауэра. По умолчанию все входящие порты частных служб, такие как SSH и базы данных, закрыты из Интернета. С помощью инфраструктуры как кода (Infrastructure as Code — IaC) я управляю списками доступа статических IP-адресов, которым разрешено подключение. Использую частные VPN-серверы (SoftEther), если статические IP-адреса недоступны для клиента.

Управлять конфигурациями

Использую специальное решение для управления конфигурацией — SaltStack. На самом деле, я провожу большую часть нашего времени за написанием универсального и многократно используемого открытого исходного кода — формулы SaltStack и специфических для клиента переменных (компонент) и файлов, которые используются кодом для настройки серверов. Определяю и настраиваю клиентскую инфраструктуру (IaC), приложения, пользователей, IP-адреса, контрольные точки и пороги мониторинга, базы данных, источники и цели резервного копирования и т. д. Пытаюсь автоматизировать все, что могу, с помощью управления конфигурациями, поскольку она документирует инфраструктуру и обеспечивает повторяемость, надежность, безопасность и многие другие преимущества.

Предоставлять консультации

Не все разработчики программного обеспечения имеют опыт работы с фул-стеком и DevOps. Сосредоточиться на отдельной части технологии это хорошо и позволяет глубже погружаться, а также лучше понимать суть. Я консультирую небольшие группы разработчиков и помогаю им в использовании DevOps (Git, Docker, Kubernetes, Repositories, Registries, CI and Pipelines, Automation) с конкретными продуктами: GitLab, SaltStack, Rancher, Ubuntu.
Также могу предоставить командам разработчиков настройку динамических сред разработки, которые автоматически создаются и удаляются для веток или тегов Git в кластере Kubernetes с использованием GitLab и визуального доступа к кластеру Rancher. Это похоже на GitLab Auto-DevOps, но Auto-DevOps имеет больше ограничений. Кроме того, я могу хранить текущие данные в кластерах Kubernetes, а также настроить базы данных и хранилище только на классической инфраструктуре.

Возможны консультации о правильном использовании этих технологий:

  •  DNS (ClouDNS, Cloudflare).
  • SSL-сертификаты (Let’s Encrypt automation using acme.sh, CertBot).
  • Anti-DDOS (Cloudflare, Nginx).
  • ветки, теги, подмодули, поток Git.
  • MySQL (Percona), тонкая настройка PostgreSQL.
  • Производительность сервера.
  • Другие задачи администрирования сервера.

Я НЕ могу

Поддерживать устоявшуюся архитектуру

Я могу и хочу оказывать долгосрочную поддержку архитектуры, которую мы сделали вместе с клиентом. Но если клиентская инфраструктура была построена кем-то другим с использованием другого подхода, я теряю все преимущества IaC, автоматизации и т. д., тем не менее могу поддерживать и её. Могу переносить приложения из внешних систем и даже пытаться (если это возможно) устанавливать исправления в устаревших системах в процессе миграции, но только в качестве исключения и только в том случае, если есть обязательства по созданию новой инфраструктуры.

Идти на компромисс с нашими принципами

Например, я никогда не соглашаюсь отказаться от безопасной настройки сервера. Этот принцип может быть очень неудобен для разработчиков, и они пытаются саботировать его. Но этот подход имеет слишком много преимуществ с точки зрения безопасности, поэтому я не могу пойти другим путем. Всегда говорю клиенту, что не могу выполнить определенную задачу, потому что это ставит под угрозу безопасность Вашего сервера.

Использовать любые технологии

Я силен в построении различных архитектур, и все время развиваюсь, приобретая навыки работы с различными технологиями.. Не отказываю клиенту использовать любую технологию, которую он желает. Например, могу настроить Jenkins и его Pipelines или GitLab. Не могу использовать Ansible, Puppet или Chef, также имею опыт управления конфигурациями в SaltStack.

Брать на себя риски клиента

Несмотря на то, что у меня обычно есть root-доступ к серверам клиента, я не даю гарантии на 100% бесперебойную работу клиентского сервиса. Моя миссия заключается в предоставлении доступного комплексного решения для некоторых задач DevOps, а также максимально быстрого решения проблем, я стремлюсь сделать ваш сервис безотказным, насколько это возможно.

Удовлетворить всех

Я оставляю за собой право решать, согласен ли работать над конкретной задачей. И всегда стараюсь предоставить клиенту информацию о своих возможностях и о том, соответствует ли задача моему подходу или нет. Не могу написать код приложения клиента, исправить темы WordPress и т. д. А во всем остальном — давайте сотрудничать. Я  готов предоставить Вам в пользование свой опыт и навыки в сферах , DevOps и CIO аутсорсинга прямо сейчас!

About The Author

Виктор

Leave a Comment

Cancel Reply

*Please complete all fields correctly

В блоге представлены не только мои материалы, я делаю композицию из разных материалов, а так же размещаю переводы интересных тем.

Категории
  • DevOps
  • Без рубрики
  • ИТ поддержка
  • Руководитель ИТ
Популярные статьи
  • 10 причин, по которым компании привлекают своих ИТ-директоров на аутсорсингВторник - 29 июня, 2021
  • Какие нужны знания, чтобы работать DevOps-инженером: основные навыкиЧетверг - 17 июня, 2021
  • Тренд на SASE: что это и зачем нужноСреда - 12 мая, 2021
  • Ключевые вызовы для ИТ-директоров при разработке корпоративного ПО в 2021…Среда - 21 апреля, 2021
  • 5 важных тезисов для CIO по работе с ИИСреда - 14 апреля, 2021
Tags
CIO DevOps service desk Безопасность ИТ директор ИТ менеджер Удаленный ИТ директор контейнеры
Комментарии
  • Использование KPI (ключевой показатель эффективности) для оценки зрелости DevOps и планирование преобразования Понедельник - февраля 06, 2023 12:01 дп
  • Поиск доступности в облаке Воскресенье - февраля 05, 2023 11:54 пп
  • Поиск доступности в облаке Воскресенье - февраля 05, 2023 08:17 пп
  • Поиск доступности в облаке Воскресенье - февраля 05, 2023 06:50 пп
  • Поиск доступности в облаке Воскресенье - февраля 05, 2023 05:44 пп
© 2017 - 2019 Виктор Карабедянц
Posting....