【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

SpringOne Platform 大会见闻

  • 2018-10-08
  • 本文字数:4167 字

    阅读完需:约 14 分钟

我行过许多地方的桥, ParlayX, VPC, NSX, OVS,

  看过许多次数的云, AWS, GCP, Azure, Aliyun,

  喝过许多种类的酒, SS7, SMPP, SOAP, REST,

  却只爱过一个正当最好年龄的, Spring!

今年九月底,我有幸前往美国华盛顿特区参加 2018 年度 SpringOne Platform 大会。作为 Spring、CloudFoundry、Redis、RabbitMQ 等开源技术的拥有者,Pivotal 公司每年都会举办一次这样的大会,与全球数千位开发人员、客户和合作伙伴相聚在一起,交流企业数字化转型的最佳实践,探讨云原生应用开发的最新技术。

我最早使用 Spring 开发应用是在 2012 年,那个时候 Spring3.1 刚出来没多久,还没有现在的 Spring Boot 和 Spring Cloud,甚至也没有 Spring MVC,我们当时只是用 Spring 核心框架(包括 IoC,AOP,JDBC 等),结合 struts 和 hibernate 来开发 java web 应用,当时觉得比 JEE 已经好用很多了。如今,Spring 已经发展到了 5.1,其中除了当年的核心框架功能得到优化和增强之外,更是增加了 Spring Boot 和 Spring Cloud,这让开发者能够基于 Spring 非常方便的开发应用,而且能很方便的开发符合微服务架构的云原生应用。我在参会之前,在大会官网上大概浏览了一下大会安排,知道大会有一百多个讲演,涵盖了 Spring Framework, Spring Boot, Spring Cloud, CloudFoundry, Data, DevOps, Kubernetes, Serverless Microservices, Application Transformation 等多类主题,我对这次大会充满了期待。

大会第一天,以开发人员参加 Workshop 动手练习为主,参加者在讲师的指导下完成一系列开发任务。以前我参加类似的大会都是被动式的听讲,而这次一上来就是打开随身携带的 Laptop,连上大会现场的 WIFI,按照讲师的指导开始编写代码和执行指令,那种切切实实的操作,一个坑一个坑的趟下去的感觉真是非常过瘾。上午,我参加了 Modernizing and Moving App to Cloud with PCF and AWS,在这个 Workshop 中,来自 Amazon 的讲师 Ryan Niksch 先展示了一下在 PCF 上如何部署配置 AWS ServiceBroker,然后让参加者打开 Laptop 开始练习,在 PCF 创建 AWS Polly 和 S3 的服务实例,利用 cf push 指令一键部署应用,最后将 AWS Polly or S3 服务实例绑定到指定的应用,做完这个 Workshop 后,参加者对 PCF 的常用指令以及和 AWS 的服务集成都有了基本的印象。下午,我又参加了 Serverless with Spring Cloud, Riff and Knative,在这个 Workshop 中,来自 Google 的讲师 Ray Tsang 一上来就让大家打开 Laptop 登录 GCP,开始基于 Kubernetes/Knative/Riff 的一系列任务,先在 GCP 上创建 Kubernetes 集群并安装 Riff 及其依赖的 Istio/Knative,然后开发部署两个 Riff 函数,最后创建 Eventing bus 和 channel 将两个 Riff 函数进行关联,使得两个函数能依序处理某一触发事件,并得到预期的结果,我在做这个 Workshop 之前并没有接触过 Riff,但是我顺利完成了这一系列任务,并且对 Riff 和 Knative 有了基本的理解。一天 Workshop 做下来,最大的收获是激发了我对 Knative 和 Riff 的强烈兴趣。

其实大会在第二天,才算正式拉开帷幕,这一天首先登场的是 Pivotal 负责研发的高级副总裁 Onsi Fakhouri,他分析了企业在数字化转型过程中面临的挑战,以及 Pivotal 如何从工具、平台、技术和服务等诸多方面帮助客户应对这些挑战,他的演讲生动而又透彻;在他之后,来自 Pivotal 的 Juergen Hoeller 介绍了 Spring Framework 5.1 on JDK 8&11,来自 Google 的 Mark Chmarny 介绍了 Knative,来自 Pivotal 的 Mark Fisher 介绍了 Riff,这些演讲嘉宾都是业界知名的资深技术专家,他们的演讲为参会者指明了未来五年的云原生技术发展方向;接着,波音公司 CIO 兼高级副总裁 Ted Colbert 上场,介绍波音公司如何在 Pivotal 的帮助下加快企业数字化转型的步伐,利用 PCF 平台技术和 Pivotal Labs 服务,从技术和人才两方面推动公司进入自己的云原生时代。

主会场结束后,我先后听取了迁移企业应用上 PCF 的工具和方法,基于 Spring Cloud 服务的云原生应用开发,Spring Cloud 和 Istio 两种微服务框架的比较,测试驱动 Spring Boot 应用的开发等等。有的讲师会娓娓道来他们的实际案例,有的讲师会当场和你一起编写代码,都让我受益颇多。这里我重点讲一下迁移企业应用上 PCF 的工具和方法,实用工具有很多,比如 SNAP,它用于分析应用迁移时的关注点和难易度;比如 Tracker,它用于跟踪项目的需求、任务分解和代办事项,使之一目了然;比如 Concourse,它和 Jenkins 一样用于程序的自动化构建部署和发布;关于方法,Pivotal Labs 做过很多类似的项目,所以积累了一套行之有效的敏捷方法,比如结对编程,比如测试驱动开发,比如微服务化时的领域驱动设计等等。Pivotal Labs 有一个部门叫 AppTx,专门负责将企业应用迁移到云应用平台 PCF 上来,然后进行微服务化改造。为了更好的为中国企业服务,Pivotal Labs 于今年年初在国内也组建了 AppTx 团队.

当前的世界处在快速发展之中,而且越来越以软件为导向,企业和组织应该如何进行软件资产的创新,来跟上世界变化的速度,这是大会第三天不少的主会场演讲者论述的重点。当前,将应用部署上云已经成为业界共识,很多企业和组织,已经将应用迁移到 PCF 这样的 PaaS 云平台,因为 PCF 提供了功能强大的框架和丰富实用的工具,能够让客户只需关注业务本身,从而获得企业快速发展所需的产品迭代速度,来自美国空军 Cyberspace Innovation 的技术总监 Lauren Knausenberger 和 Bryon Kroger 上尉介绍了美国空军如何与 Pivotal Labs 展开合作,来实现美国空军软件系统的创新;来自 Pivotal 的资深工程师 Jon Schneider 介绍了 Spinnaker,这是一个开源且支持多云的持续交付平台,在多云的世界,即是云平台发生变化,也可以用 Spinnaker 完成相同的交付工作;随后,来自 McChrystal Group 的总裁 Chris Fussell,来自 Microsoft 的 Azure 云开发布道师 Bruno Borges,来自 Accenture 的首席技术官 Paul Daugherty 等业界精英也登场进行了精彩的演讲,不一一详述。

主会场结束之后,我先后听取了在 PKS 上运行 Apache Kafka,用 Spring Flux 实现 Reactor 执行模式,用 Istio 结合 Kubernetes 实现服务网格,Knative 介绍等等。信息量太大,不一一展开说了,在这里重点介绍一下 Knative,大家知道,Kubernetes 只是个容器编排系统,Kubernetes 自身只能部署容器级别的工作负载,这个系统本质上是给运维人员用的。开发人员用起来往往会遇到困难,开发人员希望的是能够和 PCF 一样,直接往平台一键推送源代码并可以很好的运行,而这就是 Knative 的使命。Knative 可以在任意云环境的 Kubernetes 和 Istio 之上运行,负责构建、部署和运行无服务器化的函数,它由 Google、Pivotal 等公司发起开源,包含三个模块:Serving, Build, Eventing。Serving 模块负责部署和运行无服务器化的函数负载,它支持函数的运行可由 HTTP 或 Message 请求驱动,弹性伸缩可至零,并可利用 Istio 实现集群内的路由分发以及进入集群的入口连接;Build 模块负责将源代码构建成容器,它基于 Google 的容器构建服务,提供了一个可插拔的构建模型,可扩展实现多种构建方法,Buildpacks 就是 Pivotal 提供的一种构建容器模式;Eventing 模块实现函数发布和订阅事件流的能力,函数遵循 CloudEvents 规范来发送和接收事件,它也提供了可插拔的事件源和消息代理模型,轻松支持多种消息代理服务如 Kafka, Google Pub/Sub, RabbitMQ 等。有了 Knative 之后,整个 Kubernetes 体系就面貌一新了,我觉得 Kubernetes+Istio+Knative+Riff 将会成为云应用平台的一个发展方向。

事实上,我们身处一个复杂多变的世界,企业和组织面临着各种各样的境地和挑战,这说明云发展方向也将会存在多样性。大会第四天也是最后一天,大会接近尾声,在这天的主会场,演讲嘉宾给我们讲述他们软件团队曾经面临的困境。StubHub 是 eBay 旗下的全球最大的票务网站,每年购票人次达 1.5 亿,客户遍布 48 个国家和地区,提供超过 100 万项体育、娱乐和其他现场活动的票务服务,但是他们面临系统分布式架构和业务快速迭代的问题;星展银行(DBS Bank)是东南亚最大的银行,有 280 多家分支结构,为广大个人用户提供丰富多彩的个人金融业务和应用,但是他们面临着系统应用单体化、用户体验和开发人员效率的问题。在企业数字化创新这一趋势下,他们都选择了 PCF 平台和 Pivotal Labs 服务,将应用平台云化,将应用架构微服务化,将应用部署自动化,将团队敏捷化,现在,他们的系统两年内无停机无业务中断,软件迭代速度提升了十多倍,人工的繁琐运维工作大为减少,他们已经取得了令人惊叹的进步。

SpringOne 大会历时 4 天终于落下帷幕。百余场讲演,大咖云集,干货满满。从 TDD/CI/CD/DevOps 敏捷开发工具和组织结构的最佳实践,到企业数字化转型时应用往云上迁移的实例介绍,如数家珍;从 Java 和 Spring 未来几年的兼容版本和发展路线,到 SpringFramework5 的 Web 和 Data 层面的 Reactive 的全栈支持,娓娓道来;从 PCF on AWS 环境如何用 ServiceBroker 调用 S3 等 AWS 服务的动手练习,到 GCP 上部署 Riff 并快速实现函数即服务的实操演练,逐一讲解;从基于 SpringBoot2 和 SpringCloud 的云原生应用开发的代码分析,到 Kubernetes 环境快速构建部署应用或函数的 Istio/Knative/Riff 等新技术的介绍和 Demo 实现,均有涉猎。

四天的时间收获很多,我聆听了多家企业将遗留应用迁移到 PCF 上的实例介绍,吸收了一些 Spring 测试、安全或是 Reactive 方面的技能,也接触了 Istio、Knative 和 Riff 这些新兴的技术,但我觉得最大的收获,是看到了当今云平台的发展方向,PaaS 和 CaaS 在相当长的一段时间依然会是企业应用部署的首选,而 FaaS 的时代即将到来。

最后我要说的是,SpringOne Platform 大会虽然很好,但是飞行十四个小时到美国华盛顿特区确实比较辛苦,还要倒时差,而且那边饮食也不习惯。一个好消息是 SpringOne Tour 大会即将于 11 月 3 日在北京举行,多位刚刚在华盛顿 SpringOne 大会上发表演讲的全球知名技术专家都将专程赶来。这绝对是 Spring 社区在中国的顶级盛会,点击大会官网: http://pivotal-china.com/html/event/springone_tour.html?channelID=gw可以免费报名。

2018-10-08 19:001946

评论

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

数据库:高并发下的数据字段变更

C++后台开发

数据库 高并发 后端开发 Linux服务器开发 C++后台开发

网站FAQ页面有必要做吗?该如何做?

小炮

Seata 企业版正式开放公测

阿里巴巴中间件

阿里云 云原生 seata

彰显个性│github和gitlab之自定义首页样式

自定义 主题 6月月更

3.0.0 alpha 重磅发布!九大新功能、全新 UI 解锁调度系统新能力

亚马逊云科技 (Amazon Web Services)

UI 系统 新功能 Tech 专栏

想做自助洗车不知道怎么加盟?

共享电单车厂家

自助洗车加盟

如何挑选合适的共享自助洗车机

共享电单车厂家

自助洗车机 自助洗车机价格

进出口管理系统解决方案

低代码小观

供应链 企业管理系统

哈希彩hash竞猜系统开发逻辑游戏玩法(源代码)

开发微hkkf5566

分布式数据库下子查询和 Join 等复杂 SQL 如何实现?

TDengine

数据库 tdengine 时序数据库

Data Summit 2022 大会资料分享(共23个)

墨天轮

数据库 AI 数据仓库 数据湖 BI

一站式智能运维解决方案,企业系统的隐形守护者

云桌派

阿里云 IT 解决方案 智能运维 客户案例

2022年公共充电站运营端用户体验指数(UEI)发布

易观分析

汽车 新能源

【高并发】又一个朋友面试栽在了Thread类的stop()方法和interrupt()方法上!

冰河

并发编程 多线程 高并发 异步编程 6月月更

隐藏在 graph-ocean 背后的星辰大海

NebulaGraph

ORM框架 图数据库 知识图谱 Nebula Graph

百问百答第41期:应用性能探针监测原理-Java探针

博睿数据

智能运维 博睿数据 性能检测

没有行业经验能否加盟自助洗车

共享电单车厂家

自助洗车加盟

中建普联与数商云达成战略合作协议,共同打造建设行业数智化发展新高地

数商云

产业互联网 数字化转型 企业数字化

flask框架自主学习

恒山其若陋兮

6月月更

OpenHarmony 3.1 Release版本关键特性解析——HDI硬件设备接口介绍

OpenHarmony开发者

OpenHarmony 3.1 Release

大数据培训Linux常用命令总结分享

@零度

大数据 Linux

工赋开发者社区 | 风口上的低代码,技术人需要考虑哪些?

工赋开发者社区

低代码 低代码开发 低代码开发平台

【Spring 学习笔记(六)】Spring Bean 后置处理器

倔强的牛角

Java spring 6月月更

WEB3:什么是去中心化数据库

devpoint

分布式 去中心化 Web3.0 6月月更 InfoQ极客传媒15周年庆

TiFlash 源码阅读(三)TiFlash DeltaTree 存储引擎设计及实现分析 - Part 1

PingCAP

低代码开发是新瓶装老酒吗?

菜根老谭

无人24小时自助洗车代理怎么做

共享电单车厂家

自助洗车加盟 自助洗车代理

智能自助洗车设备什么牌子好

共享电单车厂家

自助洗车机 智能自助洗车设备 智能共享洗车机

多云管理平台和运维管理平台有什么区别?两者一样吗?

行云管家

云计算 多云管理 云管理

云计算运维需要经常上夜班吗?需要倒班吗?

行云管家

云计算 运维 IT运维

用 Golang 重写 rsync(2):方案的选择

百家饭隐私计算平台创业者

c golang

SpringOne Platform大会见闻_语言 & 开发_彭建华_InfoQ精选文章