写点什么

用 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:54974

评论

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

MyEMS:开源基因驱动的能源管理范式革命

开源能源管理系统

开源 能源管理系统

业务监控—一站式搭建jmeter+telegraf+influxdb+Grafana看板

京东科技开发者

MyEMS 开源能源管理系统:构建智能能效管理新范式

开源能源管理系统

开源 能源管理系统

SQL 判断是否“存在”?99% 的人还在写错!

左诗右码

企业如何利用 MyEMS 开源能源管理系统实现节能减排

开源能源管理系统

开源 能源管理系统

黑龙江二级等保:助力区域网络安全水平整体提升

等保测评

2025年十大BI软件权威排名:中大型企业数据分析平台深度解析

数据集成与治理

BI 分析工具

汽车之家联合HarmonyOS SDK,深度构建鸿蒙生态体系

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

HPE焕新品牌战略,进一步拓展中国市场合作伙伴生态

科技热闻

日志管理演进:从基础到创新

运维有小邓

日志分析 日志管理 日志审计

5G-A助力甜都开启“苏超”超强体验

科技热闻

本地部署VS Code Server,如何用内网穿透实现无需公网IP远程访问?

贝锐

内网穿透 Server 端 Serverless VSCode WebIDE

架构提效的矛盾和矛盾的主要方面

京东科技开发者

BI 软件 FineBI——中大型企业数据分析降本增效首选

数据集成与治理

BI 分析工具

《实时分析市场报告 2025》上线 | 从批处理到实时洞察,2025 年全球实时分析市场全景解读

tapdata

实时数据 CDC 实时分析 市场研究报告 流式处理

前端开发中依赖包有问题怎么办

京东科技开发者

1989年的模糊测试技术如何在2018年仍发现Linux漏洞

qife122

漏洞挖掘 模糊测试

大数据-71 Kafka 从 sendfile 到 mmap:高性能背后的 I/O 技术全解析

武子康

Java 大数据 kafka 分布式 消息队列

移动研发模式升级:从原生开发到全域跨端的技术突围

Byte_Me

小程序 App 移动开发 移动端 移动开发平台

微店商品列表API开发指南

tbapi

微店API 微店商品列表接口 微店数据采集

哈尔滨二级等保:为中小企业网络安全筑牢坚实防线

等保测评

CST如何设置电压监视器-CST软件教程

思茂信息

cst CST软件 CST Studio Suite

MyEMS 能效协同机制的构建与实践

开源能源管理系统

开源 能源管理系统

乔嘉林:创业路上,与自己赛跑|北京卫视《为你喝彩》

Apache IoTDB

BI 软件 FineBI——中大型企业数据分析降本增效首选

数据集成与治理

BI 报表

劳工管理系统(源码+文档+讲解+演示)

深圳亥时科技

保护身份,保障数据:加强企业安全的五项关键实践

运维有小邓

Eventlog Analyzer 怎么帮助企业满足合规性?

运维有小邓

微店商品详情API开发指南

tbapi

微店API 微店数据采集 微店商品详情API 微店详情API

App 开发困局如何破?从成本高企到差异化突围的实战路径

Byte_Me

小程序 App APP开发

联通5G-A助你抢抓“苏超”金球时刻

科技热闻

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