为什么你的创业公司应该运行在 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应用程序,对未来进行规划也意味着精心构建基础架构,以使你的团队能够快速移动一年或三年。
初创公司,上来主要精力集中在主业发展上,可通过招聘市场招聘IT经理,继而组建一个小规模的IT团队。但是IT这块专业性比较强,人力成本较高,在上海一般IT工程师年薪15w+,IT经理年薪30w+,可见一支小规模的IT团队也开销不菲。
初创公司要力求把每分钱花在刀刃上,特别是对于启动资金有限的初创们。建议通过专业的供应商,按照明确的需求来采购。IT供应商很多,愿意深耕初创企业的却很少。
建议咨询这家,未 信 号: 姚八武 而要物流 五把刘刘,用心做每一家初创企业,业务涵盖广泛:1。IT建设战略规划、咨询
2。IT办公室、工厂布线、监控、企业邮箱
3。IT机房建设、服务器机柜租用、托管
4。企业IT系统运维
5。企业上云咨询、规划、建设
随着时代的发展,跨境电商也越来越火爆,跨境电商主要是为用户提供浏览购物的平台,如果网页稳定性不好会影响网页的展现效果,速度慢直接影响用户的体验感,间接影响企业利益,那跨境电商企业又该如何选择优质的服务器,更有利于海外客户访问呢?
1、跨境电商怎样选择服务器?
选择服务器的标准:访问速度快、网速一直很稳定、服务器安全,没有黑客攻击,也就是记住速度快、稳定、安全这3个方面的原则来选择服务器。
电商企业进军全球市场必须要选择国外服务器?答案是肯定的,那么原因何在呢?
2、跨境电商为什么要选国外的服务器?
选择好的服务器是做好一个跨境电商企业的一个基础。外贸站当然选择国外的服务器最好,因为外贸站的客户都是在海外,这样访问的客户也是机房更近一些,访问的速度也会更快,服务器决定着网站的速度、稳定性和安全性,因此网站的服务器选择至关重要!正确选择合适的虚拟主机是迈好开拓海外市场的第一步!
那么,一个好的服务器该具备什么样的条件呢?
服务器速度要快
速度是相对的,除了使用CDN全球加速外,目前要找到一款全球都秒开的主机比较难。我们在选择主机之前,先思考一下,我们的目标客户究竟在哪里?如果主要客户是在美国,当然第一选择是美国主机。选择美国主机,势必会造成国内访问会相对有点慢。总的来说,目标客户主要在哪里,那我们的主机就尽可能选择在哪里!
服务器稳定性要好
一个网站能否正常运营,除了程序因素外就是空间的稳定性了。主机稳定与否,将会对搜索引擎和用户体验产生双重影响,所以选择外贸建站空间时一定要选择稳定性能高的。当前主机市场上主机商可谓鱼龙混杂,为了保证主机稳定性能,我们最好选择那些具有多年托管经验的老牌主机商。
服务器安全性要高
做外贸站可怕的地方就是网站被黑。为了防止网站被黑,要记得经常备份。如果没有备份,一旦被黑客攻击,网站被攻击前所做的努力都会付诸东流。经常备份网站一方面可以加强我们网站的安全,另一方面选择主机时考虑主机安全系数也至关重要。多参考各家主机商的客户反馈,选择安全性高的虚拟主机,这样才能选出更有保障网站安全性的主机。
服务器性价比要高
对于初创企业,跨境电商企业有一定的资金预算,因此我们需要学会选择性价比高的主机。
小编建议做跨境电商的企业,要就近地域选择服务器,一般做东南亚市场的外贸商家,选择香港或者新加坡的服务器比较多,如果市场主要在欧洲,一般就是选择英国德国的服务器,市场在美国的话,一般就是选择美国的服务器。
0条评论