基于web的应用程序编程接口(API)概念从90年代就已经出现了。由于维护和发展业务的需要,现有的代码已经有几个世纪的历史了,我们今天将其中大部分定义为单块代码。对许多公司来说,改变的想法即使不是不可想象的,也是令人畏惧的。
有无数的理论、概念和体系结构来帮助确定打破这些庞然大物的最佳方法。然后呢?一旦你建立了AWS帐户,你如何将你的无服务器微服务导入AWS?
有一个久经考验的工具,叫做Claudia.js。js是一个用于微服务的开源部署工具,它可以帮助你开始并维护Lambda函数和Amazon API Gateway。
js自动打包NPM依赖项,确保API是可部署的,为传输压缩包,配置API网关,然后安装AWS Lambda函数。js以JavaScript开发人员期望的开箱即用的方式设置一切
你好世界
让我们创建Hello World示例“Monolithic”服务。
- 创建一个新文件夹,用NPM或Yarn初始化
npm init
- 创建一个app.js文件,文件内容如下:
-
var apiBuilder = require(' claudia-api-builder '), api = new apiBuilder ();
模块。出口= api;
api。Get (' /helloworld ', function () {
返回' hello world ';
});
- 将Claudia API Builder添加到package.json中
npm install Claudia-api-builder -save
- 最后一步,全局安装Claudia.js。
npm install -g Claudia
- 最后,在AWS中安装Hello World微服务:
-
Claudia创建-region uss-east-1 -api-module app
在几分钟内,您应该会收到类似以下内容的响应:
{
“λ”:{
“角色”:“测试执行者”,
“名称”:“测试”,
“地区”:“us-east-1”
},
“api”:{
" id ": " 4l9jdd7gy9k ",
“模块”:“应用程序”,
“url”:“https://4l9jdd7gy9k.execute - api.us东- 1. amazonaws.com/latest”
}
}
当Claudia.js完成时,他的结果会给你新的API Gateway资源的根URL。Claudia为/HelloWorld创建了一个端点资源。此时,您可以将/HelloWorld添加到上面的URL中,并在浏览器或控制台中尝试新的端点。您应该看到“Hello world”响应。
不到10分钟,您就在AWS中部署了第一个Lambda函数和API Gateway端点
但刚刚发生了什么?:
以下是Claudia.js刚刚做的:
- 创建了项目的副本
- 打包了所有的NPM依赖项
- 测试API是可部署的
- 压缩应用程序并将其部署到Lambda
- 创建了正确的IAM访问权限
- 使用/HelloWorld资源配置了一个API网关端点
- 将新资源链接到以前部署的Lambda函数
- 安装API Gateway转换模板
Claudia的最后一步是将配置保存到一个名为Claudia的本地文件。Json,这样你就可以更新函数而不必记住细节。js使更新和维护新的微服务变得同样容易。
结论
公司要从现有的单一后端转移到更现代、更敏捷的框架,最关键的障碍是如何将服务转换为部署到AWS中的微服务。除了添加Claudia.js来将单片服务转换为微服务之外,还可以将Claudia.js添加到现有的持续集成和部署流程中,以减少上市时间并提高质量。
“完美”如何帮助你?
Perficient是经过认证的Amazon Web Services合作伙伴,在云平台解决方案、呼叫中心、应用现代化、迁移、数据分析、移动、开发人员和管理工具、物联网、无服务器、安全等领域拥有超过10年的企业级应用和专业知识。与我们行业领先的战略和团队相配合,Perficient能够帮助企业应对最严峻的挑战,并从他们的实现和集成中获得最大的收益。