现在的位置:首页  /  云计算培训 >云计算技术教程

运维培训班的学员要明白开发同样重要

来源: 薪享宏福
发布时间: 2019年03月21日
分享到:
参加云计算培训的同学初期基本不会接触开发语言,如php、java,其实开发和运维工作息息相关,我们拿php来举例,php不只是跟研发相关,跟运维工作也是密切相关的,研发的开发方式和模式会直接影响业务上线后的运维工作。有些开发人员以实现业务功能逻辑为唯一追求,缺少全局观,套个HTML页面完成业务功能就完事,代码效率、性能、代码风格通通不管。没有意识到PHP写得好坏也会直接影响到项目在线的运营质量,还会直接影响到运维人员的工作。如果PHP开发团队有多个小组,每个小组负责不同的业务,那么就很有必要从整个技术团队的范围来做-些统一规范,统一大家的开发风格,提升网站的可运维性。作为运维我们可以从自身角度提出一些具体的要求。
 
1、统一的代码风格: MVC模式组织代码、驼峰风格/下划线风格。
 
2、统一文件路径:将所有代码统一放在protected目 录下,根路径只放index.php ,通过URL重写访问业务逻辑。
 
3、统一的配置文件路径及格式:运维可能要通过自动化管理配置文件,或者在排除故障时要修改配置文件的路径,比如protected/config.php. 
 
4、统一的应用日志路径:只有规范了日志路径才可以通过自动化去收集或清理日志,如reted/og/xx.logo统一的部署路径:将所有代码都部署在/data/webapps/xxx.yy.com中,以业务域名作为部署路径。
 
5、要求代码做好防SQL注入:在业务正常、发生错误甚至遭受恶
意输入时都不能有出错的输出。
 
6、性能和效率分析:上线前要了解代码的运行效率,所写的SQL的效率,整个系统的吞吐能力,整个系统和细分环节的延时情况。可以通过压力测试工具来分析,比如ab ( Apache Bench)工具。
 
7、容错容灾分析:一旦出现故障,要有一定的容错容灾能力,比如说做到无状态化, session和产生的内容不存储在本机中,当然机器出现故障或挂掉的时候要能够快速切换到其他服务器,在业务负载较大时要能够快速扩容。
 
8、较大型的团队开发一定要用框架,在选择框架时要充分考虑到性能问题和运维方法。
 
9、PHP运维人员可以不懂怎么写PHP代码,但需要了解PHP代码是怎么工作的。优秀的研发和运维人员要有全局的视野,要了解HTTP协议、浏览器、DNS、 CDN、 前端反向代理、后端缓存、MySQL 等数据库存储、文件存储等组件特性及其与PHP代码之间的关系。
 
列举2个例子:
 
1、有研发使用cur_ exec函数访问外部接口,却不控制超时时间,当外部接口不稳定时,工作进程一直在等待对方返回,直到对方返回超时时间才继续执行。这时如果有多个这样的请求,那么所有的PHP进程都会被阻塞住,没有工作进程来处理其他请求。
 
2、有些开发人员认为缓存与自己无关,是架构师或运维维护的责任。还有些开发人员不了解缓存的特性,认为只要能往里面写数据、读数据就行了,结果造成内存利用不合理的问题,而且也没起到缓存的作用。某程序员还把大量的一次性数据写入缓存,他不了解一次性数据下次是不会再读写的,没必要缓存,缓存一次性数据反而会让内存无法释放,他还找运维说这缓存有问题, 内存不够要扩容。

相关推荐:

学Linux运维,scp命令让你工作效率翻一倍

浅谈自动化运维的三重境界

作为运维人,自动化运维的背后还有哪些心酸事儿

运维调度管理系统是怎么操作的?

运维必修课:什么是集群?

云计算运维人员参与php项目架构设计要明白这些知识点

sysVinit方式下系统的启动特点

systemd方式 下系统的启动特点