周五的晚上,4个搞云计算的中年男人,在洗完碗、完成老板交代的工作,并把小孩弄上床后,10点多,通过微信群聊,又『坐』在一起,从一个场景开始,聊起了几个关于『云计算』的话题。其实还有两个人本来也要加入,但是一个人的小孩子那天睡得比平常晚,另一个人的女朋友临时把他叫了过去,所有都没能加入。
一个传统企业,之前养过一个研发团队搞基于开源项目的云平台(比如OpenStack,Kubernetes 和Ceph),或者从一家小公司采购进来一个云平台。不巧,因为各种原因,自己的研发团队解散了,或者外部的小公司倒闭了。那么,现在这个云平台该怎么处理呢?如果时光倒流,允许从头来过,这种结局有办法能够避免吗?
处理方式不外乎以下几种:
如果时光倒回去,假设你是决策人,要怎么避免这个问题呢?可从以下几个方向进行考虑:
决策过程要考虑很多因素,其中一个关键步骤是区分业务环境:
下图也许是一个比较合适传统企业的架构:
1. 如果是创业公司,你要说服或者替客户想到避免厂商锁定问题,那么就要求在核心组建上尽量和社区保持同步。要么直接使用社区的,如果自己有定制的话,就同步到社区。
2. 看国外公司是如何基于开源项目做产品的,OpenShift 和 Rancher 是两个挺好的例子。
3. 让产品尽量保持简单,不是越复杂约好,因为,我个人不太看好各种 On 的架构,比如 K8S on OpenStack,OpenStack on K8S 等。想着运维压力就头大。
4. 如果是大厂(比如华为华三这种),可以有定制,因为大厂有能力给客户提供长期支持。
1. 随着公有云越来越广泛地被企业用户所接纳,那上云、架构设计、运维、安全等需求将会越来越多,这是MSP的业务范围。
2. 企业中会出现越来越多的没人管或没人能管得了的云平台,MSP 有实力的话提供开源平台的 L2 甚至 L3 运维服务的话,将会有客户找上门。
3. 随着混合云的逐步推广,网络和安全将变得越来越复杂和重要,而这两个东西门槛又非常高,正好这是MSP的业务范围之一。
先看看vmware这5年的股价变化趋势:
VMware vSphere 真是功能丰富、强大、稳定、可靠,还能在购买许可证上想想办法。
现在还有CMP,对外提供自服务界面和API,分分钟将虚拟化环境改造为云环境。
VMware 和 AWS 都合作得那么紧密了,其价值对于AWS 来说显而易见,对用户来说,本地vmware 环境连上云上vmware 环境,那用户体验还是相当爽的。
1. 多关注企业用户的需求,不要埋头写代码。一直认为开源社区应该有产品经理。当然了,有人说开源社区做的是开源项目,不是产品。如果只是玩技术,那结果很可能就是自己玩得嗨,用户最多把你的东西放在边缘环境或政绩项目上。
2. 更加关注核心模块稳定性,一开始就保持核心模块的稳定,从而减少二次定制的需求。不要只想着做大。
3. 教育好利用你们的开源项目做产品的创业公司,他们该往什么方向做,该如何和社区分工配合,如何帮助落地到用户的数据中心等。
4. 对多长时间后能进企业的核心生产环境更加现实一些。
1. 多关注传统企业吧,他们才是未来你们的客户的主力军,不要成天只宣传上亿并发和秒杀了,这些东西传统企业用不上估计也懂不了。他们更加关注的是稳定性、数据安全性、跟他们自己的数据中心打通、迁移成本、是否要改应用架构才能上云、现有运维人员能够做得了运维、成本、能否跟现有运营平台整合等问题。
2. AWS 把 VMware 拉在一起合作,把 VMware 环境搬到他们的公有云和私有云上,推出 Outposts,这些是真正关注传统企业的举措。AWS + VMware 其实也可以类比为 CMP + vSphere。
3. 真正的『以用户为中心』,是要时刻想着用户的需求,不管自己之前说过什么(AWS 之前说私有云不是云,只有公有云才是,言外之意VMware更不是云)。现在用户需要什么,那就提供什么。
1. 云可以有多种形式,VMware + CMP 可以看做云,私有云其实严格来说不是云,至少它缺乏云应有的规模性和弹性,公有云才是真正的云。
2. 上云不能只是资源上云,上云更是一种理念。如果只是把应用从物理机上迁移到虚拟机上,这并不叫上云。上云至少还包括开发上云(面向云开发,DevOps,CICD等)、应用上云(面向云制定应用的云上架构并进行部署)等。
3. 在做云平台决策的时候,首先要做的是对自己的业务进行分级,多少核心业务系统,多少非关键生产系统,多少开发环境等,然后确定不同的需求。
4. 在做云平台决策的时候,想想做云平台的团队将来要是撂挑子不干了那要怎么办,谁来收拾局面。如果确定了做云的人,不管是自己人还是外面的厂商,就对他们好点,把他们当合作伙伴对待,因为他们是你出问题的时候救你命的人。
5. 算成本的时候,把养研发团队、运维团队、厂商支持服务的成本也一并算上。
6. 打算养研发团队自己做云平台的时候要想清楚,是在基础架构层定制呢还是在管控层面定制,是不是一定要私有云,是不是能上公有云,团队稳定性和成本如何,如果几年后团队不在了该怎么办。
1. 云底层开发将来更多的会存在于大厂那里。小的云团队更多依赖于开源社区,只有大厂才会有实力和业务需求养大的基础架构研发团队,这样的团队成员才有机会做真正的底层技术研发。
2. 每个云的用户都会需要运维人员,不管是什么样的客户,连公有云的用户也需求运维。将来能看懂开源项目代码并能修补一些简单bug的运维人员会更有市场需求。
3. 云运维人员要面向云运维,以云的理念做运维,能让自动化工具干的事情就不要人肉做。即使现在做的是传统运维,有时间的时候,去考个AWS的云架构师和云运维专家认证,会很有价值。
4. 面向业务运维,而不是面向资源运维。时刻想着从业务出发,不要一直盯着那点资源。
本文只是记录这次聊天的内容,仅仅是个人观点,不针对任何行业和公司。