Linux 云计算工程师的三大核心职能
一、平台架构组建
负责参与井审核架构设计的合理性和可运维性,搭建运维平台技术架构,通过开源解决方案,以确保在产品发布之后能高效稳定地运行,保障并不断提升服务的可用性,确保用户数据安全,提升用户体验。
二、日常运营保障
负责用运维技术或者运维平台确保产品可以高效地发布上线,负责保障产品7 * 24H稳定运行,在此期间对出现的各种问题可以快速定位并解决;在日常工作中不断优化系统架构和部署的合理性,以提升系统服务的稳定性。
三、性能、效率优化;
用自动化工具/平台提升软件在研发生命周期中的工程效率。不断优化系统架构、提升部署效率、优化资源利用率支持产品的不断迭代,需要不断的进行架构优化调整。以确保整个产品能够在功能不断丰富和复杂的条件下,同时保持高可用性。
Linux 系统的优点:免费、开源、稳定可靠.
Linux 云计算工程师职能划分
无监控、不运维。
集群化的管理思维方式,运维管理工具:Puppet、Ansible、cfengine、chef、func、fabric...
系统调优的先后次序:架构层面 => 应用层面 => 技术细节层面。
Linux 运维岗位
- Linux 安全工程师
- 大数据运维工程师
- Linux 云计算工程师
- Linux 运维工程师
- Linux 自动化工程师
- 网络工程师
- 平台架构师
- Linux 系统工程师
- DBA(数据库工程师)
- ...
负载均衡开源解决方案
1. LVS
LVS,工作在 4 层,Linux 实现的高性能高并发、可伸缩性、可靠的的负载均衡器,支持多种转发方式 (NAT、DR、IP Tunneling),其中 DR 模式支持通过广域网进行负载均衡。支持双机热备 (Keepalived 或者 Heartbeat)。对网络环境的依赖性比较高。
2. Nginx
Nginx 工作在 7 层,事件驱动的、异步非阻塞的架构、支持多进程的高并发的负载均衡器 / 反向代理软件。可以针对域名、目录结构、正则规则针对 http 做一些分流。通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持 url 来检测。对于 session sticky,可以基于 ip hash 的算法来实现,通过基于 cookie 的扩展 nginx-sticky-module 支持 session sticky。
3. HAProxy
HAProxy 支持 4 层和 7 层做负载均衡,支持 session 的会话保持,cookie 的引导;支持后端 url 方式的检测;负载均衡的算法比较丰富,有 RR、权重等。
分布式存储
- mogilefs
- fastdfs
系统监控
- graphite+cabot
- zabbix
- Ganglia
虚拟化解决方案
- xen
- kvm
- openstack
- docker ⭐️⭐️⭐️
- kubernetes ⭐️⭐️⭐️
日志管理体系:ELK
可持续集成:Jenkins + gitlab + maven
自动化部署三剑客:Ansible+Jenkins+Gitlab
Jenkins:持续集成和持续交付工具。
Linux 云计算工程师技能图谱
Linux系统、安全、网络、基础开发、监控系统、架构平台、web、自动化、云计算、大数据、虚拟化、数据库、负载均衡、高可用、集群、容器、日志体系、性能优化、入侵检测、存储。。。
运维学科讲究:广度。
开发学科讲究:深度。