Микросервисы и большие данные начинают сближаться
Микросервисы испытывают волну интереса пользователей, что приводит к изменениям в ИТ-операциях. Эксперт ThoughtWorks Жамак Дегани обсуждает, что это означает для больших данных.
Разработка баз данных и управление ими кардинально меняются, поскольку микросервисы все шире используются на предприятии.
Так считает Жамак Дегани, главный консультант ThoughtWorks, международной консалтинговой компании, расположенной в Чикаго и специализирующейся на гибких методах, распределенных системах и внедрении программного обеспечения с открытым исходным кодом. Фирма активно объединяет микросервисы и большие данные.
Микросервисы имеют некоторое сходство с когда-то широко распространенной отраслевой тенденцией, называемой SOA, или сервис-ориентированной архитектурой. Оба извлекают выгоду из общего отхода от монолитной компьютерной архитектуры.
Ожидается, что микросервисы в ближайшее время продолжат нашествие. К 2022 году, по данным аналитической компании IDC, 90% всех приложений будут включать микросервисные архитектуры.
Переход на микросервисы - и тесно связанные Kubernetes и программные контейнеры - был назван одним из факторов в планах IBM по приобретению Red Hat и слиянию поставщиков Hadoop Cloudera и Hortonworks.
Волна микросервисов сопровождается DevOps, облачными вычислениями, проектированием на основе доменов и базами данных NoSQL. Все эти технологии и практики находят особую пользу, поскольку организации стараются быстрее внедрять новые приложения в производство и часто обновлять их, как только они появляются.
Дегани, которая в течение 20 лет работала инженером-программистом и архитектором в области распределенных вычислений, встраиваемых систем и коммуникаций, сосредоточила внимание на ThoughtWorks на применении концепций проектирования на основе доменов в операционных системах.
По словам Дегани, используя доменное проектирование и микросервисы, разработчики сначала решают проблемы бизнеса, а затем применяют подходящие технологии для создания или улучшения приложений. Это вместо того, чтобы делать наоборот, основывая свою работу на технологиях.
Такие методы стимулировали более широкое использование баз данных NoSQL, которые были особенно пригодны для конкретных целей, по сравнению с более общими реляционными базами данных. ThoughtWorks была одной из организаций, помогающих стимулировать рост NoSQL и, соответственно, рост интереса к глобально развернутым базам данных SQL с малой задержкой.
Дегани вносит свой вклад в технологический радар ThoughtWorks, технологическую карту показателей, которая была моделью для пользователей, оценивающих варианты программного обеспечения с открытым исходным кодом для микросервисов.
От монолитов к микросервисам
Дегани утверждает, что микросервисы переносят ответственность за базы данных с центральной ИТ на разработчиков, которые работают как часть бизнеса.
«Компании раньше ставили разработчиков на один уровень, а пользователей - на другой. Теперь, когда вы видите переход от монолитов к микросервисам, вы видите изменение в том, как мы организуем ИТ», - сказала она. «Раньше случалось, что оперативные данные принадлежали администраторам баз данных или экспертам по базам данных, которые интегрировали все приложения в один слой базы данных».
Это привело к слишком знакомому сценарию, в котором «каждый раз, когда вы хотели внести изменения, вы должны были обращаться к отдельной команде», по словам Дегани. Когда разработчикам или бизнес-пользователям удавалось связываться со стюардами данных, они часто занимали место после длительного отставания таких запросов.
«С помощью микросервисов мы изменили модель, чтобы люди, которым принадлежит приложение или служба, также отвечали за базу данных, сами данные и схему, в которой они находятся», - сказала она.
Микросервисы и большие данные принимают форму
Между тем налаживается более тесная связь между микросервисами и большими данными.
Дегани обрисовала необходимость того, что она назвала децентрализацией архитектуры больших данных, в публикации в широко читаемом технологическом блоге коллеги из Thoughtworks Мартина Фаулера. Там она написала, что большие данные для машинного обучения и других аналитических целей «остаются централизованными и не связаны с бизнес-сферами».
По словам Дегани, озера данных, на некоторое время являющиеся отличительной чертой усилий, связанных с большими данными, становятся хранилищами данных - и появляется подход с распределенной сеткой данных, который больше соответствует мышлению микросервисов.
«То, как мы отказались от оперативных возможностей в отношении доменов, также касается больших данных», - сказала она. Тем не менее, микросервисы не найдут более широкого применения в управлении данными без дальнейшего обучения.
По словам Дегани, в эту работу должны быть также вовлечены команды по инфраструктуре и облачные провайдеры, потому что не каждой команде разработчиков приложений полезно поддерживать инфраструктуру для своих приложений.
Кроме того, она предупредила, что пути организации должны будут варьироваться в зависимости от доступных навыков.
«Уважать зрелость организации очень важно. Я вижу множество людей, которые хотят запускать микросервисы в облаке в одночасье. Но это изменение само по себе. Множество наблюдаемых сбоев связаны с тем, что они не признают это - не имеют постепенного подхода», сказала Дегани.