应用容器化迁移与云原生的探索|商派运维团队

简介: 云原生化使得应用增益良多,实践和探索云原生是未来很长一段时间需要走的路线,云原生究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生。

文:商派运维团队 朱士杰

前言:

回顾过往,商派ShopeX的基础架构体系,从最早的IDC(大量采买硬件来搭建我们的服务),再到云计算(虚拟化上云),在这两次变革中,我们的服务效率、费用成本和质量都上了一个新的台阶。但在业务场景大爆发的潮流中,我们也遇到了许多需要解决的问题,如:
● 交付新环境的时间比较长
● 应用日常发布更新比较繁琐
● 大促紧急扩容的能力不足
● 底层的云资源无法有效利用

经过大量的实践与经验积累,商派ShopeX正式步入了云原生的架构体系,通过容器+K8S+devops的管理方法,不断提升商派的基础架构的稳定性、扩展性、高效性、安全性。

                             
                            #   什么是云原生

云原生的由来

云原生(Cloud Native)由来已久,其本质就是说应用程序从设计之初即考虑到云的环境,原生为云而设计,在云 上以最佳姿态运行,充分利用和发挥云平台的弹性+分布式优势。
我们现在说的云原生最核心的技术就是Kubernetes,以至于后面云原生可以真正落地。Google从2000年就开始使用了容器(linux容器)系统,其内部一直使用容器化编排引擎(Borg),Kubernetes也由此而来。
2014年Google开源了Kubernetes。

2015年Google主导成立的云原生计算基金会(CNCF),并把Kubernetes作为初创项目贡献给了CNCF。

云原生的探索

● 解决应用环境标准化的问题

 容器化是指将软件代码和所需的所有组件(例如库、框架和其他依赖项)打包在一起,让它们隔离在自己的“容器”中。
 这样,容器内的软件或应用就可以在任何环境和任何基础架构上一致地移动和运行,不受该环境或基础架构的操作系统影响。容器就像是一个气泡(或者是应用周围的计算环境),把应用和周围环境隔离开来。它相当于是一个功能全面、便于移植的计算环境。
 将应用打包装入可在平台和基础架构之间移动的容器后,只用把该容器移动到某个位置,应用就能在那里成功运行使用,因为容器中包含了成功运行应用所需的一切。

1639998875847-b1ad1b50-f7f3-4b4d-9ebe-c9511a632b7a.png

● Kubernetes自动化的特性

  Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统。官方初始定义就是企业级应用,而他天生就高可用架构,我们可以通过同一份配置立即启动一个一模一样的环境,从而提高应用开发和部署的效率,而其本身就具有自动化上线,自动化扩容,自我修复的特性。
  

1640142643985-a2bc031e-a62b-49b8-afec-9e35e55010eb.png

应用容器化迁移过程

迁移思维导图

1639986816254-bb7b2f85-c00a-4ae9-bcf3-fcf90522dc64.png

k8s容器化迁移

1639986893184-971bb3ae-0780-4c54-9f59-717394e5105c.png

解决的问题

● 容器化之后新环境无需重复部署
容器化打包之后,应用本身部署的环境已经被容器本身取代,所以新开应用是无需重复部署环境的,和之前部署环境1-2天(加测试问题排查等)相比容器标准化之后,大大降低了部署时间。

● 大促扩容效率提速

WechatIMG612.png

2021双11 商派业务中台 其中一个服务 从20个实例扩容到100个实例全部启动仅用了8分钟

● 应用日常发布快
单应用一周发布频率超过30次,只需负责项目研发负责上线工作,大大降低了上线成本。

● 底层的云资源利用率提高
一般没有容器化之前,非容器化应用的服务器cpu水位利用率大概不到百分之10,容器化之后在相同的资源cpu水位提升百分之100,资源没有饱和的情况下可以部署更多的应用。

总结

云原生化使得应用增益良多,实践和探索云原生是未来很长一段时间需要走的路线,云原生究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2277 87
|
11月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
1391 108
|
10月前
|
机器学习/深度学习 人工智能 运维
智能运维加速交付:应用上线别再慢吞吞
智能运维加速交付:应用上线别再慢吞吞
275 2
|
11月前
|
运维 监控 数据可视化
小白也能部署应用,3个免费的容器化部署工具测评
本文对比了三款容器化部署工具:Docker Compose、Portainer 和 Websoft9。Docker Compose 适合开发者编排多容器应用,Portainer 提供图形化管理界面,而 Websoft9 则面向中小企业和非技术人员,提供一键部署与全流程运维支持,真正实现“开箱即用”。三款工具各有定位,Websoft9 更贴近大众用户需求。
小白也能部署应用,3个免费的容器化部署工具测评
|
9月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
834 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
10月前
|
运维 Kubernetes 测试技术
应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局
通过在云效中创建 SAE 服务连接并关联集群,团队可将应用环境直接部署到 SAE,实现从代码提交、镜像构建到 SAE 部署的自动化流水线。该集成打通了研发与运维的壁垒,特别适用于应用数量多、团队规模大、交付节奏快的组织,助力企业实现敏捷、可靠的持续交付。
|
10月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
509 8
|
运维 监控 应用服务中间件
运维打铁: Ruby 脚本在运维自动化中的应用探索
Ruby 是一种简洁、动态类型的编程语言,适合运维自动化任务。本文介绍了其在服务器配置管理、定时任务执行和日志分析处理中的应用,并提供了代码示例,展示了 Ruby 在运维自动化中的实际价值。
596 2
|
11月前
|
运维 数据可视化 vr&ar
AR远程协作在发电领域的运维应用方案
发电厂面临设备故障频发、运维人员经验不足、远程支持困难及维护成本高昂等挑战。为提升运维效率与设备可靠性,越来越多电厂开始采用增强现实(AR)远程协作技术。通过AR设备,现场人员可与远程专家实时协作,实现快速故障诊断与修复、可视化操作指导和精准培训支持。AR技术不仅缩短停机时间,降低运维成本,还提升了应急响应能力与决策效率,助力发电行业向智能化、高效化方向发展。
|
11月前
|
人工智能 运维 监控
云+应用一体化可观测:破局“云上困境”,让运维驱动业务增长
当云计算迈入深入上云新阶段,数智化升级的关键课题已从“简单上云”演进至“精细治云”。随着企业对云计算的依赖日益加深,如何高效管理云端资源及其稳定性成为新的挑战。为此,阿里云推出云+应用一体化可观测方案,通过阿里云应用运维平台(Application Operation Platform,简称“AOP”)构建覆盖应用全生命周期一体化可观测产品体系,推动运维模式由被动响应向主动预防转变,实现故障的快速发现、定界与恢复,保障云上业务稳定运行。 目前,该方案已成功服务超过50家行业头部客户,为政务云平台、金融核心系统、能源调度中枢等关键基础设施提供全天候安全运维保障。
876 0