Архитектура микросервисов может сыграть важнейшую роль в цифровой трансформации, особенно в организациях, модернизирующих унаследованные приложения и базы кода, пишет на портале TechTarget Крис Тоззи из компании Fixate IO. Микросервисы делают как унаследованные, так и новые приложения более легкими, масштабируемыми и простыми в управлении.
Цифровая трансформация означает полную перестройку организации с целью использования новой технологии. Микросервисы помогают в этом, делая приложения быстрее и эффективнее, расширяя возможности управлять ПО и обслуживать его.
Тоззи приводит шесть примеров использования микросервисов:
Улучшенное управление приложениями. Архитектура микросервисов позволяет запускать и останавливать часть приложения, не затрагивая другие его части. Это делает проще установку обновлений без прекращения работы сервиса. Непрерывное предоставление ПО — главный элемент цифровой трансформации бизнеса.
Эффективное масштабирование. Масштабировать монолитное приложение в связи с изменением ваших потребностей может оказаться нелегко. Масштабировать придется приложение целиком, даже если это необходимо только для его части. Например, приложение может потребовать возросшего объема хранения. Но поскольку вы не можете отдельно масштабировать уровень хранения, придется добавлять новые экземпляры приложения вместо предоставления дополнительных ресурсов сервису хранения. При использовании микросервисов в этом нет необходимости. Вы можете масштабировать только необходимую часть приложения. Результатом является более быстрое и эффективное масштабирование.
Повышенная безопасность. В хорошо спроектированной архитектуре микросервисов, если атакующему удается получить контроль над одним микросервисом или остановить его, он не сможет автоматически получить доступ к остальной части приложения.
Модернизация приложений. Для многих организаций одну из главных трудностей при цифровой трансформации представляют унаследованные приложения. Для модернизации монолитного приложения его необходимо полностью переписать. Часто это невозможно сделать за один раз. Но можно переработать унаследованные приложения таким образом, чтобы они встраивались в архитектуру микросервисов, не переписывая их полностью. Затем можно переписать каждый микросервис, что позволяет сделать модернизацию приложений поэтапным управляемым процессом.
Гибкость при написании кода. Микросервисы позволяют также писать части приложения на разных языках. В монолитной архитектуре это обычно невозможно. С точки зрения цифровой трансформации, такая гибкость при написании кода имеет большое значение, поскольку позволяет использовать новые языки для создания компонентов приложений, не переписывая приложения целиком.
Возросшая доступность сервисов. Отказ одного микросервиса не обязательно приводит к прекращению работы всего приложения. Более того, обычно легко определить, где именно произошел сбой, и быстро его устранить. Отслеживание и устранение сбоев гораздо сложнее в монолитных приложениях, где отказ может произойти в одном месте, а вызвавшая его проблема будет скрываться совершенно в другом.
Помимо уже названных особенностей микросервисов, возможно, самая важная причина того, что они прекрасно подходят для цифровой трансформации, заключается в том, что их можно немедленно использовать для модернизации ПО и процессов.
Применение микросервисов не требует полной смены всего ПО или порядка работы. И нет необходимости всем сразу переходить на микросервисы. Можно начать с переработки некоторых приложений или даже их компонентов и запускать их в качестве микросервисов, используя оригинальную базу кода, а затем модернизировать микросервисы по очереди.
Разумеется, можно и нужно подумать об архитектуре микросервисов при проектировании новых приложений. Но если вы не можете позволить себе роскошь проектировать все ПО с нуля, микросервисы представляют хороший способ осуществить цифровую трансформацию бизнеса, даже если вы работаете с унаследованной базой кода.