NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

Druid 连接池源码阅读 08

石小天

Spring Boot 输出 Web 请求响应报文

TRAMP

Spring Boot

佬技术总监,是这样优化产线MySQL数据库配置的

梦想橡皮擦

5月月更

天才制造者:独行侠、科技巨头和AI |深度学习崛起十年

OneFlow

人工智能 神经网络 深度学习 DeepMind 开源公司

用了Scrum越来越累?这三点帮你走出困境

华为云开发者联盟

Scrum 团队 估算 计划会议 需求梳理

零元尝鲜|阿里云 Grafana 商业化服务正式发布

阿里巴巴云原生

阿里云 云原生 Grafana 可观测工具

ffmpeg命令参数类型

Loken

音视频 5月月更

基于Keras的视觉结算平台构想

工程师日月

人工智能 keras 5月月更

【刷题第13天】剑指 Offer 06. 从尾到头打印链表

白日梦

5月月更

Nacos源码系列—订阅机制的前因后果(下)

牧小农

源码 nacos

SAP Marketing Cloud Contact 模型的导入配置和数据合并原理

Jerry Wang

Cloud SAP 云产品 5月月更

Mindmanager2022绿色版本

茶色酒

Mindmanager Mindmanager2022

(win)C、C++处理文件名称

DS小龙哥

5月月更

详解CVE-2022-0847 DirtyPipe漏洞

华为云开发者联盟

安全 漏洞 splice syscall 内存未初始化

透过实例demo带你认识gRPC

华为云开发者联盟

spring gRPC 数据编码 请求映射

从Flutter浅谈跨平台移动开发框架

Geek_99967b

flutter 移动开发 小程序开发

typeof和instanceof

源字节1号

Android技术分享| Context浅析

anyRTC开发者

android 音视频 WebRTC Context 移动开发

JSON数据传输大法第一式——用OADate处理日期格式

葡萄城技术团队

json 前端 表格开发 表格 表格技术

强化 WordPress 的 11 种有效方法

海拥(haiyong.site)

安全 WordPress 5月月更

【C 语言】指针 Four 之[" * & 的应用"、通过指针交换变量值、指针变量的说明、 指针类型的意义(1)、指针类型的意义(2)]

謓泽

5月月更

重磅官宣!摩尔线程携手7家核心分销商伙伴共拓GPU市场机遇

科技热闻

“易+”开源计划丨基于标准 WebRTC 低延迟直播开源实践

网易智企

WebRTC 低延时

JVM进阶(十四)——初识JAVA 类加载机制

No Silver Bullet

Java 类加载机制 5月月更

Clickhouse:日志表占用大量磁盘空间怎么办?

Ken

Clickhouse 日志表

带你聚焦GaussDB(DWS)存储时游标使用

华为云开发者联盟

sql 数据处理 GaussDB(DWS) 游标 动态游标

「深度」国产GPU的“成色”与“现实”

Finovy Cloud

服务器 GPU服务器

FinClip SaaS 版本重磅上线,打开全行业技术普惠大门

Geek_99967b

SaaS 小程序容器 小程序开发

Docker下Java文件上传服务三部曲之一:准备环境

程序员欣宸

Java Docker 5月月更

有奖调研!第四期(2021-2022)传统行业云原生技术落地调研——央国企篇

York

容器 DevOps 微服务 云原生

Fruity Loops Studio20.9中文版水果软件

茶色酒

FL STUDIO20.9 FL Studio

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