
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
无服务器编程开发是目前大多数软件开发程序员都在学习的一个编程技术,下面我们就通过案例分析来了解一下,无服务器编程开发的本质与应用。
无服务器协作服务
超越业务管理和状态管理,我们可以预见到其他组件的服务化和商业化,即使在云端环境,传统意义上我们希望开发,或者至少自己管理这些服务。例如我们可以停止运行在EC2机器上面的Mysql数据库服务器,转而使用Amazon的RDS服务器,我们可以使用Kinesis替换我们自管理的Kafka消息总线安装程序。其他的基础设施服务包括文件系统和数据仓库,而更多的面向应用示例包括认证和语音分析。
这种趋势还会继续,我们需要进一步地减少创建或者维护产品所带来的工作量。我们可以设想更多的预安装的消息逻辑(把ApacheCamel想象成服务,构建到AmazonKinesis或者SQS里面),并且进一步开发通用机器学习服务。
这里比较有意思的一个想法是FaaS功能,由于它们轻量级的应用模式,可以将自己紧紧地绑定一个服务,使得FaaS调用服务功能的生态环境时可以调用其他的FaaS功能,诸如此类等等。这会导致“有趣的”级联错误问题,对于这种错误我们需要更强大的监控工具,会在本文稍后介绍。
监控、日志和调试
一旦我们的应用程序被部署完毕,我们就会需要针对监控和日志的良好的解决方案,这类工具目前有几个组织正在尝试积极地发展着。除了评估其中一个组件的功能,我们也需要号的工具追踪请求,这些请求穿越了一个完整的多个无服务器计算功能和配套服务体系的分布式系统。
调试也是挺重要的。程序员很少在一次代码运行通过之前不犯错误,我们也别寄希望于这种情况会有所改变。我们依赖于监控,在FaaS功能的开发阶段评估问题,但是这种调试方式是石器时代的工具。
当我们调试传统的应用程序时,我们从IDE工具那里可以得到很大的支持,通过设置断点、单步调试代码,等等。使用现代化的基于Java的IDE工具,你可以绑定一个正在运行的远程进程,并且远程执行调试工作。因为我们更加倾向于使用云端部署的FaaS功能完成大量的部署工作,希望未来你的IDE工具也可以具有类似的功能,可以连接到一台正在运行的无服务器平台,查询每个功能的执行情况。这需要工具和平台开发商之间的协作,如果想要让无服务器被广泛采用,这些措施都是必要的。这些想法对于云计算来说有一定开发工作量,也有大量的测试工作量。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。