摘要:系统运维 [toc] 虚拟化篇 KVM 比较主流的虚拟化技术,不过在运维水平比较差的公司,还能看到在用盗版的VMware产品。如果测试环境规模稍微有
系统运维
[toc]
虚拟化篇 KVM比较主流的虚拟化技术,不过在运维水平比较差的公司,还能看到在用盗版的VMware产品。如果测试环境规模稍微有点大,可以考虑使用云平台,诸如各种流行的 Stack
。如果自己有能力,可以使用 libvrit
提供的API,自己写一个管理平台也是可以的。适合内部使用即可,开源的各种 Stack
都比较重,用起来都是有一些成本的。
统一了开发及线上环境,适合微服务。
公有云公有云有你用到的所有东西。在一个使用了公有云的公司,那么完全可以不需要运维及测试了,帮助企业快速完成DevOps转型。公司做Dev,公有云做Ops。
公有云在IaaS、PaaS及SaaS层面都有相应的产品,真正懂你所需,公司可以根据自身情况选择使用合适的产品即可。
安全起见,可以使用子账号进行 API
相关的一些操作。
如果数据量比较大,可以考虑使用开源的分布式存储,后面在私有云平台或Docker或K8S上估计都会用到。
WEB 容器篇 OpenRestyOpenResty 并不是一个新的事物,而是 Nginx 与 Lua 的组合。OpenResty 创始人章亦春把 Lua 脚本嵌入了 Nginx,结合 Lua 可以很灵活的扩展 Nginx 的功能,如实现 WAF 等。而且做的事情远不止这些。
数据库篇主要包括关系型数据库与非关系型数据库。基本的 SQL 功底还是要有的。
mysql号称世界上最流行的数据库,用的还是非常广泛的。看来“最流行”的称号并不是吹的。运维最关注的还是如何确保数据的安全性及高可用性。
运维层面需要做到的是:
数据备份 数据恢复 主从同步关于备份及恢复用到的工具,市面上还是有很多的。选择你熟悉的即可。
PostgreSQL号称世界上最先进的数据库,使用的用户还是很多的,不过这些用户大多在国外,在国内用的不如 Mysql 广泛。如果你觉得没有合适的数据库可以选择的话,那就选择 PostgreSQL
吧。
主流的键值存储数据库。一般用来做关系型数据库的缓存。
MongoDB 监控篇 Zabbix比较著名的开源监控系统,功能强大。如果要定制或二次开发,相对比较困难(需要我们有C语言(后端)及PHP(前端)的功底),这里所说的困难是面对运维人员来说的。
Open-Falcon由小米开源的监控系统,使用Go语言编写。如果要定制或二次开发则相对容易,支持脚本语言(Bash、Perl、Python等)对其进行扩展或二次开发。而这些脚本语言对运维人员来说并不陌生,但能不能用的熟练就是另外一回事了。
颜值高的UI上述的监控软件,它们的UI界面不是很Nice,可以使用比较流行的Grafana。
ZMON可以做监控及指标监控。
Prometheus应用程序的指标监控。四个黄金指标:
延迟:服务请求所需耗时;例如HTTP请求平均延迟 流量/吞吐:衡量服务容量需求;例如每秒处理HTTP请求数 错误:衡量错误发生的情况;例如HTTP 500错误数 饱和度:衡量资源使用情况;例如CPU/内存/磁盘使用量有了指标监控,再加上服务调用链追踪,效果会更好。
服务链调用追踪服务链调用追踪解决的问题:
提供服务之间的调用链 性能及延迟分析 服务依赖分析 问题分析 ZipkinTwitter 推出的服务调用追踪系统
JaegerUber 推出的服务调用追踪系统
Skywalking华为推出的服务调用追踪系统
配置管理篇 Ansible比较轻量级(相对Puppet及SaltStack)的自动化配置管理工具。让运维告别使用脚本进行循环来完成批量操作的任务,而是真正的使用并行来做操作管理。
编程语言篇做为IT界的一员,不管是什么工种,不会一门编程语言,都不好意思跟别人打招呼。
PythonPython的口号是:"Life is short, use Python."
GolangGolang具有C的性能及Python的姿态,它的口号是:"Life is short, let\'s Go."
LuaOpenResty中需要用到Lua语言,所以掌握一下这门语言也是应该的。
JavaScript现在不管是什么职位,总得会点JS吧,不然离全栈还是有点距离的。如果不会一点,自己想做个页面,还要找前端同事,多么不方便。
代码托管有了编程语言及相应的开发环境,那就该有一个代码托管的地方。这里推荐使用Gitlab
作为公司内部的代码托管服务,相信很多公司也是这么选择的。
涉及到Java开发,就少不了下面的几个组件:
JDK
Maven
(Ant
或Gradle
)
Nexus
代码托管
数据库(关系型数据库、非关系型数据库)
Spring全家桶要知道有什么,及怎么工作的。如:
服务注册、发现 负载均衡 熔断是怎么回事 配置中心 Spring Boot Spring Cloud Python 相关框架 DjangoPython 世界中一个大而全的WEB框架。
FlaskPython 世界中一个小而美的WEB框架。
CI/CD这在日常的工作中,有着很大的比重。如果这一块做不好,运维将会比较苦逼。市面上的CI/CD工具比较多,选择也比较多,推荐使用Jenkins或者自研。
运维小工具平时可以开发一些小工具,这些小工具可以帮助自己或开发快速获取一些信息,如:
解析Eureka
的注册信息,可以知道自己的服务部署在哪里及监听的端口
从一台机器上复制文件到另外一台
从一个数据库实例,同步数据到另外一个数据库实例
还有很多
总结
运维要把基础型的工作做好之后,就可以用更多的时间与精力做更有价值的事情了。基础型的工作主要有:
持续集成与持续部署 基础设施监控 服务性能监控上述工作做好之后,就可以做一些公司内部的运维平台,方便开发同事进行更高效地开发。
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28