Перейти к содержимому

Cloud engineer что это

  • автор:

Кто такой Cloud engineer?

В чем его отличие от devops engineer и в чем сходство?

Cloud engineer — это специалист, который занимается разработкой, настройкой и поддержкой инфраструктуры в облачных средах. Он занимается созданием и настройкой различных сервисов, таких как виртуальные машины, базы данных, контейнеры и т.д., а также обеспечивает их безопасность и масштабируемость.

Облачные решения предоставляют компаниям возможность использовать вычислительные ресурсы, хранилища данных, программное обеспечение и другие IT-ресурсы через интернет. Это позволяет компаниям экономить на инфраструктурных затратах и увеличивать гибкость в работе с данными.

Cloud engineer нужен для того, чтобы обеспечить эффективное использование облачных ресурсов. Он должен знать особенности различных облачных решений (например, Amazon Web Services, Microsoft Azure, Google Cloud Platform, Yandex Cloud), чтобы помочь компании выбрать подходящее решение для ее задач. Он должен также знать, как настраивать и управлять облачной инфраструктурой, чтобы обеспечить ее безопасность, масштабируемость и эффективность.

Разнообразие облачных решений предоставляет множество возможностей и выборов для компаний, но также может быть источником сложностей и проблем. Cloud engineer, который знаком со многими облачными платформами, может помочь компании выбрать наиболее подходящее решение для ее потребностей. Кроме того, cloud engineer может помочь компании перенести ее данные и приложения в облако, а также обеспечить их безопасность и масштабируемость в облачной среде.

Чем отличается от DevOps инженера?

DevOps engineer — это специалист, который занимается автоматизацией процессов разработки, тестирования, доставки и развертывания программного обеспечения. Он занимается настройкой инструментов непрерывной интеграции и доставки, а также автоматизацией конфигурации и управления инфраструктурой.

Отличие между cloud engineer и devops engineer заключается в том, что первый фокусируется на инфраструктуре облачных сред, а второй на автоматизации процессов разработки и доставки ПО. Однако, в современных условиях многие задачи и обязанности этих специалистов могут пересекаться и объединяться, поэтому границы между ними могут быть размытыми.

Чем занимается инженер облачных сервисов

Приоткрываем завесу тайны над тем, кто такой на самом деле инженер облачных сервисов, за что он отвечает и какие у него перспективы.

Владимир Зайцев
директор по клиентскому сервису 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’а, архитектора или руководителя.

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

Чем занимается облачный разработчик и как им стать

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

Михаил Бараблин
директор практики облачных решений AT Consulting

Рынок облачных решений ежегодно растёт, а вместе с ним растёт и спрос на облачных специалистов, которые специализируются на построении и обслуживании виртуальной инфраструктуры. Я работаю с облачными технологиями уже 11 лет и все эти годы даже в среде разработчиков (особенно среди джунов) сталкиваюсь со стереотипом – «ой, да что там делать, развернул и пошёл». В реальности всё намного сложнее и увлекательнее. В этой статье я расскажу, чем на самом деле занимаются облачные айтишники и какие навыки им требуются.

Как все думают, что это устроено

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

Вот наиболее часто встречающиеся ложные утверждения про облака: они волшебно надёжные, работают всегда и сами по себе; не требуют больших затрат; можно поменять облачного провайдера в любой момент; о безопасности можно не думать – надо только применять шифрование при доступе к облачному сервису.

Как на самом деле это устроено

Мир облаков чрезвычайно богат разнообразными технологическими инструментами: контейнеры, средства автоматизации инфраструктуры, распределённые хранилища и базы данных, виртуальные сети и файерволы и многое другое. Участнику облачного проекта недостаточно знаний только одного или двух языков программирования или одного средства тестирования: от инженеров здесь ждут более широкого кругозора. При этом все современные продукты очень быстро обновляются, новые фичи появляются каждый месяц, каждые полгода выходят большие релизы. За этой гонкой нужно внимательно следить, чтобы эффективно использовать инструменты в работе и строить оптимальные архитектуры.

Ниже краткое описание того, что на самом деле происходит в облачном мире.

Надёжность

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

Масштабируемость

Облака предоставляют много возможностей для работы с большой нагрузкой, но все эти инструменты надо уметь применять. И более того, приложения нужно создавать так, чтобы эти инструменты работали.

Затраты

Облачные проекты – это всегда про расчёт и оптимизацию затрат. Вообще, вопрос расчёта затрат на инфраструктуру и другие сервисы на облачном рынке гораздо менее прозрачный, чем в обычных проектах. За каждый использованный сервис придётся платить. Виртуальные машины, дисковые операции, трафик, операции записи в базах данных, контейнеры – все это ресурсы, которые будут стоить денег, а под нагрузкой – больших денег. Поэтому всем участникам надо на ранних стадиях проекта думать о том, как сократить расходы. Если раньше это делалось при покупке сервера и в меньшей степени зависело от разработчиков и других участников проекта, то теперь об этом приходится задумываться каждому.

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

Провайдеры

Сейчас облачные провайдеры предоставляют широкий спектр чрезвычайно удобных инструментов. В качестве примера часто приводят AWS: даже просто прочитать список сервисов этого провайдера – уже долгое дело. Российские провайдеры тоже быстро наращивают перечни услуг. Конечно, при создании приложения удобно использовать такие гибкие инструменты, но со временем возникает риск того, что приложение нужно будет перенести на мощности другого провайдера или развернуть на собственной инфраструктуре. Это может стать большой или даже не решаемой в разумные сроки проблемой. Даже похожие сервисы у разных провайдеров реализованы по-разному, не говоря уже об отличиях в перечне услуг. При проектировании приходится соблюдать баланс и в этом разрезе – как использовать сервисы так, чтобы не оказаться зависимым от провайдера, но при этом максимизировать выгоду от облачной архитектуры.

Безопасность

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

Надо отметить, что в любом (даже простом) облачном проекте используются десятки разных инструментов, программных продуктов и облачных сервисов. На плечи инженеров контроля качества и специалистов по безопасности ложится большая работа по отслеживанию возможных ошибок, ведущих к угрозе проникновения или утечки данных. Им нужно понимать основы подходов к разработке, которые помогают уменьшить риски в области безопасности, например, DevSecOps.

Состав команды на проекте

Основное изменение в структуре команды – это появление Cloud DevOps Engineer. Он отвечает за настройку инфраструктуры для нормального функционирования программного обеспечения, оценивает среды развёртывания приложений заказчика.

Чем занимается DevOps-инженер

В таких проектах мы работаем с Kubernetes, Ansible, Terraform, поэтому часто требуется помощь высококвалифицированных администраторов, которые будут глубоко погружены в процесс разработки. Иногда такие спецы, познавшие тайны администрирования, берут на себя часть функций DevOps. В остальном структура вполне классическая: руководитель проекта, архитектор, аналитики, разработчики, тестировщики.

Если в проекте используется стороннее облачное решение, то состав команды дополняется специалистом по конкретному облачному продукту, например VMware, или даже командой со стороны провайдера. В таком случае работа технически становится проще (не нужно ничего изобретать, используем готовый продукт), но усложняется реализация – решение накладывает ограничения на то, как его можно использовать.

Что нужно знать, чтобы стать облачным разработчиком?

Так или иначе, большая часть разработки связана с предоставлением сервисов через облако – это можно назвать мейнстримом разработки. До облачной «лихорадки» IT-проект выглядел так: написали программу, купили сервер или несколько, установили программу на сервер, подключили интернет и работаем, всё что дальше – эксплуатация. Такие классические проекты постепенно становятся редкостью либо относятся к специализированным областям из разряда программирования микроконтроллеров или САПР.

Если вы облачный разработчик, то вот с чем, скорее всего, вам придётся столкнуться в работе:

  • вы пишете веб-приложение, руководствуясь концепцией наподобие 12 factor app;
  • вы разрабатываете микросервисы, то есть весь ваш проект разделён на небольшие приложения, работающие параллельно и запускаемые в любом количестве;
  • ваш микросервис может запускаться множество раз параллельно, и вызовы функций выполняются в любой последовательности;
  • вы должны сделать всё, чтобы ваше приложение было максимально stateless;
  • информация, приходящая в ваше приложение, может быть неполной, пришедшей не вовремя или вообще сфабрикованной злоумышленником;
  • информация между сервисами может не дойти до адресата;
  • вы взаимодействуете с множеством сервисов по различным API, часто сервисы вам не отвечают или недоступны;
  • часто используются очереди сообщений и другие виды асинхронного взаимодействия, в общем случае все задачи в смежных сервисах выполнятся когда-то во времени, а не прямо сейчас.

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

  • умение работать с API;
  • навыки системного администрирования, понимание концепций CI/CD;
  • умение работать с контейнерами;
  • понимание микросервисной архитектуры;
  • знание паттернов разработки для отложенной обработки задач.

Сейчас есть бесконечное множество способов получить знания: даже беглый поиск по запросу «книги/курсы + облачные системы/масштабирование систем/DevOps, DevSecOps» даст тысячи результатов. Из книг могу выделить Ивана Портянкина «Программирование Cloud Native. Микросервисы, Docker и Kubernetes» – отлично подойдёт начинающим. Затем можно продолжить книгой Ли Атчисона «Масштабирование приложений. Выращивание сложных систем» – это уже более основательное произведение.

Не забывайте про Coursera, я рекомендую три курса: Continuous Delivery & DevOps (The University of Virginia), Cloud Computing Concepts, Part 1 (The University of Illinois at Urbana-Champaign), Cloud Computing Security (The University of Colorado).

Для тренировки вы можете просто взять облако любого из провайдеров (лучше российского, так как это более актуально для нашего рынка) – «Яндекс.Облако», Mail.Ru Cloud Solutions, Selectel, «Ростелеком» – и с помощью его инструментов попробовать развернуть небольшой сайт, взяв за основу какую-либо CMS. Задачка со звёздочкой: написать набор скриптов, которые будут заказывать виртуальные машины и разворачивать сайт автоматически в выбранном облаке. Такое упражнение даст много очков на любом собеседовании.

Какие навыки программиста никогда не устареют и будут всегда востребованы — отвечают эксперты

Чему можно научиться на облачных проектах?

Выделю два набора компетенций, которые круто прокачиваются в облаках: автоматизация и системное администрирование, а также умение использовать ограниченную, простую функциональность облачных сервисов для решения сложных IT-задач.

Работа с облачными технологиями неизбежно приведёт вас к росту экспертизы в автоматизации, CI/CD (непрерывная интеграция и доставка), к росту знаний конкретных облачных продуктов, в части решения интеграционных задач.

Обычно новички приходят на какую-то из этих должностей – разработчик, системный администратор, тестировщик – и начинают изучать одну из областей ремесла. Чем быстрее человек расширяет кругозор в смежных областях, тем быстрее идёт профессиональный рост. Например, разработчик Java может начать с доработки некоторых функций в конкретно выбранных местах исходного кода проекта. Постепенно разработчик учится работать с базами данных, реализовывать API, запускать Java-приложения в контейнерах и на серверах, создавать автотесты, автоматизировать развёртывание в Jenkins или Gitlab CI и т. д. Постепенно можно стать старшим разработчиком и впоследствии архитектором.

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

Где работать – у вендора или интегратора?

Облачные разработчики, как и любые другие, по разные стороны отвечают за разные аспекты одного и того же.

Разработчик на стороне вендора решает задачи по развитию продукта: ищет способы оптимизировать алгоритмы и сделать его лучше от версии к версии. Часто для этого нужны узкоспециализированные знания, понимание архитектуры ПО конкретной компании. Другими словами, рост на стороне вендора обычно идёт в сторону узкой специализации и часто медленнее, чем на стороне интегратора. Но и темп работы обычно более спокойный.

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

Открываем факультет Cloud Data Engineer в GeekBrains

Сейчас очень востребованы специалисты, умеющие работать с данными и создавать системы, способные эти данные обрабатывать и использовать. Но особенно востребованы те, кто умеет делать это в «облаках» — виртуальных серверах с удалённым доступом.

Обычная (не облачная) инфраструктура для бизнеса — это стойки с серверами, системные администраторы, проблемы с недостатком памяти, безопасности и частыми закупками комплектующих. Чтобы сэкономить, многие компании переходят на облачную инфраструктуру, приобретая готовые облачные серверы и сервисы с обслуживанием у провайдера. Работоспособность такого решения становится головной болью провайдера.

За последние 10 лет множество компаний совершенно разного масштаба уже организовали свои бизнес-процессы и работу с данными с помощью облачных решений. Это серьёзный тренд, рост и темпы которого будут такими же насыщенными и следующие 10 лет.

Интересно, что пандемия коронавируса привела к тому, что в 2020 г. мировые траты на информационные технологии сократились на 8%, но облака являются единственным исключением среди всех сегментов IT. В 2020 году глобальный рынок внедрения облачных технологий превысил в общей сложности $330 млрд. Джон-Дэвид Лавлок, вице-президент по исследованиям Gartner, сообщил, что в 2020 г. траты на облака достигли уровня, который рассчитывали увидеть только в 2023 и 2024 годах. Согласно Cloud Tech, ожидается, что расходы на публичные облака к 2023 году вырастут до $500 млрд.

Кто такой Cloud Data Engineer и что он делает

Главная задача Cloud Data Engineer — используя облачную инфраструктуру и сервисы, помогать бизнесу строить продукт, который обеспечивает принятие управленческих решений на основе фактических данных — это называется Data Driven Decisions Making, DDDM.

Объясняем DDDM на примере Walmart

Walmart — крупнейший мировой ритейлер с более чем 20 000 магазинов в 28 странах. Компания находится в процессе создания крупнейшего в мире частного облака, настолько мощного, чтобы стала возможной обработка 2,5 петабайта данных каждый час. Чтобы разобраться во всей этой информации, Walmart создал то, что он называет своим Data Café — по сути это ультрасовременный аналитический центр.

Data Café позволяет быстро моделировать, обрабатывать и визуализировать огромные объёмы внутренних и внешних данных. Навин Педдамейл, старший статистический аналитик, объяснил важность и ценность Data Café так: «Если вы не можете получить информацию, пока не проанализируете свои продажи за неделю или месяц, значит, вы просто теряете продажи за это время».

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

Data Café также предоставляет автоматические оповещения. Когда определённые показатели опускаются ниже установленного порога в любом отделе, соответствующая команда получает оповещение, чтобы быстро найти решение. Например, во время Хэллоуина аналитики продаж смогли увидеть в режиме реального времени, что конкретная новинка в одной линейке печенья была очень популярна в большинстве магазинов и совсем не продавалась в двух точках. Оповещение побудило к быстрому расследованию, которое показало, что из-за ошибки в проверке товаров на складе печенье не было разложено на полках. После этого магазин смог немедленно исправить ситуацию.

Cloud Data Engineer является пользователем такой системы. Он не строит их, как можно подумать,, а использует для обработки данных, извлечения business value. В примере с Walmart инженеры помогли выстроить все процессы преобразования данных и организовать сложные пайплайны, обеспечивающие принятие решений на основе данных.

Чем Cloud Data Engineer отличается от Data Engineer

Cloud Data Engineer умеет делать всё, что делает Data Engineer — отвечает за извлечение, преобразование, загрузку данных и их обработку. Но делает это с помощью облачных сервисов. Умеет доставлять данные в облако, объединять облачные и on-premise решения. Также Cloud Data Engineer строит масштабируемые, отказоустойчивые, эффективные решения по обработке данных с использованием сервисов облака — S3, Kubernetes, DBaaS, Hadoop, Monitoring-aaS — понимая при этом сильные стороны облачных решений.

Когда для бизнеса приоритетна скорость разработки нового продукта, гибкость и масштабируемость, процессы по работе с данными переносятся в облако. Cloud Data Engineer — это тот, кто помогает решить возникающие вопросы. Такой специалист строит платформы по работе с данными, а также озёра данных и хранилища в облаке.

Про авторов программы факультета

Программа факультета Cloud Data Engineer разработана Александром Волынским — архитектором облачной платформы Mail.ru Cloud Solutions. Александр и его коллеги знают основные боли и потребности рынка, поэтому в программе учтены все актуальные инструменты и решения, освоение которых поможет вам стать востребованным специалистом.

Кому подойдёт обучение, сколько продлится и какие возможности откроет студентам

Программа подойдёт специалистам с опытом — бигдата-аналитикам, аналитикам и инженерам данных, дата-сайентистам, девопс-специалистам и системным администраторам. Для комфортного обучения будет необходим опыт работы со следующими инструментами:

  • SQL: основы БД, схемы хранения данных, технологии трансфера данных (ETL), индексы, первичные ключи
  • Python: работа с Pandas, Numpy, забор данных из БД и загрузка в БД
  • Linux: командная строка, установка пакетов и технологий (Python, Java), виртуальные машины.

Будет плюсом знание:

  • MapReduce, Hive, Spark
  • Scala
  • основ архитектуры DWH
  • NoSQL
  • матриц доступов и сетевой инфраструктуры

Продолжительность обучения на факультете — 10-11 месяцев. После него студенты смогут работать в любом облачном сервисе с задачами аналитики, разработки баз данных и машинного обучения. Научатся самостоятельно выбирать и настраивать необходимые сервисы в облачных платформах для решения поставленных бизнесом задач. Также выпускники факультета смогут использовать современные решения по управлению качеством данных, метаданными, выводу моделей машинного обучения в продуктивное использование с использованием Kubernetes.

Во время обучения у студентов будет много практики с Mail.ru Cloud, а также другими инструментами:

  • Kubernetes — открытое программное обеспечение для автоматизации развёртывания, масштабирования контейнеризированных приложений и управления ими.
  • Kubeflow — платформа машинного обучения с открытым исходным кодом, предназначенная для использования конвейеров машинного обучения для организации сложных рабочих процессов, выполняемых в Kubernetes.
  • ClickHouse — это колоночная аналитическая СУБД с открытым кодом, позволяющая выполнять аналитические запросы в режиме реального времени на структурированных больших данных.
  • Hadoop — основополагающая технология хранения и обработки больших данных, это свободно распространяемый набор утилит, библиотек и фреймворк для разработки и выполнения распределенных программ, работающих на кластерах из сотен и тысяч узлов.
  • Spark — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабо структурированных данных, входящий в экосистему проектов Hadoop.
  • NiFi — инструмент, предназначенный для автоматизации обработки потока данных между программными системами.
  • Airflow — инструмент для удобной разработки и поддержки batch-процессов обработки данных.
  • Kafka — распределённый программный брокер сообщений поддерживающий транзакционность при работе с потребителями и поставщиками событий.

А также мы не забудем про JupyterHub, Greenplum, MLflow, Amundsen, Linux, Docker и, Git.

С расширенными знаниями студенты смогут претендовать на новые для себя должности — Cloud Data Engineer, Data Engineer или ETL-разработчик. Только на HH.ru есть 2100 актуальных вакансий в России.

Зарплата джуниор-специалистов варьируется от 100 до 150 тыс рублей, мидлов — от 150 до 250 тыс рублей, а синьоры получают от 250 до 400-500 тыс рублей, в зависимости от экспертности, компании и уровня менеджерской нагрузки специалиста.

Узнать больше о факультете, преподавателях и условиях обучения можно на его странице.

Также рекомендуем к прочтению три интересные статьи IT-журнала «Завтра облачно» от Mail.Ru Cloud Solutions:

  • Что такое облачные серверы: почему они надёжнее и выгоднее обычного железа
  • Что такое частные, публичные и гибридные облака: в чём разница и куда перенести сервисы компании
  • Почему без облаков невозможно устойчивое развитие бизнеса: 5 веских причин использовать облачные сервисы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *