现代云原生设计理念
前文传送门 什么是云原生? 现代设计理念 你会如何设计云原生应用程序? 需要遵循哪些原则、模式和最佳实践? 需要特别关注 哪 些底层/ 操作 ? 十二要素应用程序 目前被普遍认可的基于云的方法论是" 十二要素应用程序 ",它给出了开发人员要遵循的一组原则和实践,帮助构建针对现代云环境优化的应用程序。 尽管适用于任何基于Web的应用程序,但许多从业者都将“十二要素”视为构建云原生应用程序的坚实基础。基于这些原则构建的系统可以快速部署和扩展,并可以添加功能以对市场变化做出快速反应。 重申“十二要素”方法论: 要素 描述 Code Base 代码仓库中一套代码,多处部署 Dependencies 每个微服务显式声明并打包自己的依赖项、变更项 Configurations 在环境中外挂配置 Backing Services 将支撑性服务(数据存储,缓存,消息代理)看做附加资源,通过可寻址的URL公开 Build, Release, Run 严格区分构建和运行阶段,现代CI/CD技术实现了这一原则。 Processes 将应用程序作为一个或多个无状态进程执行 Port Binding 通过端口绑定暴露服务 Concurrency 对进程模型进行横向扩展 Disposability 快速启动和正常关闭可最大程度地提高鲁棒性 Dev/Prod Parity 保持开发、生产尽可能相似