体验亚马逊云科技产品使用 AWS Amplify 构建和部署一个 Web 应用程序
前言如果你是IT从业者,会有一个非常明显的感觉,那就是上云已经成为了趋势。以前公司如果有什么互联网业务,都要自己买服务器,自建机房,或者搬到运营商的IDC机房里面去进行托管。但现在,大家都是找云服务器厂商,租几台云服务器了事,不用自己买服务器,配置也非常灵活,也省了很多运维工程师,这就是云计算带来的好处。我们从全球范围内看一下这个21年的市场占比就知道亚马逊云科技到底有多厉害,当然近几年其它厂商占
前言
如果你是IT从业者,会有一个非常明显的感觉,那就是上云已经成为了趋势。
以前公司如果有什么互联网业务,都要自己买服务器,自建机房,或者搬到运营商的IDC机房里面去进行托管。
但现在,大家都是找云服务器厂商,租几台云服务器了事,不用自己买服务器,配置也非常灵活,也省了很多运维工程师,这就是云计算带来的好处。
我们从全球范围内看一下这个21年的市场占比就知道亚马逊云科技到底有多厉害,当然近几年其它厂商占比逐渐在增加,处于你追我敢的势头,但是亚马逊云科技依然是带头大哥。
注册账号
主要分为5个步骤,按照提示填写即可,中途会给你发邮件或者短信验证码验证。
这里需要填写一个visa卡或者借记卡,我用的招商的visa卡。
验证身份,使用短信验证码加语音提示。
选择白嫖一年。
到这里注册成功,它会发邮件问候你一下,让你快速入门。
项目构建
创建第一个 Amplify 项目
使用 React (用于构建用户界面的 JavaScript 库) 新建一个 Web 应用程序。
检查node版本。
检查npm版本
安装 Amplify CLI
配置 Amplify
amplify configure
创建 IAM 用户
创建 AdministratorAccess 权限的用户
创建 React 应用程序
创建名为 amplify-app 的应用程序,
使用CD命令进入 amplify-app文件夹下
使用 amplify init 对其进行初始化:
在 AWS Amplify 控制台中为查看和管理自己的云 Amplify 项目。
安装 Amplify 库
在电脑端找到这个文件
使用记事本工具打开并替换如下代码
使用 Amplify 添加 GraphQL API
GraphQL 架构是对象及其字段的表示。定义 GraphQL 架构, Amplify 将创建所需的 DynamoDB 表,并配置 GraphQL 来自动处理读取、写入、更新和删除。打开 amplify/backend/api/amplifyapp/schema.graphql 文件并将内容替换为以下代码:
输入 Yes 来编辑架构。
创建 GraphQL 架构
GraphQL 架构是对象及其字段的表示。定义 GraphQL 架构,而 Amplify 将创建所需的 DynamoDB 表,并配置 GraphQL 来自动处理读取、写入、更新和删除。打开 amplify/backend/api/amplifyapp/schema.graphql 文件并将内容替换为以下代码:
此架构定义了一个以 id 和文本作为必填字段的备注类型。它还包含若干指令,这些指令属于 Amplify 的 GraphQL 转换库:
@model:以 @model 注释的类型存储在 DynamoDB 中,系统自动为其创建 CRUDL (创建、读取、更新、删除、列表) 操作。
@auth:以 @auth 注释的类型受一组授权规则的保护。在这里,我们使用拥有者授权来确保只有备注的拥有者才能访问和修改。
部署应用程序
通过运行 amplify push 来部署自己的 Amplify Web 应用程序。将应用程序上传到自己的 AWS 账户,而 Amplify 将显示正在部署的更改,并要求确认部署:
确认后,根据提示选择后续问题的原定设置值:
更新前端以使用 API
要使用刚部署的新 API,通过将其中的内容替换为以下代码来更新 src/App.js 文件:
现在就有了一个运转的应用程序。使用多重验证登录,应用程序现在可以与 API 通信以保存/更新/删除备注。可以运行 npm start 进行确认。
总结
官方的文档和教程比较全,作为一名不是特别专业的人员很难提出一些专业性的见解,不过从日常的开发中,我们可以学习一些他们优秀且成熟的架构思维及已有的科技成果。也看一下亚马逊云科技平台的计算服务、网络服务、存储服务、数据库服务、安全责任共担模型、身份和访问管理服务、架构框架及弹性和高可用架构,我比较感兴趣的还是他们的计算服务和网络服务,这个主要是因为平时也玩一些阿里云、华为云、腾讯云的服务器,发现都大同小异,把自己的应用部署到服务器是值得自豪的一件事,比如DNS解析域名,安全组放行,安全管理等。这里有一个比较好的东西是他们的架构思维,值得我们好好学习。还专门花时间了解了一下。
比如他们负载均衡的处理:
不同云产品每次迭代性能提升30%~50%,价格还降低了,推荐大家使用数字较大的产品,性价比很高,比如T2和T5,选择T5,这个系列最新的产品性价比之王。
不用产品的优化迭代速度很快,基本现在都是指数级增长了。
在国内主要有两个点,北京和宁夏两个AZ地区,区域之间主要使用亚马逊云科技主干网络通信。可以充分发挥云产品的价值。
我们可以借助亚马逊云科技的基础设施和服务,在边缘运行延迟敏感性的应用程序,主要依赖于它的低延迟、全托管、还提供最终用户更近的计算、存储、网络和亚马逊云科技服务,为云大哥点赞。
拓展
官方文档:https://docs.aws.amazon.com/?nc2=h_ql_doc_do
了解亚马逊云科技:https://aws.amazon.com/cn/getting-started/?nc2=h_ql_le_gs
更多推荐
所有评论(0)