环境部署php
一开始这个世界是开发的,而后才是运维的。java
开发实现产品逻辑,将产品开发完成后,而后提交运维进行部署。此时容许就须要准备好部署环境,如部署在Linux服务器上,安装相应的软件,如Apache、Nginx、tomcat、JDK、PHP、MySQL等等。你不能只装了软件吧,还须要看看具体是哪一个版本,java 7 和java 8 的差异仍是有点的,php5和php7也有些语法不兼容。把软件都安装好了,就能够上线了?仍是不行。还须要测试吧,那就还须要部署一套测试环境。有些时候,开发环境也是须要运维来部署的。python
排错和调优mysql
事情历来都没有一路顺风的。ios
上线没多久,服务就502了,还不被老板骂死。尽管你有一肚子的委屈,我只是个运维,代码不是我写的,为何要我来背这锅?!委屈归委屈,服务访问不了了,就是运维的事。尽快定位问题,解决问题才是王道。怎么来定位问题呢?最简单直接的办法就是看日志,看系统日志,看软件相关的日志,结合故障现象和经验,快速的进行定位和恢复。而后就是总结经验,吸收教训,写事故报告。OK,如今你知道,须要对系统环境须要进行必定的调优操做,再也不作背锅侠。git
相关技术: github
topsql
vmstatdocker
iftopshell
awk
sed
sar
iostat
strace
...
备份
作最好的计划,作最坏的打算。
前不久的gitlab删库事件的教训犹在眼前,丢失了几小时的数据,虽然大部分的备份策略都失效了,但仍是挽救了几小时前的一个备份,才没有形成更大的数据丢失和公司损失。咱们须要对设备进行备份冗余,须要对数据库进行备份及离线备份,须要对网站静态进行备份冗余,须要对机房进行备用,能作到双活,那是更好的啦。
相关技术:
rsync
crontab
LVM逻辑卷
mysqldump
extrabackup
彻底备份
差别备份
增量备份
离线异地备份
...
高可用和集群
没有永垂不朽,咱们不能保证硬件24小时在线,但须要保障服务24小时在线。
出现故障后,若是作好高可用和冗余,故障自动切换,移除故障节点,那样也就保障了服务的实时在线。在老板和用户不知情的状况下,悄么的把故障处理好的,KPI算是保住了,奖金也许就会有的吧。
相关技术:
F5
Nginx
LVS
HA-proxy
MHA
Zookeeper
各类其余分布式集群方案
...
监控告警
运维工程师的第一次解放运动。
时刻担忧网站挂掉,一年365天、每周7天、天天24小时,时刻保持精神高度紧张,就算你是神仙都会撑不住的。咱们须要一个机器来监督其余的机器工做,咱们须要解放咱们本身。当有故障发生的时候,经过短信、微信、钉钉、邮件等等通知对应的运维工程师来处理,甚至是自动切换或摘除故障节点,而后咱们离线对故障节点进行问题排查。
相关技术:
Zabbix
Nagios
Cacti
Prometheus
open-falcon
Ganglia
sar
...
安全和审计
狂奔在互联网的康庄大道上,不过有些人是在裸奔。
不安全的网络环境和服务器配置,无异于在网络世界裸奔,任何人均可以窥探你的隐私。你的应用是否作了SQL防注入?你的防火墙是否开启?是否还在用root+密码的方式登陆服务器?网站开启了https么?是否对系统操做进行审计?
相关技术:
iptables
firewalld
waf
auditd
各服务的正确配置
...
自动化和DevOps
运维工程师的第二次解放运动。
偷懒是社会进步的第一动力。聪明的咱们怎么会让本身一直在重复枯燥的事情上浪费时间,装系统、部署环境、发版本、批量操做,把这一切交给程序去实现吧,咱们须要的是享受生活。
相关技术:
shell
python
go
git/github
rundeck
ansible
saltstack
puppet
chef
cobbler
fabric
...
虚拟化和云服务
正在发生的一场运维革命。
这场革命的发起人是买书的亚马逊,这家伙但愿卖一切能够卖的东西,包括本身闲置的服务器资源。如今国内的阿里云和腾讯云也发展得如日中天,他们几乎提供了运维所须要的一切,甚至可让一个公司再也不须要运维的岗位。你须要服务器,只须要几秒钟,就能够建立一台。你须要数据库集群,只须要鼠标点击几下,就能够开通。
相关技术:
KVM
OpenStack
CloudStack
docker
Xen
CoreOS
Hyper-V
VMware
...