Преимущества компонуемой архитектуры разнообразны. Это зависит от того, с кем вы разговариваете. Разработчик может сказать одно, а маркетолог наверняка скажет другое. И это нормально. На самом деле, это хорошая вещь. Компонуемые архитектуры удовлетворяют множество различных потребностей бизнеса и решают множество бизнес-задач — и все это с ожиданием, что результатом станет исключительный цифровой опыт.
- Каковы преимущества компонуемой архитектуры?
- Как компонуемая архитектура обеспечивает гибкость?
- Как компонуемая архитектура обеспечивает возможность выбора?
- Как компонуемая архитектура обеспечивает повышение эффективности?
- Как компонуемая архитектура становится более масштабируемой?
- Делегирование управления масштабированием поставщикам
- Обработка возросшего трафика
- Как компонуемая архитектура повышает производительность сайта?
- Опираясь на платформу развертывания
- Предварительный рендеринг контента
- Рост РСБ в компонуемых
- Использование поставщика цифровых активов
- Как компонуемая архитектура становится более безопасной и менее рискованной?
- Как компонуемая архитектура позволяет ускорить выход на рынок?
- Как компонуемая архитектура обеспечивает сотрудничество и автономию между командами?
- Выводы о подходе компонуемой архитектуры
Каковы преимущества компонуемой архитектуры?
Чтобы разобраться в этом, коллеги из Netify поговорили с известными экспертами в области компоновки и веб-разработки. Взгляды на особенности и возможности компонуемой архитектуры будут разными в зависимости от того, с кем именно вы будете говорить. Давайте погрузимся.
Тезисно об основных преимуществах компонуемой архитектуры для любого web-проекта:
- Гибкость,
- Опциональность,
- Эффективность,
- Масштабируемость,
- Производительность сайта,
- Безопасность и низкий риск,
- Ускоренный выход на рынок,
- Межкомандное сотрудничество и автономия.
Как компонуемая архитектура обеспечивает гибкость?
Все сводится к следующему: компонуемые архитектуры гибки, поскольку позволяют выбирать лучшие инструменты для работы. Самый простой способ подумать об этом — сравнить, особенно с монолитной архитектурой. Некоторые утверждают, что при монолитной архитектуре у вас гораздо меньший набор инструментов для работы, а ваши ограничения являются прямым побочным продуктом индивидуальных особенностей этого инструмента. Другие утверждают обратное: у монолитов так много функций, потому что они пытаются сделать все, что делает их «мастерами ни в чём».
Тем не менее, если у вас нет подходящего набора функций для инструмента, с помощью компонуемой архитектуры вы можете просто инвестировать в новый инструмент, который решит эту конкретную проблему.
Ландшафт интерфейса очень сильно меняется. Если мы разобьем все на более мелкие части, когда нам понадобится адаптироваться, для всего есть API
— Билл Уотсон, архитектор программного обеспечения внешнего интерфейса, Navan
Помимо выбора правильного инструмента для работы, составные архитектуры достаточно гибки, чтобы идти в ногу с современными тенденциями и инновациями веб-разработки. Таким образом, даже по мере развития интерфейсных платформ или источников контента (подумайте обо всем, что происходит с генеративным ИИ прямо сейчас), вы сможете перейти на эти новейшие технологии без серьезных последствий.
Благодаря составным архитектурам у вас есть возможность создать архитектуру, которая будет уникальной для вас и вашего бизнеса.
Необходимы инновации. Рынок здоровья и хорошего самочувствия развивается очень быстро, поэтому мы всегда адаптируемся к новой науке… новым технологиям. Возможность пробовать что-то новое – быстро и относительно безопасно – очень важна
Райан МакКенна, штатный инженер, RVO Health
Как компонуемая архитектура обеспечивает возможность выбора?
При проектировании компонуемой архитектуры идея необязательности очень похожа на гибкость, но мы хотели бы отметить одну вещь: существует множество поставщиков. И это хорошо для тебя. Оценив каждую функцию или компонент, необходимые для решения бизнес-задач, вы сможете найти партнера, который поймет ваши потребности.
В целом, это просто огромное количество вариантов, которые у нас есть сейчас. Прежде чем [composable] стал популярным, людям приходилось обращаться к монолитному сервису, им нужно было найти кого-то, кто хорошо знал этот сервис, и тогда они там застревали. Возможность выбирать открыла перед людьми больше возможностей
— Адам Харрис, соучредитель Last Rev
Это может означать немного больше работы для вас в процессе оценки, но высококонкурентное пространство означает, что вы можете оценить индивидуальные потребности вашего бизнеса и построить экосистему, которая лучше всего подходит для вас.
Есть много способов объединить технологии. Наличие доступных вариантов, которые позволяют нам объединить технологические решения в единый комплексный стек маркетинговых технологий, — это то, что будет продвигать бизнес вперед и избавлять его от страха и сложностей, связанных с массовой миграцией полного стека
— Ханна Грэп, директор по маркетингу, Sitecore
Как компонуемая архитектура обеспечивает повышение эффективности?
Это непростая задача. Но мы часто наблюдаем, что организации, которые переходят на компонуемую архитектуру (по сравнению, например, с монолитной), будут использовать сервисы, которые превратили в товар низкоуровневую работу. Под этим мы подразумеваем, что в монолитной архитектуре организациям обычно требовалось, чтобы команды DevOps поддерживали работоспособность и актуальность всех своих систем.
Это большие накладные расходы и очень дорого. Но теперь вы можете за это заплатить.
Так что это значит? Это может означать, что меньше людей будут выполнять работу, но, что более важно, это означает, что ваши расходы могут пойти на решение более стратегических бизнес-задач, а не на «обогрев улицы».
Когда у разработчиков появляется больше времени для решения сложных проблем, это часто означает, что им нужно выпускать продукты чаще и быстрее. Благодаря компонуемой архитектуре вы можете поставлять более мелкие части и объединять их вместе для достижения большей эффективности.
Одна вещь, которая важна для нас, а также является огромным фактором повышения эффективности, — это среда предварительной версии. Мы можем создать что-то довольно быстро, реализовать прототип, сделать предварительный просмотр, а затем уверенно двигаться дальше
— Тим Петерсон, фронтенд-разработчик, ANWB
Как компонуемая архитектура становится более масштабируемой?
Это, пожалуй, наиболее явное упрощение решения текущих задач при переходе от монолитного приложения к составному. Каждая часть системы существует отдельно от остальных. Если необходимо масштабировать, это можно сделать независимо от остальной системы.
Делегирование управления масштабированием поставщикам
Во многих случаях вашим поставщикам услуг приходится беспокоиться о масштабе. Ваш провайдер CMS должен иметь возможность обрабатывать миллионы записей без ущерба для производительности API. Вы этого не знаете. Вам просто нужно убедиться, что вы можете получить доступ к контенту и передать его в свой код внешнего интерфейса.
Обработка возросшего трафика
Одним из краеугольных камней компонуемого шаблона является предоставление контента с периферии, в кэше и как можно ближе к пользователю. На периферии есть серверы (или глобальные точки присутствия), но если вы можете использовать платформу развертывания для их обработки, они будут легко масштабироваться по мере необходимости.
Другими словами, увеличение трафика в компонуемом мире не имеет и близкого эффекта, который он имел для монолитных приложений.
Как компонуемая архитектура повышает производительность сайта?
Вероятно, вы уже приложили значительные усилия, чтобы угодить другим бизнес-командам и сделать веб-сайт максимально быстрым для ваших пользователей. Большинство корпоративных монолитных систем используют комбинацию следующих стратегий для повышения скорости страницы:
- Кэширование на различных уровнях, включая доставку страниц через CDN,
- Балансировщики нагрузки для обработки пиков трафика,
- Индексы базы данных и другие оптимизации,
- Отделение внешнего слоя — уровня представления — от остальной части монолита.
Скорость страницы по-прежнему остается недостижимой целью для компонуемых сайтов, хотя некоторые части уравнения намного проще. Вот некоторые соображения, которые помогут повысить скорость страницы.
Опираясь на платформу развертывания
Возможно, самый большой сдвиг заключается в том, что многие организации предпочитают использовать платформу развертывания для решения многих сложных задач внутренней оптимизации. Если вы можете выгрузить контент в автономную CMS и использовать платформу развертывания для обслуживания вашего контента через CDN, вы избавитесь от необходимости управлять внутренней оптимизацией.
Предварительный рендеринг контента
Чтобы еще больше повысить производительность, если вы можете создать контент с высоким трафиком на этапе сборки, вы удалите соединения с базой данных и минимизируете количество необходимых запросов при обслуживании страницы. Это значительно ускорит работу сайта.
Рост РСБ в компонуемых
Рендеринг контента с сервера снова набирает популярность, даже в компонуемых системах. Однако когда вы опираетесь на платформу развертывания для доставки этого контента, это означает, что вычисления происходят на периферии, как можно географически ближе к запросу.
Использование поставщика цифровых активов
Если оптимизация ресурсов не является основной функцией выбранной вами автономной CMS, стоит поискать поставщика ресурсов, если вы еще этого не сделали.
Такие сервисы, как Cloudinary, созданы для масштабирования и могут выполнять оптимизацию изображений на лету, чтобы вы визуализировали изображение минимально возможного размера. А если вы объедините это с современными практиками отложенной загрузки, медиа не будет замедлять вашу страницу.
Как компонуемая архитектура становится более безопасной и менее рискованной?
Безопасность является проблемой для любой крупной организации. Монолитные приложения особенно подвержены атакам на систему безопасности, поскольку одна атака может вывести из строя всю систему. Однако в случае компонуемых систем существует больше возможностей для атаки, но выход из строя одного из этих сервисов, скорее всего, не приведет к выходу из строя всей системы.
Существует идея лучшего способа, чем подход «все в одном» — монолит. Или заняться всем сразу. Многие инженеры называют это разделением ответственности
— Эрик Файги Мартинес, управляющий директор по стратегии, VShift
Дело в том, что в составной системе вы, по сути, абстрагируете доступ к базе данных. Тогда как в монолитной системе это обычно происходит напрямую.
А когда вы покупаете больше, чем строите, вы можете делегировать часть ответственности за безопасность сторонним поставщикам. При правильной проверке это может повысить вашу общую уверенность в безопасности вашей системы.
Как компонуемая архитектура позволяет ускорить выход на рынок?
Ускорение вывода продукта на рынок сложно оценить количественно, но оно сводится к сочетанию преимуществ, описанных выше.
Преимуществом компоновки является время выхода на рынок, которое связано с опытом разработчиков. Счастливый разработчик гораздо более продуктивен. Вы можете доставлять товары лучше, быстрее и безопаснее… потому что легко добиться скорости с помощью простого решения и простых требований. Настоящая задача — обеспечить быструю доставку функций корпоративного уровня
— Филиппо Конфорти, основатель Commerce Layer
Подумайте об этом так: когда вы можете создать стек технологий, который будет легко использовать разработчикам и который будет соответствовать задачам вашего бизнеса, решение проблем для вашего бизнеса станет намного проще.
Как компонуемая архитектура обеспечивает сотрудничество и автономию между командами?
Мы все слышали фразу «нужна деревня», и это как нельзя более верно, когда речь идет о предоставлении исключительного цифрового опыта. Но это не всегда легко, особенно когда разные заинтересованные стороны имеют разные потребности.
Нам необходимо объединить различные инструменты, чтобы не только создать эффективный цифровой опыт, но и удовлетворить потребности всех заинтересованных сторон — не только разработчика, но и маркетолога или нетехнического человека. Создание сложных цифровых впечатлений было невозможно с помощью технологий последнего поколения
— Висенте де Бака, вице-президент по стратегическому и корпоративному развитию, Contentful
Благодаря компонуемым архитектурам у вас есть возможность выбирать инструменты, которые лучше всего подходят для работы и пользователя.
[Composable] дает гораздо большему количеству людей в нашей команде путь к модернизации… потому что он облегчает начало путешествия, навигацию и позволяет нам достичь пункта назначения быстрее и эффективнее, чем когда-либо прежде
— Ханна Грэп, директор по маркетингу, Sitecore
В мире, где ожидания клиентов быстро меняются, крайне важно, чтобы команды могли эффективно работать вместе.
Выводы о подходе компонуемой архитектуры
В конце концов, компонуемая архитектура — это выбор, а не лучшее решение для вашего бизнеса. Важно оценить ваши конкретные проблемы, чтобы понять, является ли компоновка правильным решением для вас.
Composable решает проблему сложности. Мне нравится называть это мультипроблемой. У вас несколько брендов, вы работаете в разных регионах и/или у вас есть несколько коммерческих моделей. У вас есть множество вещей, которые вам нужно поддерживать на вашем предприятии. Есть причина, по которой вы не можете просто зайти на Shopify и щелкнуть выключателем. Компонуемая архитектура предлагает правильный баланс гибкости и производительности для бренда, решающего множество задач
— Джейсон Коттрелл, основатель и генеральный директор Orium
Курирование и адаптация: Онтограф