上周六(也就是12月24日)那天,我参加了咱们亚马逊云科技 Build On 的第三季,Serverless专场,首先我对这一场的主题,个人是非常感兴趣的,因为目前所在的工作中,其实很多前端开发的小伙伴已经在工作中用到了无服务器开发了,只不过是结合国内的一些其他的第三方产品来做的,还没有运用到 亚马逊的一些技术服务来做(但是作为全球云计算、云服务的技术风向标的亚马逊,还没接触直接我都已经感觉亚马逊的云服务器技术应该能做到比国内的一些竞品要更强大了。)
好了,闲话不多扯,其实早在活动预热的时候,我都已经参加了本次 Build On 的训练营,玉龙老师先是围绕了传统开发方式与现代无服务器开发方式的鲜明对比,然后针对云原生和Serverless的技术架构及设计理念进行了独到的分析,最后为我们展示了一个轻量的无服务器的实践和使用。总之通过这次训练营也从不同的一个维度让我对云原生和 Serverless 有了一个新的了解和认知。
说到这里,也许还有很多人对 无服务器 Serverless 好像没有概念。OK,我这边说下 ServerLess的概念。
ServerLess是一种架构,我们可以成称它为"无服务器架构",它不是真的不需要服务器,而是基于FaaS(Function as a Service,函数即服务)的基础衍生出来的应用的架构方式。
在认识ServerLess架构之前我们先可以理解FaaS,这样我们对ServerLess就会有更好的理解。
FaaS是一种云计算服务,允许客户在不构建一个复杂的基础设施的情况下开发,运行和管理应用程序。在2014年10月先由hook.io提供给业界,接着亚马逊推出Lambda,2016年Google Cloud Functions,Microsoft Azure Functions对外提供服务,接下来IBM的OpenWhisk并开源。
Serverless是非常简单的外包解决方案。它可以让您委托服务提供商管理服务器、数据库和应用程序。按请求量计算费用,将支出降到最低。
Serverless架构明显比其他架构更简单。更少的组件,就意味着您的管理开销会更少,只需要管理你的函数。
在了解FaaS和ServerLess基础下我们以图的方式对比一下传统的架构与ServerLess的架构,以及工作方式。
一般情况下传统的应用的架构都是三层架构,分别是FrontEnd,WebServer,Database。
好的,接下来进入我们本次的主题吧。
很早之前,我就是一个亚马逊云服务的用户,在很早之前,我和我的开发团队们做过一款出海的项目,之前国内的 不管是阿里云还是腾讯云,都无法支撑我们的出海项目中的所有环节(哦,你要说掉了华为云,那个时候华为云还没出来,起码是还没有官宣的)
那时候虽然接触亚马逊比较早,但是使用的却是都是一些比较常见的传统服务。什么EC2、SMS、S3、数据库都没有使用云数据库(直接在EC2里创建了个数据库)
然后之后的很多年都没有使用过亚马逊云服务了,然后又一次偶然的机会(那个时候公司也不是特别忙,我偶尔会在各大技术站里面摸鱼,滑水,也不是纯粹的摸鱼,为后续的产品找解决方案,嗯对,就是这)然而第一次碰到了Build On 但是因为时间关系我错过了动手实验,但是我看了直播以及活动群里面的反馈以后,感觉这种workShop,是一种非常不错的方式,国内之前也有很多WorkShop的方式,要么是我接触的太低端了,要么是整体就都是准备得不够精致,反正我是没有太大兴趣参加。(因为我听说第一季 Build On 专门助教团队都10几人,为了不降低参与动手的体验感,参加的100多号人提前分好组,每位助教服务10几个人,这得花多少成本啊,但是他们就是一季一季的这么干过来的,而且的而且全程的动手实验是不需要花一分钱的,这多么好玩哇)
所以后面两季我都参加了,体验非常Nice(虽然我从来没有获得过动手实验 前三名)但是我相信我总有一次会得第一的(为什么每一次都有那么快的,我一半都没做到)另外还有两个原因促使我一如既往的参加 Build On 吧,1是能在这里跟更多形形色色的开发者接触到,有还没有毕业的高校学生、有在外留学的留学生、也有国内某些头都秃掉的程序猿、工程狮。2是也是通过亚马逊云科技的 Build On知道了 亚马逊还有2个组织, Builders、和 Heros。前面因为自己讯息太前短,都错过了。明年三月份的 Builder 我一定要力争进去。。成为中国区不多的 Builder 之一 。 哇哈哈哈。
这一点应该是很多还没有参加过 Build On的小伙伴们想知道的吧。
由于我是参加了第三季了,所以这一点,我非常有发言权哈。
首先第一 从宏观介绍一下 Build On的活动流程
首先会有直播训练营(次数好像有1次的2次的),直播与每次 Build On相关的技术训练营
然后是Build On预告(时间、线上还是线下、地点等)
然后不管是在群里,还是有客服小姐姐,在你报完名后,会微信或者电话的方式邀请你参加动手实验(像我这种都是 主动在群里说要参加动手实验的那种,先占一坑再说!哇哈哈哈)
再然后就是分两周的两场动手实验啦(第一周人少,第二周人多,有的时候是纯线上,有的时候是线下,线下还没参加过哈。)
动手实验的过程中每个群会有几个工作人员(客服小姐姐、助教大叔?、xx个参加动手实验的我们)那个时候既可以在群里提问,有说不清楚的也可以在腾讯会议里面截止投屏提问。
动手实验当天就会分出个 1、2、3名,然后 前三名有额外奖励,这一季是什么来着,骨传导耳机?(虽然我有了,但是我还想要!)
再再再然后就是像我现在干的事情一样,编写博文了,来总结和分享本次的活动。
最后就是评奖了(这也是我参加活动的目的之一,嘿嘿嘿)
好了,这个就是一个笼统的介绍,大家脑袋里应该有个基本的概念了吧?
本次的活动主题,在最前面已经有了,是一个使用无服务器,构建一个零售的应用。
本次 Build On 将教会您如何使用亚马逊云科技各项服务的运用最终实现 Serverless 搭建咖啡零售场景应用。
通过实验用户能了解倒 Amazon Step Functions 是如何非常便利的编排业务逻辑的,也能了解到 Amazon EventBridge 的整体发布和管理事件的过程,并最终如何通过 Amazon DynamoDB 与Amazon Cognito 来实现咖啡零售场景的完整业务流构建。
上面这个图呢,就是手册的部分内容(手册贼TM长,好像100多页,不过由于图很多所以看着多,做起来大概2小时多)
具体的实验内容呢,我就不在这里阐述了,如果需要手册的可以私信我本人哈,这个实验就算用自己账号做的话,我自己测试,好像也不要啥钱。几美分吧。
最终,反正验证你是否成功,就是验证了 PC端的 Step Functions 的一个完整状态机(构建成型的一个逻辑)
外加一个 移动端扫码订咖啡的截图。
参加了2次 Build On 活动了,其实整体下来都是非常不错的,组织方组织的非常周密 贴心、亚马逊云科技给的动手实验的内容 和 活动的条件包括奖励都还是不错的。但是要说建议,其实还是整理了几条的。
1、每次的动手实验虽然都对自己的技术视野有增长及帮助,但是实在有时候实验太繁琐,时间太长了,比如上面这个截图,可以看到是22:46截的,我下午3点开始做,做到一半家里有事情需要处理 然后 6.30吃完饭又从头开始做,基本上做了快4个小时(中途出了2个bug解决了一下。)所以第一点就是主要解决时长问题,这个我感觉是卡我到底做还是不做的第一因素。
2、能不能在武汉办一场线下 Build On,我看Build On很多线下 不是北京就是深圳、上海什么的,虽然确实那里的开发者多,但是也要考虑考虑其他城市的呀。我们武汉的开发者也是不少的,热情不减呀。
3、举办频率能不能快一点,我从5月底参加了第一次(哦,只是进群了,没有完全参加),到12月底第三次,全年就三次。频率明显太低了,很多时候我都把这个事情给忘了,还好有客服小姐姐打电话通知我参加,我才记起来。
4、直播中,亚马逊的专家讲师能否在正式开场那一天,跟我们有一个线上互动的环节,每次直播完就是听,然后动手实验做,感觉衔接不是那么紧密。
5、需要一个单独的页面把以往几季的活动都放到一起,聚合到一起,其实很多时候我跟身边朋友分享 Build On的动手实验的时候,比如朋友对第二季的物联网的比较有兴趣打算自己买个同型号的树莓派去试试摄像头,或者更多的 比如 湿度器、热感应、压敏感应等等。但是,当时我找了好久链接才找到第二季的活动链接发给朋友(费力)。
本次活动下来,个人虽然在动手实验环节比较坎坷,但是还好有助教老哥的细心指导(那天快指导到11点了,删除完环境好像就是11点了)但是整体下来,对亚马逊的云服务,有了新的认识,以前只知道一些大众化的服务,在参加了 Build On之后 对其他很多自己并不是很擅长的领域也敢于去动手操作,对他们也有一个深入的了解和认识了。比如第一季的 ML、第二季的物联网(树莓派与亚马逊的云服务结合)、第三季的 Serverless、Step Functions、EventBridge等等。
并且通过这一系列活动也让我更加了解亚马逊了,了解到了 Builder这个组织,也看到在年底的时候 新出来的 开发者中心(DC)
明年,有时间的话我会了解和参与其他活动,开阔视野,增加见识,也希望亚马逊在中国能够越办越好。
好啦,今天就写这么多吧,差不多也4000字了。欢迎大家评论和点赞哈。也欢迎大家私信交流。(一个从北漂回汉的互联人)