Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Продолжая серию статей про знания, полученные на работе, хочу рассказать про свои навыки DevOps, которые были на нуле, когда я пришла в компанию GlowByte.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/0e2/8e7/1a7/0e28e71a74812c0bdb8b5edab5e6f0cc.png)
Docker
Знакомство с “Докером” отчасти произошло потому, что была хотелка его знать. Однако, как выяснилось позже, такие знания очень пригодились в настоящих сложных рабочих задачах.
Изначально я получила задание написать Телеграм-бота для внутренних нужд. Я тогда использовала WSL, и мои разработки у меня прекрасно запускались, но при передаче кода коллегам, которые пробовали запустить в Windows без WSL, все ломалось, и приходилось долго объяснять, что надо делать и как поправить. Чтобы решить эту проблему, я научилась конфигурировать Docker-файлы, познакомилась с Docker Compose и узнала многое про работу сети и файлового обмена внутри Docker, чтобы с уверенностью использовать этот инструмент и как разработчик, и как администратор.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/a6d/ddd/029/a6dddd0297141a8d76a49b65b2cf4fc6.png)
Эти знания мне очень пригодились в скором времени, когда появилась новая большая задача – разработать систему мониторинга для заказчика, у которого были закрытые контуры, не работал доступ в интернет и работать сразу на серверах было крайне неудобно и сложно. Все сделала у себя на локали: разработала, протестировала и виртуализировала систему. После чего уже готовые собранные образы перенесла на серверы заказчика и без всяких проблем их запустила, не решая платформозависимые проблемы. Кстати, про построение системы мониторинга расскажу в следующих статьях.
С того момента я использовала Docker как неотъемлемую часть при развертывании своих приложений всегда и везде. Сделать Dockerfile или docker-compose.yaml уже не составляло труда и не занимало много времени.
Кроме того, мне понравилось, что я могу развернуть уже готовое приложение (например, PostgreSQL, Grafana, Prometheus и т. д.) в один клик из готового образа: не нужно мучиться с командами скачивания, конфигурирования, запуска, расследования инцидентов при развертывании и не нужно закладывать несколько дней на такие задачи.
Затем пришли проекты по сопровождению, где использовался Docker в инфраструктуре. Накопленные знания помогли сформировать чувство, что я своего рода маленький DevOps-инженер – и стало не так страшно поддерживать что-то с такой технологией и помогать заказчику разобраться в сути. В целом эти знания помогли расширить область нашей поддержки.
В итоге я решила записать все накопленное по Docker в инструкции для моих коллег, даже провела митап с описанием практических кейсов использования и рассказом о том, как круто жить в мире, где есть этот инструмент. Как известно, рассказ другим о том, что ты знаешь, отшлифовывает знания и помогает их структурировать.
Итак, Docker стал еще одной технологией, которую удалось выучить в реальных практических задачах от zero до hero, работая с сопровождении B2B.
K8s
Далее глаз упал на Kubernetes. Здесь все произошло сразу с реального кейса: заказчики начали внедрять продукт компании Data Sapience CM Ocean, который имеет удобный механизм раскатывания новых релизов в K8s. Вендор предоставляет helm-чарты, заказчик выставляет values для конфигурации в своей среде и применяет helm-чарт. Для успешного выполнения этой задачи часто привлекают команды сопровождения, так случилось и в моей практике. На этом проекте мне удалось погрузиться в мир “воркеров” и “мастернод”, облачных IaaS, абстракций Kubernetes, команд управления kubectl и helm. Кроме того, удалось увидеть на практике CI/CD-инструмент и настройку раската пайплайнов через GitLab.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/5da/c30/61f/5dac3061fbdcdab195082a16c96d3536.png)
Это были знания, которые лились быстрым потоком, и все нужно было схватывать за несколько первых месяцев. Впоследствии они осели в голове, структурировались, и я стала работать с K8s более осознанно. Как и с “Докером”, составила серию заметок и инструкций по архитектуре Kubernetes, командам управления, работе с сетью и файловым хранилищем, организовала в базе знаний информацию о масштабировании приложений в Kubernetes.
Работа в поддержке B2B позволила расширить горизонт знаний, положить в коллекцию еще одну технологию, так что теперь я могу легко задеплоить свое собственное приложение или связку приложений в K8s, решить много проблем развертывания и поддерживать проекты с этой технологией: решать инциденты, конфигурировать, накатывать релизы, отвечать на вопросы о внутреннем устройстве Kubernetes в рамках консультаций сопровождения.
Специфические on-premise-инсталляции
Следом в копилку положила новые технологии DevOps: с нуля научилась устанавливать комплексные большие JAVA-приложения в Weblogic и WebSphere, конфигурировать связку приложений в кластере на двух и более серверах, решать специфичные неочевидные ошибки незнакомых систем. Также выработала подход самостоятельного понимания, как работать с такими “черными ящиками”.
В 2021 году мы преимущественно работали на проектах, у которых вендорами были HCL и SAS. Эти компании предоставляли маркетинговые комплексы для сегментации клиентов и обработки в Real-time маркетинговых событий. Помимо самого приложения, обычно заказчик имел ряд связанных интеграций, которые также должны были запускаться и выполнять какие-то процессы.
Я занималась установкой WebSphere, Tomcat и HCL Campaign в этих системах с нуля: от скачивания приложения до конфигурирования, подключения источников данных, решения проблем падения приложений, производительности и конфигурации под высокие нагрузки. Кроме того, подключала кастомный код на Java к приложению и тестировала комплексно всю систему, затем сопровождала и поддерживала установку.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f70/e2f/b20/f70e2fb202d7bd7aa14507ee4c3d4961.png)
Также устанавливала новые релизы приложений HCL Interact (Real-time-системы управления событиями) так, чтобы пользователи прод-контура не замечали недоступности системы. Приходилось работать быстро, иметь проверенные на DEV-контуре шаги установки и ответы на самые частые вопросы по ошибкам после наката.
Я занималась разворачиванием SAS MA (сегментатора для больших данных о клиентах), решением проблем накатов новых версий и миграций существующих данных в новую версию приложений.
Казалось бы, такой софт является специфической технологией, но работа с ним дала мне опыт в развертывании под Windows и Linux, а также новые знания про архитектуру JAVA-приложений, работу RPC, кластерных серверов.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/0c3/73b/2a1/0c373b2a18ae43896191dc974bee6f21.png)
С каждым днем я все больше погружаюсь в задачи, где нужны навыки DevOps, и я очень рада, что работа в GlowByte дала мне возможность в этом развиваться.
Наверное, одна из моих ключевых мыслей состоит в том, чтобы донести до читателя: работник сопровождения, саппорт – это не про умение по инструкции что-то найти и решить, это про большой и широкий профиль знаний, про коллекционирование и непрерывное развитие.
Итак, в этой части я рассказала про опыт DevOps. Но это далеко не все, и в последующих частях я расскажу про мониторинг, базу знаний, менеджмент, аналитику и многое другое.