Bootstrap

一站式浅谈Azure Kubernetes构建场景应用

4ee2f18a4d75c78ea5c70da4c5c836b7.gif

新钛云服已为您服务1336

a2f38e3d8b33f3e646e608c3e9dd50b8.gif

我们的行业在过去十年中取得了令人难以置信的进步,这在一定程度上要归功于 Docker、Docker Compose 和 Kubernetes 等技术。然而,我们仍在研究如何在我们所处的多样化环境中进行开发。

容器化在开发和运维掀起了一场风暴。在过去,部署是高度依赖于特定技术的,通常需要对每个项目进行大量不可重复的工程工作。

你是否部署到 VPS?你是否在分发虚拟机镜像?静态可执行文件?需要特定解释器的脚本? 根据你对这些问题的回答,你可能已经使用了 Capistrano、Puppet、shell 脚本、Ansible、deb 或 rpm 包、cloud-init 脚本、专有云技术、upstart、systemd、init 等很多技术。

在部署阶段,系统管理和开发之间的界限就变得模糊了,DevOps 的原则就诞生了。随着 DevOps 开始成熟,业界发展出了应用开发的最佳实践,比如 12 因素应用程序方法论,但许多实现细节仍然是依赖于特定技术的。

7974ddd7071e3ac20ee94e9af608740a.png


挑战剖析


回归现象看本质,随着业务复杂度的提高,单体应用越来越庞大,对资源形成挑战剧增:

挑战一、资源利用率低

45c3e42638e7fe15554484be92e7f61c.png

烟囱系统是指一种由相互关联的元素紧密结合在一起的集合,其中单个元素无法区分、升级或重构。

很多企业的IT系统都是烟囱式,这种模式有很多弊端,如:

  • 重复建设运维

  • 交互成本高昂

  • 难以持续运营

  • 业务灵活性差

挑战二、应用架构扩展性差

de9690592ee2ddf9c4f75e23b93a9c2d.png

单体架构在规模比较小的情况下工作情况良好,随着系统规模的扩大,暴露出来的问题也越来越多,主要有以下几点:

  • 复杂性渐增;

  • 技术创新受阻;

  • 按需伸缩变难;

  • 部署效率下降。

挑战三、开发周期长

庞大代码基线、组件耦合大、责任不清楚,牵一发而动全身。

部署慢、扩容慢:部署过程不可重复、出错率高;不支持自动弹性伸缩。

升级难:固定时间窗、集中大规模人力中断服务升级。

在敏捷开发中,软件项目的构建被切分成多个子项目&#

;