主题:《漫谈云之架构与运维的艺术》
关键词: 云 架构 运维
探讨云时代下的架构设计及运维挑战; 运维人员的团队协作和架构师成长修炼; 面对来自devops和云的挑战,运维工程师如何成长; 怎么实现自动化运维,化被动为主动;
主题简介
云计算时代给大家带了很多机遇,同时也带来了很多挑战,尤其是架构和运维方面,面对海量机器的暴长和丰富的应用部署,我们如何面对挑战,把握机会。UPYUN作为专业的云垂直行业的佼佼者,这次分享将从架构设计,运维规划,指标可视化,团队管理等方面漫谈一些成长过程中的经验和心得。
演讲内容
云的真相
【Elastic】弹性
基于虚拟化的硬件资源伸缩性; 基于虚拟化的服务扩展性; 提供按需付费,按时付费的弹性服务;有三种虚拟化的技术及应用场景:
Cloud Foundry、OpenStack (云架构杰出代表,革命性技术潮流,但仍然属于快速成长和开发活跃期,对技术团队要求高,需要长期关注和跟进) Vagrant(通过调用Vbox/VMware、AWS等虚拟化工具来创建虚拟机,适合开发、测试团队使用的统一开发环境,目前已经在内部广泛使用) Docker(基于CGroup/LXC的统一宿主管理系统,内核级特性,稳定高效轻巧,虽然隔离不够彻底和灵活,适合公司私有云的资源整合和扩展性,已经做了跟进研究和分享)
架构的本质
人:极客与团队
架构师是所有IT人向往的殿堂,但架构师的职能包括:
基础底层架构师(组成人群:运维工程师) 软件开发架构师(组成人群:软件工程师) 业务运营架构师(组成人群:产品经理,销售总监,市场运营,CEO)最后,我仍然要不断强调的一个观点:
架构师它可能不是一个人的角色,而是一个团队的统称,它可以
不必冲锋陷阵,就可以纵观全局,运筹帷幄,调度所有的资源(运维架构师的功能) 可以带领和团结团队,高屋筑瓴,因时制宜的实现解决方案(软件架构师的功能) 可以把握公司业务方向和深度,洽谈合作,控制成本(业务架构师的功能)随着时间的推移,每一类型的架构师都是可以从上述一个个岗位中成长起来的,比尔盖茨最初也要亲自码代码,李开复最初也要组建和带领google中国团队,所以,没有从天而降的天才,只有一步一个脚印的磨炼才有他们现在的成就(认清自己不是天才,就算是天才也要努力)。
我们现在要做的就是一方面内修本领,提升自身能力,另一方面外联志朋,寻找身边可以互补的志同道合的人,共同迎接机遇和挑战。做公司跟做人一样,也需要合作者,才能快鱼胜慢鱼,四两拨千斤。
架构设计的原则
Unix编程艺术主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验。
伸、缩 Everything is planned with the question “what if load increases by 10x”.Unix哲学一言以蔽之:
软件架构设计的关键
组合原则 (设计时考虑拼接组合) 分离原则 (策略同机制分离,接口同引擎分离) 简洁原则 (设计要简洁,复杂度能低就低) 吝啬原则 (除非确无它法,不要编写庞大的程序) 透明原则 (设计要可见,以便审查和调试) 健壮原则 (健壮源于透明与简洁)参考资料
影响程序性能的四大杀手(数据拷贝,上下文切换,内存分配,锁竞争)
高并发
无共享,无竞争锁,使用消息队列,方便水平扩展 分库分表,引入中间件,分布式部署 Erlang vs Go vs Clojure
快响应
异步解耦,事件驱动,举例银行的领号机制,还有雕爷牛肉的短信提醒业务; 任务池+调度分配
大流量
层层缓存,推、拉、粘、随,弥补IO短板 读写分离、动静分离 Squid vs Varnish vs Nginx vs Apache Trafficserver
运维架构设计的关键
经济原则 (宁花机器一分,不花程序员一秒) 生成原则 (避免手工hack,尽量编写程序去生成程序) 扩展原则 (设计着眼未来,未来总比预想来得快)学会偷懒不断寻找更懒惰的办法,要聪明的工作。
不要重复造轮子(站在巨人的肩膀上) 运维自动化(使用脚本使工作流程化,自动化) 性能可视化(提供持续的健康报表) 监控常态化(及时报警及隔离)
闲下来
掌握bash,sed,awk三大利器,抽象业务模型,标准化组件,定制化脚本 自动化部署(ssh,scp,rsync,Ansible/Puppet),节省人力,减小内耗,降低负影响,提升整体效率 运维监控和自动报警,善于利用第三方资源,专业&专注服务
走出去
了解编程,熟悉和掌握一门能够帮助你成长,打通前后端的语言 多参与社区活动,积极分享,锻炼口才和交流能力
为什么
收集文档和整理WiKi,学思结合 信息多 -》 长知识 -》 生智慧
一定要流程化和自动化
你不可能一直投入人力,时间和精力,事情既要办得对,还要快速及时。你就没有可能容忍人类犯错的可能性。
《极客与团队》中也提到“人就是一个间歇性发生变化的bug”,人有喜怒哀乐,也有生老病痛,不要指望一个人可以持续专一的执行操作,只有机器+流程自动化,才能够保持可靠性。
十年工作和生活心得
“这些年我一直提醒自己一件事,千万不要自己感动自己。大多人看似的努力,不过是愚蠢导致的。什么熬夜看书到天亮,连续几天只睡几小时,多久没放假了,如果这些东西也值得夸耀,那么富士康流水线上任何一个人都比你努力多了。人难免天生有自怜的情绪,唯有时刻保持清醒,才能看清真正的价值在哪里。”
所以说:
方向比努力更重要(南辕北辙); 流程比补位更重要(规矩成方圆); 方法比拼命更重要(事半功倍);当然,也离不开勤奋努力,主动补位,拼命三郎这些优秀品质,能够被提及的几个要素都很重要,我这里说的是“更”,所以不要太纠结,有感觉就好,一定要智慧的生活和工作。
作为团队负责者,我希望能够做到如下几点:
请进来=了解外面的经验和成果,不至于井底之蛙,夜郎自大; 站出来=这是个人价值的体现,也可以锻炼演讲口才和临场表现能力,生活总是需要一些英雄; 走出去=互相学习,交叉分享,并行进步,学习是个翻翻的过程;







