热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一颗白菜的云原生之旅

序有一天,女朋友突然问我:“能不能跟我讲讲,你每天在开发的这些“天合”云原生平台、容器引擎、微服务,都是做什么的呀?”我说:“可以啊。简单来讲,我们的产品就是帮助客户实现云原生应用

一颗白菜的云原生之旅

有一天,女朋友突然问我:“能不能跟我讲讲,你每天在开发的这些“天合”云原生平台、容器引擎、微服务,都是做什么的呀?

我说:“可以啊。简单来讲,我们的产品就是帮助客户实现云原生应用的上云和管理,通过Docker技术进行应用的标准化交付和部署,基于Kubernetes……¥%&**&……%%¥#@%&*

“哈?……你可以说人话么”

“hmmmmm……那我换一个说法吧。在云上托管一个应用,其实就跟农民在一片公共的农场中种植白菜差不多。我们做的事情,就是提供各种先进的工具和种植方法,让客户在种植自己的‘白菜’时可以降低人力和资源成本,同时提升‘白菜’的产量和抗灾能力。我们把这些先进的方法和工具,统称为云原生。

“哦,这样说我好像就能听懂了。不过你能讲一讲其中的细节么?

“好的,那我就来给你详细讲讲。

一颗白菜的云原生之旅

第一步,构建容器

假设你在一个叫做“百度智能云”的农场中买了一块土地,打算开始种植白菜。


传统的做法是将白菜苗直接栽种在你的土地里,但是这就意味着你种入土地的白菜只能在固定的位置生长,每一颗相邻白菜之间还会互相争夺肥料、水分,并且要面对很多其它的虫害威胁。

一颗白菜的云原生之旅

在云原生时代,我们通过一种叫做“容器(Container)”的技术解决这些问题,我们为你的每一颗白菜苗(应用程序)提供一个独立的容器,将白菜苗(应用程序)以及它所需的泥土、水分、养料(CPU、内存、磁盘等)都封装在这个容器里面,这样每棵白菜都能在与外界隔离的环境中独立生长,并且你可以随时移动这些容器。

一颗白菜的云原生之旅

为了让客户的白菜都可以通过容器方式种植,我们提供了一个叫做“容器镜像仓库”的产品。

在这个仓库中,客户只需要上传一个叫做Dockerfile的文件,Dockerfile描述了每个容器的基本信息,比如说里面要种什么品种的白菜苗、需要多少克泥土、多少养分等等。将Dockerfile提交到我们的仓库中之后,仓库就可以帮助客户快速在百度智能云这片农场里面复制出任意多个他所需的定制化容器,这就是云原生应用上云的第一步。

第二步,容器部署和编排

构建出大量种着白菜苗的容器之后,下一步就是怎么把它们合理放置在客户购买的土地上,需要考虑不同品种的白菜对阳光、温度、密度的需求各不相同,并且需要最大化提高土地利用率。我们把这个过程叫做容器部署与编排。

一颗白菜的云原生之旅

我们的产品“云容器引擎CCE”就是协助客户进行容器部署与编排的利器。CCE将客户购买的多块土地(云服务器)联结起来,形成一个称作“集群”的整体,然后自动化地完成容器在多块土地间的调度。比如当一块土地上出现虫害时,将容器调度到其它不受影响的土地上。

还有一些客户会有更加高级的需求,比如想搞一片实验田来验证某种特殊的肥料,等到结果得到验证后再逐步进行推广,这种需求被我们称为“灰度发布”。我们的产品支持客户在部署应用时设置多种灰度策略,针对一小部分容器进行升级,等到验证稳定之后再全量升级其它的所有容器。

使用容器进行应用部署,并在云服务器集群中进行容器的调度编排,这是云原生应用上云的第二步。

第三步,应用托管与治理

客户的白菜苗通过容器已经铺满了百度智能云上的土地,接下来我们就要帮助客户观察和维护它们,确保它们可以健康生长。所以应用上云的第三步,就是在云中托管和治理它们。


“百度云原生微服务应用平台CNAP”是百度智能云中的应用托管和微服务治理平台,应用托管很好理解,就是提供了多种工具帮助客户“照料”在云中的应用,而微服务是一个比较新的理念,可以理解为通过更细的粒度对整片“农场”进行管理,实现更加精细化的运营。


比如在监控方面,CNAP提供了资源层面的监控,监控容器运行的土质、水分等等;应用层面的监控,监控白菜本身的生长状态、是否健康;甚至还提供了服务和方法层面的监控,可以深入观察白菜的内部结构,当它状态不健康时可以帮助分析根本病因。

一颗白菜的云原生之旅


除监控以外,CNAP还提供了大量的工具,日志的采集和分析功能,让客户可以随时追溯白菜的生长轨迹,优化未来的运营;报警能力,可以在农场发生灾害时第一时间进行通知;跨区域的应用管理,让客户可以同时将白菜种植到全国多个农场,并且只在一处进行管理……

最后,还有无服务器技术和边缘计算

有了前面的构建容器、部署编排、托管治理,一个云原生应用的基本生命周期就已经完整了。在这个基础上,我们也一直在探索云原生当中的一些新的领域,比如说无服务器技术和边缘计算。

无服务器技术就像是无土栽培,客户甚至不需要购买土地,直接提供想要种的白菜苗,我们的“函数计算CFC”或者“容器实例BCI”产品就可以将其培育成可以食用的白菜。

而边缘计算与无服务器技术密不可分,有了无土栽培之后,我们甚至可以将种植白菜的容器通过“CDN”快递到你的家中,让你可以随时随地食用最新鲜的蔬菜。这个就是百度智能云上的“边缘计算BEC”产品。

一颗白菜的云原生之旅

所以综合来讲,百度智能云“天合”云原生平台,就是通过凝练百度内部和业界主流的云原生技术,提供丰富的产品工具和最佳实践,帮助客户用更加先进的架构和方法在云中构建、部署、运维自己的应用,让云原生转型变得像种白菜一样简单。

怎么样,你听懂了么?

一颗白菜的云原生之旅

一颗白菜的云原生之旅

一颗白菜的云原生之旅

一颗白菜的云原生之旅

一颗白菜的云原生之旅


推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 深入理解Dockerfile及其作用
    Dockerfile是一种文本格式的配置文件,用于定义构建Docker镜像所需的步骤。通过使用`docker build`命令,用户可以将Dockerfile中的一系列指令转换成一个可执行的Docker镜像。 ... [详细]
  • 2017年软件开发领域的七大变革
    随着技术的不断进步,2017年对软件开发人员而言将充满挑战与机遇。本文探讨了开发人员需要适应的七个关键变化,包括人工智能、聊天机器人、容器技术、应用程序版本控制、云测试环境、大众开发者崛起以及系统管理的云迁移。 ... [详细]
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
  • PCIe中的弹性缓冲原理解析
    PCIe是一种高速串行总线,其传输信号为差分信号,并采用同步传输方式。然而,PCIe并没有专用的同步时钟。本文将详细介绍PCIe中的弹性缓冲(Elastic Buffer)原理,探讨其如何处理时钟差异,确保数据传输的稳定性和可靠性。 ... [详细]
  • 本文介绍了两种有效的方法来解决DataSnap支持的Tcp长连接数受限的问题。方案一通过代理服务器实现负载均衡,方案二则利用多进程技术提升连接数。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • 本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ... [详细]
author-avatar
kafei
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有