运维平台

  • 配置
  • 部署:主要负责将系统发布到线上。例如,包管理、灰度发布管理、回滚等。
  • 监控:主要负责收集系统上线后的相关数据并进行监控,以便及时发现问题。
  • 应急:主要负责系统出故障后的处理。例如,停止程序、下线故障机器、切换IP等。

运维平台的核心要素是“四化”:标准化、平台化、自动化、可视化。

1、标准化

需要定制运维标准,规范配置管理、部署流程、监控指标、应急能力等,各系统按照运维标准来实现,避免不同的系统不同的处理方式。标准化是运维平台的基础,没有标准化就没有运维平台。
如果某个系统就是无法改造自己来满足运维标准,那该怎么办呢?常见的做法是不改造系统,由中间方来完成规范适配。例如,某个系统对外提供了RESTFUL接口的方式来查询当前的性能指标,而运维标准是通过日志定时上报,那么就可以写一个定时程序访问RESTFUL接口获取性能指标,而运维标准是性能数据通过日志定时上报,那么就可以写一个定时程序访问RESTFUL接口获取性能数据,然后转换为日志,上报到运维平台。

2、平台化

传统的手工运维方式需要投入大量人力,效率低,容易出错,因此需要在运维标准化的基础上,将运维的相关操作都集成到运维平台上,通过运维平台来完成运维工作。
运维平台的好处有:

  • 可以将运维标准固话到平台。无需运维人员死记运维标准。
  • 运维平台提供简单方便的操作,相比之下人工操作低效且容易出错。
  • 运维平台是可复用的,一套运维平台可以支持几百上千个业务系统。
3、自动化

传统手工运维效率低下的一个主要原因就是要执行大量重复操作,运维平台可以将这些重复操作固化下来,由系统自动完成。
例如,一次手工部署需要登录机器、上传包、解压包、备份旧系统、覆盖旧系统、启动新系统,这个过程中需要执行大量重复或者类似的操作。有了运维平台后,平台需要提供自动化的能力。,完成上述操作,部署人员只需要在最开始单机“开始部署”按钮,系统部署完成后,通知部署人员即可。

4、可视化

运维平台有非常多的数据,如果全部通过人工去查询数据再来判断,则效率很低。尤其是在故障应急时,时间就是生命,处理问题都是争分夺秒,能减少1分钟的时间就可挽回几十万元的损失,可视化的主要目的就是为了提升数据查看效率。
可视化的原理与汽车仪表盘类似,如果只是一连串的数字显示在屏幕上,相信大部分人一看到一连串的数字,第一感觉是眼花,而且很难讲数据与具体的情况联系起来。而有了仪表盘后,通过仪表盘的指针偏离幅度以及指针指向的区域颜色,能够一目了然的看出当前的状态是低速、中速还是高速。
可视化相比简单的数据罗列,具备下面优点:

  • 能够直观地看到数据相关属性,例如,汽车仪表盘中的数据最小值是0,最大是100,单位是MPH。
  • 能够将数据的含义展示出来,例如汽车仪表盘中不同速度的颜色指示。
  • 能够将关联数据整合一起展示,例如汽车仪表盘的速度和里程。

测试平台

测试平台核心的职责当然是测试了,包括单元测试、集成测试、接口测试、性能测试等,都可以在测试平台来完成。
测试平台的核心目的是提升测试效率,从而提升产品质量,其设计关键就是自动化。传统的测试方式是测试人员手工执行测试用例,测试效率低,重复的工作多,为了达到自动化的目标,测试平台的基本架构如下图所示:

1、用例管理

测试自动化的主要手段就是通过脚本或者代码来进行测试,例如单元测试用例是代码、接口测试用例可以用python来写、可靠性测试用例可以用Shell来写。为了能够重复执行这些测试用例,测试平台需要将用例管理起来,管理的维度包括业务、系统、测试类型、用例代码。例如,网购业务的订单系统的接口测试用例。

2、资源管理

测试用例要放到具体的运行环境中才能执行,运行环境包括硬件(服务器、手机、平板电脑等)、软件(操作系统、数据库、java虚拟机)、业务系统(被测试的系统)。
除了性能测试、一般的自动化测试对性能要求不高,所以为了提升资源利用率,大部分的测试平台都会使用虚拟技术来充分利用硬件资源,如虚拟机、docker等技术。

3、任务管理

任务管理的主要职责是将测试用例分配到具体的资源上执行,跟踪任务的执行情况。任务管理是测试平台设计的核心。它将测试平台的各个部分串联起来从而完成自动化测试。

4、数据管理

测试任务执行完成后,需要记录各种相关数据(例如,执行时间,执行结果,用例执行期间的CPU,内存占用情况等等),这些数据具备下面这些作用:

  • 展现当前用例的执行情况
  • 作为历史数据,方便后续的测试与历史数据进行对比,从而发现明显的变化趋势。
  • 作为大数据的一部分,可以基于测试的任务数据进行一些数据挖掘。例如,某个业务一年执行了10000个用例测试,另外一个业务只执行了1000个用例测试,两个业务规模和复杂度差不多,为何差异这么大?

数据平台

数据平台的核心职责包括三个方面:数据管理、数据分析和数据应用。每一部分又包含更多的细分领域,详细的数据平台架构如下图所示。

1、数据管理

数据管理包括数据采集、数据存储、数据访问和数据安全四个核心职责,是数据平台的基础功能。

  • 数据采集:从业务系统搜集各类数据。例如,日志,用户行为,业务数据等,将这些数据传送到数据平台。
  • 数据存储:将从业务系统采集的数据存储到数据平台,用于后续数据分析。
  • 数据访问:负责对外提供各种协议用于读写数据。例如,SQL、Hive、key-value等读写协议。
  • 数据安全:通常情况下数据平台都是多个业务共享的,部分业务敏感数据需要加以保护,防止被其他业务读取甚至修改,因此需要设计数据安全策略来保护数据。
2、数据分析

数据分析包括数据统计、数据挖掘、机器学艺、深度学习等几个细分领域。

  • 数据挖掘:数据挖掘这个概念本身含义可以很广,为了与机器学习和深度学习区分开,这里的数据挖掘主要是指传统的数据挖掘方式。例如,有经验的数据分析人员基于数据仓库构建一系列规则来对数据进行分析从而发现一些隐含的规律、现象、问题等,经典的数据挖掘案例就是沃尔玛的啤酒与尿布的关联关系的发现。
  • 机器学习、深度学习:机器学习和深度学习属于数据挖掘的一种具体实现方式,由于其实现方式与传统的数据挖掘方式差异较大,因此数据平台在实现机器学习和深度学习时,需要针对机器学习和深度学习独立进行设计。
3、数据应用

数据应用很广泛,既包括在线业务,也包括离线业务。例如,推荐、广告等属于在线应用,报表、欺诈检测、异常检测等属于离线应用。
数据应用能够发挥价值的前提是需要有“大数据”,只有当数据的规模达到一定程度,基于数据的分析、挖掘才能发现有价值的规律、现象、问题等。如果数据没有达到一定规模,通常情况下做好数据统计就可以了,尤其是一些初创企业,无需一开始就参考BAT来构建自己的数据平台。

管理平台

管理平台的核心职责就是权限管理,无论是业务系统(例如,淘宝网)、中间件系统(例如消息队列RocketMQ),还是平台系统(例如,运维平台),都需要进行管理。如果每个系统都自己来实现权限管理,效率太低、重复工作很多,因此需要统一的管理平台来管理所有的系统的权限。
权限管理主要分为两部分:身份认证、权限控制,其基本架构如下图所示。

1、身份认证

确定当前的操作人员身份,防止非法人员进入系统。例如,不允许匿名用户进入系统。为了避免每个系统都自己来管理用户,通常情况下会使用企业账号来做统一认证和管理。

2、权限控制

根据操作人员的身份确定操作权限,防止未经授权的人员进行操作。例如不允许研发人员进入财务系统查看别人的工资。

互联网架构模板,“平台技术”相关推荐

  1. D. 互联网架构模板

    D. 互联网架构模板 架构如何演进 流派 潮流派 保守派 跟风派 架构演进的驱动力 产品类:技术创新推动业务发展 服务类:业务发展推动技术创新 答案就是基于业务发展阶段进行判断 互联网技术演进的模式 ...

  2. 创业公司 互联网架构方案 整体技术栈 基础设施 数据库 服务治理 消息中间件 日志系统 ELK 自动化部署

    欢迎关注博主公众号:[矿洞程序员]文章由陈晓阳原创. 本人微信:chenxiaoyangzxy. 免费提供本人大量学习资料. 从零开始搭建创业公司后台技术栈 原创: 潘锦 说到后台技术栈,脑海中是不是 ...

  3. 互联网架构师必备技术 Docker仓库与Java应用服务动态发布那些事

    讲师简介: James老师 十余年Java经验,曾就职于携程.人人网等一线互联网公司,专注于java领域,精通软件架构设计,对于高并发.高性能服务有深刻的见解, 在服务化基础架构和微服务技术有大量的建 ...

  4. 大数据互联网架构阶段 全文检索技术

    全文检索 一. 全文检索的引出 我们生活中的数据总体分为两种:结构化数据 和非结构化数据 . 结构化数据: 指具有固定格式或有限长度的数据,如数据库,元数据等. 非结构化数据: 指不定长或无固定格式的 ...

  5. 互联网金融网贷平台技术架构介绍

    本文讲的是互联网金融网贷平台技术架构介绍,目前互联网金融正飞速发展,快速改变着我国的金融格局.短时间内,各类融资理财平台(如陆金所.人人贷.旺财谷等)为有理财需求的理财者们,提供各种投资标的和投资渠道 ...

  6. 大型互联网架构与集群技术

    java架构必须掌握的几点技术? 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注 ...

  7. 大型互联网架构与集群技术(Java方向)

    java架构必须掌握的几点技术? 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注 ...

  8. 第五章 业务架构,5.3 千亿访问量下的开放平台技术揭秘(作者:风胜)

    5.3 千亿访问量下的开放平台技术揭秘 前言 淘宝开放平台(open.taobao.com)是阿里系统与外部系统通讯的最重要平台,每天承载百亿级的API调用,百亿级的消息推送,十亿级的数据同步,经历了 ...

  9. GIAC 2020 全球互联网架构大会演讲实录:基于TarsGo的微服务技术架构实践

    2020年8月14日-15日,GIAC 2020 全球互联网架构大会于上周五正式在深圳开幕. GIAC(GLOBAL INTERNET ARCHITECTURE CONFERENCE)是长期关注互联网 ...

  10. (转)微服务架构 互联网保险O2O平台微服务架构设计

    http://www.cnblogs.com/Leo_wl/p/5049722.html 微服务架构 互联网保险O2O平台微服务架构设计 关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也 ...

最新文章

  1. GCC中的分支预测(likely和unlikey)
  2. 计算机中丢失 MSVCR100.dll
  3. beego之context新老版本使用
  4. 华为手机30s桌面循环滑动_华为发飙了!麒麟820+双模5G,从2699元跌至2499元,超出消费者预期...
  5. LINUX下安装软件方法命令方法
  6. python时间加一个月减一个月_python – 从pandas中的datetime列减去一年
  7. UVA-1602 Lattice Animals 搜索问题(打表+set)
  8. 在.net平台下,执行命令行
  9. mysql中的转换类型数据类型_mysql数据类型转换
  10. DevExpress XtraReports 入门五 创建交叉表报表
  11. 打印纸张尺寸换算_纸张开本和尺寸对照表!
  12. Paper pass使用方法总结,毕业论文查重攻略
  13. Win10隐藏图标怎么恢复
  14. javaWeb项目加入IP黑白名单
  15. 远程服务器上的输入法不见了,电脑输入法不见了怎么办?
  16. 除了啤酒与尿布 大数据又助电商玩口碑营销
  17. H3C GRE over IPsec实验
  18. 深度解读扫地机器人的导航原理
  19. B4A 饺子播放器超简插件
  20. 你见过最心酸的事是什么?

热门文章

  1. 鼠标测试软件m,罗技M525鼠标使用测试_罗技 M525鼠标_键鼠评测-中关村在线
  2. node.js安装和vue全局安装教程
  3. RXTX for java在arm上的使用
  4. Java音频格式转换,支持amr、aud、slk、silk转成mp3
  5. win10安装福昕pdf双击无反应或者不是打开而是打印(只能在福昕软件中打开)的解决方法
  6. JAVA将多个Pdf合并成一个Pdf
  7. linux中tailf命令详解,linux tailf命令详解
  8. linux如何查询文件及文件夹大小
  9. 图片视频音频开源文件转换器file-converter
  10. java开发的微信公众号文章爬虫