写点什么

运维技术大盘点,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:504606

评论

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

DevOps| 研发效能团队和PMO团队如何合作共赢?

laofo

DevOps cicd 研发效能 持续交付 PMO

GitHub星标20k+的Java指南,号称"Star收割机"

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

Github 上最值得学习的 Springboot核心笔记,硬核简直了

做梦都在改BUG

Java spring Spring Boot 框架

NineData x 华为云正式上线

NineData

数据库 华为云 企业动态 语言 & 开发 NineData

建立互联网可靠性工程体系框架的思路

阿泽🧸

可靠性工程 6 月 优质更文活动

分析初识vue小案例

张三丰无极

6 月 优质更文活动

架构实战营模块 1 作业

銀色流星

架构实战营

Flink实例:电商用户行为实时分析

TiAmo

数据分析 电商 flink 实战 6 月 优质更文活动

原来kafka也有事务啊,再也不担心消息不一致了

做梦都在改BUG

Java kafka 事务

快手严厉打击直播下收割麦行为:自媒体蹭热度不可违背公序良俗

石头IT视角

京城传喜报:汨江源喜获2023第25届北京高端油博会“金奖”

科技热闻

From Java To Kotlin 2:Kotlin 类型系统与泛型终于懂了

Seachal

Java android kotlin 泛型 类型

WHATWG vs W3C

MonkeyZz

从Docker和Kubernetes看Containerd

鲸品堂

Docker 容器 Containerd 企业号 6 月 PK 榜

Docker技术架构概述

穿过生命散发芬芳

Docker 6 月 优质更文活动

百度APP iOS端包体积50M优化实践(三) 资源优化

百度Geek说

ios 开发语言 Object-c 企业号 6 月 PK 榜 6 月 优质更文活动

原来kafka也有事务啊,再也不担心消息不一致了

JAVA旭阳

kafka

电动车厂家会生产制造共享电动车吗?

共享电单车厂家

共享电动车厂家 共享电单车生产 本铯电动车厂家 电动车生产厂家

K8S | 核心原理分析

Java Docker 架构 Kubernetes k8s

什么是死锁?它是如何产生的?

javacn.site

百度推出高考搜索指数,最有“钱”景的专业你绝对想不到

科技热闻

太赞了!阿里技术团队《Java 面试官手册》突击版对外开放!

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

学习MyBatis的异常处理机制

做梦都在改BUG

Java mybatis

对线面试官-线程池(三)

派大星

Java 面试

GitHub霸榜4个月,鹅厂大牛手写SpringCloud实战笔记,雀食不一般

做梦都在改BUG

Java 架构 微服务 Spring Cloud

BH1750 传感器实战教学 —— 硬件设计篇

矜辰所致

传感器 硬件设计实战 光照传感器 6 月 优质更文活动

目前青岛只有一家正规等保测评机构吗?在哪里?

行云管家

青岛 等级保护 等保测评

基于STM32+NBIOT+华为云IOT设计的智能井盖

DS小龙哥

6 月 优质更文活动

如何轻松应对复杂的分布式系统日志收集和分析

xfgg

ELK 日志收集架构 6 月 优质更文活动

阿里Java调优笔记爆火,7大模块优化实战,请查收

做梦都在改BUG

Java 性能优化 性能调优

直播app源码开发的稳定控制知识

山东布谷科技

软件 App 开发 搭建平台 直播app系统

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