热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【品高云7年】三、云在开发测试场景的需求与挑战

1.概述曾几何时,开发测试是云平台切入企业市场的第一个应用场景,主要的原因是:一方面,这个场景下对高可用的要求不高(说白了就是,那时企业还不相信云平台能挑大梁、跑生产系统);另一方面,

1.概述

  曾几何时,开发测试是云平台切入企业市场的第一个应用场景 ,主要的原因是:一方面,这个场景下对高可用的要求不高(说白了就是,那时企业还不相信云平台能挑大梁、跑生产系统);另一方面,开发测试工作中环境变化比较频繁,云平台的“模板”能力正好可以有效降低运维部门的重复劳动。

  而实际上,对于管理成熟度高的企业来讲,IT系统在正式上线前需要经过,开发、测试、QA、UAT等多个环节,而这些环节的效率将直接影响业务上线时间和后续的质量,可以说与业务成功密切相关。

  近年来,随着互联网产品快速迭代模式对传统企业研发的影响,一些新型有效的理念思想被引入,如:敏捷开发、微服务、持续继承/交付/部署等,这些思想的背后理念和采用的新技术,也对开发测试这项工作本身提出了更高的要求。

  通过对品高云客户的开发测试需求场景的梳理,发现客户的主要需求集中在:快速环境获取、模拟生产环境、运维自动化、更低成本以及对新技术的支撑等5方面。

2. 快速获取环境

2.1.经典场景

  • 开发/测试人员(威逼利诱):系统已经开发完了,请尽快提供测试设备呀,不然业务上线晚了,领导该不高兴了。要不你先把暂时不用的设备给我用下?很快就还给你,到时请你吃饭。

  • 运维人员(心若止水):半天后回复……,这个已经被其他项目组占用了真没空闲资源了,再说项目都是平等的,我优先给你了,别人也不高兴。

  • 开发/测试人员:我需要的环境是4CPU的服务器2台、里面是RedhatLinux、Websphere7.0以及Oracle11g。

  • 运维人员:硬件资源是现成的,但标准模板中没有11g,如果要我们安装要等2天。

2.2.需求分析

  • 企业测试资源有限,但并没有合理分配

  • 资源有空闲,但没有被及时回收

  • 运维人员真忙,不可能事事快速响应

  • 硬件/VM模板固化,不可能软硬件按需搭配

2.3.云平台的应对策略

  • 资源统一管理,通过配额(云中的虚拟货币)平衡资源分配,避免恶意占用。

  • 项目模式管理,设置资源周期和SLA,定期回收和存档。

  • vm硬件和软件模板分离,开发/测试按需选择。

这里写图片描述
(图:云平台中项目化的配额管理)

这里写图片描述
(图:常用软件模板管理)

3.模拟生产网络环境

3.1.经典场景

  • 运维人员:你这个系统打不开页面,到底有没有认真测试呀?

  • 开发/测试人员:在测试环境中明明好好的。

  • 运维人员: 跟踪了下错误,发现代码中连接数据库的地方,没有从测试改为生产IP。

  • 开发/测试人员:抱歉抱歉……马上改。

3.2.需求分析

  • 为了统一管理和网络隔离,生产与测试环境的IP和子网不同

  • 由于子网不同,应用不能配置一套搞定

3.3.云平台的应对策略

  • 通过实施SDN架构,让网络和网络功能可以“虚拟化”,并按需编排

  • 之后通过VPC功能(虚拟出多个相同的网络),让开发测试也用生产环境的IP配置。

这里写图片描述
(图:用SDN架构构建多的虚拟网络VPC)

4.运维自动化(持续部署)

4.1.经典场景

  • 运维人员:你们测试怎么需要8台服务器这么多?

  • 开发人员:系统有负载均衡、前端、中间件、数据库等多个模块需要组成集群,短期千万别铲掉,好不容易搭建起来的。

  • 测试人员:版本有大bug需要重新部署。

  • 开发人员:啊?那要再多等几天……。

  • 开发人员:测试服务器蓝屏了,我觉得是你提供设备或网络的问题

  • 运维人员:你举出证据来?

  • 开发人员:我发现你没有给OS打最新的驱动补丁

  • 运维人员:我只是按照你要求给环境,你又没提这个需求

4.2.需求分析

  • 多机环境软件多样复杂,难以自动化保证效率

  • 人工操作出问题后,权责和问题难以界定

4.3.云平台的应对策略

  • 提供云资源编排和应用自动化交付技术,让“大”环境部署自动化

  • 显性化交付步骤每个指令环节,让“自动化”更透明。

这里写图片描述
(图:通过部署蓝图实现自动化运维)

5.更低成本

5.1.经典场景

  • 运维人员:领导,我们的业务欣欣向荣,明年预算需要多买一些服务器,尤其是SAN存储要扩容了,vm占用空间太大了!

  • 领导:SAN这么贵,开发测试就用单机硬盘吧

  • 运维人员:单机磁盘容易坏,测试环境出如果硬盘出问题也很麻烦

  • 领导:哦,那就用SAN吧

  • 运维人员:现在的SAN都没空间了呀

  • 领导:卖卖卖

5.2.需求分析

  • SAN存储可靠性高,但昂贵

  • 物理服务器本地硬盘多便宜,但可靠性不高

  • 虚拟化之后,vm数量增多,占用空间线性变化快,存储成本直线上升

5.3.云平台的应对策略

  • 实施计算存储一体化(超融合)架构,充分利用分布式计算+分布式存储的性价比高的优势

  • 实施二级存储架构,让SAN作为高性能业务专享、分布式作为普通业务使用,互为备份

这里写图片描述
(图:在云节点中构建分布式存储,并且支持多类存储并存)

6.新技术的挑战

6.1.经典场景

  • 开发人员:现在微服务挺流行,我们要引入这种模式,并且基于docker来做持续集成

  • 运维人员:别,我们以前没做过这方面运维,出了问题找谁问?

  • 开发人员:docker厂商说需要新环境来部署环境

  • 运维人员:又要采购服务器?

6.2.需求分析

  • 新技术和新思维,受限运维技能堆栈,无法敏捷响应

  • 新技术不一定能够保证自身的安全、可靠性

  • 新架构可能需要“新环境” ,原有资产难以保护

6.3.云平台的应对策略

  • 云平台自身提供针对docker等新技术的图形化、自动化功能,降低运维人员上手难度。

  • 可利用已有的云基础设施,交付新型PaaS技术。这样底层网络、安全和弹性能力可以复用。

  • 需提供开放的API和组件架构,可以快速接入新技术

这里写图片描述
(图:云平台提供ECS容器服务)

7.收益总结

  随着敏捷开发、微服务等“互联网+”思维方式和技术的引入,企业的开发测试工作,势必对运维技术在成本(降低)、效率(提升)、可用性(增加)和效果(显性化)等方面提出更高的要求。而开发测试云的引入,也通过快速的环境获取、能够模拟生产网络环境、运维自动化、更低的成本以及从容面对新技术的挑战等方面,更好的辅助企业完成这一生产运行前的最后一道关键工序。

  当云平台有效支撑企业完成开发测试这一工作后,企业也开始对于云计算所带来的“效率”提升建立了信心,同时由于“持续交付和继续集成”的需要,测试阶段都自动化了,那么下一步,自然是生产运行的自动化支撑。而实际情况下,企业对云计算在这一场景下的需求,不仅仅是“效率”这么简单,而是另有更高、更苛刻的要求。


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
author-avatar
laomeng爱家人_465
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有