【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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:001962

评论

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

js裁剪(分隔)字符串常用方法

木偶

JavaScript 前端 10月月更

一步一图带你深入理解 Linux 虚拟内存管理

bin的技术小屋

内存管理 Linux Kenel 虚拟内存

@程序猿:旺链科技惊喜已到,请速速查收~

旺链科技

区块链 产业区块链 1024程序员节 企业号十月PK榜

算术四则混合运算表达式的求值

可口也可樂

算法 10月月更 四则运算

JavaScript刷LeetCode模板技巧篇(一)

Geek_07a724

JavaScript LeetCode

未来智安2周年 | 行则将至,未来可期

未来智安XDR SEC

Internet协议栈 TCP/IP模型 、以太网封装以及解封装过程、物理层、链路层、网络层、传输层、应用层的作用 OSI七层模型

Python-派大星

10月月更

TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式

Python-派大星

10月月更

深入浅出来谈谈webpack🔥

渔戈

前端 Vue3 10月月更

一文带你走进C++【内存泄漏】

C++后台开发

c++ 后端开发 内存泄漏 Linux服务器开发 C++开发

嵌入式 Linux 入门 环境篇(一、开发板初体验)

矜辰所致

Linux 开发板 启动流程 10月月更

C++中的四种类型转换

可口也可樂

c++ 类型转换 10月月更

鏖战 48 小时,TiDB Hackathon 都诞生了哪些硬核创意?

PingCAP

TiDB

蒙牛前数科部总监刘瑞宝分享蒙牛数字化转型成果-星策社区大咖说(一)

星策开源社区

决策 智能化转型 数据链路 蒙牛

训练大模型的九大深度学习库;谷歌转向文字→视频生成的两大利器|AI系统前沿动态

OneFlow

人工智能 深度学习

完整议程 | 2022 XDR网络安全运营新理念峰会

未来智安XDR SEC

网络安全

【开发利器Hutool】推荐一个超好用的本地缓存

JAVA旭阳

Java hutool 10月月更

以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别

Python-派大星

10月月更

调度线程池ScheduledThreadPoolExecutor的正确使用姿势

JAVA旭阳

Java 线程池 10月月更

“程”风破浪的开发者|C#下WPF中实现贪吃蛇小游戏(超详细步骤附带源码)

木偶

C# 学习方法 贪吃蛇 10月月更 “程”风破浪的开发者

Flowable 服务任务执行的三种方式

江南一点雨

Java spring springboot flowable JavaEE

资源不准下的网络故障定位探索

鲸品堂

故障定位 企业号十月PK榜

Go Web 实战:如何创建项目及增加日志功能

宇宙之一粟

日志 Go web Go 语言 10月月更

大咖说·小码王|人工智能时代,如何让孩子掌握与机器交流的语言?

大咖说

人工智能 阿里云 降本增效

华为云焕新数字生活,打造情景化智能产业链条

爱尚科技

华为云

华为云同步科技信息端,海量存储性能

爱尚科技

华为云

怎么购买公有云?具体流程是怎样?

行云管家

云计算 公有云 企业上云 云管理

我摊牌了!真正的灰度队列实现方案!全网你都搜不到!

艾小仙

Java kafka RabbitMQ 中间件 计算中间件

Vue3组件开发之:父子组件之间的通信方式🔥

渔戈

前端 Vue3 10月月更

Linux网络-HTTP协议

可口也可樂

Linux 网络协议 HTTP 10月月更

认识VueCLI和Vite🔥

渔戈

前端 Vue3 10月月更

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