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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 云原生化使得应用增益良多,实践和探索云原生是未来很长一段时间需要走的路线,云原生究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生。

文:商派运维团队 朱士杰

前言:

回顾过往,商派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,资源没有饱和的情况下可以部署更多的应用。

总结

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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
13天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
37 2
|
13天前
|
Cloud Native 安全 物联网
云原生技术在现代软件开发中的应用与挑战####
云原生,这一词汇如同一股强劲的科技风暴,席卷了整个信息技术领域,它不仅重塑了软件的开发模式,还引领了一场关于效率、可扩展性和弹性的深刻变革。本文旨在深入探讨云原生技术的核心概念,分析其在现代软件开发中的广泛应用,并直面伴随其发展而来的挑战,为读者勾勒出一幅既充满机遇又不乏考验的云原生技术图景。 ####
|
2天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
16 4
|
4天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
23 1
|
6天前
|
存储 运维 Kubernetes
云端迁移:备份中心助力企业跨云迁移K8s容器服务平台
本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。
|
8天前
|
敏捷开发 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
【10月更文挑战第23天】本文将深入探讨云原生技术在现代企业中的广泛应用,并结合具体案例分析其对企业数字化转型的推动作用。我们将从云原生技术的基本原理出发,逐步揭示其在提高业务敏捷性、降低成本和增强系统可靠性方面的优势。同时,文章还将分享一系列成功实施云原生技术的企业案例,为读者提供实践中的参考和启示。最后,我们将讨论云原生技术面临的挑战及未来的发展趋势,为企业在这一领域的进一步探索提供指导。
|
9天前
|
Cloud Native 持续交付 云计算
云原生技术深度探索:构建现代化应用的基石####
【10月更文挑战第21天】 本文将深入探讨云原生技术的核心概念、关键技术及其在现代软件开发中的应用。我们将从容器化、微服务架构、持续集成/持续部署(CI/CD)、无服务器架构等关键方面展开,揭示这些技术如何共同作用,帮助企业实现高效、弹性且易于维护的应用部署与管理。通过实例分析,展现云原生技术在实际项目中的显著优势,为读者提供一套全面理解并应用云原生技术的指南。 ####
24 2
|
14天前
|
运维 Cloud Native 持续交付
云原生技术在现代IT架构中的深度应用与挑战####
【10月更文挑战第17天】 本文深入剖析了云原生技术的精髓,探讨其在现代IT架构转型中的核心作用与面临的挑战。云原生不仅是一种技术实现,更是企业数字化转型的重要推手,通过容器化、微服务、持续集成/持续部署(CI/CD)等关键要素,重塑软件开发、部署与运维模式。文章首先概述了云原生的基本原则与核心组件,随后分析了其如何促进企业敏捷性、可扩展性和资源利用率的提升,同时也指出了在安全性、复杂性管理及人才技能匹配等方面存在的挑战,并提出了相应的对策建议。 ####
47 6
|
3天前
|
Cloud Native 安全 持续交付
云原生技术在现代软件开发中的应用与挑战####
本文深入探讨了云原生技术在现代软件开发中的广泛应用及其面临的主要挑战,旨在为开发者和企业提供实用的指导和策略。云原生技术通过其独特的架构和方法论,极大地提升了软件的可扩展性、弹性和敏捷性。然而,随着技术的不断演进,如何有效应对其在安全性、复杂性和成本控制等方面的挑战,成为了业界关注的焦点。本文将详细阐述云原生技术的核心概念、实际应用案例,并针对当前面临的主要挑战提出相应的解决策略。 ####
|
4天前
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。

热门文章

最新文章