172173.com

随着云计算机告诉发展,现在的运维比以前维护起来更加方便了,做的事情也变得和原先运维做的事情不一样了,面临更多新的挑战。云运维,八荣八耻,节省时间和精力,从容应付业务增长,保持稳定的执行效率。

一、以可配置为荣,以硬编码为耻

image

本地配置,程序⽣生成 (txt/ini/cfg)

集中配置, 动态⽣生成(Yaml/Json)

环境变量量(代码⽆无侵⼊入&语⾔言⽆无关性)

服务⾃自动发现,⾃自动注册(zookeeper/consul)

二、以互备为荣,以单点为耻

image

互容互备一直是优良架构的设计重点。

使用了LVS+Keeplived+VRRP做转换,这样可以方便负载均衡,动态升级,隔离故障。

Nginx可以加Haproxy或LVS做负载均衡。MySQL可以做主从切换,或者是MMM的高可用成熟解决方案。我们的消息队列之前用rabbitmq做,现在主要是redis和kafka集群化,其中kafka已经迁到了Mesos容器平台里。

服务的自动发现、注册,我们可以使用consul、etcd、doozer(Heroku公司产品),还有zookeeper。主要区别是算法不一样,zookeeper用的是paxos算法,而consul用的是raft算法。目前看来consul比较流行,因为consul的自动发现和自动注册更加容易使用。etcd主要是CoreOS在主推,CoreOS本身就是一个滚动发布的针对分布式部署的操作系统,大家可以去关注一下它。还有一个是hadoop和elk,大数据平台的可扩展性是标配,很容易互备。

三、以随时重启为荣,以不能迁移为耻

image

四、以整体交付为荣,以部分交付为耻

image

五、以无状态为荣,以有状态为耻

image

六、以标准化为荣,以特殊化为耻

image

在标准化方面,我们在这几个方面改良:

1.统一输入输出

统一入口,我们用一个统一的文本,到现在也在用,然后推送到所有的边缘,服务器上面的组件,要用到的参数,都能从配置里读出来。代码管理方面我们也使用git,git wiki,批量部署我们用ansible(早在2012年,我做了一些比较后,就在公司里推行ansible,看来还是很明智的决定)。

2.统一的流程管理

运维中使用python最多,所以我们使用了yaml和playbook。跳板机,通过VPN登陆,目前我们也在试用一个带有审计功能的堡垒机,可以把每个人的操作录制下来,然后再去回放观察,改进我们的工作流程。

七、以自动化工具为荣,以手动+人肉为耻

image

用的是bash、sed、awk, bat ,python ,ansblie, go

八、以无人值守为荣,以人工介入为耻

image

运维部门要做的事情有三件:

1.运维自动化

运维平台自动化,django 搭建运维平台,网上特别多的列子,找找,结合自己的业务搭建,省去人工维护。

2.监控要常态

结合云平台监控,结合zabbix, prometheus

3.性能可视化

参考资料: https://blog.csdn.net/u013815546/article/details/61961104

 评论