Микрослужбами называют тысячи независимых веб-стандартов, языков программирования, платформ баз данных и компонентов веб-серверов, используемых в современном жизненном цикле разработки ПО в качестве средств разработчиков. Организации, применявшие традиционный подход, предпочитали использовать архитектуру, ориентированную на услуги, которая представляла собой сочетание оборудования и ПО, предоставляемых одной ИТ-компанией. Микрослужбы обеспечивают поддержку тысяч различных компонентов, предоставляемых независимыми компаниями по разработке или сообществами по созданию решений с открытым исходным кодом, в облачных приложениях и на веб-серверах. ИТ-отделам требовался новый подход к управлению микрослужбами в производственной инфраструктуре, состоящей из изолированных многоарендных сред в гипермасштабных ЦОД на базе публичных облаков. В связи с этим многие ИТ-отделы внедряли решения по виртуализации со стандартами программно-определяемого ЦОД на базе технологии Service Mesh. Микрослужбы представляют собой структурные блоки или основные компоненты, платформы и структуры, на базе которых создается и выполняется код на веб-серверах в облачном ЦОД.
Чаще всего микрослужбы расширяют возможности, доступные на веб-сервере, выводя их за рамки функций, предоставляемых используемой по умолчанию операционной системой, сетью или платформой управления ЦОД. Некоторые микрослужбы представляют собой расширения стека веб-сервера, например платформы языков программирования и баз данных. Для разработки приложений с использованием PHP и MySQL в среде веб-сервера должна быть настроена поддержка платформы LAMP. Решения на базе микрослужб главным образом конкурируют с ориентированными на услуги архитектурами, поставляемыми Microsoft, Oracle, IBM и другими крупными ИТ-компаниями в виде дистрибутивов с закрытым исходным кодом. В настоящее время крупным компаниям необходимо одновременно поддерживать различные приложения на базе PHP, Python, Ruby-on-Rails, Java, C++, ASP.net и т. д. в производственной среде. В других ситуациях в ЦОД может использоваться несколько платформ баз данных посредством ВМ на базе многоарендного оборудования. На веб-сервере необходимо настроить поддержку пользовательских расширений для потоковой передачи мультимедийного содержимого и интеграции API-интерфейсов или добавить специализированные служебные программы для анализа. Когда все эти службы сторонних поставщиков и с открытым исходным кодом объединяются, их функциональность сопоставима с возможностями тысяч микрослужб на стандартном веб-сервере в производственной среде, которые затем умножаются на миллионы ВМ в гипермасштабе среды служб публичного облака.
Использование термина «микрослужбы» началось преимущественно после эпохи Web 2.0, когда корпоративным ИТ-отделам потребовался новый подход к проектированию среды разработки ПО, который соответствовал бы имеющейся экосистеме и лучшим методикам. Использование микрослужб для разработки мобильных и веб-приложений усложнило поддержку корпоративных процессов для администраторов ЦОД. Вместо того чтобы просто получить все необходимое ПО и решения для ЦОД, заключив договор с Oracle, IBM или Microsoft, компаниям необходимо исследовать миллионы проектов с открытым исходным кодом, предоставляющих решения корпоративного класса для бизнес-подразделений. Для многих веб-стандартов существуют конкурирующие версии, предоставляемые разными компаниями. Многие языки программирования и базы данных предлагают одинаковые функции. У каждой группы разработчиков есть свои предпочтения в отношении средств и методов программирования. Необходимость справляться со всеми этими сложностями в эпоху облачных технологий силами централизованного корпоративного ИТ-отдела привела к тому, что многим организациям со сложной структурой по всему миру потребовалось обеспечить поддержку микрослужб для профессиональной разработки ПО.
Чтобы понять архитектуру микрослужб, можно представить уровни ПО в стеке веб-сервера. Операционной системой может быть Windows, Linux или BSD для веб-сервера. Существует ряд средств для управления ЦОД и балансировки нагрузки в сети. К ним относятся Apache, IIS, NGINX, Caddy, Tomcat и другие решения для веб-серверов. На следующем уровне размещаются средства поддержки установленных языков программирования, например PHP, ASP.net, Python, Ruby, Perl, Java и Go. За ним следует уровень платформ баз данных, таких как MySQL, MSSQL, PostgreSQL и MongoDB. Далее идет уровень служебных программ кэширования, например Varnish, Redis и сетей предоставления содержимого, а также служебных программ оптимизации. Другие уровни поддержки включают периферийные серверы, платформы без серверов, а также средства интеграции ИИ и машинного обучения. В экосистеме публичного облака размещены тысячи одновременно работающих микрослужб, которыми нужно управлять на уровне Service Mesh, чтобы обеспечить поддержку совместимости, маршрутизации и обмена данными.
Ориентированная на услуги архитектура (SOA) обычно предоставляется одним поставщиком или содержит пакет аппаратных и программных решений, который можно развернуть для четко определенной отраслевой потребности. SOA поддерживает уровни ЦОД, веб-сервера и стека посредством разных дистрибутивов или моделей продуктов. SOA предоставляется поставщиком в виде специализированных решений и продуктов с открытым исходным кодом. Способы управления сетевым оборудованием и оптоволоконными подключениями в облачных ЦОД и в частных корпоративных ЦОД различаются. Микрослужбы необходимы для внедрения инноваций в текущую модель разработки ПО. Даже самым крупным корпорациям следует внедрить микрослужбы для поддержки адаптивных групп программистов, разрабатывающих новые мобильные и веб-приложения для рынка, на котором поддержка по продуктам может охватывать тысячи брендов или сфер. Микрослужбы часто необходимы для модернизации устаревшего корпоративного ПО и создания контейнеров на его основе.
Программно-определяемое хранилище VMware — это упрощенная и в то же время интеллектуальная архитектура хранения для ЦОД, соответствующая потребностям бизнеса и приложений. Узнайте больше.
Создайте основу для эксплуатационной модели, которая ориентирована на услуги и учитывает требования бизнеса, с помощью лучших методик определения облачных услуг.
Виртуализация — лучший способ сократить ИТ-расходы и при этом повысить эффективность и адаптивность в организациях любого размера.
В современных ИТ-отделах «проекты» используются как структурные блоки для управления работой. Ориентация на услуги может ускорить инициализацию и снизить расходы.
Пакет облачных продуктов корпоративного класса — это интегрированный набор продуктов для управления гибридными облаками и инициализации ресурсов в режиме самообслуживания.
Чтобы создать определение услуги и виртуальное конечное устройство в качестве устройства для услуги в публичном облаке, необходимо использовать API-интерфейсы NSX Manager.