为什么你的创业公司应该运行在 Kubernetes 上

作者&投稿:愚辉 (若有异议请与网页底部的电邮联系)
~

从 2019 年初开始,就有不少创业公司陆陆续续向我咨询 Kubernetes 等云原生技术。

我总是会问这些创业公司的部署流程是怎样的,因为这能让我大概了解到一个公司的技术复杂度处在哪个阶段。有些公司仅仅使用 scp 部署简单的PHP应用程序,就能让公司走的很远,而有些公司的架构达到极限,不得不使用诸如Redis或者Kafka这样的基础组件作为内部通信,从而将系统拆分为不同的服务。

当他们知道我的履历里有Kubernetes的相关实战经验后,便总会问起它。大多数公司对上手Kubernetes很感兴趣,但同时也对Kubernetes是否适用于特定的用例表示出了担心。我在上一家公司是怎样使用它的?学习它困难吗?开发团队有哪些使用它的经验?

当然,有时候一些关于实施不当的可怕故事会使他们担心迁移到Kubernetes是一个错误。经常听到一些非常合理的怀疑,同时又希望部署更加简单但又犹豫不决已经成为一种常态。

所以这里我直接切入重点。基于我已经在两家非常不同的公司使用了Kubernetes,如果我今天从头开始做一家创业公司,我极有可能从Kubernetes开始。这是我的结论。

简而言之,运用Kubernetes带来的积极因素远远超过了少数不利因素。我认为它值得许多创业公司的投资。并非所有的创业公司,也不一定是你的公司,但是一定有很多这样的公司

让我们来看一下几点原因。

Kubernetes最初是由Google开发的开源容器编排系统,后来被贡献给了开源社区,目前有大量新的第三方库和插件(术语叫做operators)。

Kubernetes不是像阿里云或者腾讯云这样的云平台,事实上,你可以在自己的数据中心,硬件上运行和部署Kubernetes,不过我不建议初学者使用。它更像是一种用来描述工作系统的语言。一旦我们对系统进行了足够详细的描述,Kubernetes便可以使用其计算资源(Kubernetes的术语是nodes)来执行系统的容器。

对于初创公司来说,最大的好处就是,这种“描述工作系统”的过程可作为文档和代码的集中位置来定义基础架构

我不想撒谎,像AWS或者阿里云的Kubernetes容器服务目前价格偏高,除了最少3到5个实例节点外,还需要一部分管理费。但是请考虑你要花多少钱才能让工程师手动启动节点。这些纯粹的基础架构变更所浪费的时间仅仅是在开发产品上花费的时间。如果你是一家想实现下一个更大目标的公司,你应该乐于付出合理的开销,以神奇的方式消除团队中容易出错且耗时的过程。

使用现成的Terraform工具,你还可以通过简单的单行更改创建一个可以扩展的集群。在我的上一个团队,我们仅仅通过将Git提交命令从2改到4,就将集群从2个节点增长到了四个节点。添加节点后,Kubernetes会自动将资源移动到新的节点上,不需要进一步的工作。然后你可以继续解决工作中的实际问题。

传统的Linux生产系统通常看起来像这样:你有一些用Java,Python或Ruby编写的代码。应用程序代码通常由不太了解服务器的人编写(或者至少没有服务器的实践经验)。

假设你有一台机器在阿里云ECS中,由你的运营团队中的某人管理,该人不太了解应用程序代码。当应用程序团队完成某些工作时,他们希望能够部署这些更改。运维团队希望确保所做的更改不会破坏任何系统的内容。

你也不希望系统在部署期间离线。如果出现问题,你希望能够回滚到以前的代码版本。从上载资产到启动服务器的部署过程需要30分钟怎么办?难道要将系统离线30分钟吗?可能不会。你可能会想出一些系统来保持版本n-1的运行,直到版本n启动为止,此时你将切换到新版本。

这听起来确实有点复杂,有很多要记住的地方,还有很多可能出错的地方。这些部署规则会用一系列脚本进行编写,这些脚本需要进行版本控制和维护,并且很可能本身包含错误。而且,当我们将公司扩展为各个独立的团队时,他们所有人都可能一天多次部署。然后噩梦就开始了。运维团队开始对系统中的客户流失感到不知所措。随着过程变得越来越繁琐,部署花费的时间也越来越长。

这个故事听起来很熟悉吗?

Kubernetes消除了很多复杂性。要部署新版本的服务,我们可以简单地更新容器镜像以指向新版本的代码。我们还可以定义运行状况检查,以在宣布新版本正常运行之前执行该检查。如果未通过,则旧版本的代码将继续运行

我们可以使用仅供内部使用的DNS名称(例如order_service)定义服务,该名称将自动平衡正在运行的副本的负载。无需维护运行实例的列表。并且,如果我们在部署后发现问题,则可以使用简单的回滚命令查找先前的容器镜像并将其应用。通常这只需要几秒钟,然后我们回到运行软件的最新已知稳定版本。

听起来不是很好吗?

我在一些复杂的系统上工作过,这些系统要求管理部署的人员了解a)Python,b)Bash,c)我们正在运行的OS版本的一些细微差别,d)JVM标志,e) SCP命令(您可以在不查看文档的情况下编写有效的SCP命令吗?)……等等。

还有一些组织开销。部署脚本和基础结构代码通常由运维团队管理。但是开发人员经常需要更改部署代码,例如,在启动时设置标志,并扩大系统规模。这在开发人员和操作人员之间造成了紧张关系,因为这两个团队之间产生了彼此的要求,但往往会遵循不同的目标。

所有的这些复杂性会增加你在启动过程中的开销。如果你想快速开发新功能并且能够轻松地从一个项目跳到另一个项目,想保持尽可能小的摩擦。那么Kubernetes消除了很多痛苦,让你专注于产品。

当然这个世界上没有灵丹妙药,而且在某些情况下,像Kubernetes这样的东西有点过于庞大。

如果你只是运行WordPress,则不需要Kubernetes。如果你运行的CMS只是偶尔进行一次升级,升级库或安装插件,而实际上从未真正部署过,则不需要Kubernetes。Kubernetes确实是针对管理大型,不断变化的系统进行了优化。

显然,如果你要编写需要与Linux内核接口的底层嵌入式系统或软件,那么Kubernetes不适合你。这适用于任何容器化解决方案。

Kubernetes确实有一种称为“状态集”的资源类型,旨在运行诸如数据库和管理状态的消息代理之类的东西。从理论上讲,运行有状态集可以允许您运行多个副本并上下缩放它们,以及附加和扩展存储。但是这样做总是让我有些紧张。借助应用程序服务,我希望使开发人员可以轻松调整设置和部署,而不会遇到麻烦。对于数据库,反而相反。因为意外更改设置或将系统升级到新版本比较少见。我也不想让我的数据库在集群中争夺CPU和内存。

如果我使用的是阿里云并且可以访问RDS,那么我特别倾向于不使用Kubernetes来存储数据库。你选择的云提供商中的RDS或类似产品将更易于管理自动备份,扩展和监控。

Kubernetes非常适合需要随时间扩展和增长的任何项目

如果你是一家初创公司,那么几乎可以肯定你属于该类别。你现在可能很小,但是你在不断成长。这就是你说服投资者的理由,也是你聘请如此多开发人员的原因。你的系统将要快速更改和扩展,因此你希望以尽可能减少成本和摩擦的方式构建系统。

仅出于这个原因,我认为任何电子商务,SaaS或类似公司尽早投资Kubernetes都是有意义的。即使你只是在集群中部署单个简单的Web应用程序,对未来进行规划也意味着精心构建基础架构,以使你的团队能够快速移动一年或三年。




什么样的人适合进入创业公司?
在潜能营的课前提问环节,我填写了关于创业的问题:“关于创业,你有什么要问贝金雨老师的?”其中,我特别想知道什么样的人适合加入创业公司。我很高兴,贝爷在她的分享中给出了一个相当完整的答案。适合加入创业公司的人,首先应该具备强大的自我驱动力。在初创团队中,员工必须以自己是CEO的心态去工作...

创业公司该如何应对巨头
当然,任何一个创业的团队,首先应该考虑自己要做什么,然后再考虑怎么应对竞争,这是个主次问题。我们的董事雷军在最近的一次分享里讲到创业公司考虑产品方向,应该“Gobigmarket”,并掌握好的时机(也就是站在风口,猪也能飞起来的理论),但是我个人认为,这是一个看起来很好,但实际上很难做到的事。只有很少数非常成熟和...

创业 企业应如何走向成功
5、在最低资本要求的情况下做好你的功课 假如你的主要资金来源没有兑现或比你预期的兑现得更晚,你就必须先准备好B计划或C计划了。就算你有最好的商业计划,一旦遇到现金流断裂,一切堪忧。6、提供定制化的产品或服务 因为量的原因,创业公司很难迅速成为低成本的生产商。资本雄厚的大公司则很难大...

创业公司是什么?
创业公司或者创业是勇于探索可重复和可扩展性商业模式的一家公司,一个合作伙伴或者暂时成立的组织。这些公司,一般新建的,是处于商业发展和市场研究的阶段。它被世人所皆知是在互联网泡沫时,大量互联网公司创建。创业投资创业投资的经营方针是在高风险中追求高回报,特别强调创业企业的高成长性;其投资对象...

创业的公司如何选择好的方向?
可能他们是疯子,可能他们有选择痴呆症,可能他们没有考虑到他们有可能会一把输光所有的筹码,但是,最伟大的公司都是这些人创立的。伟大的创业者对于风险的感知很迟钝,但一旦意识到,又有能力快速地将风险化解。但是也不要灰心,你现在不愿意投入全部精力不代表你以后也不会。有那么多亚马逊出来的人后来...

创业公司为何要融资?
整个融资过程是漫长、艰难、复杂的,同时也可能会让创业者的自尊心受到伤害。不管怎么样,几乎所有的创业者和创业公司都需要经历这个路程。下面问题来了,什么时候才是融资的最佳时机呢? 2\/何时融资? 投资人为何要给你投资呢?只有当他们觉得你的创业想法具有说服力,相信公司的创始人团队有能力将自己的想法变成现实并...

什么是创业公司?
创业公司一般是新成立的是处于商业发展和市场研究的阶段。创业公司是勇于探索可重复和可扩展性商业模式的一类公司公司。创业企业是高成长性与高风险性并存的创新开拓型企业,创业企业应以奖励股权和购买股权相结合为重点,建立创业型企业家激励制度。创业企业核心员工的激励机制包括物质激励、精神激励、政策激励...

初次创业注册公司要准备什么
公司名字取好后就可以准备核名称啦~需要取3—5个公司名称备用。(2)关于公司注册资金 注册资本并不是写越多越好。理论上,除了仍旧实行法定注册资本的行业外(比如银行、保险、证券、融资租赁、建筑施工、典当、外商投资、劳务派遣等十四类行业),注册资本随意设定都是可以的。但作为创业者,应当有比较...

创业公司如何建设企业文化
老板的个人影响应有所限制,企业应发展为包容、开放和创新的环境。随着公司成长,企业文化需要不断演变,但始终以促进企业健康发展为目标。总结来说,创业公司建设企业文化是一个持续的过程,需要明确导向,适时调整,以适应公司发展阶段,确保企业长远发展。希望以上内容对你的创业公司文化建设提供帮助。

创业板上市公司具备什么特征?
创业板上市公司应具备以下特征:1、以信息、生物和新材料技术为代表的高新技术企业是创业板市场的首选群体,其他具有独特性行为的企业,以及传统行业与现代技术融合所派生的新兴行业中的企业,也是创业板市场的挑选对象。2、主业突出、技术独特、产品市场潜力大,是创业板市场上市公司的基本要求。3、创业板...

陈仓区18983023299: 为什么很多公司的总部搬到了深圳? -
繁疮吉姆: 深圳经过30多年的发展,从一个边陲小镇发展成为一个上千万人口的现代化、国际化的特大城市.而且发展到目前深圳的人均国民收入排名第一,已经成为我国最重要的高科技企业集聚和创新基地,全国第三个金融中心,全球第三大集装箱港口...

陈仓区18983023299: 企业为什么要使用BPM系统? -
繁疮吉姆: 主要有以下情况: 1、企业业务扩增带来的复杂业务规则和执行时效必须通过以“流程”为核心的BPM平台来实现规范性和高效保障; 2、随着企业规模不断扩大,管理上面临的地域性和层级限制必须通过BPM平台来消除,实现 集团及子公司运行情况的全盘掌控; 3、企业的业务系统众多且分散,异构系统导致的信息孤岛和业务对接困难等问题必须通过BPM平台打破并实现业务端到端的高效整合. 像彩生活集团、正佳国际集团、粤运集团都选用teemlink BPM 系统,以信息化升级助推业务和管理升级.

陈仓区18983023299: 为什么企业要选择idc机房及服务器托管 -
繁疮吉姆: 因为想做服务器得有足够的带宽,一般大型机房都是百兆光纤,家里的光纤或宽带远远不够,还要固定ip,如果停电了还要有ups供电,还有防病毒的硬件防火墙,专业人员的维护,24小时不断电需要有人值夜班,这都要专业的机房提供.如果自己弄个服务器,再租光纤(10兆的光纤就非常贵),投资比这还要大.

陈仓区18983023299: 自己有很好的创意,想找风险投资人,请问我需要准备什么什么,怎么去说服对方. -
繁疮吉姆: 有些风险投资公司的标准很狭窄――比如特定地区、特定发展阶段、特定技术等等.但也有些风险投资公司的标准很宽泛,不过一般来说,都会有一些共同的普遍适用的标准,用来对早期创业公司进行评估.下面列出一些这样的标准,如果你的...

陈仓区18983023299: 新媒体运营现在前景好不好?
繁疮吉姆: 一、做新媒体运营有前途吗?有前途!原因有3个:1、新媒体运营的职业技能,时间越长越值钱在这个人工智能技术已经渗透到各个行业的时代,我们要选一个不容易被代替的职业.很多人在公司里做的都是螺丝钉,每天都在做重复乏味的工作...

陈仓区18983023299: 兼职创业需要具备哪些条件 -
繁疮吉姆: 各位在决定进行边打工边创业之前,还得好好想一下自己是否真适合来当这个准老板.创业也就是选择一个商业项目来起步、操作,普遍的来说,适合边打工边创业的项目规模都比较小,但这个再小的...

陈仓区18983023299: 一个项目在刚开始运作的时候投资者与经营者如何进行股权分配? -
繁疮吉姆: 1、按投入现金分配.总投入为5万+5万+40万=50万,则其它股东40万占80%的股份,你和你的朋友每人5万各占10%的股份.这里有个问题你可能没弄明白,经营是不能计算股份的,只能领工资 .例如你们全部股东都不经营,而是聘用一职业...

陈仓区18983023299: 腾讯是一家靠“抄袭”发家的公司? -
繁疮吉姆: 腾讯是一家以抄袭发家的公司吗?这个问题涉及到腾讯公司的经营模式和商业道德等方面.从专业的角度来看,我认为腾讯并非靠抄袭而发展壮大的.以下是我的观点:腾讯作为中国最大的互联网公司之一,其成功并非仅仅依赖于抄袭.事实上...

陈仓区18983023299: 电商创业企业为什么需要进销存软件 -
繁疮吉姆: 现在中小型企业数量在逐年增加,企业之间的竞争也在加强,为了提高自身竞争力,企业必然会在产品以及推广等方面做出更多的投入,这样一来就会导致成本的增加. 为了保证企业的利润不减少,就需要从其他方面去减少成本.很多企业便从管理方面入手,努力提高企业运作效率,减少时间,人力,金钱等更方面的成本. 进销存软件的作用就体现在这里,可以让各个部门间的流程合理运行,提高工作效率,保证产品进出库和库存数据的准确性,从而减少各方面的浪费. 小型企业的组织架构和业务模式比较简单,为了企业未来信息化、无纸化办公做铺垫,必须得用ERP软件.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网