【译】应用架构:为什么要随着市场演进
本文译自 Application architecture: why it should evolve with the market 最初由Mia Platform团队发布在Mia Platform的博客上
如今,IT 挑战在于通过有效选择应用架构来适应市场和业务需求的发展。为了满足业务和客户的需求,IT 部门应能够对技术和方法采取行动以确保软件具有灵活性,并实现产品和服务的持续创新流程,从而做出更快的反应 。
当然,过去的单体应用程序和刚性基础设施无法做到这一点。相反,它可以通过为演化而设计的架构来实现,该架构在需要时易于更新和重构。容器化实践的广泛应用(根据 Gartner,到2022年,大公司的就业人数将从目前的 30% 增长到 75%),这种情况下采用云原生方法重新设计微服务应用是成功的关键。
如何构建不断发展的应用架构
海外专家称它们为可演进的架构,以将它们与当今阻碍或无助于改变的传统架构区分开。应用架构基于微服务架构风格 ,被设计成在现代虚拟化 IT 和云环境中发挥最佳性能。
基本思想是创建可以轻松“分解”的应用程序,其组件可以在其他上下文或组合中重用,如 Lego 系列。开发一系列微服务,每个微服务都用于执行单个业务功能(根据“单一职责原则”),可以在应用本身的开发和演进中获得相当大的灵活性。实际上,可以根据支持功能的特定生命周期独立开发、更新和测试服务。
此外,谈到部署,微服务应用的架构具有很大的优势:可以根据需要在内部或云中通过使用可用资源来扩展单个微服务。
为此,微服务应用获得基于容器的基础设施的支持,该基础设施通过业务编排系统(通常为 Kubernetes)进行管理,该流程可以自动化并促进公司系统之间以及从这些系统到云提供商服务的软件作业的迁移。
随着业务发展的应用架构的优势
基于微服务的应用架构在开发和部署方面具有更大的自治权。如我们所见,微服务可以在其他应用程序中单独实现、“分解”、更新和重用。因此,通过产品或客户需求的演变,它有降低减少市场所需的每个新产品的设计/开发时间和成本。
此外,通过使用容器化实践,可以简化在本地、云、多云或混合环境的任何环境中应用程序的部署,从而优化成本。
在微服务架构风格的优点中,我们还发现有可能在各种服务之间的对话及其健康状况上获得更大的透明度:更好的可观察性意味着可以轻松解决复杂应用的问题。实际上,管理员可以更快地定位和解决性能和安全性问题,在运维和代码层面实施措施,从而使响应速度与变更的长期有效性保持一致。
通过采用微服务以及新的开发和部署方法,可以创建能够随时间发展的应用架构。除了 IT 团队必须掌握的新技能外,还必须对公司的未来有一个清晰的愿景,以确保所提供的服务对业务发展有用。
创建可演进的应用架构
我们已经看到了基于微服务的现代应用架构如何保证软件的灵活性,并允许你利用本地和按需使用的所有资源,在可以方便地获得所需性能、降低成本或保护数据的位置分配作业。
为了使之成为可能,有必要在云和混合环境中创建和管理虚拟化的 IT 环境,并采用最合适的方法和策略。例如,在用于将开发和运维活动链接在一起的DevOps领域中,持续集成/持续交付(CI / CD)策略的方法学支持可帮助提高更新速度和应用软件的质量。
此外,微服务可促进对遗留应用程序的集成,从而使公司更加敏捷,并利用市场上最先进的解决方案。除了需要新的技术和工作方法外,现在还需要可演进的应用架构来支持数字化转型所决定的不断变化的需求。