探索微服务的各个方面,包括它们的优势、潜在风险和有效利用它们的最佳实践。
自COVID-19大流行开始以来,对技术的依赖已经完成了一个完整的循环。过去三年来,人们在诸如银行、购物、尤其是医疗保健服务等需求方面增加了对数字应用的利用,这引发了消费者在日常生活的各个方面都要信任技术来帮助他们的需求。不巧的是,如今对应用工程师、开发人员和设计师提出的需求要求他们在软件中提供一种在几年前还不需要的更高水平的灵活性。在网络安全攻击发生率创历史新高的时代,现在有必要以更灵活的方式构建和扩展应用程序,以便在需要干预的事件发生时能够适当地解决。
微服务架构是改进当今软件系统可靠性和可扩展性的一种更合适方式。在基于云的微服务架构中,将一个大型应用程序拆分成较小、独立的服务,并通过应用程序编程接口(API)进行相互通信。这样可以实现更专注的开发和部署,以及更容易的维护和扩展。微服务方法与单块式软件应用形成鲜明对比,后者是作为单个、统一的单元构建的,更加复杂和耗时。
(资料图片)
站点可靠性工程师(SRE)欣赏微服务的好处,因为它们提供了更快的开发周期、更好的容错性和更简单的部署。与此同时,他们也意识到微服务带来了新的挑战,比如在多个服务之间进行监控和跟踪问题的复杂性,以及需要注意对服务间通信进行仔细管理的需要。这些挑战存在与保护客户免受网络安全问题相关的重大风险。重要的是要理解,如果要保持隐私和安全,就需要维护这种类型的架构,因为数字技术在不断变得更加复杂和融入社会。
将应用程序迁移到微服务的挑战 根据Tetrate联合创始人Varun Talwar的说法,微服务架构对应用现代化来说是一个重大挑战,因为许多组织运行着已经建立多年并且可能导致功能中断的复杂系统。
此外,Asperitas Consulting进行的一项调查显示,由于人员配备和适当工具的不可用性等问题,应用现代化具有挑战性。
从单体应用程序迁移到微服务也可能是一项繁琐的任务。据Semaphore的Tomas Fernandez称,应该在评估所有备选路径后才考虑使用微服务架构,他还建议使用单块式应用程序的软件可能是最适合的选择,并且部署不在本地进行,因为客户需要手动在自己的私有系统上部署和配置一切。
更多行业专业人员发现成功的从单块式应用程序迁移到微服务的方法是Heroku开发人员创建的12-Factor App方法论,Heroku是一种支持多种编程语言的云平台服务。
该过程的步骤包括:
将一个代码库跟踪到版本控制中,进行多次部署。 声明和隔离依赖关系。 将所有配置数据与代码分开存储。 将后端服务视为附加资源。 分离构建和运行阶段。 确保应用程序无状态。 通过端口绑定导出服务。 开发并发应用程序。 构建一次性进程,以便可以快速启动、停止和重新部署应用程序而不丢失数据。 我们正在基于匹配环境实现持续集成。 将日志流式传输到指定的位置。 将管理任务和管理任务作为一次性进程运行。
还需要注意的是,并非所有的老旧应用程序都可以进行现代化改造,API可用于启用微服务。
微服务的好处 在转向微服务系统并在其上运行中遇到的挑战中,最重要的好处是为客户提供了更好的用户体验。根据Redis Labs的开发者倡导经理Loris Cro的说法,使用微服务开发的软件的最终用户更少遇到性能问题、错误和一般困难。例如,Cro指出,开发团队可以在每个服务级别上使用不同的语言和数据库系统,与单块式应用程序相比。尽管微服务提供了许多好处,但如果服务提供不一致、应用通信延迟高或微服务过于复杂而无法实现可扩展性、可扩展性或功能添加,则可能会出现不良结果。
微服务的未来 根据研究,微服务架构市场将在2022年从54.9亿美元增长到2023年的216.1亿美元,预计在预测期(2022-2023)内以18.66%的复合年增长率(CAGR)增长。
预计将影响微服务开发的其他趋势包括:
通过服务网格可重新配置的基础设施,改进对微服务行为的可观察性和增强洞察力,并控制通信。 通过人工智能技术自动化和优化监控、故障响应、容量规划和其他运营操作,以更有效地管理软件。 通过采用微服务架构实施多云策略,比单一来源的软件开发具有更好的可靠性。 尽管转向支持微服务的软件可能会因其动态性而带来新的安全挑战,但几乎100%的公司正在从单块式结构进行转型。最近的研究显示,85%的公司正在通过转向微服务架构来现代化他们的架构。报告还指出,领先的公司将至少75%的应用程序部署在微服务架构上的概率是其他公司的两倍。越早进行转型,它们的安全措施可能就更可靠。
标签
Copyright ? 2015-2022 青年粮油网版权所有 备案号:皖ICP备2022009963号-20 联系邮箱:39 60 291 42@qq.com