O'Reilly 2017 SA Con - Day 1
概述
谈起O’Reilly,大部分朋友都不会陌生,就是那个经常见到的带着小动物的IT书籍的出版媒体。
O'Relly从15年开始举办Software Architecture Conference,聚焦软件架构的相关内容,包括架构原则、实践、发展趋势等。
Software Architecture Conference的副标题---“Engineering the Future of Software Architecture”,非常好的Slogon,一次就记住了 :)
此次2017 O‘Reilly London SA Con一共四天,2天Session + 2天培训,接下来,我就和大家分享一下参加伦敦O'Reilly SA Con的见闻。
签到与破冰
早上8点,就可以开始签到了。签到处放了个QR Code扫码机,对着屏幕出示注册邮件中的二维码,扫码机识别后就自动打印出名牌,很方便。然后工作人员会给你个吊牌,以及Session 列表,顺着路标,就可进入keynote大厅。
破冰蛮有意思,在keynote大厅的门口上,地上放着1排纸,每张纸的左右两边各站一位参会者,2分钟时间,对话完毕后移动寻找下一个参会者。对话的内容随便啦,个人简介、兴趣爱好、角色、工作内容等,因为挨得近,大家都说的时候,稍微有点吵。
Keynote
Keynote大厅的布置很有气氛,紫色的背景,感觉有点像是电影颁奖晚会。
开始前的宣传片挺有意思,剪辑电影Matrix中的一段视频,2~3分钟一本正经的讲述Architect的重要性 :)。
Who are you?
I am the Architect.......
接下来,进入正题。Neal Ford主持开场,然后进入第一个Keynotes。
第一个Keynotes是《The move toward modularity》,分享了modularity distributed System和传统Monolithic的核心差异:Agility | Testability | Scalability | Availability然后提到了服务演进的过程中:并不是所有系统都适合微服务架构......而且对于合适的系统的微服务演进,应当循序渐进。同时,给了个马术的例子,表明应该先学会骑马->增加骑速->越过障碍。最后,又谈了DevOps、团队协作等的重要性。
第二个Keynote是《Kafka and Streaming platform》,分享了Kafka的3个优势
Messaging done right | Make fast | Data integration
并介绍了几个不同场景下的应用,以及KSQL,
最后介绍了这个基于Kafka的Streaming生态系统Confluent Steaming platform。
第三个Keynote是《Architect as storyteller》,分享了架构师软实力的重要性,build team productivity,technical decision maker和explaining technical to non-technical people等,文化的内容多一些。
总体而言,这几个Keynote质量都很不错。相比较而言,我更喜欢第一个,内容高度抽象,例子通俗易懂,Mark Richards的演讲风格也很赞。
Keynotes结束后,30分钟的tea break,大家自由交流和探讨。
话题一
第一组话题涉及微服务、Serveless和一些工程实践。我在《Practical examples of serverless architecture》和《Architecting and securing IOT with microservice》间犹豫了下,最后还是去了IOT这面。
Pair的两位演讲者都来自Mainflux,讲述了构建IOT系统的挑战,包括安全、可伸缩性以及不同场景下协议的选择等,又讲到了什么是Mainflux平台以及所提供的一些特性,有兴趣的朋友可以看Mainflux的介绍和总览图,最后又讲了微服务下Security的注意事项。内容涉及比较广,作为索引参考不错。
除此之外,另外几个Session分别是讲:
架构领域相关工程实践的《visualize & documents for architecture》
架构师基于用户体验的方式思考架构《Software architect find way to UX》,
以及《target的的架构案例》。
到此,早上就结束了。会务方提供午餐,休息后,下午的分享开始了。
话题二
下午的第一组话题,选择了《Research Driven development - improving software & staying productive》,分享的内容和思维模式、原则、实践等有关,基于developer和researcher的类比,总结了对问题假设、验证、持续改进和发现瓶颈的方式。
另外几个话题《Spark & Machine Learning》《Frontend reactive architecture》虽然很感兴趣,但无法分身,有机会再看相关的PPT吧。
话题三
第二个话题选择了TW的《Scaling traditional integration in an event-driven architecture》。
一个印度小哥,打扮的像招待小生,开始前我还以为是调试设备的 :)。
他分享了在遗留系统的改造过程中,采用Domain Driven Design和Event Driven优化架构后,存在的若干个挑战和解决方案,包括外部依赖系统和Core Domian的映射;同外部集成时共享资源的抽象;ETL中Transformer对不同场景的抽象,对复杂的外部依赖系统如何定义Ubiquitous Language,异步通信过程中的异常处理,以及系统限流、重试等实践。TW Style :)
感兴趣的可以在这里下载.
这一场比较纠结,因为其他几个Session看起来干货也比较多。
*《Continuous Delivery Patterns》
*《Building MSA with ASP.net Core》
*《High performance JS web architecture》
话题四
如果说前面几场都还只是犹豫在二者间选其一的话,那这一场就显得更难觉抉择了。题目看起来都很吸引人 Microservicese, Cloud Native, Distributed system :)
*《Rethinking microservice with stateful streams》
*《Cloud Native Design Patterns》
*《Complex event flows in distributed system》
*《Beyond accidental architecture》
最终选择了第三个议题,因为现在的项目中也面临这个挑战,另外“Complex”比较吸引眼球。 :)
分享者花很大篇幅探讨了分布式系统中基于Event场景的workflow机制,以及传统workflow机制,类似JBPM、Activity等框架实现带来的弊端,包括开发成本、维护成本、单点故障等问题。
最后,介绍了基于去中心化的WorkFlow开源解决方案flow.io。
它也能生成生成流程的相关状态,看起来不错。
话题五
这一场里文化相关的较多,最后选择了《Application scaling over the edge》,分享者是一位来自西门子的华人。讲了Edge Computing, Cloud Service以及在西门子的应用场景。也谈到了持续部署和DevOps对industrial application带来的冲击。
晚场环节 - 签名售书与Social
一天的Session结束后,晚上举办了签名售书和Social的活动。
《Containerizing Continuous Delivery in Java》的作者Daniel Bryant是微服务领域的专家,看过他写的很多关于微服务实践的相关文章,包括《Seven deadly sins of microservices》《Microservice, the people and organisation effect.》.....
这次有幸能获得一本签名书。
另外,整了这本2017.10月 O'Relly才出版《Building Evolutionary Architectures》,作者是三位TWer,都响当当的牛 :)
第一天的内容到此结束,干货很多哈。 :)