在2018云栖大会南京峰会企业研发云专场,由阿里云高级产品专家刘昕带来了“IaaS后时代,企业如何玩转云上的业务开发”的主题分享,对什么是IaaS后时代、企业研发云和产品结构关系进行了详细的讲解,最后对三个典型场景前后台双模DevOps、CI/CD打造企业软件供应链和It部门组织职能升级进行了介绍。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!
直播视频请点击
以下为精彩视频内容整理:
什么是IaaS后时代
当今社会已经迈入了信息化、数字化和智能化的时代,传统的服务方式是每个企业对自己的消费者、对自己客户是通过柜台、通过线下、通过人去提供服务的。现在越来越多的企业面向消费者提供的服务是通过网页、通过APP和通过手机上的客户端就能直接为消费者提供服务。那么,因为这个趋势的到来对任何一家企业都会带来两个挑战,一个是任何一个企业都要具备软件的开发能力。另一个挑战是因为通过线上APP直接为客户带来服务,那么客户的反馈也会快速的到达企业内部,也就是说用户的问题和需求,用户反馈的路径会非常的短。对于后者带来的挑战来说对于每个企业APP响应的速度、软件的迭代速度、软件的交付速度也变得越来越重要。
当一个CEO说我们的IT系统已经从传统的物理级的机房搬到云上,那是不是明天搞一个大促就可以顺利的搞定呢?这个时候CTO的心情一定是非常纠结的,因为当从线下的虚拟化设备搬到线上的弹性资源,线下的物理化存储搬到线上的分布式存储,解决的是资源层的问题,资源解决的是快速的交付。上云后要达到一个快速交付的能力还需要做一个什么样的事情,我们先看阿里巴巴今天具备一个什么样的能力。
阿里巴巴是一个庞大的互联网公司,是一个庞大的数字化公司,每天有几万的工程师几万的技术人员分布在几十个事业线中,每个礼拜都会有4000以上的工作项的增加,这个工作项无论是项目、任务还是需求他们之间要进行错综复杂的一个胁从,那么在这样一个庞大的胁从组织下带来的效率是任何一个应用周一到周四24小时提交发布。落地一个业务需求,在阿里可以多快?需要做到多靠谱?
2017年双十一期间,同一批次上万台服务器,在十分钟之内快速完成部署。交易峰值32.5万笔/秒,支付峰值25.6万次/秒,数据库处理峰值4200万次/秒。集团10万镜像的托管,共计2亿次的镜像下载量。移动端app运维期间的热修复成功率达到98.1%,上线后App的在线消息送达率达99.3%。都可以使用户得到非常好的体验。
企业研发云
沉淀下来一套面向工程师,面向测试、面向运维人员的一套中台的PaaS层的应用系统,这个系统包含了四个部分。
第一个是移动技术中台,它做两件事情,一件是提供移动技术开发中的从框架到工具到组建化的一个支撑,同时提供了移动端开发的DevOps工具化支撑。最终带来的效果就是手机淘宝这样的涉及到非常多的业务部门来共同开发的一个航母级的APP能做到每天发布两次的效率。
第二个是研发协同DevOps也就是云效平台,这个平台不止能解决所有开发团队之间的协调问题,同时也能通过自己的一些标准化、一些测试的组建、一些自动化的工具去支撑整个后端研发效率的提升。
第三个是容器应用平台,大家都知道容器化除了可以让应用迭代速度得到提升,能够从应用视角去把一个应用的架构做到非常快速的弹性伸缩,同时因为容器本身是一个屏蔽了底层,操作系统差异化的一项技术。那么对于任何一个企业,不管是要上云、迁云还是多云管理这个时候容器技术都是一个最好的选择。
最后一个是应用运维平台,是在能够自动化的情况下又能非常好的保证质量,移动技术在AI领域也做了很多探索为什么落地没有这么快呢?是因为运维是一个零错误容忍的一个环节。所以说如何做到像双十一这样十分钟内批量的稳定的不出错的去发布这些系统就是这个运维平台来保证的。
产品结构关系
放到整个系统架构图上来说研发云是在PaaS这一层来承载业务的,它建立在IaaS层之上,同时能抽象一些IaaS层的资源,把原先面向系统面向资源层的角度变成从工程师和技术人员向应用角度的一个区分,另外上边支撑整个业务中心,支撑不同的开发框架。
典型场景
这些产品听着很好,但怎么落地呢?怎么帮助到各个企业?这个接下来将三个场景。
前后台双模DevOps
现在每一个企业都会有自己移动端的业务的出口,移动开发和后台开发是要同时协作来工作的。一个需求过来,一个统一的项目管理,它自然分叉到一个前台开发一个后台开发,前台开发和后台开发分别有不同的组件和不同的功能来支撑整个的开发过程。同时双模的DevOps能够做到让前后台的开发做到相当好的协同,否则后面的功能发布的后面的业务还没发布,没有办法做到快速的响应最终客户和消费者的需求。
CI/CD打造企业软件供应链
每一个应用通过容器化的时候,它都需要一个像Docker File这样的文件来描述这个容器所跑的一个环境。对于开发人员来讲,他除了要学习原来的业务开发之外,他也要更多的了解我的应用所跑的环境,我的应用之间的关系,去学习更多这样的知识。那么通过云效平台和容器平台的协作能够让现存的应用代码通过工具做到应用部署,同时自身原本的编译、测试、打包和构建的过程是不变的,两者组合起来能够生成包含应用环境和应用本身的一个Docker Image。然后从这个测试环境开始对Docker环境的测试、预发布、集成到最后的上线,像集装箱一样一步一步的运行过去的。那么这里效率的极大提升,就会因为之前我们的每一次应用在不同的环境去做部署去做验证的时候,都会因为环境的差异性而带来额外的工作量。所以说当多一套开发环境,调试人员就要多一次调试。而我们这个方案可以帮助开发人员在每一个环境随着项目的变化不断的重新创建不断的销毁,带来效率的极大提升。
It部门组织职能升级
这个是我们的一个愿景,希望It部门做到组织上的一个组织协同能力的提升。因为今天DevOps是抹去了每一个环节流程之间的等待关系,让整个效率能够非常高速的提升,同时打破了职责之间的边界。但打破职责边界不代表开发要做测试的事,测试要做运维的事,这个并不是说基本技能的一个变化。而是说让测试慢慢的向测试开发去转型,去观察业务系统的能力让开发慢慢转型成跨职能的开发。这样的话从价值交付到持续改进形成一个闭环,打破部门之间原来的条条框框的协作关系,让真正的业务协同让部门协同,让开发部门也去做互联网化。这个可能是我们最终想要达到的一个目的,让公司互联网化了、业务互联网化、开发测试运维团队的协同也要做到互联网化,这样才能把阿里巴巴今天所有的经验和踩过的坑能让每一个企业快速的获取到这样的能力。
本文由云栖志愿小组陈欢整理编辑