Coinbase的容器技术

为什么Kubernetes不在我们的堆栈中

工程总监Drew Rothstein

TLDR:容器编排平台是复杂而惊人的技术,可以帮助一些企业和团队解决一整套问题。但是,通常被忽略的是,容器技术还带来了一系列必须克服的挑战,以防止出现故障 。

历史

在进入今天之前,重要的是要了解引导我们来到这里的技术。

1980年代: chroot 1990年代: 入狱 2000年代(早期): 监狱> FreeBSD 2000年代(中期): cgroups ,2.6.24 2000年代后期: LXC(Linux容器) ,2.6.4 2010年代(早期): Docker 2010年代(后期): Kubernetes

如果感兴趣的话,在Enterprise Docker的第7章中有更详细的历史记录。

如果没有我们今天所知的容器,让我们回溯约10年。目前,我们还没有使用docker,rkt或其他任何主流的容器化包装器/服务。大多数大型公司都构建了内部系统来捆绑其应用程序,以从源代码移植到生产环境中。工程师在他们的机器上运行的东西通常不是生产中正在运行的东西,或者如果它是生产中正在运行的东西,那么它就以一种非常定制和复杂的方式进行了精心的一次性构建/打包。

在内部系统捆绑和部署应用程序的世界中,通常有一个大型运营团队,通常在一个平台或基础架构组织中,负责管理捆绑/构建过程,部署和部署后的工作。这些角色通常具有很高的操作性,包括对不良主机进行故障排除,诊断与OS补丁程序/升级有关的特定依赖性问题等。部署后的部署很少,甚至没有自动化的编排,并且涉及容量规划,订购更多服务器,进行机架式/安装以及以某种方式获得软件已更新。

如果你是幸运的,有一些常规的工艺打造一个“黄金映像”(认为: 帕克通过Hashicorp),这是有据可查的,甚至有可能编纂,并运行一个持续集成系统,如哈德森(以前詹金斯{ REF } )。这些映像以某种方式手动或通过某种配置管理实用程序自动分发到您的系统,然后以某种顺序启动(可能使用并行SSH或类似工具)。

在过去的十年中,一切都发生了变化。我们从庞大的整体应用程序转变为将服务分解为更多离散的和耦合较少的部分。我们从必须构建/拥有自己的计算,到通过单击几下和使用信用卡即可获得托管或公共云产品。我们从垂直扩展应用程序到重新架构它们以进行水平扩展。所有这些都是在发生社会变化的同时发生的:每个口袋里的手机,网络速度的提高,世界各地网络延迟的下降,以及从预订狗步行者到商品化的视频会议的所有在线操作。

AWS在2009年提供的产品非常有限。从远景来看,直到2008年AWS的EC2产品退出beta版本并开始提供SLA( 参考 )。作为参考,GCP直到2013年才在GA中推出计算产品( 参考 )。

公司为什么选择容器化其应用程序?

公司选择对应用程序进行容器化,以快速,安全和可靠的方式提高工程产出/开发人员的生产率。尽管有时可以将容器内置到图像中,但是选择容器化与构建图像是一个选择,但这超出了范围( ref )。

容器使工程师能够以与在其他环境(分段和生产)中运行的相同或相似的方式在本地开发,测试和运行其应用程序。容器可以明确表达和暗示依赖关系的绑定(操作系统将始终包含程序包$ foo,这是我的MyToken提示:此处放置,阅读详情请点击“阅读”

声明:本资讯不能作为投资依据,与数字货币交易平台导航(https://www.heqi.cn/ex/)无关。

东方财经https://www.yiyihuadao.com/温馨提示,转载请注明文章出处

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
   
验证码:
微信号已复制,请打开微信添加咨询详情!