ACloudGuru 博客中文翻译(二十三)

原文:ACloudGuru Blog

协议:CC BY-NC-SA 4.0

科技工作者的倦怠:什么是倦怠,如何应对

原文:https://acloudguru.com/blog/engineering/tech-it-worker-burnout

你是否在科技行业工作,并感到筋疲力尽?如果是的话,你并不孤单。全球研究表明,五分之二的 it 专业人员处于高度疲劳的风险中,在 IT 安全方面,超过一半的 IT 专业人员处于高度疲劳的风险中。当新冠肺炎来袭,人们转而在家工作时,许多科技员工变得更有压力,而不是更少。

那么,为什么行业内的专业人士都这么串门呢?

在这篇文章中,我们回答了这个问题,以及要注意的倦怠迹象(在你自己和他人身上),以及你可以做些什么来战胜它。

技术倦怠的迹象是什么?

根据世界卫生组织和世界上最著名的职业倦怠研究人员之一、T2 的 Christina Maslach 博士的研究,有三种主要的职业倦怠迹象值得警惕。

1.极端犬儒主义

你是否觉得你对工作的负面感觉正在排挤积极的感觉(如果有的话)?你所做的一切都不被欣赏,一切都很糟糕,什么都不会改变?

虽然有些人可能认为“愤世嫉俗的 IT 专业人士”是陈词滥调,但愤世嫉俗实际上是倦怠的危险信号。如果你或你团队中的某个人认为工作是一个半空的杯子——或者完全没有水——是时候质疑这是否是一个更大问题的迹象了。

犬儒主义有多种表现形式,包括:

  • 超脱
  • 不断的挫折
  • 失去意义
  • 感觉幻灭
  • 刻薄
  • 工作中缺乏乐趣
  • 非人化的同事(例如,“X 活该。”)

这可能会影响你和他人的工作表现,尤其是当你在一个面向人或基于团队的岗位上时。如果你在 IT 支持部门工作,你可能会回复一个带有刻薄的 LMGTFY 链接的标签,并尽最大努力提供帮助,因为“什么都不重要”作为一名软件开发人员,团队中的其他人可能会犹豫是否要求您进行代码审查,因为您对承担“另一项任务”缺乏耐心且脾气暴躁。

2.慢性疲劳

你是否一点精力都没有——早上几乎起不来了,工作时没有全力以赴,一天下来完全筋疲力尽?

通常,当一个人度过了艰难的一天,他们能够在休息和停机后恢复过来——就像他们的电池充电一样。但对于慢性疲劳的人来说,就像电荷都消失了,你就是找不回来。

看起来你的疲劳是情境性的——由最近一个大项目造成的压力引起的,或者因为你在待命而服务器持续停机。但是如果你一直很累——即使工作结束了,或者你度假回来了——这可能是一个危险信号。

其他一些精疲力竭的迹象:

  • 没有动机
  • 感觉需要“坚持下去”
  • 无法集中注意力
  • 害怕花时间充电
  • 周末的绝对放松
  • 没有精力持续高效地工作

3.负面自我评价

像大多数 STEM 工作一样,技术是一个充满高绩效者的领域,这就是为什么感觉自己没有表现出来会特别具有破坏性。

没有人喜欢感觉自己在工作中无能,或者觉得自己一事无成。如果你觉得自己一直在工作却一事无成,或者“我做的每件事都是错的”,这可能是精疲力竭的迹象。

其他一些迹象可能包括:

  • 觉得自己的角色不合适
  • 思考灾难性的想法
  • 工作感觉混乱,压力大
  • 感觉你为太多人做了太多
  • 一种你的努力没有带来变化的感觉

在 Yerbo 的一份名为“技术领域的倦怠状态”的研究报告中,33 个国家的 30,000 名 IT 专业人士接受了调查。在这些专业人士中,他们发现:

  • 56%的男性和 69%的女性在一天工作结束后无法放松
  • 43%的人觉得脱离了他们的工作,27%的人看不到工作的价值
  • 51%的人认为他们取得的成绩低于预期

这三个因素:疲惫、愤世嫉俗和消极的自我评价是技术倦怠的征兆。

技术领袖可以警惕倦怠的迹象

如果你是人事经理,你不会读心术,所以很难判断某人是否有上述任何感觉。为了提供帮助,Pluralsight】制作了一个信息图,上面有你可以注意的标志。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为什么技术员工会精疲力竭?

精疲力尽是由一件事引起的:持续不断的长期压力。但是它的原因是什么,它已经持续了多长时间?

根据 Cristina Maslach 博士在 2018 年 DevOps 企业峰会上的演讲,科技行业的压力并不新鲜。事实上,从 60 年代起,它就已经是其中的一部分了。

“在硅谷的早期,我们听到了很多关于倦怠店的事情。人们试图招聘,说,'我们是累垮店。我们不仅仅想要 A 型血的人。我们需要 A++型的人,”马斯拉奇博士说。

“有趣的是,我认为我们现在越来越多地看到,这已经成为许多职业的商业模式……你必须放弃时间。你必须放弃生活中的其他事情,才能做到这一点。”

在 STEM,从一开始就有一种“不成功便成仁”的心态,40%的学生在四年内离开这些项目。

在工作场所的原因方面,由 Blind 对顶级科技公司进行的一项调查显示,领导不力、工作超负荷、有毒文化、缺乏职业发展以及奖励不足是导致倦怠的主要原因。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我该如何对抗技术倦怠?

你感到筋疲力尽,你想做点什么。这里有一个清单,你可以试着用你的工作回到一个健康的地方,保护你的精神健康。

1.设定家庭和工作的界限

还记得我说过,技术专业人士报告说,在疫情开始后,他们感到更加疲惫,即使他们在家工作也是如此。这是因为家和工作之间的界限模糊了,所以没有逃避的余地——他们“在工作中生活”。

你可以做以下事情来建立物理边界:

  • 从手机中删除工作邮件和信息平台,或者关闭非工作时间的通知
  • 当你外出一天、周末或度假时,设置外出电子邮件
  • 在日历中设置时间段,以便在停工期间自动拒绝会议
  • 如果你混合工作或者远程工作,为你的办公室设立一个单独的房间,不要去那里进行娱乐活动

2.尽可能自动化

根据 Adam Bertram 的说法,技术专家可以使用的一个工具是自动化你能做的一切来减轻负担。

“除了让部门里更多热情的人来帮忙,自动化是下一个最好的选择,”他说。

“花点时间放松一下,放松一点,意识到为了节省时间,你必须首先找到自动化的时间。”

3.向他人伸出援手

当你觉得自己是为了工作而存在时,那么除此之外就很难评价自己了。花时间和你的家人和朋友在一起,或者只是去外面的世界,可以让你开始重视“真实的你”,而不是只想着“工作的你”。

如果你感到筋疲力尽,向医疗保健专家(比如你的医生、咨询师或心理学家)寻求帮助是很重要的。因为精疲力尽是如此普遍,所以要知道你并不孤单,有很多经过实践检验的方法可以帮助你。

向你的同事寻求帮助——或者简单地和他们谈谈你的问题——是一个很好的举措。这不仅对你有好处,也鼓励他们在挣扎的时候也这样做。如果你的工作场所提供员工援助计划,这也是值得利用的。

4.和你的老板谈谈

有时候,你的主管不知道你在挣扎。告诉他们你不好不是软弱的表现,而是专业力量和成熟的表现。记住,你的老板也想在工作上取得成功,这就是确保他们支持自己的团队。

员工告诉他们的老板他们没有处理好,这让他们觉得他们正在危及他们的工作,这种情况并不少见。如果你有这种感觉,请记住,如果你筋疲力尽而辞职,对他们来说会有更多的麻烦。然后,他们必须发布招聘广告,面试人员,花几个月时间培训他们——这还是假设他们找到了替代者。所有这些都需要时间和金钱。

从大的方面来看,做出一些让步以确保你不会筋疲力尽,这符合双方的利益。

你可以讨论的一些事情:

  • 将一些任务转移给其他团队成员,或者将工作外包
  • 改变让你感到不堪重负的任务的最后期限
  • 强化界限,让人们更少来找你,尤其是在下班时间
  • 改变你的角色职责,解决对你不利的事情
  • 带薪休假休息和充电
  • 在你觉得最有效率或最有效率的时候,采用弹性工作时间
  • 给你更多的自主权、认可和有意义的工作
  • 要求更明确的工作期望

5.找一家重视你的公司

有时候,不是你,是他们。技术倦怠的最大部分是觉得自己无关紧要,受到了不公平的对待——工作环境是有害的。

如果你已经提出了问题,但什么都不会改变,是时候调查你的其他选择了。然而,当你要逃离一份糟糕的工作时,接受你得到的第一份工作会很有诱惑力。

这可能是一个错误——你可能会再次陷入完全相同的境地!相反,当你面试一份新工作时,确保你也面试了他们。要自信,要知道你的幸福值多少钱。

你应该试着了解一下你的新工作场所:

  • 公司文化是什么样的?有公司活动或欢乐时光吗?
  • 他们对加班和弹性工作时间是什么态度?你的营业时间是什么时候?包括周末和假期吗?
  • 假期有多长?
  • 他们会希望你随时待命吗?有危机时刻吗?
  • 你需要履行多少职责?如果你的 PD 上有“需要的额外职责”,那包括什么?
  • 你相信他们的使命和产品吗?他们会向慈善机构捐款或支持慈善事业吗?
  • 他们如何识别他们的员工,如果有的话?

来自技术专家的其他提示和技巧

以下是 Pluralsight 的作者使用的个人技巧列表,介绍他们如何在科技职业生涯中避免筋疲力尽。

防止技术团队中的员工倦怠

想知道如何处理团队中的倦怠?我们推荐阅读 Pluralsight 的指南《对抗倦怠:如何让你的技术团队保持高效和快乐》要访问它,点击这里

如果你有随叫随到的员工,Pluralsight 提供了一个免费的课程“如何建立健康的随叫随到文化”我们还推荐收听特雷西·布瑟博士的播客,名为“领导力透视:浴弹不能治愈倦怠。

摘要

如果你正在经历精疲力竭的症状,这是你的身体告诉你一切都不好,需要改变。值得庆幸的是,压力和倦怠是可以补救的,承认是应对压力和倦怠的第一步。

记住,你值得拥有最好的自己!

2022 年 4 月 21 日是科技技能日!

原文:https://acloudguru.com/blog/news/tech-skills-day-2022

技术技能日云跟踪 2022:学习和热爱

原文:https://acloudguru.com/blog/engineering/tech-skills-day-cloud-track-2022

又一次成功的社区活动尘埃落定。我们在这里给你一个 2022 年技术技能日云轨迹的回顾,以及我们从这些精彩的演示中提取的一些关键信息。我们将向您简要介绍我们所听到的、我们所喜爱的,以及您可以采取哪些措施来更深入地了解这些出色的云和技术讲座。让我们开始吧!


加速您的职业发展

从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。


斯科特·汉瑟曼的指导、赞助和讲故事

谈了些什么?

微软合作伙伴项目经理兼开发部门社区经理 Scott Hanselman 在开幕主题演讲中宣布了技术技能日。Scott 的主题演讲涉及了所有关于导师、赞助和讲故事的事情,比如导师和赞助之间有什么区别?作为职业生涯早期工程师的同事,高级工程师的角色是什么?我们必须做些什么来迎接下一代创造者,你的责任是什么?他还分享了与一名演员会面录制播客集的故事,到家后发现他所有的音频记录都不见了,以及那天他如何抛开恐惧,学会成为一名法医技术员。耶啊啊!

我们喜欢听到的要点

  • 应该欢迎学习和探索。
  • 我们应该把不知道答案正常化。
  • 关于打字机如何影响代码编写方式的知识——我们现在到处都能看到回车代码!

渴望潜得更深?

转到云专家 YouTube 上观看 Scott 的会议,在那里你将看到他第一手复述他的故事,比如他的丢失 WAV 文件的奇怪案例和他的在 Raspberry Pi 上调试 net core 中的分段错误的 13 小时任务。

如果 Raspberry Pi 项目激起了你的兴趣,Pletcher variety 的另一个 Scott 可以向你展示如何使用 AWS Greengrass IoT v2 和 Raspberry Pi 构建 DIY 火星探测器。或者,如果微软开发是你的难题,你可能希望通过我们的微软 Azure 开发学习路径来指导你的学习,以获得核心的实践知识和技能。


超越证书:如何建立项目,让你在云与 Forrest Brazeal 雇用

谈了些什么?

你已经获得了云认证,但现在招聘经理说你需要更多的“经验”?!你知道,没有工作,你怎么获得经验?Forrest brace al——谷歌的云诗人、作家、漫画家和 Pwnie 获奖词曲作者——为我们带来了技术技能日的第二场主题演讲,主题是缩小云认证和云工作之间的差距。他分享了来自云简历挑战社区的故事和策略,以表明无论你的背景如何,你都可以为云带来宝贵的技能。


从这些 10 个有趣的动手项目开始构建你的云计算技能,学习 AWS


我们喜欢听到的要点

  • 关于管道工 Daniel 如何将他的管道知识应用到他的云学习方面的故事。您知道云架构图和工程图之间有惊人的相似之处吗?
  • 最好的接入方式就是走出去!在 Twitter 上活跃起来,加入云提供商社区,并在公共场合学习–写下您正在学习的内容并与他人分享!

渴望潜得更深?

你可以在 AWS 博客上阅读更多关于我们之前的# CloudGuruChallenge——事件驱动的 Python,或者查看 Forrest 的云简历挑战


与凯莎·威廉姆斯一起使用 AWS Amplify 启动你的创业公司

谈了些什么?

当你有一个成功的应用创意时,上市速度至关重要。很高兴凯莎·威廉姆斯作为第一位技术技能日云演讲者加入我们,展示她如何使用 AWS Amplify 通过加速全栈 web 开发在 AWS 上推出 MVP。AWS 的英雄,HackerRank 全明星,以及在 AWS Cloud Residency 的 Slalom 的高级负责人,向我们介绍了她如何在短短两周内为薪资透明工具的薪资溢出开发 MVP。她探讨了推动工资溢出的云架构、她在这一过程中面临的挑战,以及 AWS Amplify 如何帮助快速交付结果。

我们喜欢听到的要点

  • 为你的副业项目成长做准备。它们可能一开始是一个学习的机会,但是如果对你来说这听起来是个好主意,那么对另一个想要购买知识产权的公司来说也是个好主意!
  • 大声喊出来 AWS 激活,这是一个针对初创公司创始人的计划,提供 AWS 信用赠款,可以帮助你实现你的初创公司想法。所有成功的工具都在那里等着你。

渴望更深入地了解这个技术技能日云讲座吗?

想多陪陪凯莎吗?谁不会!她有一门关于云大师的 AWS 认证云从业者课程,并在她的有限系列 DeepComposer:再训练一次,大师中更深入地研究了机器学习和 DeepComposer。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。


奥林·托马斯关于混合计算的 10 个问题

谈了些什么?

微软首席混合云倡导者奥林·托马斯(Orin Thomas)坐下来与我们的 Lars Klint 进行了一次生动的对话,讨论混合计算的所有事情。这两个人讨论了什么是混合计算,典型的混合计算架构是什么样子,以及使用混合云设置的技术角色。他们还讨论了混合云面临的巨大挑战、边缘计算与混合云的关系,以及如果您对混合云感兴趣,可以从哪里了解更多有关混合云的信息!

我们喜欢听到的要点

  • 奥林在他书桌上方的架子上收藏了令人印象深刻的科幻小雕像。
  • 数据中心和云之间的区别,或者公共云和私有云之间的区别,主要归结于谁有责任照看它。
  • 当你开始学习时,你需要找到最适合你的方法。没有放之四海而皆准的方法——视频可能是你的障碍,或者阅读可能有助于更多地吸收信息。找到最适合自己的,随遇而安!

渴望更深入地了解这个技术技能日云讲座吗?

Orin 和 Lars 谈到了 Orin 参与设计的微软认证:Windows Server Hybrid Administrator考试,但是如果你刚刚开始你的 Azure 之旅,并且你不确定要迈出第一步,我们的 Azure 认证指南,以视频博客的形式,可能正是你正在寻找的。


使用班卓奥巴约米在云中构建数据收集解决方案

谈了些什么?

构建数据收集解决方案涉及许多部分。从管理计算、存储和分析任务,构建这些解决方案通常会让人感到力不从心。幸运的是,我们可以利用云。在他的演讲中,AWS Cloud 的高级开发人员班卓·奥巴约米帮助我们了解如何构建具有令人愉快的开发人员体验的解决方案,以适应许多数据收集用例。Banjo 讲述了他在云中构建数据收集解决方案的方法,并强调了他实际构建的解决方案的真实示例。


通往更好职业的钥匙

立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。


我们喜欢听到的要点

  • 我们不应该为了云而使用云,而是正确地利用它来帮助实现自动化、可扩展性和处理能力。如果在笔记本电脑上运行并不理想,也许你应该考虑在云中运行。
  • 使用可操作的警报!不要让事情在没有适当的可观察性的背景下发生。
  • 自动化并不总是答案。评估你的情况,考虑你是否需要一个人参与进来。

渴望更深入地了解这个技术技能日云讲座吗?

班卓对 ACG 的博客并不陌生,所以你应该看看他的更多帖子,如果你还没有把它们收藏起来的话!如果你已经准备好用数据投入战斗,你可能想看看我们的 AWS 数据学习路径


Gita Sharma 为每个人提供网络安全

谈了些什么?

2020 年至 2025 年期间,数字就业增长预计将增加 1.49 亿个新工作岗位,其中 600 万个新工作岗位将在网络安全领域。在 Lars 和微软高级业务战略经理 Gita Sharma 之间的对话中,他们讨论了安全技能差距,并探讨了这些专业安全角色,从 SecOps 角色到身份和访问管理员、信息保护管理员和网络安全架构师。他们回顾了可用的认证途径,以及如今在云中工作的每个人都应该知道的基本安全技能。

我们喜欢听到的要点

  • 这是一个简单的问题——今天在云中工作的每个人都应该知道的基本安全技能!不过,你最好观看完整的演讲来了解这一次的内幕。
  • 网络安全不是可有可无的。这不是一个好东西,而是一个必须品!
  • 组织中的每个角色都应该有基本的安全意识。你不必深究你的知识(这就是你去找你的特定角色专家的原因),但是组织中的每个人都应该意识到发生了什么,什么时候出了问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

想了解更多关于 Azure 认证的信息?
查看我们的 Azure 认证和学习路径。


渴望更深入地了解这个技术技能日云讲座吗?

Gita 提到了网络安全基础课程的基本概念,这对于组织中的每个人来说都是一个很好的起点,无论其角色如何。如果你有兴趣进一步充实你的知识,你可以深入了解云专家的微软 Azure 安全基础课程。


2022 年技术技能日总结

哇,多好的一天啊!我们有一些出色的演讲者发表了精彩的演讲,我们与这个奇妙的社区相处得非常愉快。在我们的 Discord 之后的网络活动中有一些问题,如果你想加入我们并与其他云学习者和技术专家交谈,邀请仍然有效。

如果你想再次观看这些演讲,你可以在云专家 YouTube 上观看完整的技术技能日云轨。或者查看一下开发人员关注的技能培训,现在也可以在 Pluralsight YouTube 频道上看到。

无服务器测试方法与众不同,实际上可能更容易

原文:https://acloudguru.com/blog/engineering/testing-and-the-serverless-approach

最近一直在想很多关于测试的事情。在工作中,由于增加了客户端应用程序和特性,我们最近大幅增加了 lambda 函数的数量。这不是一个开发新功能的大交易,但是有一些事情已经开始困扰我了(请原谅我的双关语)。

测试是一件“好事”

我完全支持创建测试。对我来说,这是否是真正的“测试驱动开发”——或者不管当今的测试方法是什么——都无关紧要。有时候,在初创公司,你只需要快速部署一些东西,然后编写测试(我知道,我知道——但我只是给从未在初创公司工作过的人提供真实世界的场景)。有时,测试永远不会被编写出来,因为你认为你的用例已经被捕获了(事实并非如此)。

通常,测试是因为生产环境中出现的错误而编写的。除非你有无穷无尽的金钱和时间,否则这种情况总是会发生的——在初创企业中你不会有。

测试至关重要。

但是如果你使用流行的测试智慧——无服务器很难。

测试与“全服务”架构的交互

无服务器架构使用大量的服务——这就是为什么有些人更喜欢称该架构为“全服务”而不是无服务器。这些服务本质上是独立于您的测试机制的应用程序的元素。

外部因素。

一个好的外部服务将为你测试。这真的很重要。因为您不应该测试服务本身。你只需要测试你和它互动的效果。

这里有一个例子…

假设你有一个函数作为服务(比如 Lambda 函数),你使用一个数据库服务(比如 DynamoDB)。您将需要测试函数与数据库服务的交互,以确保您的数据被正确保存/读取,并且您的函数可以处理来自服务的响应。

现在,上面的场景相对简单,因为您可以从本地机器上使用 DynamoDB,并运行单元测试来检查存储在数据库中的值。但是你发现了这个场景中的一些东西吗?这不是实时服务,而是它的副本。但是 API 是一样的。所以,只要 API 不变,我们就没事,对吗?

老实说,我已经意识到,如果我们使用 AWS 服务,AWS 很可能比我做得更好。因此,我们在单元测试中模拟我们与 AWS(和其他)服务的大部分交互。这使得开发一个逻辑功能和单元测试它变得相对简单——对所需的服务进行模拟。

这类似于使用 Rails 这样的框架。你不应该测试 ORM 的工作情况。那是 ORM 维护者的工作,不是你的。因此,顺理成章的是,如果一个服务提供了一个接口和关于接口如何工作的文档,那么它应该是好的——对吗?

希望……

除了单元测试之外,测试的其他部分呢?

这就是无服务器的问题所在…某种程度上。使用 FaaS 函数进行单元测试很容易,因为逻辑通常很小。在我看来,有一种过度依赖模仿的趋势,但它确实有效。

所有其他形式的测试都很难。事实上,我想说我们可能需要一个不同的范式来讨论这个问题。

通过多年来构建单一的应用程序,我们已经完全沉迷于某些类型的测试是绝对重要的——如果我们没有它们,我们就是“错误的”。

所以让我们稍微后退一步。

我们实际上已经讨论分布式系统和测试有一段时间了。微服务模式已经向我们表明,试图像测试 monolith 那样测试所有东西并不总是合适的,而且通常很昂贵。

使用微服务模式进行集成测试的关键是测试微服务及其与外部组件的集成。这很有趣,因为你还在想象某种分离。

在 Lambda 中,在这种情况下,每个 Lambda 都需要被视为微服务,然后进行测试。这意味着您的功能的单元测试(带有模拟)需要通过移除模拟,并使用实际的服务或以某种方式存根服务来扩展到集成测试。

不幸的是,并不是每个外部服务都可以用这种方式轻松测试。并不是每个服务都提供测试接口供您使用——也不是所有的服务都很容易隐藏自己。我会建议,如果一个服务不能为你提供一个相对容易的方法来测试现实中的接口,那么你应该考虑使用另一个。

当交易是金融交易时尤其如此。在这一点上,你不希望一个测试实际上花费你任何真正的钱!

超越单元和单一功能集成测试

对我来说,整体测试一个无服务器系统最简单的方法就是在一个非链接的 AWS 账户(或者其他云提供商)中生成一个单独的系统。然后使每个外部服务本质上链接到一个“测试”服务,或者尽可能地限制我们的暴露成本。

这是我实现它的方式——它依靠基础设施作为代码来实现它。因此,使用了类似地形或云层的东西。

但有趣的是,在微服务方法中,当你超越了像这样的单一功能时,你就开始了组件测试,然后是系统测试。从本质上来说,测试就是每次增加测试边界。从一个小的测试边界开始,然后逐步解决。

单元测试,然后集成,等等…

但有趣的是,我们的单元测试相当好地完成了测试每个功能边界的工作,此外还做了单元测试,并且相当好地测试了功能与外部服务的关系。所以下一步是一起测试服务的组合。

但是由于我们在大多数交互中使用外部服务,并且不经常从函数内部调用函数,因此测试边界实际上是相对不耦合的。

嗯……所以基本上,一个函数的逻辑与另一个函数的逻辑越不耦合,当我们在测试中向外移动时,测试边界就越近。

那么,在一个功能接一个功能地进行了良好的单元和集成测试之后,接下来会发生什么呢?接下来是简单的端到端测试吗?这变得非常有趣,因为这意味着用合理的数据在一个分级风格的环境中测试整个“分布式系统”。

等等!我们刚刚是不是…?

基本上,功能即服务方法所发生的事情是,测试套件似乎比您通常使用整体甚至微服务方法所做的要简单得多。

与微服务方法中的组件测试相比,FaaS 功能单元测试的测试界限似乎非常接近于集成测试。

快速警告:如果你做了大量的函数到函数的调用,那么你正在耦合那些函数,然后测试边界将会改变。函数调用函数会产生一个单独的测试边界。

这又回到了另一件非常有趣的事情上。如果您构建功能,并开发一种事件驱动的方法,利用第三方服务(如 SNS、DynamoDB 触发器、Kinesis、AWS 世界中的 SQS)作为连接“胶水”的事件,那么您可能会限制自己单独测试功能,然后测试系统。

嗯…所以测试更简单?

不完全是,但是接近了。

我认为系统测试更难。如果你纯粹使用一个 API 网关,而 Lambdas 在后面,那么你可以使用第三方工具来测试 HTTP 端点,并以这种方式构建一个测试套件。相对比较理解。

但是如果你正在做大量的内部事件触发,比如 DynamoDB 触发事件链和多个 lambdas 的设置,那么你必须做一些不同的事情。这种形式的测试更难,但是因为一切都是服务——包括 Lambda——所以做起来应该相对简单。

用无服务器构建这种系统测试工具的人会做得很好。目前,我们拥有的 CI/CD 工具和围绕它的测试工具还不够好。

测试和无服务器是不同的

当我开始思考这篇文章的时候,我期望弄清楚很多关于如何在我们的工作流程中安装更好的测试机制的事情。

在本文完成时,我们已经了解了为什么无服务器方法不同于整体式方法和微服务方法。结果,我意识到了测试较小的非耦合逻辑的固有优势。

你不能仅仅把你的旧的“Monoliths 测试工具箱”拖进无服务器的世界,然后期望它还能工作。

在无服务器中测试是不同的。

无服务器测试实际上可能更容易。

事实上,在无服务器环境下进行测试可能更容易维护。

但是我们目前缺乏真正实现价值的测试工具。—期待他们的到来。

一些最后的想法

我经常是一个不情愿的测试作者。我喜欢在构建要“工作”的东西之前,边做边摸索。我从来不是那种在任何情况下都要强制测试的人,所以我可能会忽略一些要点。肯定有人比我更有资格谈论测试,但这些只是对测试的简单想法。


获得更好职业所需的技能。

掌握现代技术技能,获得认证,提升您的职业生涯。无论您是新手还是经验丰富的专业人士,您都可以通过实践来学习,并在 ACG 的帮助下推进您的云计算职业生涯。


附加资源

微服务架构中的测试策略——过去几年,基于服务的架构已经向更小、更集中的“微”架构转变——martinfowler.com

bliki:test pyramid—tags:测试金字塔是由 Mike Cohn 开发的一个概念,在他的书《敏捷的成功》中有描述。它的本质……—martinfowler.com

拒绝更多的端到端测试——迈克·威克在你人生的某个时刻,你可能会想起一部你和你的朋友都想看的电影……—testing.googleblog.com

这个黑色星期五,5 个理由让自己拥有云技能

原文:https://acloudguru.com/blog/news/the-acg-black-friday-sale-is-on

这是学习云计算的最佳时机!

黑色星期五和网络星期一大减价已经开始了。当人们(和电子商务网站)互相争斗,抢夺装满他们不需要的东西的购物车时,为什么不跳过疯狂,给自己或你关心的人一些比廉价电视更能改变生活的东西呢?

这里有 4 个理由,说明为什么你应该在这个假日购物季提供(或获得)礼物云技能。


加速您的职业发展

从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。


1.雇主们正在拼命寻找拥有云计算技能的人

对云技能的压倒性需求使得口袋妖怪卡看起来很容易获得。

就在上个月,华尔街日报报道了当前的云人才短缺是寻求迁移到云的公司的主要障碍。作为回应,一些公司在几小时内而不是几天或几周内向潜在候选人提供工作。他们报告说:

“有了云计算,当新冠肺炎引发一波新的需求时,公司已经在想如何利用这一小批有经验的工程师了。根据劳动力和经济研究公司 Emsi 的数据,****云职位空缺的数量在 2017 年至 2020 年间增长了 90%以上,比同期科技职位的总增长速度快四倍多

2.以新的方向开始新的一年

想把“存更多的钱”加入你的新年决心清单吗?存更多钱的最好方法是赚更多钱。云计算职业提供了一些重要的收入来源。

LinkedIn 目前报告云工程师的平均基本工资为每年 118,201 美元**,还有每年 10,000 美元的现金奖金,以及包括无限休假和 401k 匹配在内的共同福利。**

现在,让我们现实一点。学习一项新的云技能可能不会立刻让你得到一份六位数的工作。但是它可以帮助你获得巨大的薪水提升,让你走上高薪职位的道路。

恰当的例子?看看 ACG 大学的学生泰德·麦克纳伦。Thad 在 90 天内工资翻了一倍,他从一份服务台工作转到了云职业,并在一位云专家的帮助下获得了一些技能发展。


看点:解决“无经验”的云招聘问题
需要经验才能得到工作,但需要工作才能得到经验。这是一个多云的第 22 条军规!观看免费点播的网络研讨会,了解帮助数十人获得第一份云计算工作的 ACG 挑战赛。


3.利用停工期提升你的职业生涯

离开工作或学校一段时间意味着学习新技能的绝佳时机。

如果你能每天只花几个小时,你就可以准备好在大约一周内亚马逊网络服务(AWS)微软 Azure 获得入门级云认证

想想我们的 14 小时 AZ-900 微软 Azure 基础课程AWS 认证云从业者(CLF-C01) ,这两者都是进入云的绝佳切入点。

如果你是技术新手,为什么还要学习云认证呢?因为认证前的准备工作是促使你学习新技能的理想方式。一旦你有了基本的认证,你就可以把目光放在科技行业的一些薪酬最高的认证和工作上。

4.任何人都可以学习云

对科技一无所知?这并不能阻止你!如果你对科技有足够的了解,能够在互联网上浏览黑色星期五和网络星期一的交易,你就有足够的知识开始学习云计算。

每个旅程都是从第一步开始的,正确的云技能发展可以让你立刻从云新手变成专家。

在 ACG,我们提供入门级课程,从云计算基础Kubernetes 简介Python 脚本简介,或者查看我们最受初学者欢迎的课程之一,AWS 认证云从业者。

在最好的云学习环境中享受最划算的交易

黑色星期五和网络星期一交易是一年一度的事情。但是投资云技术可以改变你的生活。

无论你是希望开始你的云职业生涯的云新人,还是有一点技术经验并希望提升这些技能的人,云专家的实践学习都可以为你的职业成功做好准备。 95%的 ACG 用户表示,我们的工具和内容直接帮助了他们的职业生涯。

少花钱多办事。现在是投资提升您的云计算技能的最佳时机。

史上最棒的黑色星期五?在 ACG 享受 40%的优惠!

寻找云培训的黑色星期五折扣?在有限的时间内,享受云专家个人年度计划 40%的优惠,并以我们有史以来最优惠的价格获得最好的实践云学习。

有了这笔好交易,你可能想升级到个人升级版,并通过 Cloud Playground 无限制地访问真正的 AWS、Azure 和 GCP 沙盒环境。(这是在学习的同时让你的手变得模糊的完美方式,而不会让你的钱包或关键系统面临风险。)

今天就开始享受优惠!

在 Linux 上的 Bash 中使用 AWK 命令

原文:https://acloudguru.com/blog/engineering/the-awk-command-bash-basics

当我刚开始做系统管理员时,我想知道 如何获得晋升 ,有人告诉我,我需要知道 BASH 实用程序,比如 AWK。Linux 就业市场继续增长和扩大,我们的 LFCS 课程将帮助你准备一个标准的行业 Linux 管理认证。

我不确定 AWK 是否真的是一个实用程序——当阿尔弗雷德·艾侯、彼得·温伯格和布莱恩·柯尼根在贝尔实验室编写它时,它原本是一种数据驱动的编程语言。名字来源于他们姓氏的首字母,但是我们在 Linux 上 BASH 用的程序是(G)AWK 或者 Gnu AWK,还有很多衍生。

你能用 AWK 命令做什么?

既然我们已经解决了这些琐事,那么我们能对 AWK 做些什么呢?只需在命令提示符下输入awk就可以调用 AWK。在命令行上,都是小写。

AWK 最常用于处理文件。 AWK 处理一个条件,如果提供了一个条件,然后采取行动。默认操作是打印满足条件的任何内容。在文件中搜索正则表达式模式匹配:

 awk ‘/regex/’  /etc/passwd 

这将导致来自/etc/passwd文件的匹配行被打印到命令行。这是相当基本的,我们使用打印匹配的默认行为。

**AWK 也可以用来搜索数据列,干净利落地输出信息。**了解特定服务是否正在运行,如果找到则显示名称:

 ps -ax | awk ‘/systemd/ {print $5}’

关于awk的一个好处是它标记了输入其中的行。这意味着对于有分隔符的项目,您可以选择一列。您可以在命令行上指定字段分隔符。

一个例子是打印来自/etc/passwd的用户列表,条目由冒号(:)分隔,用户名在第一列。记住$0是整条线。

 awk -F: ‘{print $1}’ /etc/passwd

让 AWK 工作的例子

这很好,但我们想和 AWK 一起工作,对吗?所以,如果你有一个目录(我们用/etc来表示这个目录)并且想知道这个目录的大小:

 ls -l /etc | awk ‘{x += $5} END {print “total bytes:” x}'

这里,我们获取ls -l命令的输出,并将每一行添加到变量x,因为 AWK 的变量被初始化为0,第五列是文件大小,当我们解析输出时,我们将每个文件的大小添加到x

END关键字表示输入解析完成后我们想要采取的动作。在这种情况下,我们打印x的值。以千字节为单位,我们将结果x除以 1024:

 ls -l /etc | awk ‘{x += $5} END {print “total Kilobytes:” (x/1024)}

AWK 作为一种完整的脚本语言

AWK 也可以作为一种完整的脚本语言,你可以在命令行上使用-f标志向它传递脚本文件。

从哪里开始 :正如我在开头所说的,命令行的使用是求职面试中人们与其同时代人的真正区别。公司对自动化和一切代码感兴趣。这从了解 BASH shell 脚本的条件及其所有特性开始。

如果你想让自己与众不同,并显示出你对自己正在做的事情感到满意,你可以考虑看一看Bash 脚本管理指南。这将带您到一个地方,在那里您可以真正地用命令行显示您的舒适程度。


提升您的云计算职业生涯

无论您是云新手还是经验丰富的专家,云专家都能让您轻松(而且非常棒)地获得认证并掌握现代技术技能。查看 ACG 目前的免费课程或立即开始免费试用。


想要更多云技术的好处吗?看看这些:

Azure 痛苦字典:Azure 最棘手的五个云话题

原文:https://acloudguru.com/blog/engineering/the-azure-dictionary-of-pain-five-of-azures-toughest-cloud-topics

立正!课程现在开始。请系好您的安全带,确保您的托盘桌直立并关闭。

Azure 是增长最快的云平台之一,尤其是当公司开始转向云计算战略的时候。但是像 AWS(和 Google Cloud)一样,有几乎无穷无尽的个人服务伴随着它——和一整本字典来描述它们。除了知道它们实际上是如何工作的,你还必须首先知道它们的名称和用途。

在 ACG,我们希望教会世界如何使用云。这意味着首先要确保团队中的每个人都能“谈论云”——并了解在实施云工具时将面临的一些基本挑战。我们将帮助您和您的团队实现基准云流畅度。为了做到这一点,我们建立了一个云词典,收录了您将遇到的一些最具挑战性的主题。鉴于这里的难度,我们决定将这个云词典命名为痛苦

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

获取痛苦全云词典
说云不一定要硬。在我们的云指南中,你会找到一些最痛苦的云概念的简明定义的完整列表。


我们分析了我们平台上数千个测验问题的 270 万份回复,以确定一些最具挑战性的云基础架构主题。我们寻找学习者成功率低于 60%的问题,并根据这些问题中的主题,概述了十几个具有挑战性的主题,学习者有时可能难以解开——至少在一些特定的场景中。

今天,我们将讨论我们为 Azure 基础设施确定的五个最具挑战性的主题:Cosmos DB、流量管理器、Azure 函数、快照和虚拟专用网络。这个列表是我们在所有三个主要云平台上攻击的几十个术语和主题的子集:AWS、Microsoft Azure 和 Google Cloud。你可以在痛苦的完整云词典中找到我们对亚马逊棘手话题的完整介绍。

所有这些都解决了,让我们开始吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是 COSMOS DB?

Cosmos DB 是一个试图同步全球数据而不是特定地区数据的系统。这种全局同步对于需要高度响应、拥有大量不断变化的数据,并且始终可供用户使用的全局应用程序来说是非常重要的。脸书就是一个很好的例子——全世界的人都在使用它,并且不断地改变数据。应用程序基本上会认为 CosmosDB 在它们的区域内,而 Cosmos DB 处理跨所有区域的复制,以确保它是一个连续的全局数据库。Cosmos DB 自动对数据进行分区,以优化性能和存储容量。CosmosDB 也可以通过多个 API 访问,比如 Document DB(用于 SQL)、MongoDB(用于 NoSQL)、Graph API(用于 Gremlin)和 Tables API(用于键/值对)。

为什么很难?

由于所有的复制都是跨地区进行的,所以质量肯定会有一些差异。选择一致性级别时,您是在性能和一致性之间进行选择。Cosmos DB 将这些一致性级别分为五类:

  • STRONG :在所有副本上提交并确认之后,在主 Cosmos DB 上提交并可见的保证写操作。强一致性是最容易预测和直观的。
  • 有界陈旧性:最常选择的有界陈旧性,允许您计算陈旧文档可以如何使用。它决定了文档在需要更新之前可以落后多远。
  • 会话:确保当前用户会话中的所有读/写操作一致。例如,在用户会话中,脸书将拥有特定于该用户的数据。
  • 一致前缀:这确保了以相应写入的顺序读取更改。
  • 最终:最宽松的一致性,立即对主节点提交和写入,同步处理副本事务,最终到达副本。

一个云专家学习者 47%的时间错过了与 NoSQL 和宇宙数据库相关的难题。

下一个!

AZURE DNS VS 流量经理?

域名系统是互联网的电话簿,将一个名字(比如 acloud.guru)转换成一个 IP 地址。Azure 包含一个域名的 DNS 区域,该区域托管该域名的 IP。您将从为您提供一个域的唯一资源组构建一个 DNS 区域。您也可以创建一个专用 DNS 区域,尽管您必须通过命令行来设置。一个域的所有记录都在一个 DNS 区域中。

与此同时,Traffic manager 会找出如何智能地将某人路由到您的应用程序。Traffic Manager 确保不同地理区域的高可用性。如果您的解决方案中的某个区域离线,Traffic Manager 可以路由到在线区域。它看起来是这样的:

  1. 用户加载解决方案(并进行 DNS 查找)
  2. Traffic Manager 会根据您的 Traffic Manager 服务配置响应一个 IP 地址
  3. 用户然后导航到适当的解决方案。

为什么很难?

Traffic Manager 和 Azure DNS 紧密合作,以确保您的用户能够访问您的应用并获得良好的体验。DNS 是包含来自域名的 IP 地址的电话簿,而 Traffic Manager 将从 IP 地址列表中选择正确的 IP 地址。在传统的云方式中,Traffic Manager 提供了大量的路由方法。这些是您将放入流量经理档案的多种类型:

  • 优先级:确定主端点和备份端点的优先级。
  • 加权:根据权重值分配流量,比如你想 20%去一个地区,20%去另一个地区。
  • 性能:将流量发送到“最近”的端点,这对于设计全局的解决方案来说是极好的。
  • **地理:**根据客户端的地理位置路由流量。
  • 多值:返回多个端点,由客户端决定使用哪个端点。
  • 子网:基于请求者 IP 地址的路由。你必须实际拥有域名。

添加自定义域后,您必须完成自定义域的验证。你必须从管理你的域名的人那里添加一个文本记录,并上传它以确认你拥有它。您还可以配置一个 Vnet 来启用自动注册,指向一个私有的内部 DNS 区域。您可以为虚拟机使用专用 DNS 来连接命名的域,如 somethingsomething.internal。

一个云专家学习者 49.7%的时间错过了与 DNS 相关的棘手问题。

下一个!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是 AZURE 功能?

Azure Functions 是微软 Azure 的无服务器计算产品,抽象出了对基础设施的所有依赖。这是基于工作负载量的最灵活的扩展类型。无服务器编程模型基于触发器和绑定,专注于编写响应特定事件并返回函数需要返回的数据的代码。功能也有丰富的端到端开发经验。

最终 Azure 中有一个服务器在运行你的功能——你对此一无所知。你写了一些代码来响应一个事件,却永远看不到微软这边的服务器发生了什么。

函数提供了运行单个代码段来响应事件的能力,并且是按执行时间计费的,而不是按任何其他计费方法计费。因此,您可以在运行但不做任何事情的服务器上节省大量资金。

为什么很难?

无服务器可能感觉与传统云计算有些正交。

尽管好处是巨大的(特别是从成本角度来看),习惯于管理虚拟机来处理其应用程序的公司将不得不改变他们对其结构的思考方式。这也包括架构层面。以下是一些对理解函数至关重要的架构考虑因素:

  • 事件驱动:根据需要执行代码以响应事件。服务器不会坐以待毙。
  • 反应式:代码被应用于需要时发生的特定事件。它是响应性的、弹性的(如果失败,事件将被重新处理)、弹性的(随着事件的增加,它将扩大)和消息驱动的。
  • 多因素:声明式和自动化部署(功能可以通过代码部署),配置在环境中(不是配置文件),并发是通过流程。

执行函数也有很多种方式:时间间隔、HTTP 请求、Blob 存储中的上传、来自 Azure 存储队列的消息、Cosmos DB 文档更改或接收新事件的事件中心。

一个云专家学习者 48%的时间错过了与无服务器操作相关的难题。

下一个!

什么是 AZURE 快照?

快照是被管理磁盘的时间点副本。您将为快照选取帐户类型(如在 HDD 和 SSD 之间选取),用于您希望与快照一起存储的任何被管理的磁盘。它们是您管理的磁盘的有效备份。您也可以根据另一个被管理磁盘的快照创建新的被管理磁盘。您可以使用该快照进行故障排除,或者作为创建新虚拟机的主快照

为什么很难?

有两种快照:完整快照和增量快照。前者就像它听起来的那样,是磁盘的完整时间点备份。但是如果你继续使用完整的快照,你将会很快耗尽你的存储空间。增量快照可能是备份,但从技术上讲,它们不是完整备份。

每个快照不一定是您的存储或磁盘的完整备份。相反,它存储来自上一个快照的增量更改,而前一个快照捕获来自前一个快照的更改。拍摄新快照时,您可以节省资金,因为您备份的是增量更改,而不是完整备份。

一个云专家学习者 50%的时间错过了与 Azure 磁盘存储和快照相关的棘手问题。

什么是 AZURE VPNS?

虚拟专用网络通常被称为 Vnet,它使 Azure 虚拟机能够在内部网络和互联网上相互通信。就像虚拟机一样,它归你使用,但物理硬件被抽象出来了。您可以在每个虚拟网络中定义多个子网,从而隔离您的网络,为 SQL 数据库或虚拟机等资源分配 IP 空间

每个虚拟网络都有一个地址空间,您可以在多个子网之间分配。也许更重要的是,您可以在虚拟网络中将子网与互联网隔离开来。

Vnets 以及其中的 Azure 虚拟机的行为就像微软 Azure 云中的 Azure 虚拟机一样。您可以根据需要扩展或添加虚拟网络,并通过子网隔离其中的资源。您还可以对等 Vnets 以允许它们之间的路由,而 Azure 公共云本身提供高可用性。

有利的一面是,开始向云迁移的公司可以选择将一些资源与互联网隔离开来。虽然他们在迁移过程中可能实际上不需要 Vnet,但在尝试在内部(即您的法规遵从性团队)进行管理时,它会有所帮助。Vnets 允许您隔离需要从互联网中分离出来的信息,如受管制的数据。

为什么很难?

数一数流程图上的箭头!很多事情正在进行,也有很多失败点,尤其是当你试图将数据与互联网隔离时。你最不想做的事情就是无意中增加你的表面积,让不好的事情发生。如果您正在开始云迁移,您会希望确保手头有一名网络专家,以确保一切顺利进行。

此外,Vnet 中的子网被限制在一个可用性区域内,而不是跨越多个可用性区域。因此,您必须以这样的方式配置您的系统,以确保您不会遇到一个子网需要与不同可用性区域中的另一个子网进行通信的情况。

一个云专家学习者 49.8%的时间错过了与虚拟网络和子网相关的棘手问题。

我们希望在看完这些例子后,你会体会到云有多危险。它有自己的自定义词典,以配合其庞大的城市产品环境。

我们可以理解云有多复杂,并希望我们能提供一些指导。话说回来,我们没有写下规则。(嗯,问题是我们写的——对此我们真的很抱歉。)

你可以在完整的疼痛字典中找到我们对 Azure 棘手话题的完整介绍。你也可以在我们的 AWS 和谷歌云疼痛字典中找到它们的对等词——以及是什么让 AWS 和 GCP 变得独特曲折。您还会发现我们完整的方法。


希望提升您的云计算职业生涯?从云专家的 Azure 学习路径开始,看看实践如何帮助你掌握现代技术技能。

Azure 数据工程师认证路径

Azure DevOps 认证路径

Azure 安全认证路径

Azure 开发路径

公共云的基本优势

原文:https://acloudguru.com/blog/engineering/the-basic-advantages-of-public-cloud

2021 年最好和最差的微软 Azure

原文:https://acloudguru.com/blog/engineering/the-best-and-worst-of-microsoft-azure-in-2021

2021 年发生了这么多事情,其中一些是围绕云计算的!随着这一年接近尾声,让我们用一点时间来庆祝 Azure 今年的奖项,以及围绕所有事情的好、坏和阴云。

回顾 Azure 的这一年,我们将在以下类别中表彰工具、证书和事件:

本周我将是你们的主持人,蓝色天空的拉斯·克林。坐好,拿起爆米花,继续阅读《蔚蓝的一年回顾》!


加速您的职业发展

从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。


欢迎来到 Azure 的年终大奖,或者我们喜欢称之为“Kroonenburgs”我们不会像其他颁奖典礼那样磨磨蹭蹭,拖时间。我们正在挖掘!

年度最被低估的 Azure 服务

今晚的第一个克隆堡是今年最被低估的 Azure 服务。被提名的有:

  • Azure Storage 持续改进并添加了您从未想过会需要的新功能。不可变标签、客户端加密和索引标签是一些您可能不知道存在的新特性。

  • Azure App 配置能够集中管理应用程序设置和功能标志,并快速高效地调试环境。

  • 事件网格(Event Grid)的多功能性和在大量场景中的适用性,包括检查服务之间的声明,将数百万个事件推送到大量服务,以及检查系统中任意数量的属性。

获胜者是事件网格!

真的,这不是一个艰难的选择。恭喜你,事件网格!要了解更多最被低估的 Azure 服务,请查看这篇博文,标题恰如其分:13 大最被低估的 Azure 服务。

年度最具灾难性的蔚蓝事件

我们从隐蔽的服务发展到不那么隐蔽的活动。2021 年带来了一些“欢呼”,我们认为它们应该被记住。

被提名者是:

  • **三月份的 Azure AD 宕机**几乎所有的 Azure 登录和认证都宕机了 2 个多小时。

  • 8 月 Cosmos DB 泄露事件暴露了 3000 多名客户的数据。。。任何人。

克鲁尼堡奖授予。。。真是惊喜爆冷! AWS 在几周内发生了两次 AWS 故障。哎哟。(想进一步了解那里发生了什么?查看本周AWS的完整报告。)


想免费了解更多关于 Azure 和云的信息吗?查看 ACG 的免费计划 。顾名思义,是免费的。 真的!不需要信用卡! 而且我们那批免费课程每个月都有更新,所以总有新技能要接。


让我们来看看年度动手奖,最佳新工具或更新工具。Azure 上有这么多工具,有些很优秀,有些没那么好。被提名者是:

  • Azure 虚拟桌面 允许每个人在不需要任何安装或软件的托管环境中在家工作。

  • Azure SQL 数据库分类帐用于提供加密证据,证明集中式数据存储未被篡改。

  • Azure Arc 允许通过 Azure 管理任何地方的虚拟机、容器和 SQL 数据库。

获胜者是。。。 Visual Studio 代码 现在 100%在线,可以通过浏览器访问。对任何开发者来说都是一个极好的工具,不管是不是云。


云挑战:Lars vs AWS

当热爱 Azure 的 Lars 前往黑暗面并尝试 AWS 任务时会发生什么?我们挑战 Lars 在他不知道的云平台上走过(或绊倒)一个他从未见过的场景。


最佳 Azure 无服务器服务

我们快到晚会的尾声了。接下来的两个奖项是几个服务云计算壁炉架的顶端。第一个奖项是年度最佳无服务器服务。被提名者是:

  • Azure 函数提供了最简单的方法来假装云中没有服务器。

  • Azure 功能支持复杂的架构和分离的分布式项目。

  • Azure Functions ,让成千上万的开发者能够创建快速高效的解决方案来解决实际的业务问题。

克鲁尼堡奖授予。。。Azue Logic Apps 继续给大家带来惊喜,它不费吹灰之力就将数百种服务强大地集成在一起,而且价值惊人。恭喜你,逻辑应用。

最佳新 Azure 认证

Azure 做得非常好的事情之一——除了给我们无限的计算——是在云本身上测试我们的知识。毕竟,认证的价值包括表明你理解某个主题,并且认真对待你的云之旅。

最佳 Azure 认证考试的提名者是:

  • AZ-700 用于识别云中的联网是将所有 Azure 绑定在一起的东西。

  • AZ-800/801 最终负责庞大的本地市场,该市场希望以混合方式使用 Azure。

获胜者是…所有的认证,因为它们都帮助学习者在云中取得成功,开始他们的云职业生涯,并踏上通往更好职业生涯的道路。

如果你没注意到的话,有很多证书。幸运的是,我们有一个博客介绍哪种 Azure 认证适合你。我们有一个全新的视频,涵盖所有2021 年 Azure 的最新 cert 变化。

2021 年到此为止!我会在新的一年带着更加蔚蓝的天空回来。

想要跟上这一切吗?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。你也可以在脸书上喜欢我们,在推特上关注我们,或者在 Discord 上加入对话。

感谢阅读和观看。享受与家人和爱人在一起的时光。继续牛逼吧,云大师们!

寻找云工作的最佳方式

原文:https://acloudguru.com/blog/engineering/the-best-way-to-find-a-cloud-job

在我 10 多年的技术生涯中,我雇佣了许多人,并帮助其他人通过 #CloudGuruChallenge 过渡到他们的第一份技术工作。在这段时间里,我所见过的在 T2 寻找云工作的最糟糕的方法是玩一个我称之为“简历轮盘赌”的游戏。

恢复轮盘游戏:一场失败的游戏

轮盘赌很容易玩,但是很难赢。规则如下:

  1. 等待随机的公司发布公开的工作列表
  2. 滥发一堆申请
  3. 希望某个陌生人喜欢你的简历,足以安排一次面试
  4. 如果你运气不好,无限期地重复第 1-3 步,直到你被录用或筋疲力尽

这样做会有人被录用吗?当然,每天。你可以在 LinkedIn 上找到那些发出 190 份工作申请,获得 10 次面试和 1 份工作机会的人的鼓舞人心的故事。但是更多的人在那之前很久就气馁并放弃了。我知道我会的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

事实上,当我听说有人在投了数百份冷冰冰的简历后,克服重重困难被录用时,我不会认为“哇,这是伟大的毅力”(尽管确实如此)——我认为“我们在庆祝一个破碎的过程


这是一个古老的问题。没有工作就无法获得经验。没有经验谁会雇佣你?谜题!观看这一免费点播的网络研讨会,该研讨会就云计算职业发展进行了小组讨论,包括我们的云计算大师挑战赛的见解,该挑战赛帮助数十人获得了他们的第一份云计算工作。


招聘是如何发生的

让我告诉你大多数公司在公开招聘时会发生什么:

  1. 150 个随机的人提交了他们的简历,其中有些相当好,有些相当差。(不深入了解很难说。)
  2. 三名现任员工认识某个非常适合这个职位的人,他们提交了推荐信,并热情洋溢地写道:“我和她在 X 公司共事过!她会杀了这个!”

如果你是一名招聘人员(或者特别是时间紧张的招聘经理),你会把哪些简历放在最前面?

许多公司向员工提供推荐奖金正是出于这个原因:最好的雇员往往是你现有团队已经认识的人。审查这些人比筛选总共有 150 个陌生人的电话要有效得多。

(是的,有一些公司,世界上的谷歌,拥有如此大规模的招聘引擎,以至于他们每年可以可靠地处理成千上万份不请自来的简历。但你在那里和在其他任何地方一样在玩数字游戏——你更有可能被正式拒绝,而不是让你的申请被搁置 6 个月。)

网络赌博:一个更好的游戏

但这并不意味着你被困在外面向内看。你不必发出 190 份求职申请来获得一份云工作。这个领域对合格的专业人员有大量的需求!如果你知道你的东西,公司应该基本上来找你。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是要找到你,他们必须知道你!

因此,根据我的经验,获得云工程工作的最佳方式是玩一种不同的游戏,一种我们可以称之为网络赌注的游戏,一种有许多获胜方式但只有两条规则的游戏:

  1. 拥有你的信誉
  2. 建立联系
拥有你的信誉

我在我的“有多少证书”帖子中更详细地介绍了基础云技能,所以我不会在这里重复所有内容,但是如果你是云的新手,你需要确保你已经:

  • 用 Python 或另一种通用后端语言编写代码的扎实能力
  • 对 Linux 和网络基础知识的实际熟悉
  • 一两项基础云认证

如果你没有在这里站稳脚跟,你只会在面试后变得意志消沉。我不希望你意志消沉!我要你跳到队伍的最前面。精通代码、网络和 Linux(不是摇滚明星!只是基本的!)是你的作弊码。说真的。动手吧。你可以比你想象的更快到达那里。

建筑连接

是的,这是我们谈论网络的部分。不,不是关于得到你的 CCNA,我是说认识正确的人一起工作。

我注意到,许多工程师在面对为了找到一份好工作而不得不拓展人脉的想法时,往往会怒不可遏:“我的技能应该独立存在。我的事业不应该依靠人脉;这不公平。”

但是他们忽略了联系是双向的。你不仅仅是一个可互换的 YAML 一代产品。你是一个有自己好恶和性格怪癖的人。有很多技术工作对你有害,你不会快乐或有效率——还有很多工作本身对你未来的职业生涯毫无兴趣或益处。当你把随机的工作申请扔进你一无所知的公司时,你面临着一个非常现实的可能性,即使你真的中了彩票并被录用,那也只会是一个坏消息。

人际关系网是你审查就业市场的机会,同时他们也在审查你。它能让你在适合你并为你的成功做好准备的公司里,找到与你一起工作的优秀的人。

但是我是一个内向的人…我不会交际!

我也是个内向的人!事实上,我斗胆猜测技术界的大多数人都是如此。在科技领域建立公众信任的神奇之处在于,你不必到处去和人握手、发名片或做其他事情。(并不是说那会起作用!)正如我的内向伙伴、AWS 英雄亚历克斯·德布里(Alex DeBrie)指出的那样,互联网让你通过更少消耗、更多异步的方式,非常有效地与人联系。只要你在公共场合展示出对自己技能的热情,你就会发现自己遇到了很棒的人和机会。

因此,让我们通过三个实际的方法来实现这一点。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以下是我的 3 个秘籍,可以让你找到一份对你和你的职业都有好处的云计算工作:

  1. 找到新的定位

如果你是云的新手,那么与更有经验的人相比,你会处于明显的劣势。许多人试图通过证书来缩小这一差距,但最常见的入门级证书对招聘经理来说并不那么令人印象深刻。(你有 A+证书?酷,其他一亿人也是!)

因此,明智的做法是停止玩其他人都在玩的游戏——跳到队伍的最前面,擅长如此新的云服务,没有人在这方面有那么多经验。毕竟,没有人会要求一项只存在了 18 个月的技术有 5 年的经验。

我不是在谈论成为像整个 Kubernetes 生态系统这样一个巨大而广阔的领域的专家。你可以在这里找到一个非常具体的利基。这里列出了一些热门的云工具和服务,迫切需要更多的社区关注。还有很多很多其他的;这正是我能在 60 秒内写下的。

  1. AWS AppSync/Amplify (托管 GraphQL 网关和相关前端框架)
  2. AWS 代码*堆栈(代码构建、代码部署、代码管道)
  3. 无服务器工作流服务 (AWS 步骤功能,Azure Logic 应用)
  4. GKE阿克什EKS 这样的托管 Kubernetes 服务
  5. 像 Terraform 或 AWS CDK 这样作为代码工具的流行基础设施

如果你擅长这 5 件事情中的任何一件,你一定会交到一些有趣的朋友,提升你作为云技术专家的形象,只要你也…

  1. 融入社区

当你开始实践你选择的技术时,写下你正在学习的东西。我建议使用一个成熟的开发者博客平台,内置一些网络效果,比如 Hashnode 或者 dev.to 。例如,如果你正在学习的服务发布了一个新的特性,写一篇简短的文章,探索它的作用以及你为什么对它感兴趣。

然后,分享那些好心情!并标记你感兴趣的功能的创建者。开发者喜欢看到他们的优秀作品被认可,他们会张开双臂欢迎你。

你也将开始发现你所选择的社区聚集的松弛和不和谐的频道、Twitter 标签等。与这些渠道接触,注意谁是有影响力的人——如果你认识他们,你会想成为他们的导师。我强烈推荐加入 Twitter,关注你所在领域的关键影响者。与他们交流,用问题回复他们的推文。人们会记住那些积极和乐于助人的人。你也会开始拓展其他的联系。

然后,当你看到一个工作机会在社区里出现(这是肯定会发生的)…

  1. 请求推荐

这一开始感觉很不舒服,但是比看起来容易多了。你可以给在你感兴趣的公司工作的人发信息,礼貌地请求推荐一个空缺职位。没有纠缠,你甚至可以问他们是否有任何公开上市的空缺。他们能做的最坏的事情就是说不。

但是请记住——他们很可能受到公司的激励而答应。如果你过去曾通过在他们的空间里建立和分享工作与他们互动过,他们就更有可能给你那种推动。如果你已经写了博客或者建立了开源项目,他们可以把这些交给他们的内部招聘人员。对他们的熟悉会给你一个共同的信任基础,让你知道这个角色和公司是否真的适合你。

玩长线游戏——这是一条捷径

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

通过网络投注过程获得一份工作——明确基础,找到云计算利基,融入社区——不一定很快。可能需要六个月到一年或更长时间。但这比获得大学学位要快得多。此外,你可以在业余时间非常便宜地做这件事,同时建立最终将在未来几十年内带来回报的联系。

相反,简历轮盘赌没有准入门槛,但却是一个糟糕的游戏,因为它有太多糟糕的结果:

  1. 你在就业市场上与其他人竞争,降低了你被雇用的机会
  2. 你几个月或几年都没有被聘用,你变得如此失望,以至于你停止了寻找
  3. 你真的被雇佣了,但是这份工作并不适合你

所以要主动,不要被动。拥有你的信誉。并且给自己创造一个小众,不要等待绝佳的机会去开拓。这是找到一份云工作的最佳方式,这份工作将成为一份令人敬畏的职业生涯的基础。

史上最大的 DDoS 攻击?

原文:https://acloudguru.com/blog/engineering/the-biggest-ddos-attack-in-history

微软发布了一些关于他们如何减轻分布式拒绝服务(DDoS)攻击的统计数据。他们不仅描述了他们如何保护 Azure 服务,还描述了有多少攻击。这让我震惊。。。

完整的故事(以及本周 Azure news 的其他一些有趣的花絮)请继续阅读!


通往更好职业的钥匙

从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。


微软缓解了 3.47 Tbps 的攻击

我们都知道,互联网服务经常遭受攻击,服务越大,目标越大。我只是不知道有这么多。

在 2021 年 8 月,平均每天有 1955 次攻击,Azure 阻止或减轻了这些攻击——最高的是 8 月 10 日的 4296 次。单日 4000 多!

2021 年下半年,总共发生了 359713 起攻击事件。神圣的蝙蝠侠!这是一次攻击。。。而现在。。。而现在。

去年 10 月,我告诉过你们一次每秒 2.4 太比特的巨大 DDoS 攻击。也就是说,每秒钟有 300Gb 的垃圾数据被扔向一项服务。自那以后,Azure 已经缓解了三次较大的攻击,最大的一次是在 11 月,在 DDoS-o-meter 上测量到 3.47 Tbps。

这可能是 DDoS 和互联网历史上最大的一次,Azure 也能够击败那次。

虽然这些数字令人印象深刻(坦率地说很难理解),但我认为这里的主要信息是 DDoS 攻击不会消失,也不会变得更小。因为它们很容易安装,而且价格便宜(是的,你可以买一个 DDoS 即服务),我们只会看到更多更大的。然而,利用像 Azure 这样的云平台意味着你很可能永远不用担心这个问题。这是我喜欢云的原因之一。

在此获取所有详情

Azure 开源日是 2 月 15 日

你听说过 Azure 开源日吗?这个以 Linux 为主的活动是全在线的,在 2 月 15 日可以免费参加。微软列出了你应该参加的 7 个理由。看看吧!

微软和美国宇航局将量子计算带入太空

这是过去一周的另一个最受欢迎的故事,主要是因为标题中有“量子”和“空间”。(我不找借口。)

“美国宇航局喷气推进实验室(JPL)已经转向 Azure Quantum,以探索与探索我们太阳系及其他地方的航天器更有效地沟通的方法,”微软在一篇博客文章中说。

JPL 正在 Azure 上使用量子启发的优化算法,以提高他们在火星漫游车和詹姆斯·韦伯太空望远镜等任务中使用的保真度。Azure 上的量子服务是对 JPL 深空网络的补充,这是一个在加利福尼亚州,西班牙和澳大利亚的大型射电望远镜网络。

在这个具体的例子中,微软描述了他们如何将计划优化所需的时间从 2 小时减少到 16 分钟。

当你处理发送到火星的信息时,优化火星车、望远镜或你控制的任何东西的每次更新或时间表的处理时间,几乎十分之一的时间减少是巨大的。

对于那些仍然怀疑太空探索和技术价值的人来说,请记住时间安排问题并不是 NASA 和太空所独有的。这些问题存在于大多数行业,他们也将受益于这一进步。爱死了。

微软为支持 Azure Arc 的服务器推出登陆区加速器

Azure Arc 允许您在 Azure 中包含您的内部和“其他云”虚拟机、SQL 服务器和 Kubernetes 集群。有了 Arc,你可以控制和监视它们,就像在 Azure 上一样。它是 Azure 上促进高效混合基础设施的关键工具之一。

Azure 登录区是多订阅 Azure 环境的输出,它考虑了规模、安全治理、网络和身份。换句话说,这是一种以安全和可伸缩的方式充分利用 Azure 的推荐方法。将此与云采用框架结合在一起,您将获得一个着陆区加速器,它现在可以将 Arc 考虑在内。

正如微软所说,“着陆区加速器提供最佳实践、指导和自动化参考实施,以便客户能够快速轻松地开始部署。”

“快速”和“容易”这两个部分应该有所保留,因为混合环境并不总是一帆风顺的。至少着陆区加速器将提供一个初始的方法和前进的方向。

欲了解更多信息,请点击此处

Azure 您在云中的成功

如果你想让 2022 年成为你开始云计算生涯的一年,或者开始掌握在科技行业获得一些高薪职位所需的技能,那么就去看看 ACG 的免费计划。它给你提供了免费课程和测验,以及学习路径和原创系列内容。

整个二月,微软 Azure 云采用框架的完整课程介绍是免费的——以及一系列其他内容。你不需要信用卡来注册。这里开始

好了,这就是这周的全部内容。直到下一次,我会在云中见到你。继续牛逼吧,云大师们!

想跟上万物云?在推特上关注 ACG脸书在 YouTube 上订阅一位云专家,并在 Discord 上加入对话。

了解为什么区块链技术有潜力改变每个行业

原文:https://acloudguru.com/blog/engineering/the-blockchain-stack-get-ready-for-big-things-to-come

新兴的区块链解决方案指出了一个触手可及的、可靠的、分散的、值得信赖的交易的未来

我从写区块链中学到的一个教训是,你必须提供一点关于技术的介绍——否则,我会失去 80%的观众。鉴于区块链技术的复杂性以及围绕不同平台、网络、令牌和应用程序的混乱,这是可以理解的。

公众的注意力大多集中在加密货币价值的涨跌以及涌入该领域的巨额美元。这是一种耻辱——因为在区块链的引擎盖下是一些令人印象深刻的建筑和愿景,它们有望创造一个巨大的创新浪潮,随之而来的是相当大的破坏。

在我到达那里之前,为了区块链第一法则的利益,这里有一些关于加密货币和区块链的关键点作为基础。

区块链 101

  • 加密货币独立于区块链技术。第一个是感知价值的数字表示;第二种是用于分布式事务处理和存储的方法。
  • 区块链平台的核心是一个分布式事务处理引擎,它对事务进行验证和加密密封。
  • 区块链由使用加密算法封装在一个“块”中的多组事务组成。通过使用散列值,连续的块被链接到前面的块,从而有一个顺序链,该顺序链在很大程度上是永久的和不可变的。
  • 区块链网络由几乎相同的节点组成,这些节点以分布式但独立的方式运行。节点网络用于验证事务并将其封装在链中的块内。
  • 区块链交易在分布式账本中维护,该账本通过共识算法在网络中的节点之间保持一致。
  • 区块链矿工是网络中节点的运营商,通过加密货币伪造区块获得奖励。第一个到达某个参数范围内的散列的矿工将获得该块的奖励。
  • 如果区块链平台允许额外的交易,未成年人也可以因处理交易和存储附带数据而获得奖励。

需要更全面的介绍区块链到底是什么,以及为了理解它需要知道什么?获得区块链认证并了解这项革命性技术的来龙去脉。

区块链用例及潜力

好了,现在我们已经了解了基础知识,并且我们已经确定区块链技术允许创建分布式事务处理和存储网络——应该更容易看到它的潜力。

拥有一个允许对交易记录进行独立验证的公共或私有网络,满足了许多行业的许多需求,这些记录已经被散列并连接起来,以创建一个不可变的链。如果有人强调这样一个前提,即今天占主导地位的集中式处理和存储需要对每个中央组织的信任——这种信任现在和将来的许多人都不太可能分享。

用例列表本身就是一个帖子,所以我不会在这里对它们进行分类,但是如果你感兴趣的话,有很多文章涉及到这个主题——包括理论和实践。我最近最喜欢的之一是由人群公司的创始人 Jeremiah Owyang 以图形形式提供的。

区块链技术的案例

如果你需要更多的说服力,简单看一看伯尼·麦道夫诈骗案就知道区块链科技是如何阻止它的。2008 年,伯尼·麦道夫承认操作了一个 648 亿美元的庞氏骗局——是的,十亿美元。这被认为是历史上最大的金融欺诈案之一。

在随后的调查中,发现他的资产管理公司多年来(如果不是几十年的话)一直在编造交易和发布虚假回报。客户的震惊和影响是毁灭性的,普通投资者的恐惧是显而易见的,在某种程度上,甚至持续到今天。

监管者的失误,或者说渎职,是导致欺诈继续的主要原因。但是在另一个世界里,如果所有的交易都被记录在一个不可改变的可访问的区块链记录里,那么即使不是不可能,也是很难实现的。

根据交易的区块链来验证交易,会让监管者很容易发现交易是否真的发生了。它还将允许账户持有人根据交易日志核对账户。

如果交易是在区块链进行的,如果他们是证券记录上的最后所有者,那么他们的账户报表是可信的。交易对手也可以用类似的方式进行验证。

相反,监管者被误导了他们所寻找的东西,而且永远无法看到这个庞大的计划,即使它就在他们面前。

[麦道夫]表示,奥斯特罗和拉摩尔“从未真正接触过与股票记录或 DTC 记录相关的书籍和记录。”麦道夫声称“他们甚至从来没有看过我的股票记录”,也没有“清点过”

他说,他对他们没有要求 DTC 记录感到“惊讶”,并表示只有监管机构才能从 DTC 获得这些记录,而 SEC 将“不得不去 DTC”他补充说,DTC 没有为每个客户设立单独的账户,而是提供一份全球报告,但他表示,如果他们去 DTC,他们会看到他的做市头寸,而且“他们很容易看到”庞氏骗局。

马多夫表示,证交会本可以去找交易对手,如果他们去了,他们“会看到的”,并补充说,“他们没有这样做。”他表示“这是唯一要做的事情”,并澄清说,“如果你在关注一个庞氏骗局,这是你要做的第一件事。”

–亨利·布洛杰特,商业内幕,2009 年 10 月 31 日
麦道夫谈“白痴”证交会调查员:他认为自己是“上尉·科伦博”

区块链堆栈

如果你接受区块链技术将是未来交易处理的重要因素这一前提,那么看看区块链先驱们描绘的愿景是有意义的。我们将通过查看一些早期架构图以及深入了解一些新兴组件和网络来实现这一点。

首先要看的地方之一(除了最初的比特币白皮书)是以太坊协议的创始人 Vitalik Buterin 描绘的愿景。下图包含了加密货币生态系统的早期模型。这些层展示了处理复杂事务和交互所需的广阔视野。它列出了在分散网络中运行所需的大量组件。

正如您所看到的,这是一个复杂的愿景,但要实现它还有很长的路要走——无论是在开发商的行动中,还是在市场的接受度中。

区块链核心–协议、接口、网络

下面显示了基础层的一个更受约束的视图。它是在以太坊推出后不久由核心以太坊团队成员制作的。基础层包含协议以及接口、网络和测试工具。

这个核心视图提供了控制事务处理逻辑以及块的锻造的基本原则和交互。称为智能合同的概念是以太坊内灵活处理能力的核心——参见我早期的帖子了解更多关于这个主题的信息。

在查看区块链架构师图表和各种组件时,关键的一点是要记住“不可信”这个词。虽然围绕事务处理的架构或堆栈图并不具有开创性,但在公共区块链平台中所做的许多事情都是独一无二的。

原因是区块链系统被设计成无信任的,这意味着被设计成以一种方式执行一个动作和操作,使得各方之间的信任不是该动作或操作的条件。

换句话说,当交易比特币或以太币时,不要求一个交易伙伴确定另一个交易伙伴有足够的货币进行交易。相反,区块链本身提供了在提交交易之前验证所有权的能力。

一笔交易是否在之前的某个日期完成,不是由一个单一的中央机构来决定,而是通过使用分布式分类账作为事实的来源来决定。

这种不信任的本质应该是一个人在观察区块链平台和网络中的其他层和组件时使用的透镜。分散化也是一个需要记住的描述符,但“不可信”是与几乎所有其他平台和网络的关键区别,这也是区块链获得如此强大追随者的原因。

区块链组件

区块链平台的基础层处理交易设置和处理以及链中每个模块的伪造/创建。对于简单的资产交易——一方将资产交易给另一方——来说,这个基础或内核就足够了。

然而,更复杂的事务需要更深入地思考如何构建各种工作流(参见我之前帖子中的棋局解释)。还需要注意处理交易中可能涉及的大量数据。

为了处理这种增加的复杂性并满足更多的使用情况,已经提出了额外的组件和网络。下面是一些更重要的纲要。

注意使用术语“层”、“组件”、“应用”、“平台”和“网络”。原因是为了区分技术的概念方面(层或组件)、技术实现(应用程序或平台)、运行应用程序或平台(网络)的一组独立节点。

身份解决方案

安全且可验证的数字身份对于稳健的区块链网络的运行至关重要。进行交易的各方以及构成交易基础的资产都需要身份。

关于交易方的身份有许多问题。一个是当事人是可识别的还是匿名的。大多数区块链平台将允许匿名,尽管网络结构或对连接到网络的各方的监管要求可能会将真实世界身份与链上 id 进行离网关联。

例如,美国国税局已经向比特币基地和其他在线存储库施压,要求提供将用户与其比特币、以太坊或莱特币账户 id 联系起来的数据。另一个复杂情况是,实体可能想要或需要多个身份,因此任何结构都需要适应这一点。

例如,一个 ID 可能与可识别姓名/人相关联(与驾驶执照、选民登记或护照相关联的区块链 ID),其他 ID 可能是半私有的——仅在特定的封闭网络中已知,还有其他 ID 可能保持匿名,被创建以建立合法的实体,但是该实体不可追踪到链外实体。

至于资产的身份,问题同样复杂。使用系统的加密货币进行交易是一回事,因为系统能够验证该货币的合法性。但是,对于非数字资产和没有硬连接到交易处理引擎的数字资产,情况就不同了。

对于非数字资产,建立与物理资产匹配的数字标识可能会有问题。例如,一幅画可能需要一张或多张照片以及详细的描述(标题、艺术家、媒体类型、尺寸、区别标志)和/或状况报告,但仍可能存在合法性问题。

有 VIN 号的汽车看起来似乎很容易识别。问题是,一个单一的车辆识别号只是皮毛。汽车是由许多零件和子部件组成的,其中许多都有独特的标识。一辆汽车可能包含多达 30,000 个不同的项目(如果你把它分解到单个螺母和螺钉)。如果对汽车进行了修理并且更换了零件,则需要修改清单以反映这些变化。

由此可以看出,区块链的身份是复杂的。它还处于早期阶段,但许多方面都在关注它,并努力解决其复杂性。例如,微软积极参与区块链身份认证,并推出一些开创性的想法。

随着技术的进步和标准方法的采用,区块链网络将变得更容易使用。当易用性增加时,提交给区块链的交易数量也将增加,区块链科技将不再那么陌生和奇怪,而更多的是事实。

如果你怀疑这一点,那么想想手机中的数码相机对网络照片使用的影响。无处不在的网络连接使得上传和分享照片变得更加容易。这使得脸书、Instagram、Pinterest、Snapchat 和其他社交媒体平台出现并呈指数级增长。一旦实体和资产 id 的形式在区块链网络中易于使用,区块链应用程序也会发生同样的事情。

离线数据验证

离线数据验证是解决更复杂的区块链解决方案的另一个关键领域。可以存储在链上的数据量是有限的。实际上,大宗交易规模限制以及创建区块链交易所需的费用会对监管者产生影响。

与链上事务处理一样,链上数据存储也有成本。交易方必须在交易时支付费用,以弥补存储成本。这篇 StackExchange 帖子提供了更多关于区块链数据存储的信息——尽管请注意,鉴于最近乙醚价格的上涨,解释中详述的收费可能已经过时。

关于在区块链交易中包括什么信息,这在很大程度上是一个架构决策——显然是交易中涉及的实体和交易的资产,但交易的其他数据和方面也可能记录在链上数据中。

然而,对于交易来说至关重要但大小较大的数据元素将无法包含在链上——至少是整个链上。示例可能包括法律协议或合同、大型资产购买(例如,房子)的随附文档、集装箱运输的冗长清单,或者艺术品的照片和状况报告。

然而,不能将它们直接包括为链上交易的一部分,并不意味着识别数据元素不能作为交易的一部分被锚定或固定到区块链中。换句话说,可能不包括完整的文档,但是可以包括唯一的并且可以在以后验证的表示。

一家名为 Tierion 的公司开发了一种协议和不断发展的数据证明网络,它提供了一种将数据锚定到公共区块链的交钥匙方式,该网络本质上采用任何形式的数据的散列——文档、文件集、数据库记录。csv,。xls 或其他文件格式——在时间戳中散列,然后在比特币和以太坊的交易中固定或锚定结果散列和其他散列。

通过这种方式,他们能够提供交易记录并生成数据证明。在以后的任何时候,都可以验证手头的任何数据是否与原始数据相匹配。这意味着,如果您手头有一份合同或一组财务数据,您可以通过将它们与区块链交易中的哈希值进行比较,来验证该合同或财务数据是否处于原始状态。虽然该网络不提供这种辅助数据的存储(这留给交易方练习),但它提供了一种方法来确定任何存储的数据是否与先前交易的原始数据相匹配。

充分披露:我与 蒂尔昂 的人关系密切,是公司和技术的支持者。它为区块链技术提供了一个现成的用例,但也可用于任何需要独立于任何区块链连接的数据证明的解决方案。

离线数据存储

在深入研究上面的第一个时,您会注意到链外数据存储包含在生态系统的各个层中。例如,Swarm 突出地出现在一个较高层中。它和 IPFS 是两个旨在满足这一需求的协议/解决方案。

Swarm Swarm在区块链圈子里获得了大量的关注,因为它的起源更多地源于区块链平台,而不是 IPFS,尽管 IPFS 已经存在了很长时间。2016 年 5 月发布了一组描述 Swarm 背后技术的橙色论文

以下是出现在 Swarm github 页面上的对 Swarm 的描述。

Swarm 是一个分布式存储平台和内容分发服务,是以太坊 web 3 栈的原生基础层服务。Swarm 的主要目标是为以太坊的公共记录提供足够分散和冗余的存储,特别是存储和分发 app 代码和数据以及区块链数据。从经济角度来看,它允许参与者有效地集中他们的存储和带宽资源,以便向所有参与者提供上述服务。

从最终用户的角度来看,Swarm 与 WWW 并没有太大的不同,除了上传不是到特定的服务器。目标是点对点存储和服务解决方案,该解决方案具有抗 DDOS、零停机、容错和抗审查能力,并且由于内置的激励系统而能够自我维持,该激励系统使用点对点记账并允许交易资源进行支付。Swarm 旨在与以太坊的 devp2p 多协议网络层以及以太坊区块链深度集成,用于域名解析、服务支付和内容可用性保险。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IPFS IPFS代表星际文件系统,是一种点对点文件存储分发协议,它使用基于内容的寻址约定,因此可以独立于服务器。这种能力意味着地址可以是永久的和灵活的,而不是绑定到特定的服务器或位置。它的历史早于区块链技术,但它的实现了区块链开发者提出的一些相同的要求。

下面是几年前 Techcrunch 对 IPFS 的描述:“IPFS 还解决了困扰我们基于 HTTP 的互联网的安全问题:内容寻址和内容签名保护了基于 IPFS 的网站,使 DDoS 攻击变得不可能。为了帮助减轻停产网站的损害,IPFS 还对重要的公共记录内容进行存档,并且可以轻松存储重要的公共记录内容。”区块链论坛中提到了 IPFS,尽管我目前还不知道它的任何生产用途。

想了解更多关于 Swarm 和 IPFS 的信息,这里有一篇比较两者的 StackExchange 帖子。

鉴于分布式存储面临的挑战,它肯定还处于发展的早期。不仅不清楚分布式存储的经济性,也不清楚市场将如何接受它。处理交易是一回事,尤其是在身份匿名的情况下,存储数据是另一回事——即使数据被加密、分区、混淆,并以其他方式变得安全和匿名。

一种可能性是将私有存储解决方案与公共分布式网络融合在一起。换句话说,Dropbox、box 或 OneDrive 可以创建自己的令牌,并使用这些令牌在其现有用户中使用边缘存储容量(即使用其现有用户的本地存储作为网络)来支持类似群集的功能。)

或者,一家创业公司(与硅谷电视节目中的 Pied Piper 相似)可以通过使用移动电话、智能冰箱和其他设备作为基于边缘的存储网络而兴起。#开玩笑#不开玩笑

支付渠道

使用区块链网络记录交易在速度和吞吐量方面都有成本,记录每笔交易的物理成本也是如此。

区块链网络非常适合记录大型一次性交易,如转让房屋、汽车、设备或其他值得注意的购买。但是,对于小额交易或交易发生频率较高的情况,这种方法并不适用。

一种被称为支付通道的方法已经被提出来解决这些类型的情况,并且一些网络在一些区块链平台中处于不同的发展阶段。

付费频道可能适用的一个例子是按次付费功能。其工作方式是,初始存款是在链上交易中创建的,但有一个时间延迟。每次查看或下载时,都会创建一个已签名的事务,但它是在离线网络中维护的。每一次新的观看/下载都会创建一个新的交易来替换先前的交易,但是要转移的金额会增加。

这与礼品卡不同,每次使用都会从余额中扣除另一笔金额,尽管在这种情况下,直到某个事件迫使最后一笔交易在链上处理,余额才会达到。任何一方都可以在任何时间点触发任何正式签署的链外交易的链内识别。

另一个使用案例是忠诚卡,其中每次使用代币,奖励以代币的一部分的形式提供,但是连续的奖励保持在链外,直到在链上刷新。

“[支付]通道是一项重要的技术,有可能极大地提高许多类别的区块链应用程序的可伸缩性和隐私性;结合分片和其他隐私保护加密技术,它们是帮助去中心化系统实现主流个人和机构用户期望和应得的属性的重要组成部分。”

–以太坊创造者维塔利克·布特林

闪电网络闪电网络是比特币区块链的支付通道网络,旨在提供高容量和高速度的交易能力。它的工作原理是记录比特币区块链网络中的初始交易——例如,一方和另一方之间的支付。然而,交易方随后的修改是在闪电网络中进行的。修改以区块链可解析智能合同脚本的形式存储,只有最近的链外修改在网络中有效。

在交易中使用时间锁,以允许延迟确认初始存款和确认临时调整。这种认识上的滞后使得外链网络中的最新条目可以在任何时候被关闭,从而取消存款,只承认交易的真实金额。在不合作的情况下,区块链是使用初始状态和最近达成一致的事务的仲裁器。

雷电网

雷电网络是以太坊的支付通道网络。就像上面的闪电网络一样,雷电网络建立了一个离线状态网络,以提供一组增加链上以太坊能力的属性。在这种模式中,雷电网络中的私有签名消息提供了价值转移。通过对等网络结合初始链上存放来维护消息。消息将以与上述类似的方式使用时间锁和最近的链外交易来建立当前余额(一旦交易在链上提交)。

创作者列出了许多用途,包括内容分发、广告和订阅的小额支付;带宽、存储、cpu 处理、能源或传感器数据的按需市场;代币系统和私人货币。

通信网络

商业中使用的大多数当前通信协议和网络允许通信方的识别和位置的追踪。然而,各种区块链平台具有处于工作或提议阶段的协议/网络,这些协议/网络被设计成对在网络内通信的各方隐藏位置,从而屏蔽各方的识别元素。这个想法是,虽然区块链 ID 可以被创建以便匿名,但是作为通信消息的一部分包括的位置信息可以最终提供足够的信息以便暴露这个 ID。

请注意,保护身份并不一定意味着非法交易或不法行为。在大多数交易情况下,完全或部分匿名是一个关键和常见的因素,尤其是在建立和报价阶段。

例如,拍卖在很大程度上是匿名的。交易股票或期权也一样。在每次报价或交易中,身份不会广播到整个网络。相反,拍卖行和票据交换所作为中央机构保护各方的身份,但允许可信的交易。

在区块链网络中,没有中央机构可以缓冲通信信息。因此,作为广播通信的一部分传送到网络的任何位置信息都可能泄露区块链参与者的身份。因此,需要一种能够隐藏位置信息并保持匿名的通信设施。

耳语

Whisper 是以太坊的通信协议,允许客户端传递不需要永久存储在区块链中的消息。根据文档,Whisper 协议旨在维护发送、多播和广播消息的安全性和效率。

结果认证

分散式事务的另一个挑战是如何以可用于确定链上事务的结果的方式来认证离线事件的结果。

通过评估游戏的当前状态以及之前的移动或动作,在线活动(国际象棋比赛、扑克游戏或其他活动)的结果在理论上应该可以在区块链网络中进行仲裁。确定一个链外活动的结果要困难得多。

就足球比赛的赌注而言,如果双方对结果达成一致,就可以承认并支付赌注。然而,如果一方不同意结果——无论是出于疏忽、恶意、不诚实还是其他原因,那么就需要一种机制来提供将结束打赌的结果。

20 世纪 70 年代的电影《骗局》展示了为什么有必要以一种经过验证的方式获得结果。两个主角建立了一个假的赌博大厅来欺骗一个黑帮老大。他们使用一个叫做电线的骗局。这种骗局最初是从延迟消息开始的,因此允许投注者提前预测结果。后来,它演变成一种更为复杂的诡计,利用假赌场和先进信息的假象来欺骗赌徒。

电报在 20 世纪早期最为流行,当时赛马和赛狗的结果通过电报发送到赌场。它始于早期的电报时代,当时电报员可以将比赛结果推迟足够长的时间,让一些联盟成员下注,赚一大笔钱。

随着电报越来越普及,当地的 bunco 小队采取措施防止延迟结果,骗子开始制造他们可以延迟结果的假象,从而产生了电汇诈骗。这种诈骗需要大量的时间和人员,需要一个诈骗团队来建立和运营一个人员充足但假冒的赌场。对骗局至关重要的是“罗珀”,一个骗子,他必须用预先了解情况和保证获胜的承诺来引诱目标。
网络诈骗,利用维基

创建一个能够以可靠的方式提供结果的系统,用于分散的、不可信的交易处理系统,并不是一件简单的事情。致力于解决方案的两个比较突出的网络是 Augur 和 Gnosis。

占卜 占卜也是预测市场在以太坊上像一个分散的网络一样运行。它们提供了一个根据现实世界事件的结果进行虚拟股票交易的设施。预测市场的概念并不新鲜,但其理论是,区块链网络提供的分散化降低了交易对手的风险,以及可能对任何单一中央机构造成的威胁。要获得更深入的观点,请查看他们的 FAQ ,因为它包含了关于它如何工作以及运营分散预测市场所涉及的问题的可靠概述。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

灵知
灵知也是预测市场在以太坊上作为一个分散的网络运行。从本质上说,他们正在创建一个平台,通过这个平台可以提供关于未来事件的预期结果的聚合信息的机制,并允许基于该结果的交易活动。用途包括金融化、保险和对冲、价格发现、绩效激励和体育博彩等。

Gnosis 架构包含了许多有趣的元素,其中之一被称为“神谕”先知是决定赌博结果的工具。他们列出了四类神谕:

  1. 链上神谕
  2. 集中式 oracle
  3. 分散神谕
  4. 混合神谕。

他们在白皮书中的讨论提供了每种类型的性质和环境的相当多的细节。这篇文章值得一读,以了解在一个被设计为去中心化、无权限和无信任的市场中,集中式工作流中的一个简单工作流——拉斯维加斯的一个体育博彩——是如何变得更加难以管理的。

关于占卜和灵知的比较,请看这里的帖子和这里

区块链平台——现在和未来

目前媒体对区块链加密货币元素的关注已经从底层技术上转移了相当多的注意力。这一点尤其正确,因为它关系到区块链先驱们提出的更完整的愿景。

当前网络的增长相当惊人。想想吧。几年前,没有多少人会认为由数千个独立节点组成的大型分散式网络会在这个时间点运行,这些节点处理数百万美元的交易。

加密货币为支持交易处理提供的经济激励是一个案例研究,将标志着历史上的这一时间点——就像其他经济 IT 突破在过去所做的那样。

区块链的故事很容易与早期个人电脑软件制造商的故事相提并论,他们出售软盘上的软件,创造了数十亿美元的市场。

它将在开源先锋公司中找到自己的位置,这些先锋创造了大量流行的非商业软件,以及建立在此基础之上的大公司。

它还将加入云计算和无服务器公司的行列,这些公司不仅找到了实现实用计算的方法,还重塑了未来许多年的 it 架构和部署。

区块链技术同样有潜力改变几乎每个行业。创建可靠的工作流并以分散和不可信的方式允许可信的交易的能力是一个巨大的愿景——但不是不可实现的。

区块链技术的进步是真实的,未来的愿景肯定是触手可及的。


FWIW,我正在帮助制作 2017 年 8 月 4 日星期五在加州圣马特奥举行的区块链研讨会。详细内容可以在这里找到**

这篇文章是最近博客关于区块链技术和无服务器处理的异同的后续。

感谢阅读!如果你喜欢你所读的,按住 点击下面的 按钮,这样其他人也能发现。可以 在 Twitter 上关注我

阅读云文档的艺术——提升你的技术

原文:https://acloudguru.com/blog/engineering/the-career-changing-art-of-reading-the-docs

时常有人问我如何成为 AWS 的英雄。

具体的答案并不有趣——“加入社区,希望有人提名你为英雄”似乎是 AWS 的流程。我知道微软 MVP 流程更加透明,也更加规范。

但“我如何在我选择的技术专业中变得受人尊敬”这个普遍问题非常有趣。即使你没有任何建立公众追随者的愿望,成为你的技术领域内的关键人物也有巨大的职业价值。

团队中的每个人都会向他提出关于语言或框架的最棘手的问题。知道所有尸体埋在 ActiveDirectory 或 Typescript 或 DynamoDB 中何处的人。这些人有很好的职业生涯和工作保障,因为像这样的权威知识是罕见的。

从某种程度上来说,它是罕见的,因为智慧只来自经验。但是我知道很多工程师坐在同一把椅子上十年了,却得到了十次同一年的经验。见鬼,我自己也去过那里;我花了几年时间作为一名“偶然的 DBA ”,除了日常的救火工作之外,我从未真正了解过 SQL Server。

我过去常常花很多时间想知道为什么其他人在新技术上进步如此之快。你如何打破学习和遗忘的停滞循环,多年来使用同样的技术,却从未感觉自己是专家?

几年前,我从我的 AWS 英雄伙伴贾里德·肖特那里学到了一个秘密,如果你愿意的话,可以称之为欺骗代码。这是他提升科技水平的秘方:

每周从头到尾阅读一份与工作相关的技术文档。

阅读文件:错误的方式和正确的方式

我明白,这听起来不像革命。" RTFM "实际上和计算本身一样古老。这是你应该能够谷歌到的问题的经典答案。

这暴露了我们很多人看待文档的一个关键局限。我们在战术上认为它是一种资源,当我们有特定的问题或遇到特定的错误时可以进行查询。我们用文档来填充我们已知的未知。

这就是为什么你会陷入多年的困境,比如说,管理一个 PostgresSQL 集群,却从未真正成为 Postgres 领域的专家。如果你只是在形势需要的时候才学习新的东西,你的 Postgres(或任何东西)的心智模型将看起来像是这个的一个逐渐扩展的版本:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

随着时间的推移,当你遇到更多新的技术用例时,你会在心智模型中烙下更多“永不忘记”的印记。但是你仍然会有这种沉重的未知的感觉笼罩着你,你永远不会确定你是否真的在用最佳的方法来解决一个新问题。

相反,Jared 的方法是战略性地阅读文档*,,好奇地抢先阅读:作为一种填补你的未知的*的方式。十年后你可能不会遇到的事情,但是如果你明天遇到了,那将花费你两天的时间来排除故障。

像阅读小说一样阅读文档(从头到尾),而不是像阅读字典一样(查找术语、交叉引用和停止)。随着时间的推移,这种策略会让你的专业领域形成一个心智模型,看起来更像这样:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(顺便说一下,这与你从学习认证中获得的好处是一样的:你正在构建一个领域的思维地图,所以你不必在每一个新的探索中都在黑暗中磕磕绊绊。)

表面上看,这听起来很简单,但远非易事。当我建议把读博士作为一种职业发展策略时,人们会提出三种常见的反对意见:

“我没有过目不忘的能力。我永远不会记得一堆随机的文件。”

当我还在上大学的时候,一个好心的朋友说服我应该读一本关于 SAP 的书。忘了今天吧——我不可能在读完那本书的十分钟后告诉你一件关于 SAP 的事情。我从未进过企业,更不了解我读到的这些 ERP 集成应该解决的问题。这就像试图与电影《T2 降临》中的外星人对话:我的大脑形状不对。

同样,对于一项你不使用、没有背景的技术,浏览文档可能不会有太大的价值。

所以做这两件事:

1.关注您已经在使用的技术的文档。当我们费力阅读一些与我们日常生活无关的深奥文本时,我们都有这种头脑麻木的感觉,当你看了三页后,你会问:“我刚刚读了什么?”

为了避免这种情况,你可以把重点放在你已经有既得利益的技术或语言的文档上——比如说,因为它们在你的工作中,或者你试图把它们变成一个附带项目。

通过在阅读时问自己这样的问题来鼓励积极阅读和接触信息:

  • 我明白了吗?(如果没有,请再读一遍该部分)
  • 我刚刚读到的与我现有的关于这项技术如何工作的心智模型相符吗?(如果没有,我是否需要查看不同的文档,然后再回到这里?)
  • 这个特性或事实能对我当前的项目有所帮助吗?
  • 如果我在六个月前知道这些,我会做什么不同的事情?(“选择不同的技术”是完全可以接受的答案!)

然后, 2。按照时间表,一遍又一遍地反复阅读这些文件。说真的。如果你在一个为 Azure 构建集中式 CI/CD 的团队中,也许本周阅读 Azure DevOps 文档中关于管道的部分,下周阅读关于构建代理的部分,当你完成时,重新开始。云变化很快。在强化旧信息的同时,你会吸收新信息。

“我没有时间去阅读一堆文档。”

是的,几周的工作可以节省你几个小时的计划时间。也许可以利用你目前在代码中注入“HERE”print 语句的时间来找出它为什么不工作。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

更严重的是,每天在你的日历上留出一点时间——甚至 30 分钟——进行有针对性的文档阅读,这并不是一个坏主意。你可能会发现很难从你的工作日中抽出时间,但是捍卫时间和与你的经理一起设定期望是一项值得练习的技能。称这段时间为“深度工作”确实是。

“[技术 X]的文档不好。相信我,它们不值得一读。”

我并不总是相信这个借口。文件可能没有那么糟糕;你可能只是有错误的期望。

例如,AWS 文档因冗长和组织不良而受到指责。如果您试图查找 IAM 操作的名称或 CLI 命令的语法,这可能比您听说的还要糟糕。

但是作为一个深入研究服务的架构基础和技术限制的教育工具,AWS 文档非常棒。它们比你能买到的任何一本关于云的书都要好。(还有建造者图书馆更好。)AWS 文档不仅设计用于参考,还用于阅读。读出来。

另一方面,一些类型的文档,如分步指南,非常适合在动手构建时参考。花大量时间阅读那些抽象的东西可能没有意义。所以带上你的常识。

然而。也有很多技术的文档确实是不完整的、过时的或完全错误的——特别是许多较小的开源项目。

原来你在这里有另一个选择,至少对于 OSS 项目是这样:*阅读源代码。*不确定一个模块做什么,它的边界情况是什么,错误代码是什么意思?阅读源代码并找出答案!这可能比在文档中寻找答案更快(而且肯定至少一样准确),即使文档非常好。

如果你以写代码为生,阅读别人提供的、经过实战检验的代码——不仅仅是你自己团队的 PRs 确实是你能为你的职业生涯做的最具变革性的事情之一。因为当你回答眼前的问题时,你也会从在各种有趣的约束下工作的专业程序员那里学到风格、组织和技术。说真的。读取代码。

(然后,如果它是开源的,也许可以考虑贡献一些文档!)

我能从这一切中得到什么?

如果你在一段持续的时间内——比如说几年——持续阅读一组目标文档,同时积极实践该技术,你将能够创造奇迹。这是一个承诺。

让我们再次回到贾里德·肖特的例子。(是的,我问过贾里德,他很大方地同意让我在这篇文章中透露他的秘密。)作为 AWS 商店的工程师,Jared …

  • 每周从头到尾阅读一份 AWS 服务的文档。
  • 在他的日历上记下了每天的时间。
  • 专注于他在工作中实际使用的服务(他告诉我,到 2021 年为止,他已经浏览了 Lambda、AppSync 和 Step 函数的所有文档)。

Jared 已经这样做了了,一周又一周。这种平淡无奇的承诺让他像这样表演书呆子魔术:

如果你不想花时间阅读整个 Twitter 帖子,让我为你总结一下。

  1. 一位经验丰富的 AWS 工程师遇到了一个奇怪的行为:AWS Lambda 似乎在执行代码,而它不应该这样做。他在推特上发布了求助信息。
  2. 其他有经验的工程师看一看,然后说,“哈。怪怪的。”需要明确的是,这不是 RTFM 的案例。这是一个不小的问题,即使有解决方案,也不是众所周知的。有人开始向 AWS 员工寻求建议。
  3. Jared 走进来,立即给出了一个答案:Lambda 在其启动序列中触发了一个错误,并重置了执行环境。Jared 猜测这一点,尽管他从未遇到过这种特定的情况,因为他已经在 Lambda 扩展的文档中内化了一个路过的引用—一个完全不同的特性—,并且直觉地认为底层行为一定是相同的。
  4. AWS 员工确认 Jared 是正确的。
  5. 杰瑞德的传奇稍微变大了。猜猜下次出现奇怪的 Lambda 问题时,谁会被贴上标签而不是 AWS 员工

伙计们,这就是你成为 AWS 英雄的方法。或者至少是你工程队的英雄。这就是如何从发展云技能,到晋升、出名、获得报酬和晋升。

不要通过多年低效的试错来等待知识来找你。去拿吧。最方便、最全面的获取地点一直就在你面前。

阅读文件。

云架构师迁移指南:技巧和工具

原文:https://acloudguru.com/blog/engineering/the-cloud-architects-guide-to-cloud-migration

在开始全职教学之前,我在一家专业服务咨询公司担任云架构师。在那里,我帮助客户构建令人兴奋的新的云原生解决方案,并且更经常地,将现有的工作负载迁移到云。

我学到了什么?你难道不想知道。。。等等!这应该是一个问题:难道你不想知道吗?如果是这样,请继续阅读云迁移领域的一些故事。这些经验教训将有望帮助任何向云(无论是 Azure 、AWS、GCP——任何云)迁移的人避免我多年来看到的一些常见的云迁移错误

云迁移经验教训

这些客户中的一些拥有传统的数据中心资产,并且不想支付保持硬件运行或至少在保修期内所需的额外资本支出。一些客户已经将多个应用程序部署到了云环境中,但是被鼓励从大提供商 A 迁移到大提供商 b。他们的共同点是使用各种方法和技术构建的异构系统组合,这意味着任何计划的迁移都不能被认为是微不足道的,并且需要一些付费顾问的技能。(谢天谢地,大供应商 B 通常会买单。)

云迁移类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

概括地说,有三种推荐的云迁移方法。

1.提升和移动

首先,我们有“提升和转移”。什么是提升和转移迁移您可能会问……使用这种方法,您只需进行最少的必要更改,就可以将工作负载的托管环境转移到新的云提供商。如果您现有的基础架构由一堆虚拟机组成,这是非常简单的。市场上甚至有产品承诺为您“不用手”地完成这种迁移工作,尽管根据我的经验,总会有一些手握着的情况。这种方法的缺点是,在迁移之后,您无法获得使用云技术的任何好处。你可能只是转向一种不同的账单。

2.淘汰并替换

另一个极端是“淘汰和替换”,您可以从头开始重建工作负载,使其成为“云原生的”。如果您能够在时间和技能发展方面进行投资,您将获得云的可扩展性和弹性为您提供的最大好处,并且您将有机会摆脱所有现有的技术债务。

3.移动和改进

介于两者之间的是“移动和改进”技术,在这种技术中,您可以对应用程序进行一些更改——例如,引入缩放或自动化——而无需全盘放弃。乍一看,这种令人愉快的方式似乎是最好的选择,但是如果做错了,你可能最终会保留所有的技术债务,并且最终得不到云原生的好处。

当简单的迁移顺利进行时

在某些情况下,升降并不是一件坏事。也许大提供商 B 已经承诺给你比大提供商 A 更少的账单,也许你有一个小的、非关键任务的工作负载。

我协助了一次这样的 35 台 Windows 服务器的迁移,使用了前面提到的由提供商推荐的“自动”迁移工具。这些服务器已经在大型提供商 A 中运行了几年,没有使用任何其他特定于云的功能,因此迁移应该相对简单。我们已经做好了事情不完全按计划进行的准备——毕竟,这是 Windows——果然,我们很快就在我们正在迁移的不同版本的 Windows 中发现了不同级别的提供商支持。

此外,我们发现一个非常热心的系统管理员已经离开了客户公司,他决定手动覆盖每台服务器上的所有默认网络配置,这完全破坏了自动迁移。然而,这些问题并不是不可克服的,在几个小时内,我们已经将该资产转移到一个新的、更便宜的、内置弹性稍强的云账单。

当复杂的迁移出乎意料地顺利时

一个特别的提升和转变让我吃惊,因为我们高估了它的复杂性。我们的任务是迁移大约 40 个不同的工作负载,这些工作负载已经部署到运行在数据中心的几个物理 Kubernetes 集群上。

作为一名年轻的工程师,我在处理臭名昭著的 container orchestrator 时有一点担心,但我很快发现,它所有假定的 YAML 复杂性只是让它更易于移植——这是它最初的设计目标。我们不得不为新的云提供商的负载平衡器手动重新配置入口,但大多数工作负载都无缝迁移到了新的托管 Kubernetes 服务。我们甚至有剩余的咨询时间,我们用来添加 CI/CD 系统,只是为了好玩!

“我们一直是这样做的”

“移动和改进”迁移并不总是有我们希望的结果。

工具、流程和技术在不断发展,但是团队和组织有时并没有随之发展。作为一家咨询公司,我们有一种在迁移期间“改进”某些类型的应用程序的首选方法,即应用配置管理,并尝试将它们重塑为可水平扩展的服务。

但是在应用程序复杂性的某一点上,我们选择的配置管理工具就是不能胜任工作,不管我们投入多少时间。我们致力于这种方法,这是一项长期艰巨的任务。回想起来,我们应该放下一点自尊,改变策略。

这不是您正在寻找的数据库服务

事实证明,假设是任何云迁移计划中的定时炸弹。

在相同的迁移过程中,我们只需将 MySQL 数据库从一个云提供商迁移到另一个云提供商。MySQL 是一个成熟、可信的数据库,具有坚如磐石的导入和导出能力,但我们被这个特定客户数据库的庞大规模所阻碍。尽管我们尝试了各种方法,但它继续以超过我们新提供商的任何可靠复制的速度增长。我们甚至认为,我们正受到原始宿主的限制,这是对迁移的第一个阻碍。

这一经历让我们震惊,因为在我们的共同努力下,我们已经有了如此多成功的 MySQL 迁移。但是,我们很快发现,问题的一部分是我们不仅仅是在迁移一个数据库,我们是在迁移技术债务的一个组成部分。客户使用 MySQL 存储时间序列数据,这对于关系数据库来说没有太大意义。它已经长成了一个臃肿的庞然大物,为了移动它,几乎需要完全解构。我们不能再假设我们的客户一开始就在“正确地”做事。

迁移智慧的临别赠言

我从这些经历中了解到,在大多数情况下,任何试图通过规避完整的云原生迁移来节省时间、培训或投资的做法,都只是在为自己购买更多的未来技术债务。

当然,每个组织和工作负载都是不同的,但是如果迁移到云的目的是利用云的独特功能——可伸缩性、弹性、敏捷性、复原力——您将会发现自己很失望,除非您完全接受云原生设计原则并进行一些急需的重构。

你不需要在第一天就“推倒重来”,随着时间的推移,有一些渐进的方法可以帮助你打破你的巨石。变革通常需要在团队中发生,而不仅仅是在技术领域。通过仔细的规划,您可以重新训练您的人员,重构您的代码,并将二者迁移到云成熟的地方。

想要更多云迁移的好处?看看这些:


成为现实世界的专业云架构师需要什么?

我们的Google Certified Professional Cloud Architect课程旨在高效教授专业云架构师认证所需的技能,即使用 Google Cloud 技术设计、开发和管理动态解决方案,以推动业务目标。看看您是否具备通过当今最具挑战性和最受欢迎的云计算认证的条件。


痛苦的云词典:AWS 最棘手的五个云话题

原文:https://acloudguru.com/blog/engineering/the-cloud-dictionary-of-pain-five-of-awss-toughest-cloud-topics

大家早上好;上课了!请坐好,系好安全带。

今天,我们来谈谈术语。亚马逊、谷歌和微软已经建立了足够多的云产品,如果你需要做一些与你的业务相关的事情,很有可能你可以在云上完成。但是伴随着这一系列全面的产品而来的是另一个挑战,不仅仅是知道何时何地使用它们:它们被称为什么,它们最初是做什么的。

确保团队中的每个人都能“谈论云”或对云有基本的了解可能是公司面临的最大挑战之一。我们将帮助您和您的团队实现基准云流畅度。为了做到这一点,我们建立了一个云词典,收录了您将遇到的一些最具挑战性的主题。鉴于这里的困难,我们决定将它命名为疼痛的云字典*。*

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

获取痛苦全云词典
说云不一定要硬。在我们的云指南中,你会找到一些最痛苦的云概念的简明定义的完整列表。


我们分析了我们平台上数千个测验问题的 270 万份回复,以确定一些最具挑战性的云基础架构主题。我们寻找学习者成功率低于 60%的问题,并根据这些问题中的主题,概述了 20 多个具有挑战性的主题,学习者有时可能难以解开——至少在一些特定的场景中。

今天我们将讨论五个最具挑战性的话题:亚马逊 SQS、弹性负载平衡、AWS VPCs、AWS Lambda 和子网。这个列表是我们在所有三个主要云平台上攻击的几十个术语和主题的子集:AWS、Microsoft Azure 和 Google Cloud。你可以在痛苦的完整云词典中找到我们对亚马逊棘手话题的完整演练。

所有这些都解决了,让我们开始吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是 AWS VPCs?

可以将 VPC 想象为云中的虚拟数据中心。您的数据中心可能有可直接访问互联网的公共 web 服务器,以及一组只能通过直接连接或 VPN 访问的更专用的服务器。如果您正在处理特别敏感的客户信息(如受监管的信息),您可能会希望进一步隔离这些数据。

VPC 允许您提供 AWS 的一个隔离部分,您可以在您定义的位置启动资源。所以你可以把它想成一种处理你的私人信息的方式,而不会让这些机密信息接触到互联网。VPC 是放置您的数据库、应用程序服务器、后端报告流程的地方——任何您不希望直接暴露给任何有互联网连接的人的东西。

VPC 允许您设置 IP 范围、创建子网以及配置根表和网络网关。您可以创建一个连接到 web 的面向公众的子网,而您的后端系统是孤立的,根本没有连接到 internet。多层安全可以帮助您控制对每个子网的访问,这就是所谓的“深度防御”。每个 AWS 帐户都会为您提供一个现成的默认 VPC,但您可能会想要设置自己的帐户以提高安全性并进行自定义。

为什么很难?

你基本上是在试图保持一些信息的安全和远离互联网,同时将面向互联网的服务连接到网络上的这些信息。那就复杂了!请看这个流程图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好的,这是很多。

我们才刚刚开始。所有这些因素都是为了保护你的信息。但是有了这些箭头,你可以看到有很多地方会出问题。当你在配置一个定制的 VPC,但没有很多网络方面的专业知识时,整个过程会变得特别棘手;例如,在亚马逊 VPC (虚拟私有云)内部署无服务器的多区域、主动-主动后端。

仅举一个例子:VPC 之间没有可传递的对等关系。你可以让一个 VPC 人和另一个 VPC 人谈话,但是如果那个 VPC 人和第三个人谈话,第一个人就不能和第三个人谈话。如果 VPC A 能和 VPC B 说话,B 能和 C 说话,A 还是不能和 C 说话!越来越多的人开始质疑他们是否需要一个 VPC。毕竟,“零信任”网络和无服务器架构的兴起已经将更多的工作负载移出了专用网络,转而依赖良好的授权策略(如 AWS IAM)。

但现实是,任何试图将传统服务连接到云的人都可能需要实现 VPC(T1),毕竟这是唯一与旧数据中心(T3)中的私有网络(T2)对话的方式。

我们的学习者错过了 50.3%与 VPC 相关的难题。

给我来个硬的!

您的公司希望其附近分支机构的内部网络安全地连接到其总部的 amazon 虚拟专用云 VPC 环境中启动的实例。以下哪个建议的解决方案是正确的?

27%的学习者答对了这道题。下一个!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是 AWS LAMBDA?

AWS Lambda 允许您在一个称为“执行环境”的小型计算设备上运行代码,甚至比 EC2 实例更抽象。(这就是为什么基于 Lambda 的系统通常被称为“无服务器的”:那里的某个地方仍然有服务器,只是你不必知道或关心它们。)

您可以通过点击网站上的按钮或上传照片(或者云专家讲座)等事件来触发功能。例如,当你与 Alexa 交谈时,你的问题可能不是查询特定的关系数据库来检查响应。相反,它可能通过 AWS API 网关向 Lambda 函数传递请求。这些 Lambda 函数可以触发另一个 Lambda 函数。再一次,在非常经典的 AWS 时尚中,它是一路向下的 Lambdas。

明确地说,如果用户分布在多台服务器上,这种扩展不同于自动扩展。一百万用户访问你的网站可能会引发一百万个 Lambda 事件。1 个用户和 100 万个用户调用该动作之间的差异是成本的函数,而不是速度的函数。您只需在应用程序执行代码时支付费用。

为什么很难?

这是一个完全不同的范例!

Lambda 函数的运行时间限制很短,严重依赖事件驱动的编程,并且与一些遗留技术不兼容。然而许多人认为无服务器架构是应用程序的未来。出现这种情况有很多原因。但是从商业角度来看(特别是如果你有团队公司卡),主要原因是无服务器架构可以极大地节省成本。

Lambda 呼叫在 100 万次请求内是免费的,此后每 100 万次请求只需 20 美分。这还不包括您释放的所有系统管理员时间。从这个角度来看:通过在后端使用无服务器和 Lambda,我们在一个云专家这里为数百万用户提供服务的计算成本变成了一个舍入误差。如果你因为任何原因看到了将部分业务转移给 Lambda 的机会,你很有可能应该这么做。

我们的学习者 48%的时间错过了与 Lambda 和无服务器相关的难题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

弹性负载平衡

什么是弹性负载均衡?

这就像它听起来的那样:一个物理或虚拟设备,旨在帮助您平衡多台服务器之间的网络负载。您有多种方法来规划自动缩放,通常有三种选择:

  1. 应用程序负载平衡器可以看到应用程序内部及其发出的请求。应用程序负载平衡器非常适合于为您做出明智决策的扩展引擎。
  2. 当您需要关注性能时,网络负载平衡器工作得最好。这些负载平衡器在连接级别运行。
  3. 经典负载平衡器只是传统的弹性负载平衡器。如果你不在乎 AWS 如何路由你的流量,这是一个便宜的选择。(亚马逊很大程度上反对这些。)

为什么很难?

两个原因:

  • 您首先必须选择最佳的负载平衡器,然后您可以启用许多特定的功能来使这些负载平衡器更加高效。一如既往,会有权衡。挑战在于最大化您从云配置中获得的价值。应用程序负载平衡器最适合运行在第七层的 HTTP 和 HTTPS 流量。应用程序使用网络负载平衡器来平衡 TCP 流量,在连接层(第四层)工作。传统的平衡器可以为 HTTP/HTTPS 应用程序使用第七层特定的特性,但是它不是应用程序感知的。
  • 一旦您选择了一个负载平衡器,您就必须解决如何将您的流量路由到您的各种 EC2 实例。这些实例可能跨越 AWS 疼痛字典的多个可用性区域,并与不同的负载平衡器相关联。但是可以智能地路由流量,以优化每个 EC2 实例的性能。

以下是您必须解决的一些顶级配置:

  • STICKY SESSIONS: 您可能希望确保一个用户只绑定到一个 EC2 实例——比如他们正在将信息保存到磁盘。但是通过使用粘性会话,您也可能最终得到未使用的 EC2 实例。
  • 跨区域负载平衡:您可能希望自动平衡所有 EC2 实例的传入流量,而不管您当前使用的可用区域。如果使用跨区域负载平衡,您可能会因为将流量发送到不同的地理区域而牺牲一些性能。
  • 路径模式:你可以根据 URL 路径智能地路由你的流量,比如 myurl.com/images.,但这也可能无法解释特定页面的流量激增——比如说,一些名人在你的图片页面上发布了一张图片。

我们的学习者有 53%的时间错过了与负载平衡器相关的棘手问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是 AWS SQS?

SQS 是 AWS 历史最悠久的服务之一,于 2004 年首次宣布。它允许您在等待计算机处理消息时访问消息队列来存储消息。亚马逊 SQS 使你能够分离应用程序的组件,并让它们异步通信(按照它们自己的时间表)。每条消息都被发送到一个服务,比如 Lambda 函数或 EC2 实例

那些解耦的组件可以将它们的消息存储在一个等待计算的防故障队列中。例如,如果您因为某种原因失去了一个可用区域,这将非常有用。如果一个 EC2 实例出现故障,该消息在队列中变得可用,从而使其他 EC2 实例能够接替这个空闲时间。

为什么很难?

如果你构建在 SQS 之上,你就在定义上创建了一个分布式应用程序:一个通过解耦的部分跨网络工作的应用程序。这带来了全新的设计和操作层面的考虑。您可以选择是创建标准队列还是 FIFO(先进先出)队列。两者都有一些优点:标准队列确保您的消息至少传递一次,并尽最大努力按照接收的顺序排列它们。但这是最大的努力,你不应该假定秩序!FIFO 队列按照收到消息的确切顺序传递消息。

消息被传递并保持可用,直到消费者处理并删除它。在这种情况下,队列中不允许出现重复项。SQS 还实现了可见性超时——实质上是队列在对下一个用户可用之前等待一个用户的时间。例如,假设一条消息对一个 EC2 实例可用,但在某个目标时间内没有被执行。然后,另一个 EC2 实例可以获取并运行该消息。但这也意味着 SQS 可能不止一次传递你的信息。

我们的学习者 49%的时间错过了与 SQS 相关的难题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是 AWS 子网?

子网的简称,子网只是网络的一部分。创建 VPC 时,您将拥有一系列与特定可用性区域内的所有应用程序相关联的子网。我们将在特定的子网内配置资源,如 EC2 实例或 RDS 数据库,这些子网可以是公共的,也可以是私有的。公共子网有一个与互联网网关相关联的通往互联网的路由。公共子网也可以与其他公共子网通信。私有子网没有通往 internet 的路径,但是它们可以连接到 VPC 内的公共子网。

为什么很难?

一个子网不能跨越多个可用性区域。您可能会听到类似“一个子网等于一个可用区域”这样的话假设您决定在某个特定地区推出 VPC,在该地区,AWS 提供了一组可用区域。如果您希望保持某些信息的私密性,例如 RDS 数据库中的一组客户信息,您可以在一个可用性区域内启动一个私密子网。

但是,假设您想要在不同的可用性区域内启动一个子网(比如寻找一些冗余)。在这种情况下,该子网将无法与不同可用性区域中的专用子网通信。您的专用子网不会跨越多个可用性区域。因此,在确定如何处理灾难恢复时,这是一个重要的考虑因素。

我们的学习者有 49.1%的时间错过了与子网相关的难题。

我们希望在看完这些例子后,你会体会到云有多危险。它有自己的自定义词典,以配合其庞大的城市产品环境。

我们可以理解云有多复杂,并希望我们能提供一些指导。话说回来,我们没有写下规则。(嗯,问题是我们写的——对此我们真的很抱歉。)

你可以在痛苦的完整云词典中找到我们对亚马逊棘手话题的完整演练。你还可以在我们的 Azure 和谷歌云痛苦字典中找到它们的对等词——以及是什么让 Azure 和 GCP 变得如此独特曲折。您还会发现我们完整的方法。


希望提升您的云计算职业生涯?从云计算专家那里开始,看看实践如何帮助你掌握现代技术技能。

谷歌云最棘手的五个话题——痛苦的云词典

原文:https://acloudguru.com/blog/engineering/the-cloud-dictionary-of-pain-five-of-google-clouds-toughest-topics

你好!欢迎来到云 101。请坐好,检查一下你的安全带是否系好了。

谷歌云与 Azure 和 AWS 并列,是云计算的顶级平台之一。这是理所当然的——谷歌一开始就建立了许多现代互联网!它甚至在其基础设施中融入了自己的定制技术,如张量处理单元(或 TPU)。因此,虽然云之间可能存在差异,如 AWS 和 Azure,但 GCP 有许多独特的东西,可能会使它成为您工作的一个伟大选择。

但是,就像所有的云一样,有很多事情在进行,有很多服务可供选择。这些单独的服务都有特定的术语。有些很直观,有些可能有点混乱。但是除了知道它们是如何工作的,你首先必须知道它们叫什么。

在 ACG,我们希望教会世界如何使用云。这意味着首先要确保团队中的每个人都能“谈论云”——并了解在实施云工具时将面临的一些基本挑战。我们将帮助您和您的团队实现基准云流畅度。为了做到这一点,我们建立了一个云词典,收录了您将遇到的一些最具挑战性的主题。鉴于这里的困难,我们决定将它命名为疼痛的云字典*。*


获取痛苦的云词典

说云不一定很难。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南,获取一些最令人头疼的云术语的简明定义。


我们分析了我们平台上数千个测验问题的 270 万份回复,以确定一些最具挑战性的云基础架构主题。我们寻找学习者成功率低于 60%的问题,并根据这些问题中的主题,概述了十几个具有挑战性的主题,学习者有时可能难以解开——至少在一些特定的场景中。

今天,我们将讨论云身份和访问管理、Google Cloud Run 和云功能、实例组、快照以及 VPC 网络和子网。这个列表是我们在所有三个主要云平台上攻击的几十个术语和主题的子集:AWS、Microsoft Azure 和 Google Cloud。你可以在痛苦的完整云词典中找到我们对谷歌云棘手话题的完整演练。

所有这些都解决了,让我们开始吧!

什么是 IAM?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

身份和访问管理(IAM)是您云服务的第一道防线。基本上每个运行云操作的人都会把安全放在第一位——你也应该把它放在第一位。Google 通过 Cloud IAM 和 Cloud Identity 管理权限和身份以及访问管理。

Cloud IAM 是针对用户和服务的统一资源访问管理系统。身份可以有多种形式,比如谷歌账户、非托管账户、服务账户以及这些项目的集合——比如谷歌群组和 G-Suite 域名。

IAM 有三个关键要素。

策略:一组规则,控制谁可以使用特定的资源完成一项或多项任务。我们可以决定谁可以在哪些资源上做什么。

  • 角色:分配给身份或成员的权限集合。

  • 资源:编造,嗯,你的资源。它可以是您的项目、文件夹、云服务或这些服务的一部分,如实例或存储桶。

  • 谷歌将云身份称为一个漂亮的字母汤首字母缩写词,被称为“身份即服务”(或 IDaaS)。云身份始于带有独立管理门户的 G-Suite,但现在与 Google Cloud 集成。它的一个主要好处是它可以安全地允许组织外的人访问组织内的特定资源。它还支持单点登录(SSO)。

为什么我很硬?

大量的抽象!云身份为一个或多个谷歌云项目创建了谷歌所谓的“文件夹”。您可能为您的开发团队和现场团队准备了一个文件夹。您可以将策略应用到您的文件夹,其中这些文件夹中项目内的所有资源都从这些策略中继承权限。最重要的是,在管理安全性方面,IAM 可能很快成为您的一个失败点。

您的 IAM 策略的范围代表了可能会发生坏事的很大一部分。您可能错误地配置了授予第三方的资源权限,或者将策略设置得过于宽泛。或者你可能会完全丢失密码。设置具体、可靠的 IAM 策略是保护您的云操作免受违规和不良行为者影响的最佳方式之一。

一名云专家学员有 50.5%的时间错过了与身份和访问管理相关的棘手问题。

想学习或提升你的 IAM 技能吗?ACG 提供云课程和动手实验室,帮助你在谷歌云平台上深入探索身份和访问管理。


谷歌云功能 VS 云运行


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

App Engine 并不是谷歌唯一的无服务器产品。谷歌还有另外三个:云功能,云运行,和用于 Anthos 的云运行。云运行对事件驱动的代码进行操作。除了 App Engine,还得有什么东西来触发它们。你可以将云功能视为各种服务之间的粘合剂,无论它们是在谷歌云上还是在第三方上。它可以自动扩展,而且成本极低——谷歌会向你收取最接近 100 毫秒的执行时间费用。

你可以使用 Cloud Run 来运行容器化的应用,比如 Google Kubernetes 引擎中的那些应用。云运行还可以按需扩展,适合持续集成/持续交付。与 App Engine 不同,use 可以使用任何语言、库或二进制文件,甚至是完全自定义的东西。还有针对 Anthos 的 Cloud Run,它支持混合的多云应用程序。Anthos 的云运行在 Google Kubernetes 引擎上。您可以使用自定义域、集成日志记录和监控服务。

为什么很难?

Google Cloud 有很多无服务器服务!而且每一种都最适合不同的场景(包括我们之前回顾过的 App Engine)。让我们快速回顾一下:

APP ENGINE : HTTP 应用,比如现代 web 应用,托管前端、后端,或者两者都托管。

  • 云函数:事件驱动代码,像第三方 app 和 API 集成,比如 Twilio 和 Stripe。它还可以与物联网产品配合使用,进行实时处理、数据收集和处理。并且它集成了 Google Cloud 中的大量服务,使其能够很好地进行实时处理。

  • 云运行:基于容器的运营,包括成熟的技术栈。除了常规的强大网站之外,它对公司内部的应用程序也很有用。例如,您还可以使用它来创建由云调度程序任务每月创建的发票。

  • 针对 ANTHOS 的云运行:适用于企业级 CI/CD 管道,因此您可以持续构建新内容。它适合集成内部服务,在最接近客户的地方(或“在边缘”)执行您的应用程序。

  • 您的操作可能在一个、多个或一个都没有的情况下效果最佳。因此,在选择是否采用无服务器模式时,你必须确定最佳方案。

一个云专家学习者 48%的时间错过了与无服务器操作相关的难题。

想学习或提升您的云跑步技能吗?查看云专家的许多课程和动手实验,包括 Google 完全管理的无服务器平台【Cloud Run 的课程和实验。


什么是 GOOLE 实例组?


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一旦你开始建立几十个,或者几百个谷歌计算引擎实例,事情可能会变得有点失控。您可以通过将实例分组来规避这里的复杂性——您可以尝试一次对一堆实例进行更改。Google 提供了两种类型的实例化组。

UNMANAGED GROUPS :具有不同配置的实例集合,您可以使用这些实例对现有配置应用负载平衡。

  • 管理组:可以作为一个单元管理的相同实例的集合。如果您需要一次对它们全部进行更改,那么将它作为一个实例组来运行会更有意义。如果存在健康问题,托管实例组将自动重新创建该实例。

  • 为什么很难?

两者各有利弊。如果您想要管理组的好处,您必须确保所有的实例都是相同的。您可能会遇到许多运行多个相同实例的场景!当您想要处理实例的自动伸缩和健康检查时,这使它变得友好和方便。

但是您可能会经常遇到使用非托管实例组的情况。它们不是统一的,所以你不会得到管理组的一些特性。如果运行非托管实例组,则不会获得自动伸缩或更新支持。但是您仍然可以启用一些批处理过程,所以您仍然需要对它们进行分组。

一个云专家学习者在 46.5%的时间里错过了与实例组相关的棘手问题。

快照

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是谷歌快照?

一种主要的备份方法,在这种方法中,计算引擎拍摄实例或连接的磁盘的快照,从而创建该磁盘的备份。您可以在任何灾难恢复情况下拍摄该快照,并创建新的实例或磁盘。您可以在实例运行时创建一个 Google 快照。您可以在完全不同的区域中创建恢复的快照或实例,并且可以从引导磁盘或连接的磁盘创建快照。

为什么很难?

快照作为增量备份运行,可以为您节省大量资金。快照不会创建磁盘的新备份。相反,它是一个增量备份:第二个快照复制第一个快照的更改,第三个快照复制第二个快照的更改,依此类推。你通常想尽可能减少活动。

您可以在实例运行时创建快照,但您需要确保磁盘是一致的,并且在快照过程中不会发生太多变化。您可能想要暂停写入数据的操作或完全卸载磁盘。您还可能希望在没有数据更改日志或应用程序没有日志时安排快照。

一个云专家学习者有 50%的时间错过了与快照相关的棘手问题。

什么是谷歌 VPC 网络?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GCP VPC(据说速度快五倍)是一个虚拟化网络,为 GCP 资源提供 ipv4 连接,如基础设施即服务和谷歌 Kubernetes 引擎。它是所有其他网络功能的核心基础组件。VPC 创建虚拟化的全球网络实例,以消耗所有 GCP 位置的资源。这是一个在 Google Cloud 上实现的软件定义的私有网络——这意味着没有路由器、交换机、服务器,也不会被纠缠在一起的电缆绊倒。

这允许您快速定制和扩展您的服务,并且该网络内资源之间的所有通信都不会暴露给公共互联网。VPC 依靠谷歌全球网络进行连接,该网络被划分为 GCP 地区——或位于不同地理位置的数据中心。

谷歌还在 VPC 提供高级和标准网络层。GCP 还要求在特定区域(称为子网)分配 IP 范围。区域之间也可以通过允许这些网络之间通信的路由相互通话。谷歌云根据可用性区域分配所有这些基础设施。一个 Google 项目可以包含一个或多个 VPC 网络,在每个区域内创建配置。

在 VPC 中,您可以通过在一个区域内创建子网来消耗所有区域的资源。子网使用 Google 全球网络,在一个区域内构建子网。我们使用 VPC 将子网分配给一个、多个或所有区域。每个 IP 范围为我们在这些数据中心的基础设施提供 IP 连接。与其他云提供商不同,子网可以跨越一个区域内的多个可用性区域。

为什么很难?

虽然 VPC 存在于项目中,但是项目分隔了用户——而 VPC 分隔了系统。您可以使用共享的 VPC,它允许您将多个项目连接到一个 VPC 网络,使它们可以相互通信。

假设您在同一个项目中有多个 GCE 实例,但是跨越了许多 VPC。如果没有 VPC 网络对等,一个 VPC 中的资源无法与另一个 VPC 中的资源通信。但是,一个 VPC 内的资源可以通过多个区域内的专用网络进行通信。网络也有两层:高级和标准。

以下是一些不同之处:

PREMIUM-TIER DATA :通过谷歌的网络,用户的流量在最近的位置进入谷歌的网络,在全球边缘退出。这有时被称为“冷土豆”流量。

  • **标准层流量:**在您部署 GCP 资源的地区,通过对等网络、ISP 网络或中转网络通过谷歌的网络。这有时被称为“烫手山芋”流量。

  • 一名云专家学习者 42.2%的时间错过了与 GCP VPCs 相关的棘手问题。

我们希望在看完这些例子后,你会体会到云有多危险。它有自己的自定义词典,以配合其庞大的城市产品环境。

我们可以理解云有多复杂,并希望我们能提供一些指导。话说回来,我们没有写下规则。(嗯,问题是我们写的——对此我们真的很抱歉。)

你可以在痛苦的完整云词典中找到我们对谷歌棘手话题的完整浏览。你也可以在我们的 AWS 和 Azure 痛苦字典中找到它们的对等词——以及是什么让 AWS 和 Azure 变得独特曲折。您还会发现我们完整的方法。

You can find our full walkthrough to Google’s thorny topics in the full Cloud Dictionary of Pain. You can also find their equivalents—and what makes AWS and Azure uniquely tortuous—in our AWS and Azure Dictionary of Pain. You will also find our full methodology.

云专家挑战:AWS 机器学习

原文:https://acloudguru.com/blog/engineering/the-cloud-guru-challenge-aws-machine-learning

什么是#云谷挑战?在这里获得一些背景和更多信息

| 话题 | AWS 上的机器学习 |
| 创建者 | 凯莎威廉姆斯 |
| 目标 | 用 amazon pagemaker 建立一个网飞风格的推荐引擎 |
| 结果 | 获得真正的机器学习和 AWS 技能,同时动手操作真实世界的项目,以添加到您的投资组合中 |
| 截止日期 | 2020 年 12 月 31 日 |

挑战步骤

你有没有想过网飞是怎么给你推荐电影的?我一直对幕后使用的机器学习技术和算法很好奇,这些技术和算法帮助我浏览了网飞上的数千部电影。

在这个挑战中,你将通过使用亚马逊 SageMaker 构建一个网飞风格的推荐引擎来提升你的 AWS 机器学习课程技能。无论你是第一次接触机器学习还是机器学习大师,这个挑战的某些方面都会让你的技能更上一层楼。所以,我们走吧!

你需要访问一个 AWS 环境和亚马逊 SageMaker 。作为 AWS 免费层的一部分,你可以免费使用亚马逊 SageMaker。如果你以前从未使用过 Amazon SageMaker,你可以免费构建和训练你的模型。如果你不熟悉机器学习,看看凯莎的科尔纳的第一个视频来了解一下速度。我还建议在开始这个挑战之前,探索一下 matplotlibscikit-learnk -means 学习算法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1。确定用例并获取数据

确定你想推荐什么——是电影、课程、视频、商品还是其他。然后,找数据或者用自己的。有几个公共数据存储库,比如 AWS Marketplace 或 T2 的 UCI 机器学习存储库可能有你需要的数据。如果你想推荐电影,查看 IMDb 数据集下载你需要的文件。你可能会发现title.akas.tsv.gztitle.basics.tsv.gztitle.ratings.tsv.gz特别有用。

2.创建 Jupyter 托管笔记本

为了开始数据检查过程,您将在 Amazon SageMaker 上启动一个 Jupyter 托管的笔记本。你可以使用 Python 和各种数据科学库,如 NumPyPandas 的 DataFrame 来处理你的数据。

3.检查和可视化数据

获取数据的领域知识非常重要,这样您就可以轻松地检测到异常和异常值。有许多方法可以探索和了解您的数据。检查 Matplotlib

4.准备和转换数据

下一步是将数据转换成机器可以学习的格式。您可能需要将杂乱的数据文件合并成一个文件,删除空值,将字符串转换成数字,或者做一些功能工程

5.火车

现在您已经转换了数据,使用您选择的机器学习算法开始训练过程。该算法应该对你的数据进行聚类或分组,以便你能够提出建议。取决于你如何解决这个挑战,你可能会发现k-意味着集群是有用的。亚马逊 SageMaker 提供了一个k-means clustering算法或者你可以探索 scikit-learn版本

6.推荐

现在您已经确定了您的集群,请推荐产品。如果您推荐电影,这可能是 Python 代码,它分析集群以找到共性。一旦你理解了这些共性,你就能找到其他类似的电影来推荐。恭喜你走到这一步!

7 .。源代码控制

现在您已经完成了,将您的数据文件和 Jupyter 笔记本加载到 GitHub 以便我们检查您的推荐引擎。

8.清理资源

别忘了清理你的资源!至少,停止运行你的 Jupyter 笔记本,这样你就不会因为使用 Amazon SageMaker 而产生每小时的费用。

9.博客帖子

(非常重要)写一篇简短的博文,解释你的收获和应对挑战的方法。在 GitHub 上链接到您的项目,以便我们可以查看它。

当你完成的时候

你可以自己或与他人合作完成项目要求。欢迎在论坛或社交媒体上使用#CloudGuruChallenge 标签提问

当你完成项目的所有步骤后,在指定的论坛主题中发布你的博客文章的链接。然后,我将能够在 LinkedIn 上为你在这个项目中展示的技能背书:机器学习、AWS 和亚马逊 SageMaker。(您还将有机会赢得一些超酷的奖品!)

这项挑战将无限期开放,但要在 LinkedIn 上获得支持并赢得奖品,你需要在 2020 年 12 月 31 日之前在论坛上链接你的博客文章

最重要的是,#CloudGuruChallenge 是免费的,任何人都可以使用:你所需要的就是一个 ACG 免费会员来发表你的论坛帖子。

资源

准备好做一些谷歌搜索,但如果你是 ACG 会员,这里有一些资源可以帮助你更好地使用机器学习、AWS 和 SageMaker:

你不需要执行这些额外的步骤来在挑战中“宣布胜利”,但是它们帮助你的项目脱颖而出,并提供令人敬畏的额外学习。

  1. 对项目进行排序,以便向用户推荐最相关的项目
  2. 仅推荐用户尚未观看(或购买)的项目
  3. 将您的集群知识集成到前端应用程序中,以进行电影(或产品)推荐。

最终外卖

这个挑战将是一个探索机器学习的有趣方式!

我一直很好奇网飞是怎么给我推荐电影的。在给你创造这个挑战之前,我已经自己解决了!如果你是机器学习的新手,这会很有趣。如果你已经是一名机器学习专家,你将有机会使用亚马逊 SageMaker 探索云中的机器学习。我迫不及待地想在这个挑战结束时与你分享我的推荐引擎代码,并回顾你是如何解决这个问题的!

熬过这一关,你就能在下一次求职面试中拿出一个精彩的故事。祝你好运!

云十大:ACG 上搜索次数最多的云话题(2021 年 5 月)

原文:https://acloudguru.com/blog/engineering/the-cloud-top-ten-the-most-searched-cloud-topics-at-acg-may-2021

我们回顾了过去七个月来我们平台上的热门搜索,从八月份我们的 One Platform 发布到 2021 年 4 月。这种分析包括超过 100,000 个搜索,以确定哪些主题对我们的学习者最重要。

当我们在 3 月回顾我们的热门搜索主题时,我们看到 Python、Kubernetes 和 AWS 是搜索次数最多的主题。这个月也一样。虽然出现了一些新来者,但前五名基本保持不变——这恰恰表明了这些工具在云计算中的重要性。

但在这些顶级条款中,我们继续看到许多交易场所。Kubernetes 一直在争夺第一或第二名,而 AWS、Terraform 和 Python 则在争夺剩下的位置。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

得到痛苦的云词典
说云不一定要辛苦。在我们的云指南中,你会发现一些最令人头疼的云概念的简明定义列表。


事不宜迟,以下是截至 4 月底我们的十大热门搜索:

谷歌云在冷板凳上呆了几个月后,本月重新进入我们的前十名。谷歌 I/O 计划于今年 5 月 18 日启动,因此我们可能会看到其云平台的大量更新。

不知道你到底在找什么?那么,为什么不去寻找一切呢?

自动化一大堆东西—IT、一致的配置管理、部署,通常不会破坏东西。似乎很简单,一个旨在修复 PEBKAC 现象的工具是最受欢迎的。

不言自明!我们(仍然)希望。

Docker 继续位于前十名的后半部分,尽管这并不一定意味着它的重要性低于其他热门搜索的云工具。Docker 仍然始终是我们的学习者关注的顶级开发工具之一。

Azure 继续保持甚至更强劲的势头。

想象一下,试着管理 VPC 里的所有东西。现在他们中的两个。现在两千。不好玩,对吧?好吧,随着应用程序不可避免地扩展到数亿用户,你真的需要自动化大部分工作。赞 Terraform。

所有机器训练的首选语言之一。随着机器训练在云技术上获得独一无二的地位,我们希望看到这一点在顶部持续表现。特别是,云提供商正在优化培训硬件,如谷歌的 TPU。

这是不言自明的。我们希望!

没有容器的生活是什么?根本不是生活。或者说,不是一种无障碍的生活。随着数亿人争相购买 Playstation 5,如果你的电子商务应用程序背后没有指挥,祝你好运。

这不一定是对云计算中技能和专业知识需求的全面看法。虽然在一定程度上代表了生态系统,但我们的搜索也是感兴趣的瞬间的快照。如果有任何这方面的优秀例子,那就是 Jenkins——一个不到十年的自动化工具——今年早些时候首次进入前十名。

因此,当考虑在构建云技术专业知识时将时间投入何处时,请始终考虑多个数据点。然而,我们确实希望我们的数据点至少也能帮助你决定把精力放在哪里。(如果你想把时间花在休息和/或在 Stardew Valley 建造一个农场上,这也完全没问题!)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


希望提升您的云计算职业生涯?停止搜索,从今天开始学习。开始与云专家一起动手,掌握最受欢迎的技术技能。

以下是 2021 年人们在 ACG 搜索最多的内容

原文:https://acloudguru.com/blog/engineering/the-cloud-top-ten-the-most-searched-cloud-topics-at-acg

我们搜索的内容透露了很多关于我们的信息。那么 2021 年你搜索的是什么?等等。不是特指你。(那会有点令人毛骨悚然。)不,在本帖中,我们将涵盖过去一年中我们的学习者在 A Cloud Guru 平台上搜索最多的技术主题。

事不宜迟,下面是 2021 年 ACG 十大热门搜索话题——云。


通往更好职业的钥匙

从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

10.蔚蓝的

我们已经看到微软 Azure 在过去一年左右的时间里在我们的平台上获得了巨大的动力,但它在我们的榜单上排名第十。随着时间的推移,我们预计它会获得更多的关注——随着更多的公司(尤其是企业)选择从云开始,Azure 和其他公司转向云计算战略。

你可以通过每周视频系列 Azure This Week 来了解 Azure 的一切。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

9.DevOps

不知道你到底在找什么?那么,为什么不去寻找一切呢?

DevOps 技能需求量很大,人们希望更好地了解晋升或进入这些角色所需的技能和工具。有道理!

如果你想了解或提升你的 DevOps 游戏,请查看我们的 DevOps 学习路径


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

8.詹金斯

一个新人出现了!詹金斯在 2021 年初首次出现在我们的十大搜索中。Jenkins 为开发人员提供了自动化部分软件开发的方法,如构建、测试和部署。金克斯。自动化是不是很棒?

好奇想接触詹金斯吗?查看我们的通过参加课程学习詹金斯。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7.Linux 操作系统

Linux 运行着我们每天看到和使用的惊人数量的技术:公共和私人服务器、Roku、游戏控制台、NASA 太空机器人和大型强子对撞机。

想了解更多关于 Linux 的知识吗?我们掩护你!查看我们的 Linux 培训

刚刚开始?把你热爱 Linux 的眼睛放在我们的免费云培训课程的循环综述上,其中包括如何获得 Linux 工作Linux 操作系统基础


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6.自动警报系统

公共云之王不在我们的名单上,但它仍然是我们在各种内容类型中最受欢迎的话题之一,类似于哪个 AWS 认证适合我?AWS 认证解决方案架构师助理(SAA-C02) 这样的课程全年都很受欢迎。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

得到痛苦的云词典
说云不一定要辛苦。在我们的云指南中,你会发现一些最令人头疼的云概念的简明定义列表。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.码头工人

Docker 是这样一个中流砥柱,它在列表中排名如此之高并不令人惊讶。Docker 一直是我们的学习者关注的顶级开发工具之一。

想获得 Docker 的实践经验吗?停止搜索!我们为您提供了深入的边做边学课程。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.Ansible

自动化它。(一致!)配置管理。自动化部署。想象一下,自动完成以上所有工作并完全避免糟糕的配置。

全新的 Ansible?获取 Ansible 的介绍,或者查看通过做来学习 Ansible。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.库伯内特斯

没有容器的生活是什么?根本不是生活。或者说,不是一种无障碍的生活。随着数亿人争相购买 Playstation 5,如果你的电子商务应用程序背后没有指挥,祝你好运。

寻求了解 K8s 的更多信息?查看我们的 Kubernetes 小抄,获得学徒级别的深度潜入 Kubernetes ,或者在本月与 Kubernetes 一起跟上 K8s 混乱。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.计算机编程语言

所有机器训练的首选语言之一。随着机器训练在云技术上获得独一无二的地位,我们希望看到这一点在顶部持续表现。特别是,云提供商正在优化培训硬件,如谷歌的 TPU。

想学习一些新的 Python 知识吗?获取免费视频云编程语言:Python 的 premier,或者查看我们的Python 开发简介课程。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.将(行星)地球化(以适合人类居住)

想象一下,试着管理 VPC 里的所有东西。现在他们中的两个。现在 2000。不好玩,对吧?好吧,随着应用程序不可避免地扩展到数亿用户,你真的需要自动化大部分工作。赞 Terraform。

想了解更多关于 Terraform 的信息吗?查看我们的 HashiCorp 认证 Terraform 助理课程,或获取免费的终极 Terraform 命令备忘单


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

谷歌云平台在哪里?

值得注意的是,我们没有看到的是谷歌云(GCP) 一直位居搜索关键词榜首。

虽然谷歌云作为公司的另一种选择正在增长——特别是当他们转向云计算方法来构建基础设施时——但与 AWS 和 Azure 相比,它仍有一些增长空间。

但是如果你要找的是 GCP 的技术,我们还是会帮你的!本月在我们的GCP视频系列中了解谷歌云的所有事情,查看我们对的概述,哪些 GCP 认证最适合你,或者浏览我们的 GCP 培训目录。

搜索趋势

甚至在 2020 年,几个话题仍然保持着惊人的一致性。具体来说,Kubernetes 和 Terraform 这几年一直是 ACG 搜索量最高的词。但这并不完全令人惊讶。容器和基础设施管理是云计算的一些最重要和最基本的原则。

还有一些我们称之为赛马的项目,借用政治投票(或者体育博彩,如果你喜欢的话)的术语。

我们已经多次看到对 AWS 和 Python 交易场所的搜索,直到 2021 年 2 月,Python 是我们搜索最多的术语。机器学习生态系统的大部分都建立在 Python 之上,而 AWS 仍然是顶级的云基础设施。

从 2020 年末到今天,对 Terraform 的兴趣从高到高。但是对 Linux、Ansible 和 Docker 的兴趣也增加了。而 Azure 搜索量略有下降。

看看这张时髦的图表,看看 2020 年 8 月至 2021 年 5 月之间的一些历史背景。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这一切意味着什么?

这不一定是对云计算中技能和专业知识需求的全面看法。

虽然在一定程度上代表了生态系统,但我们的搜索也是感兴趣的瞬间的快照。如果有任何优秀的例子,那就是 Jenkins——一个不到十年的自动化工具——在 2021 年 2 月首次进入前十名。

因此,当考虑在构建云技术专业知识时将时间投入何处时,请始终考虑多个数据点。

然而,我们确实希望这个数据点至少也能帮助你决定在新的一年开始的时候,你应该把精力放在哪里。

无论你用这些信息做什么,当我们开始新的一年时,记得花时间照顾好自己。对你来说,也许意味着提升你的云计算智商,让开始你的云计算生涯。但是这也可能意味着去散步——或者去 Stardew Valley 的一个农场。无论你在 2022 年做什么,继续保持牛逼,云大师们!

对这个列表有什么想法?你眼中有什么惊喜或不安吗?在 TwitterDiscord 上加入对话。


希望提升您的云计算职业生涯?停止搜索,开始学习!开始与云专家一起动手,掌握最受欢迎的技术技能。

Cron 守护进程

原文:https://acloudguru.com/blog/engineering/the-cron-daemon

使用 Cron 在 Linux 上调度周期性任务

Cron 是一个守护进程,用于调度你能想到的任何类型的任务。发送有关系统或程序统计数据的电子邮件、定期进行系统维护、制作备份或执行任何您能想到的任务都很有用。其他操作系统上也有类似的程序。在 Mac OS X 上,cron 已经被另一个名为 launchd 的守护进程所取代。在 Windows 上,你有一个恰如其分的名字“任务调度程序”。如果你渴望 Linux 的 GUI,基于 Gnome 的系统如 Ubuntu,包括 Gnome Schedule,它是 cron 的一个很好的前端。

Cron 守护进程,Crond

cron 守护进程使用 crontab 文件来指定运行什么任务以及何时运行。这些文本文件指定在特定时间间隔运行的命令。每个用户都可以拥有自己的 crontab 文件。还有系统范围的 crontab 文件,用于用户之间的协作或共享。cron 守护进程将检查存储在 var/spool/cron 中的用户 crontab 文件,以及存储在*/etc/crontab*&/etc/cron . d中的系统范围的 crontab 文件,它每分钟都会唤醒来执行此操作。

Crontab

Crontab 是用于列出 cron 守护进程使用的表的命令。我们也将用于加载 cron 守护进程的文件称为 crontab 文件。当我们使用crontab–e命令时,我们正在编辑 /var/spool 中的 crontab。这里的文件是不同的格式,不应该直接编辑。编辑 crontab 文件也称为创建 Cron 作业让我们从编辑我们自己的用户 Crontab 文件开始:klack@:~$ crontab -e

第一次尝试编辑 crontab 文件时,我们会被要求选择一个编辑器。Nano 被认为是最简单的编辑器。继续,通过输入 2 选择 nano。Crontab 现在将创建 crontab 文件的临时副本,并在 nano 中打开它进行编辑。nano 启动时,重复按 Ctrl-V 向下滚动到文件底部。您现在应该在新的一行上准备输入我们的第一个 cron 命令。

no crontab for klack - using an empty one< Select an editor.  To change later, run 'select-editor'.1\. /bin/ed<2\. /bin/nano        <---- easiest4\. /usr/bin/vim.tinyChoose 1-4 [2]: 2

Crontab Format

crontab 文件中的每一行都可以是一个变量定义或 cron 命令。不要忘记按回车键,用换行符结束最后一个命令。你也可以用%结束最后一句话。这是导致命令失败的最常见错误,在这种情况下,不会显示错误。Cron 命令有一个独特的模式,允许您指定自定义的重复时间。有五个字段用于指定运行的时间和命令。

Crontab Examples

(Minute 0-59) (Hour 0-23) (Day of Month 1-31) (Month 1-12) (Day of week 0-7) (Command)

这里有几个在不同时间间隔运行备份脚本的示例:0 5 1 * * ~/backup-home.sh我们在这里指定的是在每月的第一个^日早上 5:00 运行 backup-home.sh 脚本。*表示通配符。在本例中,任务在一周中的所有月份和任何一天运行。0 5 1,15 * * ~/backup-home.sh在这个修改后的示例中,我们在月份字段中使用了一个逗号来表示我们希望这个任务在每月的 1 号^(1 号)和 15 号^(12 号)运行。0 5 1 12/3 * ~/backup-home.sh在本例中,12/3 代表一个步长值。这意味着该命令将在每个季度的 1 号^(1 号)早上 5 点运行。* 17-20 * * * ~/backup-home.sh在这里,该备份脚本将在每天的 17、18、19 和 20 小时运行。* * * * * ~/backup-home.sh这个例子将每分钟运行一次。如果你认为你必须使用这个,请小心!*/2 * * * * ~/backup-home.sh结合这里的一些想法,这个命令包含一个步长值,每两分钟运行一次。这里我们使用了一个特殊的时间含义@reboot 将在每次重启后运行一次。您还可以使用其他特殊的时间关键字。以下是完整列表:

当你输入完预定的命令后,按下 Ctrl-Wenter ,将文件保存在 nano 中。然后按下 Ctrl-X 退出。Crontab 现在将检查文件中的错误。如果没有发现错误,那么 cron 守护进程使用的表将被更新,更改将立即生效。

@reboot     :    Run once after reboot.@yearly     :    Run once a year@annually   :    Run once a year@monthly    :    Run once a month@weekly     :    Run once a week@daily      :    Run once a day@hourly     :    Run once an hour

每小时一次,每天一次,每周一次,每月一次

为了方便使用 cron 作业,只需在/etc/中的这些目录中创建一个文件,任务将根据它所在的文件夹运行。然而,这样做让你对时间的控制更少(一周中的什么时候?肯定是某个时候)。

克朗。允许和 cron。否认

这些文件可能位于/etc 中,它们控制谁可以使用 crontab 命令。如果 cron.allow 存在,那么只有其中列出的用户(每行一个用户)可以运行 crontab。如果 cron.allow 不存在,则任何用户都可以拥有 crontab 文件,cron.deny 中列出的用户除外。如果这两个文件都不存在,则需要超级用户权限才能拥有用户 crontab 文件。

系统范围的 Crontab 文件

在较大的用户环境中,编辑/etc/crontab 或/etc/cron.d/中的文件可能更有好处。这些文件也由 cron 守护进程加载。在较大的用户环境中,协作用户可能希望在一个中心位置存储和查看所有 crontab 文件。/etc/crontab 是一个单独的文件,它包含一个额外的字段,即用户字段。这个系统 crontab 条目将以 root 用户身份运行。可以在/etc/cron.d/目录中创建任何名称的文件。许多软件包使用这个目录,因为它提供了更好的组织。

把一切都包起来

到目前为止,您应该能够通过脚本和 cron 守护进程(也称为 cron 作业)的组合来运行您能想到的任何任务。欢迎在下面的评论中留下任何问题。Linux Academy 成员可以在此观看讲师指导视频

By now you should be able to run any task you can think of with the combination of scripts and the cron daemon (also called cron jobs).  Feel free to leave any questions in the comments below.  Linux Academy members can view instructor led video here.

云迁移基础知识:数据、安全性、成本和培训

原文:https://acloudguru.com/blog/business/the-fundamentals-of-cloud-migration

在您开始云迁移之旅时?专注于建立五个基础——培训、连接、安全、监控和成本管理——可以帮助您克服减缓和破坏变革的障碍。

在我多年的 IT 咨询和服务工作中,以及最近在 AWS 的工作中,我看到了一个阻碍变革的共同惯性——FUD。恐惧,不确定,怀疑。

FUD 是人类的谬误;一个无法在这样的论文中解决的问题。但我会提供一些可能有助于减少惰性的知识,这样你就可以花更少的精力去证明为什么不能改变,而花更多的精力去建设——从而改变。

在这个博客的上下文中,改变指的是迁移到云。为什么我会交替使用“迁移到云”和“改变”这两个词?因为,就像一个强制函数,迁移到云会给你的组织带来一些属性的改变。必须的。

如果我听起来固执己见,那么我就是。这种观点源于看到太多的组织抵制这种变化,并且悲惨地未能获得云的好处。

还有,不要太纠结于“迁移”这个词。这不一定意味着完全依赖您钟爱的内部 It 基础架构。您可以放弃多少依赖取决于您迁移到云的动机是什么。

对于读者来说,在进入改变的步骤之前,有一个澄清:没有“容易”的按钮来迁移到云;任何云。您将生产工作负载迁移到云并不是因为这很容易做到,而是因为这是正确的做法

动机

如果你刚从漫长的低温睡眠中醒来,我来告诉你:在云上经营企业已经超越了“概念验证”阶段。每一个可以想象的垂直领域都有数以千计的组织在云上运营业务。

对于一些人来说,这可能仍然不足以成为迁移到云的理由。对于其他人来说,他们真的不知道如何在云上运营,或者如何组织自己以从这种变化中获得最佳收益。无论你的情况如何,我建议进行尽职调查,以确定你在云上的商业动机是什么。做这个练习不应该花费你很多钱。

这种尽职调查,如果做得正确,将形成强大的基本面,将向前支付。在许多情况下,这些动机应该直接来自你的组织目标或商业战略。

我不认为有一个绝对的框架或问卷来帮助确定你的动机。然而,有一条你需要遵守的规则——不要确定一项技术是否符合你的动机。你的动机应该是技术不可知论者,只关注你希望你的企业实现什么。不是如何。

问这样的问题:“我们是否希望在更短的时间内接触到更多的客户”,“我们是否希望更快地为我们的服务或产品添加功能”,“我们是否希望降低运营成本”,“我们是否希望提高运营的弹性”,等等。根据业务单位或地理位置,或者您的组织可能会被内部分割,您很可能会根据每个分割的重要性得到不同的响应。

在你领导的最高层,这些答案将需要叠加,以产生与组织的业务目标一致的最终动机排名。如果您还没有猜到,那么与您的业务和 it 领导保持一致是至关重要的。在这个阶段,我怎么强调团结全村的重要性都不为过。它可以帮助你避免一系列的问题,比如“大停滞”,“零钱袋”,最重要的是,沮丧的灵魂。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果你在尽职调查中没有偏见,但仍然没有发现任何动机,那么退出()。求你了。不要让自己陷入“嘿,让我们去云吧,因为其他人都是云”的困境。

试运行您的云迁移基础

你会发现下面的技术细节是在 AWS 上索引的,我所熟悉的技术。其他云提供商可能也有自己的同等服务。

需要明确的是,这并不是云是否能为您的企业服务的试点。如果你过了激励阶段,它会的。我称之为试点,部分原因是我不知道更好的措辞,部分原因是我建议不要进行全面的项目,除非你已经建立了某些基础:培训、连接、安全、监控和成本管理。不管你的动机如何,这些基本原则都是有效的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

云流畅度培训

**训练:**还记得 FUD 吗?许多组织面临 FUD 逆风,因为他们没有花时间培训员工和领导者。可以说,这个基本原则是最重要的,也是经常被忽视的。我写了另一篇关于如何为每个人建立云流畅度的文章。事实是,云计算改变了你的构建方式。这是因为像 AWS 这样的云提供商在建立弹性、冗余、弹性、安全性和全球影响力方面投入了如此多的资本,以至于这些已经成为桌面上的赌注。因此,基于 AWS 构建的客户期望这些原语是默认的,并且不再束缚创新。

如果你认为云只是托管在其他地方的服务器,那么你需要在这个基础上努力。ACG、Linux 学院和您的云提供商(例如, AWS 培训)将提供培训课程和认证。有意识地建立一个培训计划,购买培训时间,给通过认证考试的员工报销费用——不要吝啬。

云数据迁移

**连接:**你需要连接到云端。您将在内部 IT 基础架构和云之间使用的连接类型会随着时间的推移而变化。与云的连接通常取决于以下因素:1)您将在云上运行的工作负载(即应用程序和数据)的类型,2)您需要的最小数据传输率/吞吐量(也取决于工作负载或使用情形),3)用户或客户的地理分布,4)现有的网络协议、网络设备及其部署,以及 5)数据传输位置的容差(即通过互联网还是仅通过云提供商的管道)。

培训您的网络工程团队连接到云是您应该尽早进行的投资。你会有的员工会得出结论,拥抱云=他们的出路。尽早培训他们有助于消除他们的恐惧,让他们认识到云是一种机遇,而不是威胁。

此外,可编程网络的概念、网络控制平面和数据平面的分离在云上得到了进一步发展。请记住,网络是基础结构,如果处理得当,它可以协调您的内部 IT 与云资源的存在。投资建设和运营网络的人员非常重要。

云迁移安全性

安全:如果你在经营一家企业,你需要认真对待安全问题。当您查看云安全基础知识时,可以通过操作、预防、检测响应的镜头轻松查看。云的好处是您不需要担心云的安全性,即物理安全性、基础架构安全性、主机操作系统和虚拟化。AWS 分享了他们所谓的共享责任模型,在该模型中,客户负责“云中”的安全。客户在云中的安全责任根据他们选择使用的 AWS 服务而有所不同。

云给了我们大量的创新和功能,但是在实施过程中经常被遗忘的一件事是云安全基础培训。参加我们的课程,该课程旨在向您介绍许多云概念,以及如何通过使用可用的工具来保护这些概念。

此外,云提供商都有一个访问管理工具。比如客户用来设置权限的 AWS 身份和访问管理(IAM) 服务。通常,您已经有了一个本地身份存储(如 Microsoft Active Directory ),您希望通过身份联合扩展该存储以供云使用。所有云提供商都已经建立了连接(或“信任”)您的内部身份存储到您的云资源的设计模式。这些将形成操作和预防的基本要素。

请注意,帐户的概念在云世界中非常普遍。在 AWS 中,帐户是一个信封,一切都在其中发生。AWS 开发了一套最佳实践(推荐)护栏,供客户在出售账户时使用。这些最佳实践被打包在一个名为 AWS 控制塔的服务中。控制塔让你出售帐户,同时符合这些护栏,因为你选择。

这是一个好主意,审查这些护栏,并建立您的帐户销售工作流程的权利,从一开始就去。从最低权限开始,随着增长按需添加。这些护栏构成了预防和检测的基础。这时,也回顾一下 AWS 组织。顾名思义,该服务允许您组织多个组织单位,在组织单位级别应用策略,将帐户作为成员附加到 Amazon GuardDuty 以进行持续监控,并创建关注点分离(开发关注点、测试关注点、安全/洁净室关注点等)。)

您还需要能够响应安全事件。安全不是你在飞行时建造的飞机。您需要使用 runbooks、IAM 和 AWS Security Hub 预先构建在安全环境中执行取证的能力。

最后一件事,无论你在这个基本支柱内做什么,请自动化。当谈到安全时,人类可能有最好的意图,但人类没有机制。自动化有机制。自动化可以支持规模化。自动化可以信任但要验证。当您编码时,安全性(以及扩展的遵从性)是最好的。安全设计(SbD)是您的好朋友。AWS 对 SbD 有一个定义的姿态。遵循 SbD,1)您定义“安全”对您来说是什么样子,2)您使用 Infra-as-code(如 Cloudformation 或 Terraform)来编纂这些标准,3)您通过仅允许使用精选服务(通过使用类似 AWS 服务目录的东西)来部署这些代码,从而强化您的基础设施、帐户和系统,以及 4)持续监控您部署的环境相对于您的安全基准的偏差(如使用 AWS 配置)。

祝你手动操作好运。

云监控

**监控:**监控会影响你抢先解决问题的速度(奇特的行话:MTTR——平均解决时间)。在您过渡到 DevOps(简单地说,在构建者和支持者之间的公平所有权)之前,您可能会有一个单独的 NOC 和 SOC 团队。传统上,这些团队坐在开发团队之外烟雾缭绕的密室中,只有在半夜出现问题或者地板上有披萨时,才会相互“交谈”。如果你不改变这种方法,你会阻碍创新,过一段时间就会停止扩展。但最终那是你的特权。然而,如果您使用我前面提到的变更的强制功能开始向 DevOps 过渡,那么监控应该和开发一样有趣。

监控覆盖了一些云区域。监控与您可能在云中使用的许多服务集成在一起(对于 Amazon CloudWatch,它集成了近 99 个服务)。在开发基础设施的过程中,你应该考虑基础设施、安全和成本管理监控。首次设置基础设施监控时,您可以选择默认的云提供商指标。在撰写本文时,AWS 内有大约 296 个默认的 CloudWatch 指标,涵盖弹性负载平衡器、EC2、弹性块存储、S3 和更多服务。在云迁移的早期,这些指标应该足以让您起步。我在上面提到了安全监控。至于 CloudWatch 中的成本管理监控,您可以按服务查看估计费用,但仅此还不够。接下来我将详述成本监控。

请注意,使用 CloudWatch,您将能够实现跨帐户、跨区域的监控,这使您能够创建单一监控平台,而无需切换帐户(AWS 中的区域是他们在世界各地群集数据中心的物理位置。区域有助于创建蜂窝基础设施,并具有内置冗余来克服故障。地域是一个自己的话题,也许是为了后面的。CloudWatch 还让您能够使用规则基于警报自动响应事件。这种能力可以显著降低您在生产环境中的操作复杂性。

云迁移成本管理

成本管理: 监控和控制云资源的成本必须是您迁移到云时要做的前两三件事。因此,通过使采购对每个人都平等,构建云环境变得很容易——点击在线协议。本节不涉及您可能与云提供商签订的企业协议以及您可能从该协议中获得的好处,但要知道每个提供商都有一个企业协议。

我将把重点放在你需要做的成本管理上,不管你达成了什么样的协议。成本管理可以从成本控制、成本分析和报告的角度来看。如果你在 AWS 上,注册使用 AWS 组织。这是一项免费服务,不仅能为您提供上述多账户安全和治理的诸多好处,还能让您注册合并计费。

从成本控制的角度来看,使用 AWS 预算。预算允许您按帐户(或大约 28 项服务)设置成本预算,以便在每月计费周期内费用达到设定的阈值时通知您。您还可以根据设置的使用类型来设置使用预算——在 EC2、S3 和 DynamoDB 中大约有 24 种。创建成本或用量预算时,您可以设置活动(称为预算活动),以便在超出预算阈值时采取自动措施。尽管此时您可以采取的措施有限,但它允许您将服务控制策略(scp)附加到特定的 ou 或帐户,例如,通过拒绝将新对象放入 S3 存储桶的权限,这是一种阻止成本流失的强大方法。

使用 AWS 成本浏览器(CE)从成本分析角度分析成本和使用情况。CE 可以让您了解预订情况(例如基于 EC2、RDS、Redshift、Elasticsearch 等计算资源)和合理调整建议。它还使您能够查看已购买预订的使用情况,以及您的购买预订覆盖了您的实际合格使用量。建议是前瞻性的,而利用率和覆盖率是事后的。AWS 中的成本分配标签(CAT)是我推荐使用的一个附加特性,实际上通过使用 infra-as-code 实现了自动化。cat 只是一个键值对,由您定义,被视为 AWS 资源的元数据。这些标签通过发出的使用情况进行传播,并最终出现在您的成本和使用情况分析(成本浏览器、预算、成本和使用情况报告)中,以便您能够以易于理解的方式查看和分析成本和使用情况。如果你喜欢的话,CATs 也大大降低了退款的复杂性。您还应该关注使用反应性标记治理,来标记那些不知何故错过了初始主动标记的资源。AWS 配置、标签编辑器和资源标签 API 可用于反应式标签。

最后,AWS 成本和使用情况报告(CUR)让您能够以最全面的形式查看使用情况和数据。帮我一个忙,请不要试图在月底使用 CUR csv 请与 Amazon Athena 集成,以便能够查询数据。

还有其他资源可以帮助您进行间接成本管理,如 AWS 可信顾问,它可以提供关于成本优化机会的报告。还有各种其他方法来阻止 AWS 资源的浪费并防止您过度配置,但这些方法主要与特定工作负载相关,可能不是基本的试点特定项目:预订和节省计划是获得特定类型服务的按需费率更大折扣的好方法。EC2 Spot 实例经常被忽略,但是如果您能够容忍错误,那么 Spot 实例可以为您节省高达 90%的按需费率。如果你相信科学中的艺术性,那么看看 AWS 成本异常检测,它通过你创建的情境化监视器使用 ML 检测异常,并警告你不要受到标签电击。S3 分析并可以使用生命周期策略将不常用的对象移动到较冷的存储中,从而降低内容的拥有成本。

结论

如果迁移到云看起来工作量太大,那么如果你做得对,确实如此。此外,在您的迁移之路上,您将到达里程碑,这些里程碑将为您的学习带来独特的挑战和机遇。这篇博客关注第一个里程碑——开始。随着您达到进一步的里程碑,将需要做出新的技术和业务决策。

运营工作的未来

原文:https://acloudguru.com/blog/engineering/the-future-of-ops-jobs

基础设施、运营、开发运营、系统工程、系统管理、基础设施运营、SRE、平台工程。只要我一直在做计算机,这些术语实际上就是同义词。如果我想告诉别人我的工作是什么,我可以抛出任何一个,并期望得到理解。

每个科技公司都有一个软件工程团队来构建软件,还有一个运营团队来构建运行软件的基础设施。在过去十年的某个时候,他们可能会将这个运营团队更名为“devops”或“SRE ”,但不管名字是什么,那都是我的团队,那些都是我的人。

但是,除非你是一家基础设施公司,否则基础设施不是你的使命。这意味着,您在基础设施工作上投入的每一秒钟,以及您在基础设施问题上投入的每一名工程师,都是对您核心目标的干扰。

更重要的是,这是一种越积越多的干扰。你在基础设施上花费的时间和精力越多,你的注意力就越分散,你就越剥夺了你应该投入到你的企业所要解决的问题上的时间和精力。

这并不新鲜。基础架构和运营总是分散您对核心业务问题的注意力。过去的情况是,每家公司都必须在硬件、数据中心、网络、操作系统、配置管理等技术堆栈上发展内部专业知识,直到解决其核心业务问题。基础设施和运营一直是令人分心的事情,但直到最近,它们还是必要的。达到目的的手段。

那么,有什么变化呢?如今,你越来越有选择的余地。当然,你可以构建所有的内部专业知识,但是每天都有越来越多的专业知识通过 API 被端上来。

这是否意味着运营不再重要,不再必要?远非如此。操作和可操作性比以往任何时候都重要。让我们来看看运营专业在高层次上发生了什么,我们面临的新挑战,以及这些将对我们的职业生涯产生的影响。

除了向云服务的更广泛的转变之外,以下是我们即将面临的一些重大转变。

从整体服务到微服务

关于微服务架构的运营需求已经写了很多。既然调用其他函数的函数涉及到一个网络跳跃,那么操作问题就是调试最琐碎问题时不可避免的一部分。微服务将游戏从“构建代码”变为“构建系统”,这将越来越多的代码编写推向了运营领域。

从监控到可观察

Prometheus 和 DataDog 等基于指标的工具是基础设施监控工具,而且是非常好的工具。当您负责基础架构时,您关心的问题是总量和趋势、阈值和容量。监控工具是这项工作的合适工具,因为这是了解您的基础架构是否健康,以及采取什么措施使其健康或保持健康的方式。 另一方面,可观察性工具*是为那些每天编写代码并将代码发送给用户,并试图检查和理解用户、产品和代码之间关系的人准备的。可观察性工具保留了请求的完整上下文。这让你可以切片、切块、梳理出新的相关性,以及按时间以瀑布形式查看事件(“跟踪”)。可观察性是你如何连接软件和实际业务影响之间的点,以及你的工程师的经验和你的用户的经验之间的点。 *】注意:许多监控工具试图将自己重新包装为可观察性工具,而没有首先构建必要的功能。 要说区别,请看这里的

从神奇的自动仪器到有目的的仪器

插装只是注释和记录代码的另一种形式。有一些工具承诺会自动为你做这件事,但是它们并不擅长捕捉意图…自动仪器可以告诉你大量的辅助细节,但它们不会让你推测建造它的工程师想要的商业价值。所以振作起来,编写你的代码。

Ops 已经死了。行动万岁。

运营团队正在步渡渡鸟的后尘,然而可操作性、弹性和可靠性从未像现在这样重要。运营工程师的角色变化很快,而且随着基础设施问题的出现,这一角色也出现了分化。在未来,以前自称为“运营工程师”(或 devops 工程师)的人将在两种角色之间进行选择,一种是强调 构建基础设施软件即服务 的角色,另一种是利用他们的基础设施专业知识帮助工程师团队更有效和高效地交付软件的角色……通常是构建尽可能少的基础设施。

如果你真心为解决基础设施问题而努力,那么你很幸运!—这种情况比以往任何时候都多。去加入一家基础设施公司。尝试众多公司中的一家——AWS、Azure,以及所有众多的开发工具公司——它们的使命包括构建基础设施软件,成为世界上最好的基础设施,并向其他公司出售专业知识。有些软件工程师喜欢构建基础架构解决方案即服务,甚至有些专家运营角色负责大规模运行和操作基础架构,或者大规模管理这些数据服务。无论你是不是开发人员,单独工作还是在团队中工作, Azure DevOps 培训可以帮助你组织你计划、创建和交付软件的方式。

否则,接受这样一个事实:你的工作包括 构建系统,使工程师团队能够发布创造核心商业价值的软件 ,这意味着尽可能少的基础设施。还剩下什么?

厂商工程

有效地外包基础设施的组件,并将它们编织成一个无缝的整体,需要大量的架构技能和领域专业知识。这种技能既稀有又被低估,尤其是考虑到对它的需求是如此普遍。想想吧。如果你在一家大公司工作,与其他内部团队打交道应该感觉像与供应商打交道。如果你在一家小公司工作,和其他供应商打交道应该就像和其他团队打交道一样。

任何想要在 SRE 领导岗位上有一个长久而充满活力的职业生涯的人,最好在以下领域投入一些精力:

  • 学会有效地评估供应商及其产品。问一些尖锐的、试探性的问题来衡量兼容性和适合性。确定哪些领域的摩擦你可以忍受,哪些是交易的破坏者。
  • 学会计算和量化你和你的团队的时间和劳动成本。为了专注于你的核心业务,尽可能无情地裁员。
  • 学会管理真实的拥有成本,并在内部倡导和教育正确的解决方案,尤其是通过管理高管和财务人员。
产品工程

基础设施的一大悲剧是,我们大多数人如何彻底地逃避了过去 20 多年来在管理产品和学习如何与设计师合作方面的教训。难怪大多数基础设施工具需要无休止的艰苦培训和认证。它们不像现代产品那样适合人类。

  • 我推荐一个速成班。将自己嵌入 B2B 或 B2C 功能交付团队一段时间。学习他们的节奏,学习他们的语言,吸收他们的一些本能。您将需要它们来平衡和融合您对架构正确性、扩展模式和救火的本能。
  • 你不必成为运输功能方面的专家。但是你应该像一个好的产品经理那样学习建立关系的要素。而且你必须对产品生命周期有足够的了解,这样你才能帮助调试和转移那些路线图毫无希望地纠缠在一起和路线图逐渐停止的团队。
社会技术系统工程

set 德沃普斯技能组合不可或缺的核心越来越多地围绕着打造和管理高效、有效的社会技术反馈循环,使工程师们能够自信地快速发布代码。你的工作不是说“不”或设置障碍,而是想办法帮助他们达到“是”。

  • 从拥抱释放开始。向部署渠道倾斜。最安全的 diff 是最小的 diff,你应该自动强制发货。优化测试、CI/CD 等,以便在合并到 main 时自动进行部署,以便一次只部署一个合并集,没有人工关卡,并且在开发人员提交代码的几分钟内一切都自动投入使用。这是你的圣杯,而大多数团队离它还很远。
  • 设计和优化随叫随到的轮换,公平、可持续地平衡工作负载,不会让员工精疲力竭。向管理层施加适当的压力,让他们在可靠性和修复方面投入足够的时间,而不是仅仅发布新功能。建立反馈回路,这样那些被提醒的人就有能力和动力去解决困扰他们的问题。理想情况下,你应该每次都呼叫做出改变的人。
  • 培养一种所有权和责任感的文化,同时在整个组织中宣扬无过失。欢迎工程师参与生产,并帮助他们愉快而成功地驾驭生产领域。
管理技术投资组合。
  • 可操作性是最长期的投资/技术债务的主要来源,因此没有人比运营工程师更适合帮助评估和分摊这些风险。与运行代码和多年来维护代码所需的巨大资源相比,编写代码实际上是免费的。
  • 迁徙中获得优异成绩。不要留下拖尾的、陈旧的遗留系统来支持——这对团队来说是一种可怕的消耗。将这种能量流失暴露给决策者,而不是让它静静地溃烂。
  • 不要写任何不必要的代码。或者添加任何不必要的工具。你的台词是,“这个工具的维护计划是什么?”
  • 教育和影响。游说将可操作性放在首位。对工作阶梯和平衡文档感兴趣。任何人都不应该被提升到高级工程级别,除非他们编写并支持可操作的服务。

这个世界正在快速变化,而且这些变化还在加速。现在行动是每个人的工作。很多工程师根本不知道这意味着什么,吸收了挥之不去的恐怖文物。我们的工作是消除行动人员灌输的恐惧。我们必须找到奖励好奇心的方法,而不是惩罚它。

现在是发展云技能和提升职业水平的最佳时机。

Charity Majors 是蜂巢的首席技术官,也是脸书的前产品工程经理。

布拉泽尔:升降镜头时钟

原文:https://acloudguru.com/blog/engineering/the-lift-and-shift-shot-clock-cloud-migration

时钟滴答作响。每个人都能听到。

我和一家生活在恐惧中的公司一起工作。担心他们的私人数据中心遭到破坏,不是因为黑客,而是因为天气。每当下雨时,服务器机架之间就会形成一滩滩的水。传说中甚至讲述了 7 月 4 日剩下的烟花存放在附近的公用壁橱里。整个地方就像一颗定时炸弹,时刻等待着毁掉他们的生意:滴滴答答。

不用说,“云原生”架构策略并不是该企业最关心的问题。他们必须逃离恐怖之屋,在时间用完之前搬进专业管理的数据中心。这是一个生存问题。

出于这个非常好的原因,Leaky Servers Inc .选择了一种“提升并转移”的云迁移策略:他们将他们的应用程序几乎原封不动地转储到 AWS 中,事先只进行了最少的培训和重构。

他们赶时间离开他们的数据中心。但是与时间的赛跑才刚刚开始。

升降档:拍摄

并非每个迁移故事都包含字面上的烟火。但是,您仍然可以发现企业出于各种原因选择“提升并转移”,而不是为云重新设计应用程序:

  • 迫切需要离开数据中心(因为您的服务器闹鬼,或者只是因为租约到期)
  • 希望获得一些云优势(可扩展性、更少的维护,甚至更低的成本),而不承担重新架构的全部风险和费用
  • 作为一种金融工程策略,将资本支出负担转移到运营支出
  • 作为采用云的第一块垫脚石,目标是在每个人都涉足云计算之后,采用一种更加云原生的方法

所有这些都可以成为转移支付的合理理由。每一个都有潜在的危险。

因为当你在 EC2 上放弃你的单片的、遗留的应用服务器的时候,你已经开始为你在云中成功的机会计时了。滴答滴答。你能听到吗?

升降移位拍摄时钟

你在为自己争取时间进行提升和转移迁移。是时候考虑你的下一步行动了,是时候训练你的团队了,是时候让企业相信云有价值了。但是那一次的账单很快就会到期,而且利率很高。

这是因为云不像您的旧数据中心那样运行。成本模式不同,技能也是新的。如果你改变了你的基础设施,却没有把你组织的其他部分也一起改变,你会发现你所缺少的能力正在悄悄的向你袭来。

你需要 SRE

云扩展得很快;它由短暂的资源和跨多个地理位置协调的黑盒服务组成,并生成大量遥测数据。从长远来看,应对这些挑战的唯一方法是自动化。站点可靠性工程的纪律在云的第一天可能看起来并不重要,但是你没有它的时间越长,它的缺失对你的伤害就越大。

你需要治理

您转向云计算是为了更好地了解 IT 支出,降低成本,更有效地管理风险。如果没有自动化、没有标记、没有隔离共享您的遗留系统的工作负载,您将如何做到这一点?如果您仍然像对待宠物一样对待云资源,持续合规性就不会发生。

你需要全面的文化学习

为了充分利用云,你需要了解云的人。提升和转移迁移有意延迟云能力的过程,通常有明确或未明确的假设,即团队成员会在此过程中获得新的技能。

但是这种情况并不只是发生。只要团队成员还停留在解决遗留应用程序的单调工作中,他们的云知识就仍然是临时的、有限的,不足以推动下一阶段的云发展。您必须有意识地延续云文化——通过认证培训、激励和积极努力来重构未来。

升降档不是稳定状态

你等待采用云原生思维模式的时间越长,这种转移贷款的复利就越大。因为你的工程师在等待业务赶上云的同时,必须做一些事情。

在缺乏适当的 SRE 的情况下,他们构建高度手动的、缓慢的、容易出错的操作程序,这会拖慢实现价值的时间MTTR

由于没有明确定义的云卓越中心,他们依赖于部落智慧和关于云如何运行的错误思维模式。

由于缺乏云原生治理和成本控制,他们像运行数据中心一样运行云:成本高昂。还记得你是怎么上云省钱的吗?让我知道在两年的工作量提升/转移后,情况如何。

每天,这些坏习惯变得更加根深蒂固。您不仅仅是将旧的遗留系统带到了云中。你正在围绕它们建立一个全新的不良实践和程序网络。随着这些暂时的权宜之计变成永久的,你会看到你最聪明的工程师离开去做不那么不正常的项目。

最终,如果你不能向前迈出云原生的一步,提升和转移所创造的积极价值将被它的负面影响所淹没

如果所有软件最终都变成了技术债务,提升和转移迁移就是发薪日贷款。这些好处是沉重的负担,你抓住它们越久,它们让你陷得越深。

所以如果你必须的话,就搬吧。如果您的数据中心着火,请立即转移!但是不要推迟真正的云转型。因为你在和时间赛跑。正如大规模变革项目 70%的失败率所证明的,时钟喜欢赢。

滴答滴答。你能听到吗?


用 ACG 认证加速器打破升降和移动拍摄时钟

Forrest Brazeal 是 AWS 无服务器英雄 和企业架构师,他领导了从初创公司到财富 50 强企业的云采用计划。

Linux find 命令

原文:https://acloudguru.com/blog/engineering/the-linux-find-command

哪项谷歌云(GCP)认证最适合我

原文:https://acloudguru.com/blog/engineering/the-path-to-gcp-certification

当谈到谷歌云(GCP)认证途径时,您会考虑哪些选择?这篇文章将讨论各种 GCP 云认证,每个认证涵盖的内容,它对你的职业生涯意味着什么,以及你如何设定(和实现)你自己的个人目标。


加速您的职业发展

从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。


我们将从一些关于认证的基本常见问题开始,然后逐一探究每个证书。准备好了吗?让我们开始吧!

谷歌云认证意味着什么?

谷歌的云认证是最强的认证之一。但是,就像亚马逊网络服务(AWS)认证(T1)或 T2 微软 Azure 认证(T3)一样,谷歌云认证并不是保证你在云事业中取得成功的神奇金券。

然而,如果你想在现实世界中有效地使用谷歌云平台(GCP),那么这些认证可以帮你做到这一点。如果你聪明的话。

获得谷歌云认证需要多少经验?

在最高层面上,谷歌的所有认证都只有一个目的。按照谷歌的说法,那就是“验证你的专业知识,展示你的能力。”

谷歌似乎认为你对认证的兴趣始于之后的*,你已经掌握了所有的技能。但是绝大多数人可能会通不过考试,因为他们还没有准备好——即使是那些已经使用该平台多年的人!*

这些认证比几乎任何人的真实世界经历都更广泛、更深入、更多样。所以人们——假设你是一个人,这也包括你——通常会把证书作为一个指南来学习他们自己背景中所缺少的技能。

有些人一开始就有丰富的经验,所以差距相当小。但是大多数人都有相当多的东西需要学习,才能足够全面地通过考试并获得证书。不管谷歌的意图是什么,这很好!在我看来,这实际上是认证的主要价值。


获得超过认证的查看 ACG 当前的免费云课程或通过我们的云技能评估测试您的知识。


谷歌云认证有哪些不同的角色?

当谷歌着手创建每一个认证时,这包括做工作任务分析的艰苦工作,以发现和分类影响那些不同现实世界角色的人的最重要的事情。

像云工程师、数据工程师、DevOps 工程师、网络工程师、安全工程师、机器学习工程师这样的角色——当然,有很多工程师。还包括云开发人员(我不确定他们为什么不直接称之为云软件工程师)。还有云架构师备受期待且特别赚钱的云工资

有哪些不同的 GCP 认证级别?

谷歌将认证分为三个级别:

基础

目前,只有数字云领导者是“基础性的”这个级别的证书“验证云概念和谷歌云产品、服务、工具、特性、优势和用例的广泛知识。”该证书非常适合担任技术角色的人,他们可以从了解云的基础知识中受益。

关联

云工程师证书被视为“准”认证。这是那些继续追求专业证书的人的理想起点,涵盖了“在 Google Cloud 上部署、监控和维护项目的基本技能”

专业

每个专业级认证都是关于一个特定的高级角色。谷歌的所有认证都有相当广泛的范围,但专业认证都比助理认证更深入——深入到围绕这些角色的技术和商业现实。

一位云专家还提供了几条 GCP 学习路径,非常适合初学者和那些希望将技能提升到更高水平的人:

要获得谷歌云认证,我需要知道些什么?

在我们继续之前,我想提出一个关于谷歌云认证的更重要的事情,那就是:谷歌的认证还要求你了解非谷歌的东西。

我的意思是,你很可能会得到与谷歌无关的考题。甚至那些做的也会包含非谷歌的东西。这是因为,请记住,每个认证都是基于现实世界的工作任务分析。并且没有现实世界的工作是 100%谷歌特有的。

要在任何角色中取得成功,您都需要能够使用相关的通用行业技术和最佳实践。此外,您还需要能够处理预先存在的技术——无论是用于迁移还是某种混合设置。

谷歌云认证有哪些不同?

因此,让我们来看看每一个证书,希望能让您对它有更好的认识,以及每一个证书对您的价值。

云工程师助理(ACE)

我们将从 ACE — 云工程师助理认证开始。不仅因为这肯定也是你应该开始的地方,还因为这可以说是谷歌最重要的认证。(我稍后会解释原因。)

云工程师助理是做什么的?

谷歌将助理云工程师定义为“部署应用程序、监控多个项目的运行、维护企业解决方案以确保它们满足目标性能指标”的人。此人拥有使用公共云和内部解决方案的经验。他们能够使用谷歌云控制台和命令行界面来执行常见的基于平台的任务,以维护一个或多个部署的解决方案,这些解决方案在谷歌云上利用谷歌管理或自我管理的服务。”

如何通过云工程师助理认证

王牌就是能够通过网络用户界面和命令行使用谷歌云平台。

该证书关注 GCP 最重要的基础。它包括系统的所有关键组成部分:处理、记忆和移动数据。

  • 处理 —当谈到您的系统如何进行处理时,这意味着像计算引擎这样的东西,可以根据您的需要运行和管理任意多的虚拟机。和 Kubernetes 引擎来运行和管理您自己的集群。和应用程序引擎,以减轻持续运营负担。

  • 记住 —当然,你的系统也需要记住数据,所以这意味着要很好地利用 Google 云存储来存储你的对象,并利用持久磁盘来存储你的虚拟机的数据块。但这也包括使用云 SQL 将数据库管理交给谷歌。或者通过让 BigQuery 存储和处理您所有的兆兆字节、千兆字节或千兆字节的数据,来突破大数据。。。猫咪视频?喵。(免责声明:我们不建议将您的猫视频存储在 BigQuery 中。正确对待那些猫咪视频,放在云存储里。)

  • 移动 — 但是猫的视频仅仅停留在谷歌的服务器上有什么用呢,对吗?你需要把它们移动到世界各地你和你的数十亿用户想看的任何地方!因此,你需要了解 VPC (虚拟私有云),以及它如何在全球范围内连接系统的各个部分,并让你的用户安全地使用它们。

  • 安全 —现在,说到谷歌云安全,这也非常适用于你如何在内部设置和管理你的系统。你需要了解项目和 IAM(身份和访问管理)如何帮助你保持一切井然有序,并让正确的人访问。

  • 管理 —当然,您还需要使用云监控、云警报和其他最初来自 Stackdriver 的操作工具来管理事情,包括确保系统的所有部分正常工作。此外,您还需要观察和分析支出,通过计费警报和导出来管理长期成本。

唷!但是,我刚刚列出的所有内容仍然只是皮毛而已!ACE 真的是一个全面的基础!我的意思是,不仅仅是因为使用 GCP,还因为任何专业认证。职业证书都是相当具有挑战性的,所以在你接受任何职业之前,有一个坚实的基础是很重要的。

为什么谷歌云工程师助理(ACE) 认证是最重要的 GCP 认证?

这就是为什么我强烈认为谷歌的 ACE 认证是最重要的 GCP 认证。这是两者的结合:

  1. 它指导人们日常使用 GCP 的能力。
  2. 这个认证是可以实现的。我的意思是,你可以通过学习获得这个证书。我说这些不仅仅是假设,因为我已经教过成千上万来自各种不同背景的学习者这些东西。当然,有些人比其他人容易,但如果你下定决心,这是可能的。如果他们能做到,那么你也能!

获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回答,以确定哪些概念会让人犯错。抓住这个云指南获取谷歌云及其他最痛苦术语的简洁定义。


专业云架构师(PCA)

我们要介绍的第一个专业角色是专业云架构师谷歌云认证——部分是因为它是最通用的认证,部分是因为它非常受欢迎,部分是因为它是为所有其他认证和角色提供背景的好方法。

专业的云架构师是做什么的?

我们谈论的一切——我们在 GCP 制造的东西——都是软件系统。它管理一些数据流以达到某种目的。构建该系统就是要在一系列权衡中优化该系统,以增加价值,同时降低成本和风险。想做得更好吗?那么这个专业的云架构师证书正符合你的胃口。

用谷歌的话说,这个人“可以设计、开发和管理健壮、安全、可伸缩、高度可用和动态的解决方案来驱动业务目标。”

如何通过专业云架构师认证?

谷歌的专业云架构师考试将试图确定你是否真的能够成为一名成功的云架构师。。。这和决定你是否理解 GCP 是完全不同的事情。这主要不是关于工具的测试;这是一个关于角色的测试。这有很大的影响。

首先,它使这种认证更有价值。做到这一点意味着你实际上知道自己在做什么,我甚至可以说,这甚至是一个很好的指标,表明你是否会成为亚马逊的 AWS 或 T2 微软的 Azure 的云架构师!

并不是说你真的了解这些工具,而是你知道如何在专业环境中使用云——平衡权衡,管理 GCP 成本,保持安全,使其可维护,等等。这个思维过程适用于任何地方,尽管谷歌当然希望你使用 GCP!因此,在一篇关于谷歌云认证的博客文章中读到这一点可能很奇怪,但我认为这可能是一个非常有价值的证书,即使你从未使用过 GCP。

谷歌对此的描述是:

“通过对云架构和 Google 技术的理解,这个人设计、开发和管理健壮、安全、可扩展、高度可用和动态的解决方案来推动业务目标。云架构师应该精通企业云战略、解决方案设计和架构最佳实践的所有方面。云架构师还应该在软件开发方法和方法方面经验丰富,包括跨多云和混合环境的多层分布式应用程序。”

专业云架构师认证考试专业提示

  • 这方面的考试将包括一系列关于现实案例研究的问题。现在,你绝对应该阅读和研究这些对虚构公司及其云项目的描述——你应该在考试前这样做,这样你就不会浪费你有限的考试时间来做这些。

  • 就范围而言,该证书包括 GCP 的所有产品和服务!但是,谢天谢地,它不需要你知道每一个细节。技术深度明显比所有其他专业证书浅,因为 PCA 的真正重点是业务和架构。

专业云开发人员(PCD)

说到所有其他证书,让我们继续看一下专业云开发者证书,我认为这是谷歌通用证书中的最后一个;其他人都更加专注。

现在,我说这个专业云开发者证书是通用的部分原因是因为谷歌作为一家公司,非常关注开发者。从谷歌的角度来看,几乎所有从事技术工作的人都是开发人员——只是有些人比其他人更多地处理程序代码。我承认,他们已经开始意识到,并不是每个组织都像谷歌那样构建自己,但谷歌仍然将开发视为一切的核心。

在谷歌看来,架构师是首席开发人员,他们自己并不写那么多代码。运营人员——包括 DevOps 工程师和站点可靠性工程师——是编写软件来管理运营活动的开发人员。数据工程师是开发人员——好吧,我在这里超越了我自己。让我们再来关注一下专业云开发者证书。

一个专业的云开发者是做什么的?

以下是谷歌对 PCD 的评论:

“专业的云开发人员使用谷歌推荐的实践和工具构建可扩展且高度可用的应用。此人拥有云原生应用程序、开发人员工具、托管服务和下一代数据库方面的经验。专业的云开发人员还至少精通一种通用编程语言,并擅长生成有意义的指标和日志来调试和跟踪代码。”

如何通过专业云开发者认证

在上面的一点中有很多要解开,但我认为最简单的高层次总结是 PCD 制造东西——构建人们使用的实际系统。这肯定包括用某种编程语言编写一些程序代码——这个证书中的一个领域就是这样:安全地调用服务 API,编写自己的服务 API,等等。

但是我认为这里最重要的一点是关于托管服务。就像强大的编程语言意味着您只需编写很少的实际代码就能完成工作一样,托管服务将这一点带到了下一个级别,我的意思是下一个抽象级别。有效使用托管服务——比如云存储、云发布/订阅和云运行——可以对软件项目产生巨大的影响。

事实上,正如弗雷德·布鲁克斯在其颇具影响力的著作中所写的那样,没有银弹:

构建软件最根本的解决方案就是根本不去构建它。每天这都变得更容易…我相信,大众市场的发展是软件工程中最深远的长期趋势。”

鉴于他的论文接下来的部分正确地预测了对我们现在称之为敏捷软件开发方法论的需求,有很好的理由考虑他的建议。现在,我们有了提供如此惊人服务的公共云,他所预测的不仅仅是一个应用程序中的包,而是扩展到整个系统的大部分。

这样,专业云开发人员角色与专业云架构师角色重叠。开发人员不仅需要能够理解云原生架构;他们还需要能够自己创造那些系统设计——至少在某种程度上。

但是专业的云开发人员还包括对行业工具的熟练程度。在您的系统中构建和测试应用程序的工具。持续部署它们的工具—CI 和 CD。和工具来管理他们的绩效。

现在,所有这些东西还包括相关的最佳实践,而不仅仅是孤立的工具,并且在 DevOps 团队环境中运行。因此,这位专业的云开发人员也应该了解专业的云 DevOps 工程师所做的大部分事情——只是比我们将在下面讨论的 DevOps 证书的内容更具一般性。

获得关于专业云开发人员认证考试的更多详细信息。

专业云开发工程师(PCDOE)

专业的云 DevOps 工程师是做什么的?

以下是专业云开发工程师证书的官方简介:

“专业的云 DevOps 工程师负责高效的开发运营,可以平衡服务可靠性和交付速度。他们擅长使用谷歌云平台来构建软件交付渠道、部署和监控服务、管理事件并从中学习。”

许多人听到“运营”这个词,然后就把其他的都忽略了。坏主意!这个角色——尤其是在谷歌的世界里,也被称为网站可靠性工程师——做的不仅仅是这些。它处理操作的方式也完全不同。

其核心是,整个 SRE 的角色就是让整个团队更快地做出更好的软件。如果你把所有的时间都花在灭火和追逐自己的尾巴上,那是不会发生的。所以它利用软件开发的力量来放大你的时代的影响。

过去的情况是,运营人员打开硬件包装,设置和配置硬件,设置应用程序依赖关系,安装从开发人员那里获得的应用程序。不再是了。

相反,sre 编写声明性清单文件和过程性脚本来完成所有这些工作——包括错误处理、日志记录和版本控制以及软件工程师用来控制混乱的所有其他事情。因为 sre 是软件工程师——只是让整个开发团队更快做出更好软件的内部工程师。

但是它也超越了开发人员使用的东西,因为它还包括有意的风险管理。注意我没说规避风险。这个角色不害怕风险,它拥抱风险!是的,有时要愿意犯错误,因为风险值得回报:你使软件变得更好,最终整体的努力实际上也花费了更少的时间。人们可以对此持怀疑态度,但这绝对是真的。

如何通过专业的云 DevOps 工程师认证

就这个角色和证书所关注的 GCP 产品而言,它们包括所有过去被称为 Stackdriver 的可观测性的东西:像云监控、云日志、云跟踪、云调试器和云分析器这样的东西。此外,CI/CD 之类的东西,比如云资源存储库、工件注册和云构建。基础设施作为代码,比如 Google Cloud Deployment Manager 和 TerraForm。

这个角色经常被误解,但当它真正被赋予成功的力量时,它绝对是团队中不可思议的一部分。如果你想更深入地了解这一点,以及它如何让你和你的团队受益,你可能会想去看看我就这个主题开设的课程:Google Professional Cloud devo PS 工程师认证途径介绍。这是一个快速的课程,会更详细地介绍角色本身,以及角色的背景。如果您感兴趣的话,这也是迈向专业云计算开发运维工程师认证的第一步。


后 COVID DevOps:加速未来 COVID 如何影响——甚至加速——工程团队的 DevOps 最佳实践?观看这个免费的点播网络研讨会与 DevOps 领导者进行小组讨论,我们将在后 COVID 时代探索 DevOps。


专业云安全工程师(PCSE)

我们都知道,每个人都对安全负责,必须尽自己的一份力量,对吗?(对吧?)虽然这是真的,但专业云安全工程师的角色每天整天都在处理安全事务——只是从一个任务到另一个任务的不同安全风格。

专业的云安全工程师是做什么的?

谷歌对这一认证的说法是:

“通过了解安全最佳实践和行业安全要求,此人利用 Google 安全技术设计、开发和管理安全基础设施。云安全专家应精通云安全的所有方面,包括管理身份和访问管理、定义组织结构和政策、使用谷歌技术提供数据保护、配置网络安全防御、收集和分析谷歌云平台日志、管理事件响应以及了解监管问题。”

嗯…“监管问题。”大家的最爱吧?也许不是。但它可能很重要,而且从做重要的工作中可以获得很大的满足感。不管怎样,这只是这个更大角色的一部分。

关键是这个人“设计、开发和管理一个安全的基础设施”——就像,整个事情。但是,他们仍然不是单独工作,因为这位安全专家在安全事务上领导团队。其余的描述只是为了给出更多的细节。

如何通过专业云安全工程师认证

在关注领域方面,这个 Google Cloud 认证当然非常强调 IAM,并使用资源层次结构将项目放入文件夹和组织中。此外,还涉及服务帐户、云身份、组和目录同步。

对于网络来说,谷歌非常重视 BeyondCorp 的零信任网络模型,并使用身份感知代理来实现这一点。但是使用基于网络的安全性作为额外的保护层仍然是非常合理的。纵深防御,对吧?因此,像防火墙、对等和云互连这样的 VPC 结构需要以一种支持安全连接的方式来建立。

在所有这一切中,所有的事物和每个人都必须拥有他们所需要的最低特权。

至于你存储的数据,你不应该需要任何法规来告诉你,收集不必要的客户详细信息,不安全地存储,然后让这些数据落入坏人手中,这是一个坏主意。对吗?数据泄露会破坏信任,通常会扼杀公司——所以这也是一桩糟糕的生意。所以你用 DLP API 编辑敏感信息;你将事物符号化;你用云密钥管理来加密和管理密钥;并且您可以使用对象生命周期策略使数据过期。等等。

最后,不仅仅是被动或预备性的安全措施。有时,您还需要采取措施来响应安全事件,如 DDoS 或零日攻击。

我还可以继续,但我希望你现在对这个角色的理解感到安全

关于谷歌开发者视角的补充说明

这里有一个有趣的事实:谷歌的第一个专业云架构师认证版本几乎是我们上面提到的所有其他认证的混合。(好吧,我们也将在这一点之后讨论一些,但主要是在这之前。)

例如,我第一次参加 PCA 考试时,一个问题让我调试了一段程序代码——我不记得是 Python 还是 Java 了——这甚至与谷歌无关!

这种类型的事情后来被转移到专业云开发人员考试中,PCA 现在更加关注架构。但我认为它向你展示了谷歌最初的思维模式,即技术专业人员都应该有软件开发的基础——至少在某种程度上。

不过,我不想让这个吓到你!

我只是想让你理解谷歌对许多现实世界角色的有趣观点,这样你就不会被基于你自己背景的看起来与你无关的东西所迷惑。我相信你也能学到他们期望的一些额外的东西,所以不要有压力!而且,老实说,我想你会发现这些东西中的大部分在事后都很有价值。

专业云网络工程师(PCNE)

接下来,让我们深入一个最真实的专业角色:专业云网络工程师

专业的云网工程师是做什么的?

谷歌表示,此人“在谷歌云平台中实施和管理网络架构…[并且]可能与设计基础设施的架构师一起在网络或云团队中工作。通过利用在实施 VPCs、混合连接、网络服务和现有网络架构的安全性方面的经验,此人确保使用命令行界面或 Google 云平台控制台成功实施云。”

在我们继续其他内容之前,我想对最后一个短语做一个评论。当然,重要的是要注意,角色和考试期望能够通过命令行和 web 控制台 UI 工作。但是我想指出的是缺少了什么:与过去的网络专家角色不同,这个角色从不与任何硬件交互。这都是关于软件定义的网络。网络工程师吧?

如何通过专业云网工程师

尽管谷歌云认证的总体描述看起来更像是“动手做”的人,而不是“坐下来想办法”的人,但这个角色肯定包括设计、规划和原型制作 GCP 的网络。事实上,这是考试指南中列出的第一个领域。

但是所有其他领域更多的是关于日常实现和管理的东西:

  • 配置和管理将一切连接在一起的虚拟私有云(或 VPC)网络。
  • 对连接到 VPC 的许多东西的网络方面做同样的事情,如虚拟机、GKE 集群、企业数据中心等等。
  • 我们谈了一点云安全工程师角色中涉及的网络内容,这些也包括在这里,但这位云网络工程师将它增加到了 11 个。DNS,BGP,TCP/IP,SSL,HTTPS,GKE IPs,NAT,VLAN,IPSec,VPN,SSH, CDN ,BBQ,LOL。(好了,最后那两个是我加的。但说真的,有很多细节要处理。)

创建虚拟专用网络和子网是在 GCP 使用资源或任何基础设施的基础。尝试我们的动手实验室,了解如何使用 Terraform 创建一个 Terraform VPC 和公共子网。学习以代码形式创建 VPC 和基础设施子网,以便在必要时测试和启动 GCP 资源。


这些细节超越了纯网络服务,因为这个角色也参与了一些 IAM 的工作。请记住,这都是软件定义的网络,因此所有访问控制都是集中管理的。这是非常强大的,许多移至谷歌云的保守派网络人士发现,与这些放大其影响的酷新玩具一起工作是一种乐趣。

专业数据工程师(PDE)

接下来,我们将深入了解是什么造就了专业数据工程师,或 PDE

专业的数据工程师是做什么的?

首先是数据,对吧?这显然是重点,但要问的问题是“为什么?”为什么我们如此关心这些数据?让我们再听听谷歌的说法:“专业数据工程师通过收集、转换和发布数据来实现数据驱动的决策。”

这就是:“数据驱动的决策。”作为一个行业,我们已经了解到数据中蕴藏着大量的商业价值,而这个角色的职责就是将数据挖掘出来,并将其介绍给整个组织。

他们继续说:“数据工程师应该能够设计、构建、操作、保护和监控数据处理系统,特别强调安全性和合规性;可扩展性和效率;可靠性和保真度;以及灵活性和便携性。”

这是一个很大的“面”因为权衡是每个 IT 角色的核心,当然也包括这个角色。

如果您正在处理数据,您显然必须尊重它所代表的隐私和安全问题,因此这与安全工程师的角色有点重叠。但是正如我提到的,安全确实是每个人的责任。与架构角色也有很多重叠,因为这个专业的数据工程师非常包括为整个数据生命周期设计所有大数据系统:接收、存储、处理、分析、探索和可视化。

如何通过专业数据工程师认证

就这个角色的核心 GCP 产品和相关的谷歌云认证而言,我认为有几个非常突出:DataFlow、DataProc、BigTable 和 BigQuery。

但这并不是说其他的不重要:比如 DataPrep、DataLab、Data Studio、云存储、云 SQL 和云发布/订阅。任何存储和处理数据的东西,真的。但这不仅仅是设置这些东西。这个角色还包括监控、维护、调试,并随着时间的推移增强这些管道。

这里,一个额外的要求是,这个角色还需要能够使用行业标准的非谷歌的东西——如用于 MapReduce 的 Hadoop 处理大型数据集和用于编写各种数据查询的 SQL。

现在,谷歌用来描述这一角色的最后一句话是:“一名数据工程师还应该能够利用、部署和持续训练预先存在的机器学习模型。”

因此,尽管有一个专门针对机器学习的特殊证书,但这个也绝对包括它。这意味着你需要理解 GCP 预先训练好的模型,比如视觉 API 和翻译 API。但也要通过人工智能平台之类的东西来训练自己的模型。此外,还有“中间道路”的“自动”API,如 AutoML Vision 和 AutoML Tables,其中 Google 完成了大部分繁重的工作,但您仍然可以参与培训。

然而,这里明显缺少的是从头开始设计你自己的定制模型来解决新问题;这更像是专业机器学习工程师的领域。

专业机器学习工程师(PMLE)

说到那个 ML 工程师。。。专业机器学习工程师可能是谷歌最新的认证之一,但我认为它可能会成为他们最有价值的认证之一——甚至可能吸引那些不打算使用 GCP 的人的兴趣。(嗯,反正不是还不是。)

专业的机器学习工程师角色肯定包括来自数据工程师角色的所有机器学习的东西,再加上更多。那么让我们更仔细地看看还有什么

专业的机器学习工程师是做什么的?

谷歌的报道称:

“专业的机器学习工程师设计、构建和生产 ML 模型,使用谷歌云技术和成熟的 ML 模型和技术知识来解决业务挑战。ML 工程师精通模型架构、数据管道交互和指标解释的所有方面,并且需要熟悉应用程序开发、基础设施管理、数据工程和安全性。”

“生产化”是一个有趣的词,但这里的关键是包含了设计和构建ML 模型,而不仅仅是像 PDE 一样培训和使用它们。

而且,正如它所说,这位专业的 ML 工程师“精通”机器学习的所有方面。各方面。不仅仅是与谷歌云相关的东西。这是关于这个证书最重要的事情。当然,这是谷歌云认证——而且确实需要相当多的 GCP 能力。但这也将考验你,不仅仅是谷歌云特有的东西。我觉得这个机器学习工程师大概是非 Google 内容最多的 Google cert 了。这也让它在 GCP 以外的地方也有很好的影响力,如果你需要使用多云或混合云的话。

如何通过专业机器学习工程师认证

考试指南的第一部分是关于以一种可以由 ML 服务的方式构建业务问题和数据,所以除了你应该遵循的人工智能原则和实践之外,这与 Google 没有任何关系。有趣的是,你还需要能够识别出应该而不是使用 ML 的情况。

当涉及到设计机器学习解决方案时,你必须考虑一些更谷歌的东西,比如如何使用 IAM 和密钥管理等东西在你的管道中建立安全和隐私。

您还需要知道何时应该使用虚拟机、容器、GPU 和/或 TPU 进行培训。

你还需要能够利用人工智能平台取得良好的效果,包括它可以进行分布式训练的方式,它内置的算法,以及它的功能,如可解释的人工智能和连续评估。

同样重要的是,要知道什么时候正确的决定是使用全自动预训练模型,如语音到文本或推荐人工智能,或者看看什么时候 AutoML 版本提供了最佳的权衡。构建您的 ML 解决方案是考试的一个重要部分,因为它是该角色的一个重要部分。

展望未来,重要的是能够使用 Cloud Dataprep 来探索和清理您的数据,然后使用我们涵盖的所有数据工程工具来处理它——当然,与专业数据工程师证书相比,这里没有那么深入和强调。需要明确的是,这意味着像 BigQuery、Cloud Dataflow 和 Data Studio 这样的东西。

最后,让你所有的机器学习梦想成为现实需要将一切付诸实践。这意味着实现你的架构,但也包括自动化和监控。在一个理想的世界里,你不仅做任何手动培训来更新你的模型,你甚至有一个 CI/CD 系统——MLOps——来自动测试和部署新模型。所以 DevOps 工具(比如云构建和云监控)在这里也很有趣。

在我提到的所有东西中,一切都浸泡在开源 TensorFlow 的慷慨服务中。张量流所有的东西!

这项基础级认证可能是谷歌有史以来将人们带入 GCP 生态系统的最重要的事情。你可能认为我在夸大其词,但我没有。

Azure 有 AZ-900 微软 Azure 基础AWS 有认证云从业者(CCP) ,现在 Google Cloud 有云数字领袖,目前正在测试中。

极少有人用这样的认证来证明自己的能力。相反,几乎每个人都用它们来指导自己的学习。人们有学习的兴趣——无论是因为他们的工作需要还是因为他们只是好奇——像这样的非技术性入门级认证是一个完美的开始!这是可以实现的,有重点的,有价值的,没有威胁的。是纯粹的善良!

如果你是一个非技术人员,那么像这样的认证可以为理解云如何工作建立一个真正有价值的框架——无论是一般的公共云,还是具体的谷歌云。您需要了解 it 如何在降低总成本的同时大幅提高业务灵活性。

云数字领导者是做什么的?

正如谷歌所说,“云数字领导者可以清楚地表达谷歌云核心产品和服务的能力,以及它们如何让组织受益。云数字领导者还可以描述常见的业务用例,以及云解决方案如何支持企业。”

谷歌还在考试指南中指出,这个人需要理解一些关键的权衡,包括“成本与责任之间”和“比较云服务时管理水平与灵活性之间”的权衡它还涉及到谷歌和我们之间管理安全和我们建立的系统的其他方面的共同责任。

如果你是技术人员,你为什么要关心这个认证?

想象一下,如果你工作中的每个人——每个人——都真正了解云的基础知识。你可以花更少的时间和精力来重新解释同样的事情,并纠正基于技术如何工作的假设的误解。能够说“同一种语言”让团队理解技术并就技术进行明智的交流。


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

No need to run in terror from Terraform. Download our Ultimate Terraform Cheatsheet for a handy guide to helpful syntax.


谷歌云认证途径

这可能看起来有很多要理解,但是不要担心试图记住所有的事情。更重要的是,你可以利用这种理解来塑造自己的前进道路。记住,这里的重点是帮助你在工作中取得成功。证书是你可以用来帮助你更容易、更快地实现这一目标的唯一工具。

那么,你的目标是什么?你想说什么?

入门指南

  • 我对云和技术一无所知。
    连云是什么都不懂?每个人都必须从某个地方开始,ACG 将带你迈出进入科技世界的第一步。通过像云计算简介谷歌云概念这样的课程,让你的头脑了解云和 GCP 的基础和概念。这些课程足够短,可以观看一个午休时间(而且它们完全是免费的云培训)。从那里,你应该准备好深入了解云数字领导者,然后是 GCP 助理云工程师课程

  • 我刚刚闯进来。
    如果你只是想打入云端,你应该从云端数字领袖开始,然后是助理云端工程师(ACE)证书。以此为目标将迫使你对云的一般工作方式,尤其是 GCP 的工作方式有一个真正全面的了解。这并不容易,但这是可能的,也是值得的。

  • 我从一些技术经验开始。
    如果你已经有了一些经验——无论是 GCP、AWS、Azure,还是一般的 IT——你应该从云工程师助理(ACE)证书开始。它会为所有这些 GCP 的东西确定并填补你基础中的漏洞。如果你已经在这方面做得很好了,你会比没有你背景的人做得更快。但是,在进入任何专业级别的角色之前,花时间和精力来处理这个问题确实是值得的。许多好心的超级聪明的人都有盲点(未知的未知),在他们解决之前,这些盲点会破坏他们的效率。不要让骄傲击垮你。

建筑师

无论是因为他们看过薪水报告,还是因为他们想要声望,或者因为他们只是喜欢创建令人敬畏的系统,许多人都想成为一名专业的云架构师。显然,这里的下一个目标是专业的云架构师,对吗?嗯,也许吧。

  • 更有经验的 PCA如果你已经在设计和构建软件系统方面有很强的背景,这可能会很好。因为 PCA 是如此广泛和通用,一个非 GCP 的架构背景仍然很有帮助。我听到这个小组的人报告说,谷歌的 PCA 考试对他们来说比其他一些云考试更容易,因为它不太涉及技术细节**。**

  • PCA 经验少没有背景,从 ACE 直接到 PCA 可能会相当坎坷。这个群体中的许多人报告说,PCA 是他们见过的最难的考试。这里有太多的东西需要学习,你可以用一块垫脚石来帮助你跨越这道鸿沟。特别是,我建议你考虑下一个专业的云计算开发工程师证书,介于 ACE 和 PCA 之间。这仍然是一个严肃的问题,但是我想说相比之下,它更容易理解,并且在一个更窄但重叠的范围内培养你的能力。

  • 超越 PCA无论哪种方式,一旦你真正获得了专业云架构师认证,就有一个很好的理由继续发展你的 GCP 技能,特别是通过(1)跟进专业云安全工程师,以确保你充分掌握关键技能,以及(2)看专业数据工程师,以便你真正了解企业如何最好地利用他们的所有数据。

开发者

接下来,让我们考虑一个开发者的角色。就像我提到的,你真的应该从 ACE 开始,但是接下来呢?

对开发者来说,最有价值的下一个证书是专业云开发者证书,简称 PCD。惊喜,惊喜,对吧?

如果你做,你可以在 PCD 之前做专业云开发工程师证书,但是如果你想在 PCD 之后做也可以。但是我绝对建议每个开发人员学习并真正理解 DevOps站点可靠性工程

说真的,在这个时代,一个不了解 DevOps 和 SRE 的开发者完全限制了他们的职业生涯。

现在,在这些更核心的开发者证书之后,你仍然可以从继续前进中获得价值。下一个很好的选择是专业的云安全工程师 Google Cloud 认证,因为对安全性认识不足是开发人员面临的最大和最危险的问题之一。

之后,因为开发人员的角色,特别是通过向工具箱添加新工具而被放大,我建议看看专业数据工程师和专业云架构师证书。至少,更好地理解这些广泛的工具集意味着您可以自信地在团队协作中使用它们。

但是开发者角色真正令人惊奇的是它变得越来越独立!由于这种更高抽象技术的放大效应,单个开发人员现在通常可以完成过去需要整个团队才能完成的工作。如果你设法让自己达到那个位置,你就准备好了。在我提到的所有角色中,我相信这是最有前途的一个。

DevOps

我一直在唠叨的一件事是关于 DevOps 有多重要。对吗?这是有原因的。

软件开发,作为一个行业,已经通过几十年的时间学会了如何以及如何不做事情。其中一个非常重要的经验就是敏捷。如果你从未读过敏捷软件开发宣言,你应该读一读。(说真的,这将花费你不到一分钟的时间——即使你阅读速度很慢。)但关键是成功的软件开发需要一个很短的反馈回路,这就是 DevOps 的全部!

一个没有任何 DevOps 专业知识的软件开发团队就像一个没有守门员的曲棍球队:当然,你可以做到,但是你处于非常不利的地位。(冰球迷注意:那是没有守门员的比赛,不是 拉着守门员。)

因此,要想成为 DevOps 工程师,首先要像往常一样从 ACE 开始,然后直接进入专业的云 DevOps 工程师证书。这本身就很棒。但是…

在那之后,更深入地说,我认为通过深入开发运维的开发方面并瞄准专业的云开发人员,你会获得很多价值。开始的时候,有些可能会觉得有点难,尤其是如果你以前没有做过任何编程的话,但是我相信你能做到。作为一名 DevOps 工程师,提升你肯定会做的开发是非常有价值的。

之后,专业的云架构师是打开整个云世界的一个很好的方式。DevOps 和站点可靠性工程都是关于管理风险的,所以更好地理解云系统是如何工作的非常有益。

安全性

以安全角色为目标是另一个有用的选项。不出所料,在这里,我的推荐是先从 ACE 开始,然后直线进入专业云安全工程师。搞定了,对吧?嗯,也许不是。当然,这绝对是一个坚实的成就!毫无疑问!但是安全角色也可以有专门的领域!

比 PCSE 更深入的一个选择是挖掘专业的云网络工程师。这是我绝对推荐的一个场景。如果你有现成的网络背景,或者在一个大量使用基于网络的安全性的组织中工作,那么这可能是一个很好的补充。一般来说,要么利用你的背景使自己作为安全工程师更有价值,要么充实一套高度相关的技能。

安全工程师的另一个好帮手是专业的云架构师。安全感来自于在良好理解的基础上运用你的大脑,而不是来自于做某些活动或打勾(对吗?)因此,推动 PCA 是一种非常好的方式,可以确保您正确理解您需要帮助保护的系统中将出现的产品和服务的范围。

数据/机器学习

如果你想专注于数据——我不是在说布伦特·斯皮内——那么你将会在谷歌云中如鱼得水。数据是 GCP 真正闪光的地方。现在,如果你认为我会再一次从 ACE 开始,那么你就错了——对!当然啦!ACE 永远是关键的基础。但是对于数据,我觉得你下一步应该是专业的数据工程师。然后之后就是专业的机器学习工程师。

现在,如果你处在一个几乎只做机器学习或者完全不做的情况下,那么你可能很想调整一下。但是如果你真的不确定有什么更好的计划——或者即使你确定——那么这是一个非常合理的计划。PDE 确保您对更广泛的数据生命周期以及如何利用它有一个非常坚实的把握,而 PMLE 在毫无疑问是利用数据的最重要方式方面深化了这一点。

在您处理好以数据为中心的东西之后,要么专注于与专业的云开发人员一起完善您的开发人员方面,要么与专业的云架构师一起更深入地研究架构,这可能是一个好主意。无论选择哪一种,您都将学到更多关于如何在数据工程的两个重要方面做出良好的权衡:设计系统和实现它们。

后续步骤

现在,如果我在给你提供一些想法之前停下来,告诉你,你个人可以如何推进谷歌云认证的所有这些信息,我会是什么样的向导呢?

一位云专家已经整理了大量的培训材料和支持系统来帮助你。我们的使命是教会世界云!特别是,我们想教!我们有认证培训课程,加上其他课程,独立视频,练习考试,指南,一个 ACG 官方不和谐服务器,论坛,等等。

但我认为对你最有用的是将所有这些联系在一起的东西:学习 Pa t hs

对于上面描述的大多数角色,我们的平台向您展示了您可以用来学习它的所有不同材料的有序路径,包括课程、证书和许多可选材料。

哦,因为你必须亲自动手并真正使用云,所以一个云专家会员资格包括大量的实践实验室,让你可以直接进入云,在没有真正风险的情况下做真正的事情。这些实验出现在课程和学习路径中,或者你可以独立完成。

我希望这篇文章能帮助您在云中找到成功,但我也希望在您云学习之旅中能再次与您交流。

也许你会选我的一门课。也许你会在 LinkedIn 上和我联系。也许我们最后会聊到不和谐。如果您有任何问题或意见,请联系我们。照顾好你自己——保持出色!

在 YouTube 上订阅一位云专家的每周谷歌云新闻(以及其他云提供商的新闻)。您也可以在脸书上喜欢我们,在 Twitter 上关注我们,或者在 Discord 上加入对话!

### Docker 学习教程和资源 #### 官方文档与指南 官方文档提供了详尽的信息,适合不同层次的学习者。对于初学者来说,可以从安装配置开始学习;而对于有一定经验的人来说,则可以深入研究高级特性。 - **Docker官网**: 提供了全面的入门指导以及详细的命令行操作说明[^1]。 ```bash $ sudo apt-get install docker-ce ``` #### 在线课程平台 多个在线教育网站提供有关Docker的教学视频和服务实践案例分析等内容: - **Udemy, Coursera 和 edX** : 这些平台上都有专门针对Docker设计的系列课程,涵盖了从零起步到精通各个阶段的知识点讲解。 - **Pluralsight 或 Acloudguru** :专注于云计算领域技能提升的专业站点也开设了不少关于容器化部署方面的优质课件。 #### 社区交流论坛 加入活跃的技术社区能够及时获得最新资讯并与其他爱好者互动探讨疑难杂症解决办法: - **Stack Overflow**:全球最大的编程问答网站之一,在这里几乎能找到所有你想问的问题解答。 - **Reddit 的 r/docker 版块**:除了提问求助外还可以分享个人见解参与话题讨论甚至发起投票活动来收集大家的意见建议。 #### 实践项目练习 通过实际动手操作加深理解和记忆效果往往事半功倍: - 尝试按照官方给出的例子创建自己的第一个镜像文件 `Dockerfile` 并利用它构建新的映像版本[^2]。 - 使用 GitHub 上开源的应用程序作为蓝本进行二次开发改造从而熟悉整个工作流过程。 #### 参考书籍推荐 最后但同样重要的是阅读一些经典的纸质版教材也是不错的选择: - *The DevOps 2.0 Toolkit* by Viktor Farcic - *Docker Deep Dive* by Nigel Poulton
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值