58

SpringOne Platform大会见闻

 5 years ago
source link: http://www.infoq.com/cn/news/2018/10/SpringOne-Platform-information?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我行过许多地方的桥, 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等多类主题,我对这次大会充满了期待。

8801-1538993076794.jpg

大会第一天,以开发人员参加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的强烈兴趣。

5102-1538993074938.jpg

其实大会在第二天,才算正式拉开帷幕,这一天首先登场的是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服务,从技术和人才两方面推动公司进入自己的云原生时代。

5803-1538993077660.png

主会场结束后,我先后听取了迁移企业应用上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等业界精英也登场进行了精彩的演讲,不一一详述。

4904-1538993078005.png

主会场结束之后,我先后听取了在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将会成为云应用平台的一个发展方向。

4205-1538993077056.png

事实上,我们身处一个复杂多变的世界,企业和组织面临着各种各样的境地和挑战,这说明云发展方向也将会存在多样性。大会第四天也是最后一天,大会接近尾声,在这天的主会场,演讲嘉宾给我们讲述他们软件团队曾经面临的困境。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 可以免费报名。

3606-1538993077362.png


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK