关注互联网生态和前沿技术、技术创业与开发团队实战经验,对由技术引发的一切创新和变革充满了好奇心和敏锐力。现任 InfoQ 策划编辑,渴望借文字的力量传播“技术改变世界”的理念,为各路大牛提供更多的“干货”。
使用微小的应用集成应用程序可以非常方便地进行更新,这也让微服务乘风而起。采用微服务意味着更快更自动化的周期,更好地实现持续交付,同时有助于提高 DevOps 流程和部署的可见性。那么,该怎样更好的实践与落地真正的微服务呢?
本专题将邀请来自不同公司技术团队的专家和领导,分享他们在微服务架构设计或 DevOps 经验与心得,包括微服务区别于单体服务架构的优势分析,基于 Lambda 架构构建大数据平台的实践分享、基于 OpenResty 和 Nodejs 搭建微服务框架的探索经验,以及在对架构的不断优化下,怎样使得产品开发复杂度降低和开发效率的提升,怎样让持续集成交付的能力得以以有效增强。
微服务有别于单体服务架构,将复杂的服务分解为多个独立的可管理的分支和服务,可以自由的选择最新的技术,便于开发,理解和维护,也能够更好的被测试,持续集成,部署和扩展。OpenResty 基于 Nginx与 Lua 的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。在业务快速发展的过程中,服务架构逐步向微服务转型,基于 OpenResty 和 Node.js 搭建了微服务框架,降低了产品开发复杂度,提高了开发效率。
随着大数据技术的发展,数据应用的实时性要求越来越高。流计算框架成为实时计算的核心组件。如何借助大数据基础组件快速开发流计算框架与应用成为这其中的核心问题。FreeWheel 是一家主要服务于北美和欧洲客户的视频广告技术公司,为大型电视媒体和优质内容供应商提供企业级的视频广告解决方案,每天完成近 10 亿次视频广告投放,积累了大量的视频观看和广告投放数据。如何基于业务逻辑快速迭代开发出一套高性能可扩展的流计算框架,满足业务实时性需求成为了我们数据处理面临的最大挑战。
为此,根据视频广告数据的特点,我们引入了一套基于 Lambda 的数据处理架构,借助 Kafka 和 HBase 实现数据缓存、配对和系统模块集成,使用 Slider 实现业务逻辑任务的动态调度和部署,并通过 Presto 开发实现了数据的低延迟实时查询服务。业务模块的开发、部署和测试环境实现 Docker 化,进一步提升了我们在分布式环境下持续集成交付的能力。本次分享主要介绍我们在以上方面的一些经验。
随着云计算、大数据、移动、社交、人工智能等新技术的快速发展和深度应用,软件研发在开发场景、软件架构、研发工具、研发模式、交付形式等方面发生变革,尤其随着容器技术、微服务、CloudNative 的推广和应用,企业的研发挑战越来越大。
为了解决这些挑战,大量企业接受 DevOps 理念,并积极向 DevOps 转型,但是落地 DevOps 并不容易,缺少智能高效的一站式研发工具平台是转型困难的重要因素之一。本话题将重点介绍华为软件开发云的 DevOps 实践,从文化和分享、敏捷和精益、自动化、反馈、持续改进等方面全面介绍华为软件开发云如何践行 DevOps,此外还将介绍华为研发能力的演进过程和优秀实践。