前言

如果你是IT从业者,会有一个非常明显的感觉,那就是上云已经成为了趋势。

以前公司如果有什么互联网业务,都要自己买服务器,自建机房,或者搬到运营商的IDC机房里面去进行托管。

但现在,大家都是找云服务器厂商,租几台云服务器了事,不用自己买服务器,配置也非常灵活,也省了很多运维工程师,这就是云计算带来的好处。

我们从全球范围内看一下这个21年的市场占比就知道亚马逊云科技到底有多厉害,当然近几年其它厂商占比逐渐在增加,处于你追我敢的势头,但是亚马逊云科技依然是带头大哥。

cb0077538a09a7d1b51cca9499b33a02.jpeg

注册账号

主要分为5个步骤,按照提示填写即可,中途会给你发邮件或者短信验证码验证。

c5e9a2f3e0f6bfbdccbb079f78c6fe41.jpeg

1b3c4621065310c1fe96c02320770363.jpeg

这里需要填写一个visa卡或者借记卡,我用的招商的visa卡。

67fa16a7a55207a0336145c9441c235c.jpeg

验证身份,使用短信验证码加语音提示。

de74ef81d3879139a3ccb67f36f546a3.jpeg

选择白嫖一年。

42cffb102af0d3cd9c4af9fe8b7da36a.jpeg

到这里注册成功,它会发邮件问候你一下,让你快速入门。

a854775fc3738162a5b4db3911d75938.jpeg

项目构建

创建第一个 Amplify 项目

使用 React (用于构建用户界面的 JavaScript 库) 新建一个 Web 应用程序。

检查node版本。

68e179f0de17a0772c17b637d79f2501.jpeg

检查npm版本

74757b282f5bd7389b822966d796c0e3.jpeg

安装 Amplify CLI

1fd0ce289604c79f4445ce6599743d3c.jpeg

配置 Amplify

amplify configure

创建 IAM 用户

93dda2bd9bdb999bbf0ce2c6f85f6e44.jpeg

创建 AdministratorAccess 权限的用户

71c9232f3f2fd5a4c612550e02172b68.jpeg

创建 React 应用程序

创建名为 amplify-app 的应用程序,

adb3fb5ad1b5ac5c5ec826ae5261d411.jpeg

a21f2b9f0dc6948a256bbe6198883c08.jpeg

使用CD命令进入 amplify-app文件夹下

987f793836378176c61f090f5d3b9d5f.jpeg

使用 amplify init 对其进行初始化:

ca88daa246efb03359ec3a7c67969de9.jpeg

8285a7a7e39f909af12905d34dd82e9b.jpeg

在 AWS Amplify 控制台中为查看和管理自己的云 Amplify 项目。

e34edd00f87243459fe0507a3385280a.jpeg

安装 Amplify 库

30d0c77014299b5fdbe0309cda2e97c7.jpeg

在电脑端找到这个文件

1d29aa1e61f4fb09dc0a0d725d375ec2.jpeg

使用记事本工具打开并替换如下代码

feb57e98806049491c0efac9868ef6df.jpeg

使用 Amplify 添加 GraphQL API

GraphQL 架构是对象及其字段的表示。定义 GraphQL 架构, Amplify 将创建所需的 DynamoDB 表,并配置 GraphQL 来自动处理读取、写入、更新和删除。打开 amplify/backend/api/amplifyapp/schema.graphql 文件并将内容替换为以下代码:

0c0dd8dc604da59a387dfe1756960633.jpeg

输入 Yes 来编辑架构。

创建 GraphQL 架构

GraphQL 架构是对象及其字段的表示。定义 GraphQL 架构,而 Amplify 将创建所需的 DynamoDB 表,并配置 GraphQL 来自动处理读取、写入、更新和删除。打开 amplify/backend/api/amplifyapp/schema.graphql 文件并将内容替换为以下代码:

a7e17b65cf928bfb02e812b2f5363910.jpeg

此架构定义了一个以 id 和文本作为必填字段的备注类型。它还包含若干指令,这些指令属于 Amplify 的 GraphQL 转换库:

@model:以 @model 注释的类型存储在 DynamoDB 中,系统自动为其创建 CRUDL (创建、读取、更新、删除、列表) 操作。

@auth:以 @auth 注释的类型受一组授权规则的保护。在这里,我们使用拥有者授权来确保只有备注的拥有者才能访问和修改。

部署应用程序

通过运行 amplify push 来部署自己的 Amplify Web 应用程序。将应用程序上传到自己的 AWS 账户,而 Amplify 将显示正在部署的更改,并要求确认部署:

be9ca1a37ce01deb45f3799a7b4fca10.jpeg

确认后,根据提示选择后续问题的原定设置值:

c2442a1bffdaf25c3c83345b81255b73.jpeg

更新前端以使用 API

要使用刚部署的新 API,通过将其中的内容替换为以下代码来更新 src/App.js 文件:

842ce3aa43e9de07cb3fa5969191ba77.jpeg

现在就有了一个运转的应用程序。使用多重验证登录,应用程序现在可以与 API 通信以保存/更新/删除备注。可以运行 npm start 进行确认。

总结

官方的文档和教程比较全,作为一名不是特别专业的人员很难提出一些专业性的见解,不过从日常的开发中,我们可以学习一些他们优秀且成熟的架构思维及已有的科技成果。也看一下亚马逊云科技平台的计算服务、网络服务、存储服务、数据库服务、安全责任共担模型、身份和访问管理服务、架构框架及弹性和高可用架构,我比较感兴趣的还是他们的计算服务和网络服务,这个主要是因为平时也玩一些阿里云、华为云、腾讯云的服务器,发现都大同小异,把自己的应用部署到服务器是值得自豪的一件事,比如DNS解析域名,安全组放行,安全管理等。这里有一个比较好的东西是他们的架构思维,值得我们好好学习。还专门花时间了解了一下。

比如他们负载均衡的处理:

96286256b502221b563a66f0f6122ba2.jpeg

cedb3c647d26a95ad90c917370fc076b.jpeg

不同云产品每次迭代性能提升30%~50%,价格还降低了,推荐大家使用数字较大的产品,性价比很高,比如T2和T5,选择T5,这个系列最新的产品性价比之王。

fa7911f86b6e4dcad0a0b7d5402105fe.jpeg

不用产品的优化迭代速度很快,基本现在都是指数级增长了。

40588f29bde96d9bb4b76d81700201b5.jpeg

1381bf39bfb7cc89076411bcaadcb4d0.jpeg

c25d5988275cd51aaf185f102ee9ac3e.jpeg

3f37c6439747c7f34b5ca4e910ebcea3.jpeg

在国内主要有两个点,北京和宁夏两个AZ地区,区域之间主要使用亚马逊云科技主干网络通信。可以充分发挥云产品的价值。

86cc3382da9b65b1798fd9fef14e895b.jpeg

我们可以借助亚马逊云科技的基础设施和服务,在边缘运行延迟敏感性的应用程序,主要依赖于它的低延迟、全托管、还提供最终用户更近的计算、存储、网络和亚马逊云科技服务,为云大哥点赞。

拓展

官方文档:https://docs.aws.amazon.com/?nc2=h_ql_doc_do

了解亚马逊云科技:https://aws.amazon.com/cn/getting-started/?nc2=h_ql_le_gs

ffdc2ff5851fa9691c59e9a212e50881.jpeg

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐