什么是微服务?

 

微服务是指在当代软件开发生命周期中作为开发人员工具而找到的数千个独立 Web 标准、编程语言、数据库平台和 Web 服务器组件。从传统的角度来看,大型公司曾经专注于面向服务的体系架构 (SOA),它代表了从单个 IT 公司集成的硬件和软件技术。借助微服务,可以为来自独立开发公司或开源社区的云软件应用和 Web 服务器中的数千种不同组件提供支持。IT 部门需要一种新的理念来跨超大规模公有云数据中心中隔离的多租户环境,管理生产环境中的微服务,并且 IT 部门已经广泛采用了符合由服务网格技术驱动的 SDDC 标准的虚拟化解决方案来实现这一目标。微服务可形成构造块或基础组件、平台和框架,并在此基础上,在云数据中心的 Web 服务器上构建和运维代码。

一体化体系架构与微服务体系架构

  • 一体化体系架构:传统上源自企业 IT 的 IBM 大型机时代和 Microsoft Windows 操作系统垄断时期。 
  • 微服务:最初是由开源社区、第三方开发人员以及由提供代码的独立程序员组成的初创公司发展而来,这些代码可扩展正在使用的最流行 Web 服务器平台的基本功能。现在,大多数主要 IT 公司都发布了自己的微服务,并为开源项目做出了贡献,在这些项目中,不同行业以及来自基于独特基础的更广泛解决方案市场的团队均采用了特定标准。微服务通过面向云应用的开源代码解决方案,按照开发人员创新的相同原则运维,但专有许可的微服务如今也很常见。

 

微服务的优势

  • 快速创新:当需要为软件应用创建新功能时,与使用一体化体系架构相比,企业和初创企业可以更快地将创新产品推向市场。使用 Web 和移动应用的客户需要全新的功能特性。创新技术通过普遍采用和企业采用而获得资金。IT 专家和初创公司都可以通过集成新的微服务,在编程和开发方面处于领先地位。
  • 更高级别的数据中心自动化:开发人员更喜欢使用特定平台或标准来处理其工作,其中包括利用微服务支持 Web/移动应用中的编程语言和数据库。微服务通过脚本化流程(如 API)进行连接,这些流程可实现更高水平的数据中心自动化。

 

微服务的工作原理是什么?

微服务主要是通过增加 Web 服务器上可用的功能来工作,而不是通过由默认操作系统、网络或数据中心管理平台提供的功能来工作。某些微服务是 Web 服务器堆栈扩展,如编程语言平台和数据库框架。为了开发 PHP 和 MySQL 应用,必须为 Web 服务器环境配置 LAMP 平台支持。基于微服务的解决方案与由 Microsoft、Oracle、IBM 和其他 IT 主要公司在闭源分发中提供的面向服务的体系架构展开激烈竞争。大型公司现在必须在生产中同时或同步支持使用 PHP、Python、Rubyrails、Java、C++、ASP.net 等编写的多个应用。在其他情况下,数据中心可能有多个数据库框架通过多租户硬件上的虚拟机运维。必须将 Web 服务器配置为支持流媒体、API 集成的自定义扩展,或通过添加专有实用程序来进行分析。无论何时一起添加所有这些第三方服务和开源服务,它们均相当于生产环境中的典型 Web 服务器上的数千个微服务,然后在公有云服务环境中将微服务乘以数百万个超大规模的虚拟机。

 

微服务历史

微服务作为一个术语的使用主要是在 Web 2.0 时代之后发展起来的,因为企业 IT 需要一种新方法来概念化软件开发环境,以反映当前的生态系统和最佳实践。使用微服务来开发 Web 和移动应用,导致数据中心管理员支持企业运维的复杂性增加。公司不能简单地与 Oracle、IBM 或 Microsoft 签合同,来获取所有必需的软件和数据中心解决方案,而是必须通过数百万个为企业提供企业级解决方案的开源代码项目来探索环境。许多 Web 标准均有来自不同公司的相互竞争的版本。许多编程语言和数据库在使用中涵盖相同的功能。每个开发团队对工具和编程方法都有自己的偏好。在统一的企业 IT 部门内管理云时代的所有复杂性,已导致需要在全球许多复杂企业中支持专业软件开发中的微服务。

 

了解微服务体系架构

了解微服务体系架构的最好方法是描绘 Web 服务器堆栈中的软件层。Web 服务器的操作系统可以是 Windows、Linux 或 BSD。网络上有用于数据中心管理和负载均衡的工具。对于 Web 服务器,可以选择 Apache、IIS、NGINX、Caddy、Tomcat等。接下来是安装的编程语言支持的层,如 PHP、ASP.net、Python、Ruby、Perl、Java 和 Go。以下是 MySQL、MSSQL、PostgreSQL 和 MongoDB 等数据库框架的层。用于缓存实用程序(如 Varnish、Redis、CDN 和优化实用程序)的另一个层。其他支持层包括边缘服务器、无服务器平台和 AI/ML 集成。在公有云生态系统中,有数千个的微服务同时运行,需要在服务网格中对其进行管理,以支持互操作性、路由和通信。

 

面向服务的体系架构 (SOA) 与微服务

面向服务的体系架构 (SOA) 通常来自单个供应商,或者包括一套硬件和软件解决方案,这些硬件和软件解决方案可以针对明确的行业需求进行部署。SOA 通过不同的发行版或产品模型来支持数据中心、Web 服务器和堆栈层。SOA 在专有和开源解决方案中均由供应商提供。在云数据中心与内部专用数据中心中,以不同方式对网络连接设备和光纤连接进行管理。在当前软件开发环境中,创新需要微服务。即使是规模最大的企业,也需要采用微服务来支持敏捷编程团队将新的 Web/移动应用推向市场,在此类市场中,产品支持可能包括数千个品牌或领域。传统企业软件的现代化和容器化经常需要微服务。 

VMware 微服务相关的产品、解决方案和资源

什么是软件定义的存储?

VMware 软件定义的存储是可满足业务和应用需求的简单但智能的存储数据中心体系架构。立即了解更多信息。

云计算服务定义

使用云计算服务定义最佳实践,为面向服务的业务驱动型运维模式奠定基础。

什么是虚拟化?

虚拟化是降低所有规模企业的 IT 开销,同时提高其效率和敏捷性的最有效方式。

面向项目和面向服务的区别是什么?

当今的 IT 组织使用“项目”作为管理工作的构造。面向服务可以确保更快地调配资源并降低成本。

企业级云计算套件

企业级云计算套件是一套集成的产品,用于管理混合云和提供自助调配功能。

创建服务定义和相应虚拟端点

您必须使用 NSX Manager API 在公有云中为服务虚拟设备创建服务定义和虚拟端点。