Don Safar 图片

欢迎!我叫唐萨法尔。 2019 年夏天,我正在关闭我们的公司 Safe Haven Holding Corp dba Safar Motor Group。在加入 Safar Motor Group 之前,我在 Lender Processing Services 工作了 15 年,该公司在企业重组中成为 Black Knight Inc 的一部分。在 LSI 任职期间,我成为了一个团队中的 SME,该团队将帮助我们将遗留系统转换为新建的现代系统。我的任务是将现有工作流程的知识转移到新系统中,并将遗留工作流程修改为新系统。这是我在 IT 行业的第一份全职工作。我从公司最底层做起,最终转到 IT 部门。足够的背景故事让我们来了解这篇文章的全部内容。

云简历挑战或 CRC 不仅仅是学习在云中做一些很酷的事情。 CRC 教会了我如何真正突破我认为自己有能力的界限。实际上,这更像是对我能力的提醒。下面您会发现该项目分为六个阶段。在每个阶段,我都会回顾我的挑战以及我是如何克服每一个挑战的。

目录

第 0 阶段 - AWS 认证

阶段 1 - HTML、CSS、S3、DNS、SSL、AWS Cloudfront

第 2 阶段 - API、Lambda、DyanomDB

第 3 阶段 - Javascript、API、冒烟测试、CORS

第 4 阶段 - IaC、CI/CD

第 5 阶段 - 博客

云简历

以下是挑战赛的详细说明。

云简历说明

CRC项目

阶段 0 - AWS 云从业者认证

  1. 我可以这样做吗?

  2. 坐下,我们需要谈谈...

这个基础阶段是关于获得我的 AWS 认证云从业者认证或 AWS CCP。这个阶段的项目我在网上找到云简历项目之前就已经开始了。我对云一无所知,并决定将其作为我的新职业。我开始寻找可以让我在 AWS 云方面获得实践经验的项目。完成 AWS CCP 认证后,我开始了一个子阶段,即开始学习 AWS Certified Solutions Architect - Associate。这是我旅程的第一步,充满了兴奋和未知。当我开始从头开始学习这条道路时,我对未来的发展和我的职业发展方向感到非常兴奋。根据我多年来的个人经验,我确实对网络和 Web 服务器设置有一些先验知识。我曾经设置了一个家庭网络,这样我就可以在我的内部网上和朋友一起玩 Mech Warrior,因为我们仍然坚持使用 56k 调制解调器来连接互联网。互联网刚刚出现,随着技术进入每个人的家中,嗡嗡声非常令人兴奋。我一直对技术着迷,因为当建筑工人不仅仅是程序员时,我父亲从事 IT 工作。他在 IT 领域的职业生涯对我后来的生活产生了很大的影响。我在高中的第一份工作是在周六早上启动并观看 MainFrame,以便银行驾车通过。我实际上不得不将巨大的硬盘驱动器加载到机械机器中,然后在终端上输入一些命令并祈祷在星期六下午 12:00 关闭驱动器之前什么都没有发生。那里总是一个冰柜,这让一个 16 岁的孩子很难保持清醒。回到认证,为解决方案架构师学习建立在 CCP 证书之上。我用acloudguru和教程dojo来学习AWS CSA认证。它比我最初预期的要深入和具有挑战性。有一次,当我在教程道场考试中取得 45% 的成绩时,我真的很想退出。我指出我还没有学到考试所需的深度。我很沮丧,因为我所有的辛勤工作使我获得了一个巨大的不及格分数。我必须寻找我的灵魂才能继续。我必须回答这个问题,我为什么要这样做?我做的最好的事情就是关掉电脑,退后一步,说服自己回顾我走了多远和学到的东西。如果这很容易,每个人都会这样做。一旦我的心智正确并提醒自己我不是一个放弃者,我可以做到这一点,我立即跳回去。会有挫折,但如果你允许他们,这是学习的最好方法。经历了种种挫折,我确实通过了我的AWS 解决方案架构师认证。我必须在整个云简历挑战中练习这一步向前两步。我会取得胜利然后遭遇挫折。这是一个永无止境的过程,每次都让我向内看。我最初认为这一切都是为了建立一份云简历,但对我来说远不止这些。这是一个提醒自己我可以做伟大事情的教训。我总是能做的比我想象的要多。学习这类课程的唯一方法是通过你从中学到的挫折。不断前进,一路上提醒自己,我为什么要这样做?为什么对我来说,这是我喜欢做的事情,它将在云中提供一个新的、令人兴奋的职业。

顶部

云图

一期

HTML、CSS、S3、DNS-Route 53、AWS Certificate Manager、AWS Cloudfront

  1. 你是怎么做到的?

  2. 答案就在那里,你只需要找到它。

我想让这个阶段的第一部分保持简单。我为我的 HTML 和 CSS 使用了 start bootstrap。我花了一段时间才弄清楚 css,其他一切都很简单。通过反复试验,我能够修改网站的配色方案,使其更加人性化。 DNS 和 SSL 证书在 AWS 控制台中非常简单。当谈到 CloudFront 时,我唯一知道的是,它是一种在全球网络上缓存您的网站以减少延迟的方法。我在拉斯维加斯度假时测试了这一点,使用了一个单元格服务,并且能够非常快速地加载该站点,就像我有五个服务格一样。 Cloudfront 的工作效果给我留下了深刻的印象。我发现AWS有一个很棒的教程关于S3和云前端的设置。知道要搜索什么以及在哪里可以找到信息是技术的关键,因为它在不断变化。

顶部

API Lambda 图

第二期

API、Lambda、DyanomDB

1.拉姆达什么?

  1. 这里有巨大的学习曲线

这个阶段的项目真的是我开始遇到一些障碍。你不知道你不知道什么。我首先需要弄清楚 Lambda 是如何工作的。它是无服务器的工作马。您可以等待触发器发生,然后让它运行您的代码以完成任务,从而使其处于待机状态。就我而言,我需要 Lambda 在网站上等待以请求访问者计数。一旦该请求被推送到 Lambda,它将从 DyanmoDB 数据库中获取计数。一旦它获取计数,它需要将计数加一,然后写回数据库并将结果显示到网站访问者计数器。从中汲取的教训不一定是计数器本身,而是构建和学习底层云结构以实现这一目标。这是如何使用云解决业务问题的基本构建块。有没有更简单的方法?当然可以,但是这个练习是为了让你思考云可以做什么。我花了几天时间才弄清楚 python 的正确语法。我会找到一个满足我一半标准的解决方案,我必须在其他地方搜索另一半。我记得我第一次得到正确计数的 200 响应时,我在云 9 上!这种喜悦很快在下一阶段和可怕的 CORS 问题中消失了。那就是跨域资源共享。我从中拿走的另一件事是,肯定有一种更有效的方法来运行此代码。我的目标是首先构建功能,然后在此过程中进行微调。在我 15 年的 LSI 和一些部署经验中,我看到了同样的概念。回顾我现在所知道的,当时完成的定义是一个相当低的标准,因为我们有一些非常糟糕的版本投入生产。受苦的人是操作,然后将痛苦传递回 IT 以解决问题。啊,完成它和完成它的平衡。

顶部

CORS图

第三期

Javascript、API、冒烟测试、CORS

  1. 我讨厌 CORS...

2.我学会了如何排查CORS和API问题

在项目的这个阶段,我将前端连接到后端,以使所有这些神奇的事情发生。从我上次的成就开始,我就处于巡航控制状态。我觉得我可以承担任何事情。这在我构建 API 时实现了,在前端对 javascript 进行了编码,以便在页面加载时向 API 发送请求。鼓的角色请......什么都没有......没有柜台只是一个空白。我在一秒钟内从山顶走到了山脚。我花了几个星期才爬到这么高的地方,现在我回到了大本营。首先,我查看了我的 API,据我所知,它看起来设置正确。我测试了我的 lambda 函数,并在 AWS 控制台中得到了 200 响应。我什至没有其他地方可以看。当我坐着盯着我的屏幕希望我可以使用一些神奇的脑力时,它会起作用。我决定右键单击并检查元素,看看会发生什么。那是我注意到红色的时候! Access-Control-Allow-Origin 不允许加载资源失败:Originhttps://donsafar.com。我知道这意味着什么。我不得不谷歌并最终发现这是一个 CORS 问题。基本上,API 不允许 donsafar.com 访问 API 响应。我学到了两件事。第一个是如果 S3 将www.donsafar.com重定向到 donsafar.com,则 Access-Control-Allow-Origin 'donsafar.com' 效果很好。当您在 CloudFront 中使用边缘站点时,没有重定向,您必须输入“*”通配符。我还了解到,您只能在 Access-Control-Allow-Origin 中指定一个条目。我学到的第二件事是,你必须有一个选项设置来获得预检握手,以保持 API 和 CORS 中的所有内容。经过多天的反复试验,我终于让一切都变得快乐和正常!前端与后端相连,一切正常。我做的!我征服了自己的巨人。胜利是我的!就在我这么想的时候,基础设施即代码将夺走我的胜利并将其作为人质。请阅读以下内容,了解我必须征服的下一个伟大巨人。

PS。对 API 进行更改时,请确保部署它们。这将使您免于循环寻找从未投入生产的更改......

顶部

图片说明

第四期

IAC、CI/CD

  1. IaC..我为血而战

  2. Terraform 成了我的新朋友..

IaC 对我来说是另一个新的第一次,因为我只是在我的 AWS 认证期间才被介绍过,而且只是简短地介绍过。我首先寻找捷径来完成这项工作。令我惊讶的是

唯一的捷径就是努力工作!我内心深处知道这一点,但我非常努力地从头开始构建我所拥有的东西。到目前为止,我的项目唯一的问题是它是在控制台中完成的。我问自己,你能做到其中的十个点击这里和那里吗?这绝不是效率最低的方法,而且很容易出错。所以我首先开始尝试学习 AWS SAM。我发现与 terraform 相比,社区对此的支持非常少。我了解到 terraform 更像是一种云标准,可以在所有云提供商中使用。我发现通过谷歌很容易找到 terraform 的文档和支持。在与 SAM 摔跤两到三天后,我切换到 terraform 并开始了学习过程。在尝试 SAM 的过程中,我彻底炸毁了我的 DNS,因为它更改了太多次。在我看来,DNS 服务器可能就像,我们不知道将其推送到哪里,因为它已经更改了一千次!我花了两周的时间将控制台与代码进行比较,以确定我是否更改了此代码,它是否会在控制台中更改它。控制台是我的基准,因为这对我来说仍然是新的。我使用 AWS 的次数越多,我就越确切地知道事物在哪里以及需要设置哪些设置。每次迭代在代码中变得越来越有意义,因为我可以在控制台中可视化该过程。我知道随着时间的推移,这一切都会成为第二天性。我不是专家,在 terraform 方面还有很多东西要学。我已经学会了为我的项目构建我的所有模块,并将它们推送到 git 集线器,然后到云形成进行部署。 Terraform 非常高效且易于学习。支持非常好。我正在等待的一件事是支持使用 Origin Access Control 而不是 Origin Access Identity。一旦我了解了将代码从 OAI 迁移到 OAC 的过程,我将对其进行测试并更改我的代码。现在我已经在我的 CloudFront 源中手动更改了该设置。我还必须对我的 DNS 问题进行一些研究,发现我需要我的注册域 DNS 和我的托管区域 DNS 匹配。这花了我大约两天的时间来学习这一课。一旦它们匹配并传播出去,我就可以再次看到我的网站。我确实不得不更改我的路由器 DNS 服务器以指向谷歌 DNS,因为我的 ISP 没有及时更新他们的服务器。现在我知道要检查您的 DNS 服务器是否正在更新。

顶部

5期

博客

  1. 我从哪里开始?

  2. 如果你愿意,回头看可能是积极的。

云简历挑战对我来说是一次美妙的成长经历。它教会了我很多关于自己的好与坏。我选择让我的失败训练我。下面概述了我最大的收获。

“每个人都有一个计划,直到他们被打到嘴里”——迈克·泰森

  • 你永远不在那里,继续学习,如果你不在那里,你就会被甩在后面。

  • 有时候你会面对这么大的事情,不知从何下手。不要不知所措,而要努力取得小胜利,这些小胜利将累积成大胜利。

  • 从错误中吸取教训。找出问题后,将其放在工具带中以备后用。

  • 保持积极的态度,尤其是在你的思想中,因为这就是一切的开始。

如果你做到了这一步,我要感谢你!我还要感谢@forrestbrazeal通过这个项目帮助我更多地了解自己。

2022年打造简历的顶级云项目创意 |云简历挑战

试图在云中找到工作?您需要的不仅仅是一两个认证。

faviconcloudresumechallenge.dev

顶部

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐