Чем занимается инженер облачных сервисов
Приоткрываем завесу тайны над тем, кто такой на самом деле инженер облачных сервисов, за что он отвечает и какие у него перспективы.
Владимир Зайцев
директор по клиентскому сервису NGENIX
Много статей написано про то, чем занимается разработчик, но мало кто скажет точно, чем занимается инженер в ИТ. Он точно «айтишник»? В сознании обывателей инженер – это человек, который что-то чертит или проектирует. Я немного приоткрою завесу над тем, кто такой на самом деле инженер облачных сервисов, за что он отвечает и какие у него перспективы.
Я почти пять лет руковожу службой сопровождения клиентских сервисов в компании NGENIX. Наша облачная платформа обеспечивает безопасность и бесперебойную работу веб-сервисов – это сервисы стриминга видео, онлайн-маркетплейсы, сервисы бронирования авиабилетов или любые другие веб-приложения. Наша задача – сделать так, чтобы эти веб-ресурсы работали безотказно: стримы не подвисали, страницы грузились быстро, а DDoS-атаки или «хабраэффект» не парализовали сайт. Если пользователь веб-сервиса недоволен тем, что картинки в интернет-магазине грузятся медленно, сайт открывается через раз, а посмотреть сериал без постоянной буферизации невозможно, такой пользователь уйдет. Возможно, он еще напишет гневный пост в соцсети, призовет отказаться от сервиса, а для нашего клиента это означает отток клиентской базы, снижение NPS и потерю выручки. Чтобы такого не произошло, есть человек, которого мы называем «инженер облачных сервисов». Такие люди как раз работают в нашем отделе.
Что делает инженер облачных сервисов
Инженер облачных сервисов – это позиция на стыке технической поддержки и системного администрирования. При этом основная зона ответственности инженера – клиенты. У нас компании даже есть поговорка, что если все сгорело, но клиент остался доволен – работа инженера выполнена.
Вот только в отличие от классической технической поддержки, где сотрудник в основном занимается только коммуникацией и при возникновении серьезной проблемы «отправляет» клиента более квалифицированным коллегам, инженер сам в состоянии диагностировать и устранить большинство проблем. А еще он занимается эксплуатацией платформы: отслеживает работу веб-сервисов, обеспечивает их отказоустойчивость, помогает в развитии инфраструктуры. Например, если вся страна перешла на удаленку и стала смотреть больше видео, то задача инженера – вовремя масштабировать сервис, чтобы платформа работала без сбоев.
Также инженер активно взаимодействует с командой разработчиков. Так как значительную часть времени он работает с платформой и интегрирует сторонние сервисы заказчиков, то это позволяет ему хорошо разбираться в потребностях клиента, а также находить узкие места системы. Поэтому большая часть инициатив по доработке платформы идет именно от инженеров.
Типичный рабочий день инженера облачных сервисов
Представим себе Диму — он работает инженером облачных сервисов уже пару лет.
Его утро начинается с проверки тикетов от клиентов — они ни в коем случае не должны подумать, что о них забыли. После этого Дима открывает Jira и работает со своими задачами.
Среди всех задач на день наиболее важная – выкатить изменение, которое затрагивает конфигурацию одного из стриминговых сервисов. В субботу вечером будет трансляция концерта Little Big, ожидается нагрузка больше гигабита, поэтому нужны кастомные настройки балансировки.
В 11 утра Дима присутствует на короткой планерке по отделу. Каждый инженер рассказывает, чем он занимался вчера и планирует заниматься сегодня. Это время, когда можно обменяться опытом по нестандартным кейсам, посмотреть свежим взглядом на тикеты коллег, дать совет или, наоборот, попросить коллективной помощи.
Сразу после планерки Дима готовит конфигурацию к выкатке — ему еще нужно получить подтверждение от нескольких человек. Он описывает все изменения, отправляет «чендж» на согласование.
Вернувшись с обеда, Дима обнаруживает, что «чендж» успешно прошел ревью, можно катиться. Дима выкатывает изменения, прогоняет тесты, все идет хорошо. Теперь Диме пора сообщить клиенту, что все готово.
До конца дня Дима занимается тикетами и задачами по эксплуатации, связывается с парой клиентов, чтобы обсудить детали интеграции новых сервисов.
В конце дня руководитель службы эксплуатации проводит лекцию по новой системе анализа трафика для всего технического департамента. Диме важно постоянно учиться новому, и он такого не пропустит.
Так проходит день инженера — он работает с изменениями конфигурации, делится опытом с коллегами, учится новому. Конечно, у него случаются авралы — но часть его работы как раз состоит в том, чтобы их было как можно меньше.
Чем занимается облачный разработчик и как им стать
Хард-скиллы
Инженер облачных сервисов – это человек с высшим техническим образованием; возможно, он уже работал в технической поддержке хостинга или оператора связи. Какие скиллы ему нужны?
- Уметь в Linux. No comments.
- Знать разницу между TCP, IP и TCP/IP. Знать, как работают протоколы HTTP(S) и DNS.
- Круто, если он умеет настраивать Nginx. Сейчас он используется практически в любом веб-сервисе.
- Очень круто, если есть опыт работы со стримингом видео (ffmpeg, Wowza).
- Плюc в карму, если он понимает, как работают системы управления конфигурацией типа Chef/Puppet/Salt/Ansible.
- Знать Python на уровне «дернуть пару ручек REST API и обработать полученные данные».
Софт-скиллы
Тут все гораздо интереснее. Многие считают, что хорошему технарю не нужны навыки общения: мол сиди, пиши себе код, настраивай и хорошо. На деле же прокачанные софт-скилы позволяют инженеру быстрее решать вопросы не только внутри команды, но и с клиентами.
Что тут нужно уметь:
- Уметь работать в команде. Часто к разработчикам применяют меньшие требования в этом плане: можешь быть индивидуалистом-одиночкой или гением-интровертом, но если доставляешь код, то ты молодец. Возможно, что это обоснованно в текущих реалиях, когда разработчики в большом дефиците. Работа же инженера во многом подразумевает обмен опытом и взаимовыручку: он больше обращается за помощью к коллегам и сам охотно делится информацией, т.к. время ограничено SLA, а сервис должен работать.
- Адекватно коммуницировать с клиентом – тут нужны умение проявлять эмпатию, а также объяснять, а иногда и отстаивать свою точку зрения, ясно и грамотно изъясняться.
- Он должен быть незашоренным. К сожалению, среди технарей часто встречается явление «есть два мнения — неправильное и мое», а это неизменно сказывается на открытости как новым технологиям и подходам, так и любому отличному от твоего собственного видению.
- Базовая осознанность. Умение принимать решения и нести за них ответственность.
- Ну и наконец, инженер всегда ориентирован результат. Этот человек заботится о доставке клиенту конечного продукта – работающего без сбоя сервиса. Ведь всегда приятно видеть, что твоя работа приносит пользу людям.
Ваш звонок очень важен для нас
Не стоит считать инженера облачных сервисов обычным сотрудником техподдержки. Классическая техническая поддержка реализована в несколько линий, где обращение передается от специалиста к специалисту в зависимости от уровня сложности. Сначала оно поступает специалисту первой линии, который может ответить на простые вопросы и нажать на пару кнопок. Если его компетенции не хватает, обращение передается специалистам второй и далее третьей линии. Они гораздо реже общаются с клиентами напрямую, но более компетентны.
Это схема имеет серьезные недостатки. Во-первых, для клиентов: никому не нравится долго висеть на телефоне или ждать ответа по почте из-за того, что запрос отправляется другому сотруднику. Во-вторых, для самой компании: в первых линиях достаточно большая текучка из-за однообразной работы: люди часто перегорают, теряют мотивацию и уходят. В тоже время инженеры третьей линии могут быть более квалифицированными, но абсолютно неклиентоориентированными технарями-интровертами.
Мы в свое время пошли другим путем. Инженеры занимаются не только общением с клиентами, но и эксплуатацией платформы. Это значительно повышает уровень качества технической поддержки и в тоже время дает интересную работу и возможность для роста инженеру.
Таким образом, люди вовлечены, им интересно работать над более разнообразными задачами, а клиент знает, что ему отвечает квалифицированный инженер, способный решить любую проблему и сделать это быстро, а не просто переводить его в очередное «окно».
Как мы набираем таких людей
Любой желающий работать в нашей компании на позиции инженера должен сперва пройти небольшой тест, который включает в себя несколько заданий на знание Linux, сети и т.п.
На собеседовании в первую очередь мы обращаем внимание на то, совпадают ли интересы соискателя и интересы компании, совпадают ли наши понятия о корпоративной культуре и готов ли человек принять принципы компании, сможем ли мы вместе с ним стать еще более сильной командой.
Дальше мы смотрим на софт-скиллы: достаточно ли человек коммуникабелен, может ли выражаться связно, как он мыслит. Здесь хорошо помогают открытые и проективные вопросы.
Техническая часть собеседования самая последняя. Мы отдаем предпочтение людям с высшим техническим образованием, так как в большинстве случаев это гарантирует наличие технического бэкграунда и способности к самообучению. В тоже время даем возможность пройти вступительный тест любому человеку: в конечном итоге, нам важно, чтобы человек обладал необходимыми техническими знаниями, не наличие корочки.
Как стать инженером облачных сервисов
- Окончить технический вуз. Здесь вопрос даже не в конкретной учебной программе или преподавателях, а в правильной среде и возможности получить нужные знания, поучаствовать в различных проектах, не имея при этом опыта. Именно ради этого стоит идти учиться, а не ради хороших оценок.
- Пройти базовый курс программирования на Python.
- Неплохо бы найти или создать свой небольшой сайд-проект и постепенно его развивать. Хорошо, если он будет помогать решать какие-нибудь реальные проблемы.
- Заниматься самообразованием. Сейчас очень много курсов и материалов по любым тематикам.
- Стараться всего докапываться до сути вещей, подтверждать свои знания на практике.
В кого можно вырасти
Преимущество инженера в его кругозоре. При достаточном опыте работы он обладает знаниями администратора/DevOps’а, умеет кодить как минимум на уровне хорошего джуна, а большой опыт работы с различными приложениями позволяет ему разбираться в архитектуре различных сложных систем. Такой инженер мыслит не как обычный разработчик – он способен видеть целиком всю картину, понимать, как работают компоненты сервиса и как его можно улучшить.
С другой стороны, наработанные коммуникационные скиллы позволяют подобным людям двигаться в сторону позиции технического лидера или управленца/менеджера. Такой человек умеет договариваться, аргументировать, отстаивать свою точку зрения, умеет обучаться и обучать других.
Таким образом он может вырасти в хорошего разработчика, DevOps’а, архитектора или руководителя.
Мы смогли собрать таких людей вместе и превратить их в одну из лучших служб клиентского сервиса на рынке. Хотя это разработчики пользовательских приложений и сервисов обычно окутаны в отрасли неким романтическим флером, инженеры облачных сервисов работают с кучей интересных задач и при этом имеют возможность с приобретением опыта расти в различных направлениях до серьезных позиций. Ну и вообще, приятно же осознавать, что ты отвечаешь за то, чтобы тысячи человек включились в трансляцию крутого онлайн-события, прошли полезный курс или без проблем подали документы в МФЦ онлайн.
Cloud Engineer (Инженер по облачным сервисам)
Облачный инженер — это ИТ-специалист, отвечающий за облачные вычисления, включая проектирование, планирование, управление, обслуживание и поддержку.
Должность инженера по облачным технологиям может быть разбита на несколько ролей, включая облачного архитектора , инженера облачного программного обеспечения, инженера облачной безопасности, инженера облачных систем и инженера облачной сети. Каждая позиция фокусируется на конкретном типе облачных вычислений, а не на технологии в целом. Компании, которые нанимают облачных инженеров, часто стремятся развернуть облачные сервисы или усовершенствовать свое понимание облачных технологий и технологий.
Облачные инженеры должны быть знакомы с языками программирования, включая Java , Python и Ruby . Многие компании, желающие нанять облачных инженеров, ищут опыт работы с OpenStack , Linux , Amazon Web Services , Rackspace, вычислительным движком Google , Microsoft Azure и Docker . Опыт работы с API , оркестровкой, автоматизацией, DevOps и базами данных, такими как NoSQL , также важен.
Облачный инженер должен иметь степень бакалавра наук в области компьютерных наук, инженерии и других смежных областях, но некоторые компании предпочитают степень магистра наук. Могут потребоваться дополнительные сертификаты.
Средняя заработная плата такого специалиста, составляет $120 000 (США) в год.
Описание работы облачного инженера
Узнайте, что вам нужно включить в свой описание работы облачного инженера.
Шаблон описания работы облачного инженера/краткий шаблон
Мы ищем облачного инженера с опытом работы в стратегии, проектировании, разработке и выполнении крупномасштабных облачных проектов. Идеальный кандидат имеет предыдущий опыт с облачными технологиями, четким пониманием новых технологий, платформ и приложений, а также способность адаптировать их, чтобы помочь нашей компании стать более безопасной и эффективной.
Обширное понимание технического обслуживания облаков, опыта управления персоналом и сложных отраслевых знаний имеет решающее значение для того, чтобы оставаться впереди конкуренции. Вы окажете непосредственное влияние на повседневную эффективность наших ИТ-операций и постоянное влияние на наш общий рост с первого дня.
Профиль работы облачного инженера
Облачный инженер — это ИТ -профессионал, который создает и управляет облачной инфраструктурой. Облачные инженеры могут специализироваться на таких задачах, как облачное архитирование (создание облачных решений для предприятий), разработка (облачное кодирование) и администрирование (работа с облачными сетями).
Отчеты
- старший облачный инженер
Обязанности облачного инженера
- Создать и реализовать облачные приложения
- Определить и использовать соответствующие облачные сервисы для включения облачных приложений
- мигрировать локальные приложения организации в облако
- Продолжайте использовать облачные сервисы и принимать меры по сокращению расходов
- Определите соответствующие облачные архитектурные методы для поддержки приложений
- Применить свои навыки программирования для создания кода для приложений без сервера
- Автоматизируйте несколько этапов процесса разработки
- Знание жизненного цикла приложения и использования API
- Определите возможные узкие места производительности в приложениях
- Разработать стратегию восстановления для учета любых условий простоя или неудачи
- Поддерживать целостность данных с эффективным контролем доступа для облачных сервисов
- Связанные с сетью задачи, такие как DNS и брандмауэры
Требования и навыки облачного инженера
- степень бакалавра в области компьютерных наук или сопоставимого предмета
- Знание операционной системы Linux/Unix
- Тщательное понимание одной из облачных платформ, таких как AWS, Azure или GCP
- Сплошные навыки программирования на одном из следующих языков программирования: Python, Java, Go, R или Clojure
- Понять подход DevOps и такие инструменты, как Puppet, Chef, Git, Docker и другие
- Знание и опыт работы с пятью столпами хорошо архивированной структуры
- Знание в дизайне базы данных, ETL, бизнес -аналитике, больших данных, машинного обучения и передовой аналитики
- Продемонстрированная способность работать с междисциплинарными командами бизнес -аналитиков, разработчиков, ученых данных и экспертов по предметам
- Понимание веб -сервисов, API, отдыха и RPC
Что такое облачные вычисления?
Под облачными вычислениями понимается доставка ИТ‑ресурсов по требованию через Интернет с оплатой по факту использования. Покупать, размещать и обслуживать физические ЦОД и серверы не требуется. Вместо этого вы получаете доступ к технологическим сервисам: вычислительным сервисам, хранилищам и базам данных, которыми можно пользоваться по мере необходимости благодаря поставщику облачных услуг, такому как Amazon Web Services (AWS).
Гибкость
С облаком вы просто получаете доступ к множеству технологических возможностей, что позволяет быстрее внедрять инновации и реализовывать практически любые идеи. Можно быстро выполнить развертывание необходимых ресурсов для самых разных областей использования, от сервисов инфраструктуры (например, вычислительных сервисов, сервисов хранилищ и баз данных) до Интернета вещей (IoT), машинного обучения, озер данных, систем анализа и т. д.
Развертывание технологических сервисов происходит за считаные минуты, и переход от идеи к ее воплощению теперь занимает гораздо меньше времени. Можно больше экспериментировать, смелее пробовать новые идеи для повышения качества обслуживания клиентов, а также увереннее трансформировать собственный бизнес.
Гибкость
С облаком вы просто получаете доступ к множеству технологических возможностей, что позволяет быстрее внедрять инновации и реализовывать практически любые идеи. Можно быстро выполнить развертывание необходимых ресурсов для самых разных областей использования, от сервисов инфраструктуры (например, вычислительных сервисов, сервисов хранилищ и баз данных) до Интернета вещей (IoT), машинного обучения, озер данных, систем анализа и т. д.
Развертывание технологических сервисов происходит за считаные минуты, и переход от идеи к ее воплощению теперь занимает гораздо меньше времени. Можно больше экспериментировать, смелее пробовать новые идеи для повышения качества обслуживания клиентов, а также увереннее трансформировать собственный бизнес.