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

一颗白菜的云原生之旅

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

一颗白菜的云原生之旅

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

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

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

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

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

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

一颗白菜的云原生之旅

第一步,构建容器

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


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

一颗白菜的云原生之旅

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

一颗白菜的云原生之旅

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

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

第二步,容器部署和编排

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

一颗白菜的云原生之旅

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

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

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

第三步,应用托管与治理

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


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


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

一颗白菜的云原生之旅


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

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

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

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

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

一颗白菜的云原生之旅

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

怎么样,你听懂了么?

一颗白菜的云原生之旅

一颗白菜的云原生之旅

一颗白菜的云原生之旅

一颗白菜的云原生之旅

一颗白菜的云原生之旅


推荐阅读
  • BPM是什么软件?1、BPM是BusinessProcessManagement的简称,译为业务流程管理,它是一种以规范化的构造端到端的卓越业务流程为中心以持续的提高组织业务绩效为 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 熟练掌握Spring Cloud,终于成为Java工程师的面试门槛 ... [详细]
  • [翻译]微服务设计模式5. 服务发现服务端服务发现
    服务之间需要互相调用,在单体架构中,服务之间的互相调用直接通过编程语言层面的方法调用就搞定了。在传统的分布式应用的部署中,服务地 ... [详细]
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 使用Docker安装和运行Nexus
    本文介绍了使用Docker安装和运行Nexus的方法,包括docker-compose.yml配置和启动时可能出现的权限问题解决方法。同时提供了登录控制台验证安装的地址和登录信息。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
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社区 版权所有