我是如何告别996的

大家好,我是小Z,一家企业的云架构师,公司最近几年业务发展很快,我也经历过一段996的苦逼生活,转机发生在去年年底,CIO带着我们干了一件大事……

之所以写这篇文章,是为了我的好兄弟(请吃一顿大腰子)。

两个小时后……

你们的问题是云平台的二次开发能力不足,要增加功能就得写很多代码,周期长成本高还不可重用不够灵活,在我们的平台上开发服务就像咱家大侄拼乐高积木一样简单,我下面演示给你看啊。

我们现在的云平台是基于VMware的云套件来建设的,在vRealize Automation中设计服务蓝图是我目前的主要工作,下面是一个空白的蓝图,我只要从左边找到所需组件,放入右边的画板,再配置组件的属性和关系就可以了。

我以常见的Web应用为例,来给你演示蓝图的定制过程。首先添加一个外部网络,其他人可以通过这个网络访问部署出来的资源,然后再添加几台虚拟机,需要提前准备好虚拟机模板,只要操作系统映像就可以了,应用我们后面来部署。这里我放了两个虚拟机,左边的是Web服务器,右边的是数据库服务器,Web服务器的图示有些不同,因为我配置他最多可以有3个实例,具体数量可以在部署时指定,也可以按需调整。

接下来配置数据库服务器,添加系统配置组件,对标准化系统镜像做个性化配置,再添加一个MySQL的实例,像MySQL这样的常见应用(图中左下方窗口)系统自带模板,你只需要配置少量的个性化参数,然后再创建一个数据库实例,同样也只需要配置少量参数。

下面配置Web服务器,首先还是添加系统配置组件,对系统进行个性化配置,然后从左边组件栏找到PHP和Apache应用,拖到Web Server的虚拟机视图,再通过拖动鼠标指定PHP和Apache组件之间的依赖关系,然后再添加Web应用,可以是任何开发好的Web应用,我这里用的是非常常见的LAMP示例程序Wordpress。同样,在Web应用与数据库服务之间指定依赖关系,这将决定他们部署和启动的顺序。

最后,我们再添加一个负载均衡组件,以在多个Web Server实例之间实现负载均衡,我这里还为Web Server和DB Server指定了安全组,在他们之间实现安全隔离和访问控制,只开放必需的网络端口。

基本上蓝图设计的任务就完成了,测试没问题之后,就可以把这项新服务发布到目录中供授权用户申请了,如下图。PS:如果你需要的组件缺省不存在,也可以用vRO的流程开发功能来设计,不难,也是可视化开发,加上少量的脚本即可。

还记得我前面说过Web Server的数量可以在申请时指定吧,如下图,是不是非常简单呢,申请提交之后,按照审批流程,相关人员会收到通知,并决定本次申请是否应该批准。

这个时候大家喜欢喝茶就喝茶,喜欢喝咖啡就喝咖啡,复杂繁琐的部署工作交给云平台去干好了。

我一杯咖啡还没喝完,这套应用已经部署完成,你可以在执行信息界面看到整个执行过程,还可以查看主要环节的安装日志,如MySQL的安装配置部分,试想一下,你手工完成这些任务需要多少时间?又如何保证不出错误?杰克马说996是奋斗者之歌,难道你天天加班就是为了一遍一遍地部署应用?然后没完没了地Troubleshooting?

部署完成之后,找到实例的地址信息,我们试着访问一下,可以看到,192.168.110.205是负载均衡服务的虚拟地址,访问被重定向到了192.168.110.209这台Web Server。

以上就是设计和部署的部分,部署之后的运维工作也基本上都自动化了,如远程管理、垂直扩缩容、服务器池的水平扩展和收缩、租期管理等,都可以自助完成,服务的健康状态也是一目了然。讲太多你也消化不了,以后有时间我再跟你介绍吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190510A0ML5T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券