生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

用 Docker 和 Kubernetes 重做云服务

  • 2020-03-12
  • 本文字数:2505 字

    阅读完需:约 8 分钟

用Docker和Kubernetes重做云服务

重做云服务

在之前的博客中,我写过开源软件如何作为服务被交付,而不是从二进制文件角度来看它们。这些开源服务交付一个免费、开放、灵活的服务,工程师用来帮助创建他们的应用程序,这个过程不需要解决保持软件持续运行的问题。


今天我们来谈进一步的话题,新一代的云服务:Anywhere Cloud Services,即随处安放的云,这一切多亏有了 Docker 和 Kubernetes。

现目前云服务在哪里

现在的应用程序水平云服务,比如说 AWS 的 Kinesis 或者是谷歌的 BigTable,会提供全面管理服务给工程师,在这里你可以在不需要努力维护的基础上创建一个应用程序。这些服务不仅安全、自动调度的、被监控的,登陆中的,还是整合好的,已更新的。个人来说,我爱死这些服务了。但是……


  • 你可以通过代码锁定这些服务(比如,修改数据库备份的时候需要修改软件)

  • 选择一家公有云服务,同时也会要求强制使用他们的硬件。所以,要是你的应用是在微软 Azure 上运行,但是私心却比较偏爱 Big Table,那怎么办?

  • 如果你想要使用开源软件,但是又不想自己操作,调度,也不想自己给开源软件提供安全措施怎么办?

  • 让我们进入 Anywhere Cloud Service。

模型 No.2——Anywhere Cloud Services

anywhere cloud service 服务是全面管理服务,这个管理服务可以在任意地方交付,它有三个特点:


全面托管——用户不需要担心保持服务在线这个事情。服务提供商会承担这个责任。


可以运行在任何地方——用户选择服务所在的地方。可能是主要的云提供商的其中一个,或者是带有标准 API 的私有云。在运行的基础设施中有一个清晰的分界:


被当作 service,而不是软件——以明显可消耗的方法来为使用者提供一个功能。比如,一个 No SQL 服务提供注入数据的方法,并且解析数据。这个服务会自我治愈。当被需要的时候它会自己调度。它为使用者提供指标,日志和警报。这也是高度可用的。安装这个服务跟运行一个命令行或者点击一个按钮一样简单可操作。

举一些例子

为了帮助阐述这个 idea,这里是一些我们可能不久之后就会看到的例子:


  • AWS 上的任意的非基础设施,比如说,No SQL DynamoDB 服务,可以提供在其他所有云提供商上。比如,Azure,谷歌云等等。

  • 谷歌的非基础设施服务,比如他们的 PaaS App Engine,可以被部署在任意公有云上,甚至可以通过 openstack 部署到本地数据中心。

  • 初创公司在 Docker 容器空间后,创建了可以在任意公有云或者私有云上运行你的应用程序/代码的服务。

  • 出于想要受益于开源软件的原因,开发团队决定使用在 Kafka,Spark 和 Cassandra 的数据栈。然而,他们并不想自己雇咨询公司或者自己操作。所以,有些初创公司专门研究在任意期望的位置提供这些软件,他们使用的就是这些初创公司做的新服务。

  • 这些开源软件的创造者会打包他们的软件,这样的话,除了处理源代码和二进制文件,软件可以像配置服务一样轻松。这些公司同时也将花费成本提供这些 service 的“支持”版本。

  • 以上这些皆有可能,多亏 Anywhere Cloud Service。

那么,我们如何做到 Anywhere Cloud Service (ACS)

在到达 ACS 的过程中,有两大障碍:


1、如何用标准和有效的方式跨越多个云服务商,在硬件的前提下,来打包和配置软服务。


2、怎样使用有效的方式来打包、运行、配置、调度和确保你的服务的安全性。

进入 Docker 和 Kubernetes 环节

Docker 令我们可以快速的创建,打包和通过特殊方式打包在多个系统上运行软件。通过使用容器,云服务提供商可以在任意环境运行他们的软件。但是,这还远远不够。我们需要一种可以让软件安装、运行和实现高可用的方法。我们需要 Kubernetes。


一旦软件在 Docker 容器中打包,我们就可以通过使用 Kubernetes 的功能将他们的软件变成 service。Kubernetes 的功能目标就是处理一系列基础设施(不管是哪里的),同时提供 API 在基础设施的基础上创建服务。Kubernetes 包括了负载均衡、弹性扩容、滚动更新、服务发现、命名空间、APIs,弹性调度和可配置的基础设施和阈值限制等等功能。使用这些功能,我们就可以创建声明式服务,并且将这些服务的控制权交给用户。Kubernetes 提高 No 和 NoOps,同时也提供给开发者单个 API,使用户可以进入公有云和私有云。

我们如何使用 ACS?

首先,用户需要有一个或者多个 Kubernetes 集群。安装 Kubernetes,使其运行能够在 5 分钟内,或者几天内运行起来(这个时间的话依据你的不同情况而定)。Kubernetes 支持大部分的公有云,openstack 云和本地数据中心。


用户也可以选择要运行在虚拟机上还是运行在物理机上。我们可以自己运行 kubernetes,如果我们在寻找增加支持,我们也可以使用管理工具来运行。


注意,在这里,用户完全处于控制地位,摆脱任意的锁定,自己控制自己的应用程序在哪里运行。多亏普通 API,这些 API 存在于任意的基础设施环境,用户可以使用他们的集群在多个云提供商上进行交付,或者他们可以创建一个真实的混合策略。


其次,通过将这些服务将他们的代码配置到用户的 Kubernetes 集群上,这样用户可以简单的使用这些服务。通过 app store,或者通过开发人员,用户可以搜索满足他们需求的服务,然后点击安装。服务提供商会在云端或者是在本地接触 Kubernetes 集群问题,并且安装服务。开发人员会马上开始使用服务。服务提供商的工作就是确保服务运行,健康的,并且按照需要调度。


在这个新世界,用户对自己的应用程序和他们所依赖的服务有越来越大的控制权。他们可以在云间,在私有云、公有云上移动我们的应用程序。使用者可以在多个集群间积极运行应用程序或准备好 active-standby。

总结,Anywhere Cloud Service

有了 anywhere cloud service,开发人员就能够按照他们想要的方式创建他们的应用程序,同时不需要担心运行和操作后端服务的问题。科技高管有云端锁定的自由,同时也有真正的混合解决方案。公有云提供商可以在其它不想移动的云上面访问用户。开源项目又有了收费的新途径。企业家正迎来新一波的淘金热,也面临众多的机遇与挑战。

总结——Anywhere 和开源服务

在 5 年内,新一代云服务将会像软件一样,你可以随意买一些,然后随意安装在你想要的地方,我预言一切就是会变的这么容易。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/fhwcpAu-qmyPG146jVpHcQ


2020-03-12 22:54781

评论

发布
暂无评论
发现更多内容

美团前端常见面试题整理

loveX001

JavaScript 前端

云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据

华为云开发者联盟

大数据 数据分析 华为云 企业号 2 月 PK 榜 华为云开发者联盟

ChatGPT专题 | 万字长文解析!复现和使用GPT-3/ChatGPT,你所应该知道的

工赋开发者社区

低代码选型,论协同开发的重要性

葡萄城技术团队

社招前端二面面试题总结

loveX001

JavaScript 前端

当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?

API7.ai 技术团队

AWS api 网关 Lambda s APISIX

工业数字孪生:西门子工业网络与设备虚拟调试案例(TIA+MCD+SINETPLAN)

工赋开发者社区

如何使用 Kubernetes 实现应用程序的弹性伸缩

API7.ai 技术团队

Prometheus api 网关 APISIX Serverless Kubernetes

经常会采坑的javascript原型应试题

loveX001

JavaScript 前端

NFTScan x TiDB丨一栈式 HTAP 数据库为 Web3 数据服务提供毫秒级多维查询

PingCAP

TiDB

ZBC通证月内已翻倍,Nautilus Chain 上线前夕的“开门红”

西柚子

IoT物联网设备端硬件上云技术方案详解——实践类

阿里云AIoT

物联网 存储 开发工具 数据采集 传感器

和狂飙的 ChatGPT 聊聊软件开发的现在与未来

极狐GitLab

DevOps 研发效能 DevSecOps 极狐GitLab ChatGPT

代码的发展与终结

SoFlu软件机器人

设备上报二进制数据在 IoT 平台解析实践——实践类

阿里云AIoT

小程序 监控 物联网 传感器 测试技术

建议收藏!数据可视化大屏设计必备步骤

葡萄城技术团队

0经验拿下大厂年薪30万Offer,我的面试求职之路(含面试题)~

霍格沃兹测试开发学社

Tapdata 和 Databend 数仓数据同步实战

Databend

大前端CPU优化技术--SIMD技术

江湖修行

simd neon

如何通过Java 代码设置 Word 文档页边距

在下毛毛雨

C# .net word文档 页边距

用户属性-MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 2 月 PK 榜 用户属性

AntDB数据库再获奖,亚信安慧被评为“2022 PostgreSQL中国最佳创新企业”

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库 企业号 2 月 PK 榜

行业分析| OA系统中的实时通讯

anyRTC开发者

音视频 远程办公 视频会议 视频通话 OA

IoT企业物联网平台,从设备端到云端业务系统全链路开发实战——实践类

阿里云AIoT

数据库 监控 物联网 存储 消息中间件

LeetCode题解:89.格雷编码,归纳法,详细注释

Lee Chen

JavaScript LeetCode

深入理解JS作用域链与执行上下文

loveX001

JavaScript

聊聊 HTAP 的前世今生

墨天轮

数据库 OLAP TiDB OLTP HTAP

基于 IoT物联网 + 表格存储DB + DataV 搭建实时环境监控大屏——实践类

阿里云AIoT

数据库 监控 物联网 存储 数据可视化

测试开发 | Dubbo 接口测试技术,测试开发进阶必备(附源码)

霍格沃兹测试开发学社

数字经济赋能乡村建设,助力乡村全面振兴

加入高科技仿生人

低代码 数字经济 乡村振兴 农村

2023年Java面试正确姿势(1000+面试题附答案解析)

Java编程日记

Java 架构 后端 java程序员 java面试

用Docker和Kubernetes重做云服务_服务革新_才云科技_InfoQ精选文章