Два года полета в облаках компании Atlassian: миграция в AWS

09.04.2018

Пару лет назад Dropbox удивила многих людей, когда она решила в какой-то мере оставить свои облачные приложения, и переключилась на строительство своего собственного дата-центра. Недавно австралийская компания Atlassian (NASDAQ: TEAM) сделала обратное – закрыла свой дата-центр и переместила свои приложения в облачный сервис. Эти компании сделали свой выбор по разным причинам. Перед тем как технический директор Шри Висванэт компании Atlassian вступил в должность, она приняла решение о перемещении самого большого своего приложения в безопасную платформу облачных сервисов Amazon WebServices (AWS).

В какой-то мере это техническая сторона вопроса.Со временем приложения компании разработчика программных продуктов обременяются слоями застарелого программного кода, что затрудняет его доработку и даже поддержку. Для Atlassian, которая была основана в 2002 году, этот момент наступил в 2016-ом, когда Висванэт пришел в компанию.

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

Немного о главном продукте компании

Самое большое приложение компании, с которого началась переработка кода и его перемещение в облачные службы, это Confluence. Другим большим приложением является JIRA – система отслеживания ошибок. Остановимся на Confluence потому, что именно это приложение раскрывает суть деятельности компании.

Atlassian Confluence это приложение весьма широкого круга применения, которое можно внедрять в компании с различной сферой деятельности. Оно предоставляет команде (группе, отделу, или компании в целом) заказчика единое место для хранения и поиска информации (контента), обмена и совместной работы внутри проекта. В качестве контента могут выступать обсуждение идей, постановка задач, отчёты о проделанной работе по проектам, публикация и обмен документами и просто справочные данные.

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

Confluence имеет плотную интеграцию с MicrosoftOffice и другими продуктами компании Atlassian, что делает этот инструмент эффективным с точки зрения централизации рабочего процесса в одном сервисе.

Основные возможности Confluence:

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

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

Переход на микросервисы

Висванэт пришел в компанию сразу после ее дебюта на фондовой бирже NASDAQ. В своем IPO, которое состоялось в декабре 2015 года, компания привлекла $462 млн. В результате такого вливания капитала небольшая компания получила весьма существенный стимул к росту и на настоящий момент времени выросла до более чем 2,3 тысячи сотрудников.

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

Большая часть 2016 года была потрачена на переработку старого кода и его перемещения в облачную службу AWS. Старый код 15-летней давности был переработан в микросервисы, которые в конечном счете содержали меньший код. При переработке кода компания исходила из того, чтобы переделать всё что возможно, но не изобретать колесо заново.

«Объем программного кода был достаточно велик. Мы разбирались с ним и делали два дела. Мы хотели построить его в многопользовательской архитектуре и хотели создать микросервисы», сказал Висванэт. «Если это был микросервис и его можно было выделить отдельно и сделать самостоятельным, мы это делали, но мы также создавали новые сервисы, как части всего процесса

Миграция заказчиков в облачную платформу

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

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

«Мы внимательно относились к порядку миграции. Мы не хотели, чтобы это делалось в начале самым простым путем, а в конце самым трудным. Мы не хотели, чтобы процесс останавливался на более трудном этапе. Мы сочетали [наши подходы] для фиксации ошибок и проблемных моментов проекта.», сказал он.

Висванэт настаивал на том, что главная цель состоит в том, чтобы переместить заказчиков без больших инцидентов. «Если вы говорите кому-то, кто осуществляет миграцию, что это большое дело, он будет иметь препятствие на пути миграции. Мы сознательно делали это очень внимательно.»  Как это не удивительно, сотрудники компании управляли всем процессом решения задачи без больших перебоев в работе. Это то, чем команда, работающая над миграцией, может гордиться по праву. Однако это не означает, что всё было гладко и легко.

«Это звучит супер просто: «Мы были внимательны, и мы мигрировали» но это была каждодневная борьба. Когда вы осуществляете миграцию вы упираетесь в стену и отступаете назад. Это то, что было для нас весь год», — объяснял он.

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

Что они получили

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

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

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

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

Управление людьми

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

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

«Мы поддерживали открытое взаимодействие даже тогда, когда дела не шли хорошо. Люди должные повышать квалификацию, если они не могут ее сохранить, и мы оказываем им помощь», — сказал он.

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

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

В конце концов было проделано много работы, но всё работает достаточно хорошо и теперь компания имеет перспективу на будущее.

«Теперь мы утвердились на следующие 10 лет», — сказал Висванэт.

Мы в Telegram.