阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

运维技术大盘点,2017 你该关注运维的哪一面?

  • 2017-05-25
  • 本文字数:3960 字

    阅读完需:约 13 分钟

近些年来,软件领域发生了翻天覆地的变化。从操作系统、数据库等底层基础架构,到分布式系统、大数据、云计算、机器学习等基础领域,从单体应用、MVC、服务化,到微服务化等应用开发模式,从 IaaS、PaaS、CaaS 到 FaaS,运维技术(特别是大规模复杂分布式系统的运维)也变得越来越重要,它已成为 IT 类企业提升生产力的核心

随着运维受到越来越多的重视,运维体系也逐步丰富,出现了 DevOps 等理念将研发、测试、运维等流程连接起来。而容器技术更是从底层重构了运维,连接了开发、测试、部署、运行和监控全流程,进一步推动了运维体系从工具化逐步往平台化、自动化和智能化方向迁移。本文将对运维技术从底层到顶层做一个彻底的梳理和盘点

微服务

微服务是近几年提出的概念,它通过将应用解耦成多个服务的方式来改善其模块化程度,使其更容易被理解、开发、测试和部署,更适用于小团队快速迭代式协作开发。同时,每个服务也能够采用不同的技术,便于持续进化。业界前沿互联网公司都构建了微服务框架(例如基于 Spring Boot/Spring Cloud 等开源项目)来应对其业务复杂性以及快速迭代过程中的效率问题。最近,微服务配置管理、容器化部署、自动化测试、微服务治理、微服务监控、安全、故障容忍等领域也受到越来越多的关注

SRE

SRE(Site Reliability Engineering, 网站可靠性工程)是来自于谷歌的一个最佳实践,它用于服务的容量规划和实施、保障服务的可靠性和性能,更多的在软件基础架构层面构建自动化工具来取代人工操作,从而更好地应对其业务复杂多变的需求。

DevOps & CI/CD

DevOps 逐步成为软件开发的主流,容器也已在过去两年中迅速成长为 DevOps 的核心,在持续集成、持续部署和持续发布等方面也越发受到重视。随着新的 DevOps 自动化工具不断涌现、容器及其相关生态的成熟(特别是容器编排工具及其对有状态服务的支持)、微服务的广泛应用,越来越多的相关工具将会集成在持续集成过程中,同时自动化持续测试也会变得更加流行,从而更有效地控制质量、保障安全、降低成本、控制风险、提升效率,更加高效的支持复杂的大型分布式应用。

容器优化与实践

过去几年间,以 Docker 为核心的容器技术在持续进化,以其构建、分发和部署的简易性成为 IT 基础架构中的关键技术。容器技术通过标准化运行环境的方式来连接了应用的研发、测试和运维。它简单、轻量,具备很强的可移植性,能更高效的利用资源,还能够有效的解决软件依赖问题,提高研发效率,降低研发成本,因此产业界也持续通过容器来优化其软件发布流程,对已有应用进行容器化。

然而,容器技术本身也面临了不少挑战。未来,在容器标准化、容器安全、容器网络、容器存储特别是对数据库等有状态服务的支持等方面还存在很大的改进空间,容器的可管理性及易用性也需要进一步提升

容器编排与管理

随着 Docker 等容器技术的广泛应用,容器编排和管理也受到了越来越多的关注,涌现出了诸于 Kubernetes、Apache Mesos、Docker Swarm Mode 等优秀的开源生态和解决方案。它们试图将目前以资源为中心的管理方式过渡到以应用为中心的管理方式,并且试图对应用的基础构成组件(例如配置、服务、负载均衡等)进行标准化,从而获得更好的可管理性。随着 CaaS 的发展,私有或公有的容器云也越来越多,越来越成熟,用户体验越来越好,从而显著降低迁移成本。

然而,在大规模的实践中,在灰度发布、资源调度、隔离性、运维监控、日志等方面仍有待进一步成熟和标准化,在跨数据中心的应用管理,混和云环境支持,跨云服务迁移,安全性等方面仍然面临着困难和挑战

自动化运维

随着虚拟化和容器化等技术的出现,运维管理的复杂度和难度大大增加,因此必须通过专业化、标准化和流程化的手段来实现运维的自动化。业界出现了很多提升效率的自动化工具,例如 Puppet、Chef、Ansible、Saltstack 等。各大主流互联网公司也逐步从工具自动化往一站式自动化运维管理平台的方向进行演化,从而使得能够对部署、配置、监控、告警等进行一站式处理,实现资源和流程的标准化统一化、应用运行状态可视化管理,提升运维质量,降低运维成本。

智能化运维

随着监控范围的不断扩大,其产生的数据具备多样性、多维性和非结构化等特点,并且可能同业务数据存在相关性,传统的手动分析处理方式效率低且成本高。随着大数据和人工智能的兴起,越来越多的智能分析算法也应用于运维领域,它们通过分析运维系统本身所拥有和产生的海量数据,在问题定位、流量预测、辅助决策、智能报警和自动故障恢复等方面发挥出较大的作用,从而进一步降低运维成本。

运维基础架构

运维基础架构涵盖网络、机器、机房、机架、存储等的管理,涉及基础资源、机架设计和交付、网络架构设计、数据架构规划、操作系统、系统软件、环境交付和机器报废替换等方向。

产业界构建了 CMDB 以支持服务交付流程和相应的管理流程,也都构建了相应的初始化、部署、运行、监控、日志等工具。随着虚拟化、容器化和云计算的发展,运维基础架构也从提供资源往提供能力的方向进行转变,从而提高基础架构对上层应用的透明性,进而提高基础架构的灵活性 。

数据库运维

数据库运维涉及数据库部署架构、容量规划、性能调优、数据备份和恢复、数据迁移、数据库监控审计、数据库运维管理、故障排除等一系列服务。

随着互联网更加广泛的使用,数据库运维也呈现出新的形态。近年来,在异地多活等部署模式、在线表模式变更、海量数据迁移、故障排除时,都会通过一系列的工具,来尽可能的减少数据库整体的不可用时间,从而尽可能的降低对用户的影响。 同时,为了简化数据库的部署和管理,以容器化的方式来对数据库进行管理和调度也逐步成为热点之一。最后,通过对数据库各项指标的分析和挖掘,提供智能化诊断方案,提前预知和管控风险,提升处理效率,提升系统整体稳定性。

大数据运维

随着数据的快速增长,以 Hadoop 为基础的生态系统也扮演了越来越重要的角色,它涵盖离线计算、流式计算、即席查询等多种使用方式,也涌现了 Hadoop、Spark、Kafka、Hbase、Storm、Phoenix 等优秀开源项目。在大数据平台的运维中,由于涉及分布式架构、多源异构海量数据存储、数据的处理框架更为多样化和复杂化等问题,大数据的运维也变得异常复杂。

大数据运维的主要目标是提高资源利用率,降低了大数据系统的运维复杂度,提升用户友好性。其中,计算资源的统一管理和调度能力,以容器为基础的多种类型大数据系统混合部署能力,快速弹性扩缩容能力,跨数据中心容灾能力,大数据应用监控能力和快速灵活的故障定位能力也变得越来越重要

运维监控

监控是 IT 系统运维中保障核心业务稳定可用的重要环节,它涵盖网络、主机、业务、应用、性能等方面,涉及快速的故障通知,精准的故障定位和性能分析诊断等。当前比较流行并且在业界广泛应用开源的监控软件包括 Nagios、Cacti、Zabbix、Ganglia 等。

随着应用规模的迅速扩大以及 DevOps、微服务、容器等技术的快速发展,监控也出现新的形态。监控方式也已经从类 Nagios 风格演化为流式风格,它基于监控指标对海量数据进行流式处理,同时通过可视化平台来实时展示这些监控指标。另外,随着基础设施变得更加动态,监控不但关心单个节点的运行状态,更关心整个应用的健康状态,全链路追踪等技术也已经出现并得到广泛应用。

运维安全

在互联网化和移动化的背景下,应用逐渐往云中迁移,传统的边界变得越来越模糊,安全也有了新的发展趋势。过去的安全技术是以防御为主,采用传统防火墙、入侵防御系统等。现在,除了对传统的安全措施进行加强之外,还会在开发流程中引入威胁建模,自动安全扫描、安全功能性测试等安全实践,从而降低安全风险,缩短安全问题的反馈周期。同时,安全也从事先预防转向为持续检测和快速响应,通过对攻击行为的持续检测,对安全事件进行快速响应,从而大幅降低损失。

游戏开发与运维

近年来,网络游戏的增长非常迅速,游戏开发采用通用化框架和引擎的趋势越来越明显。在游戏运维方面,除了常规的运维手段,游戏还有其自身的特点。首先,端游、页游和手游由于形式的不同, 其在联网方式、分发渠道、生命周期长短等方面存在差异,因此给网络接入、多渠道分发、容量规划、网络延时、档案数据高可靠存取等方面的运维都带来了挑战

其次,由于用户增长存在不可预知性,游戏运维必须具备快速的扩缩容能力,多采用混合云或者公有云的技术架构,从而最大程度的提升其水平可扩展性。最后,在受到大规模 DDOS 异常流量攻击时,游戏运维应当具备多级流量清洗保护机制,具备服务降级的能力,从而尽可能的保证可用性。

互联网金融与运维

近几年来,互联网金融出现了井喷式发展,Fintech 也为其注入了技术创新基因。微服务、容器化、大数据和云计算等技术为互联网金融的快速迭代提供了基础。然而,相对于目前的应用运维,互联网金融行业有其自身的特点,其在数据留存、安全合规、防攻击能力、支付清算、金融监管、数据安全、大数据风控和高等级安全防护等方面都有较强需求甚至强制性的金融监管规范,也对互联网金融的运维提出了更高的挑战。

福利

大会邀请了国内外诸多一流领域技术专家严筛优质话题、发掘优秀讲师,也邀你共同探讨相关的基础架构、技术方案、应用场景以及实践经验。

最后,本文的读者在报名 CNUTCon 时输入 CNUTCon2017-InfoQ-PROMO 还可享受特别优惠,拿走不谢。6 折只剩最后 2 天,欲购从速!对大会有任何建议或疑问(如议题提交、优惠邮票、赞助合作等)均可联系大会负责人刘芸(微信:ly15201392806)。

关于作者

刘建,搜狗资深架构师,负责搜狗商业平台的基础研发和平台架构,涉及广告计费、报文等核心业务服务,致力于解决分布式、高并发、大数据量等带来的各种技术难题及挑战,构建和持续优化商业平台基础架构,保证高可靠、高性能、低成本的快速支撑新业务。在多个技术方向有较深刻的理解,有多年大规模复杂系统架构实践经验。

2017-05-25 03:504504

评论

发布
暂无评论
发现更多内容

☕【Java技术指南】「开发实战专题」Lombok插件开发实践必知必会操作!

洛神灬殇

Java 编译 lombok 8月日更

基于java springboot vue uniapp商城源码(毕设)

清风

Java uniapp 商城项目 毕业设计

腾讯T8面试官纯手打总结Java888道高频面试真题笔记+Java面试金典

Java~~~

Java 架构 面试 算法 JVM

“古老”茶产业碰上“年轻”区块链,能否擦出新火花?

旺链科技

区块链 产业 茶叶

网络安全产品之堡垒机介绍以及应用案例

行云管家

网络安全 数据安全 堡垒机 成功案例

iOS App注入SDK调试

GrowingIO技术专栏

ios sdk 逆向 注入sdk

如何动手做出一个 CPU

Java 编程 架构 cpu 电脑

Web端实现RTC视频特效的解决方案

网易云信

这份Github神仙笔记覆盖了90%以上的Java面试题,带你所向披靡

Java~~~

Java spring 架构 面试 微服务

【墨天轮专访第一期】人大金仓:国产数据库的竞争本质就是人才的竞争

墨天轮

数据库 国产数据库 KingBase 人大金仓

为什么代码会有好坏?

鉴释

程序员 代码 代码规范

带你破解DDOS攻击的原理

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

数字货币量化交易平台源码搭建|量化交易所自动交易软件开发

Geek_23f0c3

去中心化交易所系统开发 量化跟单 合约量化

四十四本iOS开发书籍资料,务必赶紧保存!

iOSer

微信公众号 ios开发 iOS书籍 iOS公众号

5秒到1秒,记一次效果“非常”显著的性能优化

Java 编程 架构 性能优化 计算机

Swift 与 Objective-C:您应该为下一个 iOS 移动应用选择哪个语言?

iOSer

ios objective-c swift ios开发

实时数据引擎系列(一): 新鲜的数据流

tapdata

数据库 hadoop Tapdata 实时数据引擎 OLTP

智能量化交易系统搭建|量化交易APP系统源码开发

量化系统19942438797

量化交易 智能量化

阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

终于学完了阿里P8架构师7年心血整理总结的微服务实战文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Reality Capture 初探

空城机

3D渲染 3D模型 8月日更 Reality Capture

如何做上线前的实操演练?

boshi

项目管理

地表最强:iOS安全黑宝书中文版来袭

博文视点Broadview

阿里技术大牛终于分享出了解决我多年困扰的微服务开发架构文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

面试侃集合 | ArrayBlockingQueue篇

码农参上

队列 8月日更

那些年用星环产品解决的业务难点…

星环科技

征文 星环科技

85W美团架构师分享深入解析Java虚拟机HotSpot文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

【Vue2.x 源码学习】第四十篇 - 组件部分 - 组件的生命周期

Brave

源码 vue2 8月日更

MySQL 系列教程之(八)DQL:子查询与表连接

若尘

MySQL 数据库 8月日更

Python代码阅读(第13篇):检测列表中的元素是否都一样

Felix

Python 编程 Code Programing 阅读代码

智能CRM销氪强势崛起, CRM赛道变数几何?

ToB行业头条

CRM

运维技术大盘点,2017你该关注运维的哪一面?_DevOps & 平台工程_刘建_InfoQ精选文章