微服务的影响:好的、坏的和未来

​探索微服务的各个方面,包括其优势、潜在风险以及有效利用它们的最佳实践。

自 COVID-19 大流行开始以来,对技术的依赖已经完全循环。在过去三年中,数字应用程序越来越多地用于银行,购物,尤其是医疗保健服务等需求,这引起了消费者对技术的需求,以帮助他们解决日常生活的各个方面。并非巧合的是,今天对应用程序工程师、开发人员和设计师的要求要求他们在软件中提供几年前不需要的多功能性。在网络安全攻击发生率处于历史最高水平的时候,现在有必要以更灵活的方式构建和扩展应用程序,以便在发生需要干预的事件时可以适当地解决它们。

微服务架构是提高当今软件系统的可靠性和可扩展性的更合适方法。在基于云的微服务体系结构中,大型应用程序被分解为较小的独立服务,这些服务通过应用程序编程接口 (API) 相互通信。这允许更集中的开发和部署,并简化维护和扩展。微服务方法与整体式软件应用程序形成鲜明对比,后者是作为单个统一单元构建的,构建和部署起来更加复杂和耗时。

站点可靠性工程师(SRE)欣赏微服务的优势,因为它们提供了更快的开发周期、改进的容错能力和更轻松的部署。同时,他们认识到微服务带来了新的挑战,例如监控的复杂性增加,跨多个服务跟踪问题,并认识到需要仔细管理服务间通信。这些挑战带来了与保护客户免受网络安全问题相关的重大危险信号。随着数字技术变得越来越复杂并融入社会,如果要维护隐私和安全,那么了解维护这种类型的架构的必要性非常重要。

将应用迁移到微服务的挑战

根据Tetrate的联合创始人Varun Talwar的说法,Tetrate是一个边缘到工作负载的应用程序连接平台,通过网格管理的环境将公司连接到服务,过渡到微服务架构是应用程序现代化的重大挑战,因为许多组织运行已经建立多年的复杂系统,如果要修改它们,可能会导致功能中断。

此外,协助公司实施云服务的多学科解决方案组织Asperitas Consulting进行的一项调查表明,由于人员配备和缺乏适当工具等问题,应用程序现代化具有挑战性。

从整体式架构迁移到微服务本身也可能是一项繁琐的任务。根据Semaphore的Tomas Fernandez的说法,只有在对所有替代路径进行评估后,才应考虑微服务,他还建议微服务应用程序可能最适合作为整体式软件和由于客户必须在自己的私有系统上手动部署和配置所有内容而在本地部署的非本地部署。

从单体架构迁移到微服务的一种方法,越来越多的行业专业人士正在取得成功,这是由 Heroku 开发人员创建的 12 因素应用程序方法,这是一种支持多种编程语言的云平台服务。

此过程的步骤包括:

在修订控制中跟踪一个代码库,并进行许多部署。
声明和隔离依赖项。
将所有配置数据与代码分开存储。
将后备服务视为附加资源。
分离生成和运行阶段。
确保应用是无状态的。
通过端口绑定导出服务。
将应用开发为并发。
构建一次性流程,以便可以快速启动、停止和重新部署应用,而不会丢失数据。
我们正在实现基于匹配环境的持续集成。
将日志流式传输到指定的选定位置。
将行政和管理任务作为一次性流程运行。
同样重要的是要注意,并非所有旧版应用都可以现代化,API 可用于启用微服务。

微服务的优势

在过渡到微服务系统并在微服务系统上运行的挑战中,最重要的好处是为客户提供改进的用户体验。Redis Labs 是一家为全球近 9,000 家组织的服务提供商,其开发人员宣传经理 Loris Cro 表示,使用微服务开发的软件的最终用户看到的性能问题、错误和一般困难较少。例如,Cro指出,与单体应用程序相比,开发团队在每个服务级别使用不同语言和数据库系统的能力。尽管微服务提供了许多好处,但如果提供的服务不一致、应用通信延迟高,或者微服务过于复杂且不允许可扩展性、可伸缩性或功能添加,则可能会出现不良结果。

微服务的未来

根据研究,微服务架构市场将从2022年的5.49 亿美元增加到 2023年的 21.63 亿美元,在预测期间(2022-2023)以 18.66% 的复合年增长率 (CAGR) 增长。

预计会影响微服务开发的其他趋势包括:

  • 改进了可观测性,增强了对微服务操作的洞察力,以及通过服务网格可重新配置的基础架构控制通信的能力。
  • 通过人工智能技术实现自动化和优化的监控、事件响应、容量规划和其他操作,以更有效地管理软件。
  • 通过使用实施微服务架构的多云策略,实现比单一来源软件开发更好的可靠性。

尽管转向支持微服务的软件可能会因其动态性质而带来新的安全挑战,但公司正在以接近 100% 的速度从单体架构过渡。最近的研究表明,85% 的公司正在通过迁移到微服务结构来实现架构现代化。该报告还指出,领先的公司在微服务架构上拥有至少75%的应用程序的可能性是其两倍。任何现有异常值越早进行转换,其安全措施可能就越可靠。

作者:Kedarnath Mundluru

更多技术干货请关注公号“云原生数据库”

squids.cn,目前可体验全网zui低价RDS,免费的迁移工具DBMotion、SQL开发工具等。