ACloudGuru 博客中文翻译(十四)

部署运行你感兴趣的模型镜像

原文:ACloudGuru Blog

协议:CC BY-NC-SA 4.0

生日快乐,谷歌!技术服务 24 岁

原文:https://acloudguru.com/blog/engineering/happy-birthday-google-tech-service-turns-24

2022 年 9 月 27 日标志着谷歌已经存在了 24 年,你有可能会以这样或那样的方式与谷歌的生态系统互动。即使你致力于通过强大的搜索引擎使用 Jeeves,或者不使用 Gmail,你在网上做的事情也有可能在幕后架构中利用谷歌云平台。让我们庆祝谷歌已经走了多远!


加速您的职业发展

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


谷歌云平台从何而来?

该公司于 1998 年由拉里·佩奇和谢尔盖·布林正式创立,以销售搜索引擎。但是仅仅在 10 年后,GCP 推出了一款名为 App Engine 的产品。谷歌指出App Engine的目标是“让一个新的网络应用容易上手,然后当这个应用获得巨大流量并拥有数百万用户时,让它容易扩展。”

从那时起,谷歌云平台已经扩展到包括许多其他主要服务。这包括用于计算和托管、存储和数据库、网络、大数据和机器学习的那些。

一个非常简短的时间表

让我们来看看自那以后每年的一些主要发布和更新,在一个非常简短(但绝不全面)的列表中:

2009 年: App Engine 获得对 Java 编程语言的支持

2010 年: 云存储发布(因为人们需要一个地方来存放他们的东西)。

2011: 随着发布云 SQL ,GCP 开始涉足关系数据库。

2012 年:谷歌作为开源项目公开发布了他们的围棋编程语言的稳定版本。

2013: 计算引擎结束预览正式发布。

2014: 开源容器管理器 Kubernetes 发布!云数据流,一个云原生数据处理的解决方案,也在宣布

2015: 你收到消息了吗?云 Pub/Sub 进入公测。

2016: Bigtable、Cloud Shell、Cloud SQL、Datastore 都变得普遍可用。

**2017:**Cloud Spanner——高可用的全球 SQL 数据库——进入 beta

2018: 谷歌 Kubernetes 引擎 (GKE)开始全面上市,同时推出一系列功能,支持更广泛的企业应用。

2019: 谷歌无服务器计算堆栈的最新成员云运行宣布

2020 年:为了缓解向远程工作的转变,谷歌推出了谷歌工作空间

2021 年:一切都是为了可持续发展!谷歌宣布了一个雄心勃勃的目标,到 2030 年实现无碳排放。


后 COVID DevOps:加速未来 COVID 如何影响甚至加速了 DevOps 最佳实践?观看 DevOps 领导者的免费点播网络研讨会,我们将探索后 COVID 时代的 DevOps。


2022 年及以后的谷歌

每个人的可持续未来

谷歌表明他们确实致力于一个可持续的未来,宣布了新的工具来衡量和减少 2022 年的环境影响。他们还表示,他们正在与“各个行业的客户和组织合作,为组织面临的独特气候变化挑战开发新的解决方案。”可持续发展显然是公司未来的一个主要关注点,我们很高兴看到这一点!

创新不会停止

谷歌多年来一直是创新的领导者,在未来几年肯定还会继续。那么未来他们还会给我们什么呢?更多的多云解决方案?元宇宙疯狂?我们可能无法预测未来,但回顾 24 年的成就,我们当然可以看到谷歌是一个值得关注的空间。


想了解更多关于谷歌云平台的信息?

我们的Google Certified Cloud Digital Leader课程是理解 Google 云平台如何工作的良好开端。注册参加免费的课程,以及其他优秀的认证课程,并立即获得云快乐

还是不够?让自己了解最新的谷歌云新闻和公告!查看我们的每月新闻系列 GCP 本月,或加入我们的不和与其他 GCP 学习者交谈。

嘿,云计算高管:停止排挤你的网络团队

原文:https://acloudguru.com/blog/business/hey-cloud-execs-stop-sidelining-your-network-team

一份新报告揭示了导致云团队和传统网络基础设施团队之间裂痕的四个关键问题。

潜在的成功差距阻碍了许多组织实现其云投资的全部好处。事实上,Enterprise Management Associates 和 BlueCat 的最新研究显示,大约 72%的企业难以获得全部好处,这让他们想知道在云采用之旅中哪里出了问题。

云采用的一个基本因素成功往往隐藏在 IT 高管的眼皮底下:弥合传统网络基础设施团队和云团队之间的鸿沟。不支持这些团队之间的协作,往好了说,会导致失去机会,往坏了说,会导致严重的组织范围的问题。

事实上,在 3 月对 212 名网络和云专业人士进行调查后,研究发现这些团队之间的功能失调产生了惊人的后果。仅在过去一年:

  • 73%接受调查的组织面临安全或合规性问题,如监管罚款或数据泄露
  • 89%的企业面临 IT 运营挑战,例如应用程序部署延迟和用户体验不佳
  • 82%遭遇业务问题,如客户流失和收入损失。

如果团队之间没有适当的协作,构建敏捷、高性能、可靠和安全的混合云和多云架构就无从谈起。

那么,IT 主管如何打破孤岛并缩小差距呢?通常,只有几个关键问题在起作用。一旦确定了这些,采取必要的措施来缓解功能障碍就变得容易多了。


看点:网络专业人士在云中的角色
一个项目早期的 DNS 或 IP 地址错误会导致数年的痛苦。你如何防止网络噩梦?观看这个免费点播的网络研讨会,云网络专家将讨论如何尊重(并授权)云中的网络团队。


问题 1:你没有把两个团队都带入关系中。

根据这项研究,在云计算方面取得成功的组织中,认为领导层在支持他们之间的协作方面取得了成功的组织的比例是其他组织的两倍。支持协作意味着帮助这些团队围绕互利的目标保持一致。这似乎很难做到,因为高达 41%的云采用不是由集中领导推动的,而是由分散的团队(如开发人员、非技术领导和单个业务部门)推动的。

口头上支持合作是不够的。IT 管理人员需要亲自参与到各个层面的沟通中去,而不是把它留给中层管理人员,他们通常会对机械的做事方式产生抵触情绪。解决方案:IT 高管应该注意将自己纳入发展关系的过程中,否则可能会暴露生态系统中的缺口。

问题 2:你正在排挤你的网络团队。

考虑一下:在企业云项目早期犯下的 DNS 或 IP 寻址设计错误可能需要长达五年的时间才能恢复。研究发现,88%的受访者认为网络团队应该了解云设计并提供意见,云的成功也与这一回答相关。

不幸的是,研究还表明,网络团队更有可能被排除在关于云的对话之外。将网络专家及其丰富的机构知识和对基本原则的理解排除在云之外,会阻止每个人看到并纠正云采用工作中出现的全部问题,直到为时已晚。

解决方案:IT 高管应该强调带上网络团队的好处。受访者列举了安全性、合规性、网络(特别是 DNS 和 IP 空间管理)等领域的优势。

问题 3:您没有统一关键职能,如安全性、合规性和 DDI。

大多数企业现在完全统一了安全性和 DNS 管理,几乎一半的企业跨内部和云网络统一了合规性管理。这是有原因的。如果没有一种简化的方法来处理这些核心服务,就有可能出现全面的流程断裂。

统一 IP 地址空间管理对地址尤为重要。虽然这很难做好,但在这项研究中,几乎所有不成功的企业都倾向于保持 IP 空间管理孤岛,这意味着不这样做肯定是一个糟糕的战略。为团队配备集中核心服务所需的流程和工具至关重要。例如,BlueCat 帮助企业统一管理他们的 DNS、DHCP 和 IP 不动产,这有助于直接解决损害混合云战略的一些挑战。(当然还有很多其他的例子。)成功的云采纳者认为他们的工具集非常适合管理云中的网络挑战的可能性是其他人的两倍。

解决方案:IT 领导需要确保关键功能是统一的,而不是孤立的。

问题 4:你不能确保你的团队拥有适当的技能和知识。

总的来说,有两个重要的培训重点:了解个体云提供商的网络特性,以及围绕网络安全概念拓展知识。云团队通常对网络了解有限,网络团队也不了解云团队使用的最新工具和解决方案,因此两个团队都必须了解对方的技能。

他们还应该能够访问其他筒仓中的同行所使用的技术和工具。这不仅可以防止敌意,还可以让整个套件具有可见性,并确保您不会落下网络团队,从而获得云采用计划的全部价值。


需要准确了解整个组织的云计算能力吗?从云培训需求分析开始,找出技能差距。云计算专家 IT 培训项目帮助您的团队为进一步的云计算成功做好准备。


解决方案:在整个组织中形成对不同团队的职能和对更广泛使命的价值的高度理解。

向云迁移是一项严肃的投资,需要云和网络团队的共同参与,并理解采用新技术通常包括协作和构建现有技术。这很少是一个弃旧迎新的过程。要做好这件事并使投资最大化,只需要付出额外的努力和理解。

Dana Iskoldski 是蓝猫公司的高级企业沟通经理。自 2018 年以来,她一直在发展该组织的媒体关系、影响者关系、社交媒体和内容计划。达纳住在加拿大多伦多。她毕业于滑铁卢大学,志愿担任 TEDxToronto 的公关和沟通负责人,经常有人提醒她对网球场知之甚少。

谷歌云平台的历史

原文:https://acloudguru.com/blog/engineering/history-google-cloud-platform

亚马逊在 2006 年推出了云计算服务。两年后,谷歌凭借自己的云服务加入了这场游戏。2008 年 4 月,谷歌宣布了应用引擎的预览版,这是一个开发者工具,允许用户在谷歌基础设施上运行他们的网络应用。App Engine 的目标是:

“让一个新的 web 应用程序易于上手,然后在该应用程序获得大量流量并拥有数百万用户时,让它易于扩展。”

为了获得反馈并对该预览版进行改进,App Engine 以先到先得的方式向 10,000 名开发者开放。开发人员可以在以下参数内运行应用程序:500 MB 的存储空间,每天 2 亿兆周期的 CPU,每天 10 GB 的带宽。

最后,在 2011 年 11 月,谷歌将 App Engine 从预览模式中撤出,并将其称为正式的、完全受支持的谷歌产品。在第一个产品发布 10 年后,谷歌在谷歌云平台下增加了更多的服务。它已经成为全球顶尖的公共云供应商之一。Snapchat、Airbnb、Zillow、彭博和 PayPal 等知名公司都使用谷歌云平台提供的服务。但是,为什么谷歌云平台是如此受欢迎的公共云供应商?

  • 安全性:谷歌的安全模式更进一步,提供可扩展的基础设施和创新能力,帮助您的组织保持安全和合规。
  • 支持:每一位 GCP 客户都免费获得基本支持。如果您需要额外的帮助,您可以升级到高级支持包,以便更好地联系支持工程师。
  • 名声:是谷歌。说够了。
  • 灵活性:谷歌云的首席技术官 Brian Stevens 说,“我们正在进入一个以开放和互操作性为标志的未来”,而谷歌正处于最前沿。
  • 分析:数据是谷歌所做一切的背后。

Kubernetes 已经被部署在一些最大的云计算项目中。开始学习谷歌 Kubernetes 引擎( GKE )的完整基础知识,成为一名专家!


想了解更多关于谷歌云平台的信息?

没有应用的教育只是娱乐。用你需要的动手操作的谷歌云培训来武装自己,让自己变得更好、更快、更聪明。通过这些新的谷歌云课程和动手实验室开始培训吧!

Google Cloud 认证助理云工程师

Google Kubernetes 引擎深潜

谷歌云安全要领


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

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


容器技术的历史

原文:https://acloudguru.com/blog/engineering/history-of-container-technology

作为“成为新的没关系”系列的一部分,我这周做了很多关于容器的研究。我的目标是为任何人奠定基础,无论其技术背景如何,都能够开始使用和学习容器——无论是 LXC、Docker 还是下一个大型容器技术。

就我个人而言,我通过故事学习得最好,为了应对新的事物,我必须在头脑中发展故事;我不仅想了解我们在学习过程中的位置,还想了解我们是如何到达这里的。所以我开始拼凑容器技术的历史,我发现要完全理解它,我们需要追溯到比你想象的更远的地方。我们需要回到 20 世纪 60 年代虚拟化的早期。

虚拟化的发展

在 60 年代,电脑是一种稀有商品。光是租一个月就要花费 1000 多美元,这让许多企业望尘莫及。从这个角度来看,1960 年的 1000 美元与 2018 年的 8385 美元具有相同的购买力。

他们说需要是发明之母,计算机的历史也不例外。最早的计算机通常专用于可能需要几天甚至几周才能运行的特定任务,这就是为什么在 20 世纪 60 年代和 70 年代,我们看到了虚拟化的发展。许多用户同时共享计算机资源的需求推动了这一发展。

随着集中式计算机的诞生,我们开始看到我们现在称之为虚拟化的最初迹象。

在整个 20 世纪 60 年代的 T2,多个计算机终端被连接到一个主机上,这使得计算可以在一个中心位置完成。集中的计算机使得从一个地方控制所有的处理成为可能,所以如果一个终端坏了,用户可以简单地去另一个终端,在那里登录,仍然可以访问他们所有的文件。 然而,这确实有一些弊端。例如,如果用户使中央计算机崩溃,系统将对所有人关闭。诸如此类的问题表明,计算机不仅需要能够区分个体,还需要能够区分系统进程。

1979 中,随着chroot(更改根)命令的开发,我们朝着创建共享但隔离的环境又迈进了一步。chroot命令使得改变正在运行的进程及其所有子进程的根目录成为可能。这使得将系统进程隔离到它们自己独立的文件系统中成为可能,这样测试就可以在不影响全局系统环境的情况下进行。1982 年 3 月,比尔·乔伊在第 7 版 Unix 中添加了chroot命令。

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

为了理解容器,我们可以稍微向前跳到 20 世纪 90 年代,当时计算机安全和网络研究员 Bill Cheswick 正致力于理解一个黑客如果被允许访问他的系统会如何利用他们的时间。对于不熟悉 cracker 这个词的人来说,它是用来指出于恶意原因闯入计算机系统的人。现在你可能在想,“等等……那不是黑客吗?”但是在安全世界里,单词 黑客 通常被用来定义识别安全漏洞以便修复而不是利用它们的人。虽然这种差异可能需要自己的博客帖子,但现在,我将使用术语cracker,因为这是切斯维克在他的论文《与伯弗德共度的一个晚上,一个 Cracker 被引诱、忍受和研究》中使用的术语在这项研究中,Cheswick 建立了一个环境,允许他分析破解者的击键,以便跟踪破解者并学习他们的技术。他的解决方案是使用一个chrooted环境并对其进行修改。他的研究成果就是我们现在所知的 Linux jail命令。

2000 年3 月 4 日,FreeBSD 在其操作系统中引入了jail命令。尽管它类似于chroot命令,但它也包含了额外的进程沙箱特性,用于隔离文件系统、用户、网络等。FreeBSD jail让我们能够分配 IP 地址,配置定制软件安装,并对每个监狱进行修改。这并不是没有问题,因为监狱里的应用程序在功能上是有限的。

2004 上,我们看到了 Solaris containers 的发布,它通过使用 Solaris Zones 创建了完整的应用程序环境。使用区域,您可以为应用程序提供完整的用户、进程和文件系统空间,以及对系统硬件的访问。但是,应用程序只能看到自己区域内的内容。2006 年月,谷歌的工程师宣布他们推出了用于隔离和限制进程资源使用的进程容器。在 2007 年,这些流程容器被重命名为 控制组 (cgroups)以避免与 容器 混淆。

I n 2008 ,cgroups 被合并到 Linux 内核 2.6.24 中,这导致了我们现在所知的 LXC 项目的创建。LXC 代表Linux****Ccontainers,通过允许多个隔离的 Linux 环境(容器)在共享的 Linux 内核上运行,提供操作系统级别的虚拟化。每个容器都有自己的进程和网络空间。

2013 中,谷歌通过开源他们的容器栈再次改变了容器,成为一个名为 让我来为你包含那个 (LMCTFY)的项目。使用 LMCTFY,应用程序可以被编写成容器感知的,因此,可以被编程来创建和管理它们自己的子容器。2015 年,当谷歌决定将 LMCTFY 背后的核心概念贡献给 Docker 项目lib container时,LMCTFY 的工作就停止了。

Docker 的崛起 Docker 于 2013 年作为开源项目发布。Docker 提供了打包容器的能力,这样它们就可以从一个环境转移到另一个环境。Docker 最初依赖于 LXC 技术,但在 2014 年,LXC 被 libcontainer 取代,这使得容器能够与 Linux 名称空间、libcontainer 控制组、功能、AppArmor 安全配置文件、网络接口和防火墙规则一起工作。Docker 通过包括全球和本地容器注册中心、restful API 和 CLI 客户机继续为社区做出贡献。后来,Docker 实现了一个名为 Docker Swarm 的容器集群管理系统。


如何更好地监控您的码头集装箱?Prometheus 能够轻松展示各种系统和基础设施的指标。使用 Prometheus 进行码头集装箱监控。


虽然我们可以通过深入 Docker Swarm、Kubernetes 和 Apache Mesos 来进入容器集群管理,但对于新系列,Docker 将是我们的停留点。

多做实验,少花时间学习云

原文:https://acloudguru.com/blog/business/how-acg-helps-businesses-experiment-more-spend-less-learning-cloud

围绕云计算提升员工技能的最佳方式是让他们接触云技术。但是让您的员工访问真实环境和服务器远非易事。

  • 提供培训环境需要 IT 时间和资源。
  • 对于学习者来说,错误配置和资源闲置带来的意外账单是常有的事。
  • 用户在生产过程中有可能会损坏某些东西。

对于学习和开发团队来说,他们希望让用户能够亲自动手,而不需要经历无数的麻烦,也不需要为从 IT 到法律的每个人制造麻烦,ACG 商业版提供了可以简化这一过程的实际操作的学习工具。

ACG 的实践学习工具允许组织在花费更少的情况下进行实验和创新。少了多少?有趣的是你会问…


查看“云技能发展:在线、教师指导还是混合?”了解如何为你的组织选择正确的技能培养方法。


ACG 实践学习的投资回报率

在云沙盒环境之外的云中进行实验的成本是多少?可以很多。

科技恐怖故事比比皆是,一夜之间导致 1500 美元的账单或者得到 3700 美元的惊喜账单。你甚至会听说有人因为几个月的测试而被收取 6 万美元的费用。这是一个昂贵的“哎呀。”

幸运的是,这些失误是如此常见,以至于(通常)云提供商客户支持部门会定期为首次违规者提供一次机会。但是当你谈论数十或数百人在云中闲逛时,风险会变得更加严重。


了解云技能如何产生实际回报

查看云技能投资回报报告并查看对近 100 家公司的 20 个维度的分析,确定对云技能和云成熟度的承诺的影响。


惊喜账单并不总是五位数。但是,与任何在安全的云沙箱之外学习过云的人交谈,你肯定会听到很多关于 30 美元或 100 美元钞票的故事。你会开始认为它们是云学习通道的某种仪式。

为了这篇文章,让我们假设你的学生只是暂时忘记关闭资源,被 30 美元的账单击中。

以下是随着您增加课程和实践活动的数量,可以实现的一些实际成本节约。

ACG 成本比较

| 接受培训的个人 | 10 | 30 | 100 | 1,000 |
| 动手实验室+云操场会议 | 50 | 150 | 500 | 5,000 |
| 一生的积蓄 | $1,500 | $4,500 | $15,000 | $150,000 |

In addition to these savings, ACG subscription includes full year access to ACG content, Hands-on Labs, Cloud Sandboxes and Practice Exams.

实践技能发展是一项明智的投资

要学习云计算,您的员工需要亲身体验云计算。ACG 让你的团队可以访问真正的 AWS、微软 Azure 和谷歌云环境,在那里他们可以磨练技能,而不会给你的环境带来风险或意外成本。

  • Cloud Playground 允许用户与我们的课程一起云,测试驾驶技术,尝试新事物,甚至打破东西-所有这些都没有意外的成本或风险。

  • 动手实验是基于目标的实践场景,从快速掌握新技能的 15 分钟实验到构建整个应用程序的深入探索。

但好处远不止节省成本。有了云专家,您的员工可以随时随地获得学习者需要的引人入胜的实践内容。我们还提供工具来帮助企业管理、衡量和扩展技能发展。

准备好开始了吗?查看我们的 ACG 商业计划,看看哪一个适合您的组织。

在 ACG 提高各级云技术技能和职业发展

原文:https://acloudguru.com/blog/news/how-acg-is-making-tech-careers-more-accessible

可访问性是我们所做一切的核心。我们希望任何人都可以使用云,特别是那些从来不认为 IT 职业对他们来说是真正可能的人。

为了实现这一目标,我们自豪地提供自然融入日常生活的课程——在家、在学校、在工作中——让各种背景的人能够以不同的方式思考,以不同的方式工作,并建设一个更光明的未来。

与此同时,我们不断问自己:我们能做得更多吗?我们如何确保每个人都有机会成为云专家?有很多不同的方式来回答这个问题,但今天,我很兴奋地谈论一个。

这个月,我们采取了另一项措施,为科技职业带来平等的机会。我们宣布大学生现在有资格享受高达 47%的个人年度订阅我们的课程、动手实验室和云沙盒服务的优惠,为他们提供学习最受欢迎的云架构所需的资源。

缩小云技术技能差距

成千上万的学生即将进入竞争激烈的后 COVID 就业市场,这将一个关键群体置于一个非常艰难的境地。我们不可能忽视即将到来的毕业生将在塑造企业在云计算中的运营和创新方式方面发挥的重要作用。同样,他们也有能力改变科技行业的面貌。

通过让即将到来的毕业生更容易接受技术教育,我们的目标是实现公平竞争,并最大限度地增加学生数量——来自所有背景和学科——以填补日益增长的技术技能缺口。

公司非常需要了解云并在云环境中有实践经验的人。云技能开发在大部分高校都比较难,我们想填补这个空白。不仅如此:我们希望让学生成为终身学习者,并帮助他们每个人在未来的角色中产生有意义的直接影响。

我们知道,学生不是唯一需要更好地接受技术教育的群体。这只是我们将为技术领域中历史上代表性不足的群体提供的许多项目中的第一个,包括妇女和退伍军人。

面向所有技能水平的顶级云学习课程

我们很兴奋能够启动这些项目。要查看您是否有资格享受学生折扣点击此处。像往常一样,我们会让你知道最新的消息。

我如何找到时间学习?成功学习的 5 个关键

原文:https://acloudguru.com/blog/engineering/how-do-i-find-time-to-study

所以你开始学习新的东西,因为你想提升自己和你的职业生涯!我为你感到骄傲。这是一个极好的目标,我相信你能做到!

但是如果你像我和大多数其他人一样,你可能也在努力寻找生活中学习的空间。有时候,光是熬过一天就够难的了,没有足够的时间和精力剩下来学习。别担心,这个问题有解决办法。


加速您的职业发展

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


所有的学习都是前进

首先,确保你明白学习不是一个全有或全无的过程!任何少量的学习都会推动你前进。让我们来分解小步骤如何推进大目标。

1.找到小分钟

我的第一个建议是积极利用“小分钟”——当你没有 100%专注于其他事情时,你生活中的那些微小的时间。不要把你的学习仅仅局限在几个小时的特殊活动中。相反,创造机会进行点滴学习,然后尽可能多地抓住这些机会。

小分钟无处不在:在杂货店排队时;在你上下班途中;洗澡;在你休息的时候;希望孩子们能尽快上车;入睡;在牙医的候诊室里;或者当你的大脑没有被占用的时候。首先,试着记录下这种情况在你一天中发生的频率,这样你就可以珍惜你拥有的时间。

2.填满每一分钟

一旦你观察到生活中有了这些额外的空间,你就需要在这几分钟里找些适合的事情来做。例如,培训视频可能是你学习计划中非常重要的一部分,但不是在你开车的时候!然而,如果你同样的视频,你仍然能学到东西,那会怎么样呢?我打赌你可以,如果你以前已经看过了,你只是需要一个评论。你甚至可以通过想象幻灯片上的图表来测试自己。

当我在某个地方排队时,我发现在我的手机上调出文档真的很有价值,比如某项服务的常见问题页面,或者一篇链接自我看过的视频课的文章。即使只是读几个句子,也能让你的大脑以某种方式思考这个话题,当你回到这个话题时,它能让你学得更深。

睡着了怎么办?有些人确实在听着录音入睡时有所收获,导致一些报道称课程作者已经开始讲述学习者的梦了!但是,如果你只是利用这段时间来好奇和想象一些技术,然后你昏昏欲睡的好奇想法可能会导致你坐下来更长时间的超负荷学习。

3.混淆你的学习

改变你的学习习惯来反映你在你的小时间里(和大时间里)在做什么!)很重要,因为当你学习的时候,你需要把它混合起来!学习科学告诉我们,我们人类这样学习更有效。甚至思考看起来不相关的事情也能帮助我们的大脑发展新的连接路径。这些路径组成了心智模型,它不仅是我们学习的基础,也是我们长期决策的基础。

我的观点是,除了你想学的特定的东西之外,考虑不同的东西不是在“浪费”时间。我们成功的最大障碍——学习和其他——往往是我们的盲点,这种开明的探索通常可以揭示和解决这些问题。

4.把你的学习分开

在你的集中学习时段之间有一些时间确实有助于你的大脑处理信息。事实上,更好的方法是将你的学习分成更小的、分离的片段。如果你对这是如何运作的感到好奇,可以看看维基百科上关于分布式实践连续位置效应感知学习的文章。

试图把你的学习塞进更少的集中时间会导致更坏的学习习惯。给你的大脑时间和空间去“思考事情”是非常重要的。当然,如果你有一个七小时的课程,而不是一天一个小时,你会学到更多——但是如果你把这七个小时分散到一周,你会学得更好!当然,做任何对你的时间表有效的事情。但是,如果你的学习时间很短,也不要难过。

5.继续前进

最后,我会告诉你,你应该每天尽你所能学点东西。这会让你比你意识到的更进一步。当你最终回头看的时候,你会感激你已经设法往你的大脑里塞了多少东西。

Windows 11 相对于 Linux 表现如何?

原文:https://acloudguru.com/blog/engineering/how-does-windows-11-perform-vs-linux

本月 Linux 有什么新进展?我们有很多新闻要谈,包括 Ubuntu 的一些大发布,Windows 11 与 Linux 性能基准测试,Linux 中游戏的一些好消息,以及一个很酷的基于 Linux 的 Raspberry Pi 项目。请继续阅读了解更多信息!


加速您在云计算领域的职业发展

从 ACG 开始,通过围绕 AWS、Azure、Google Cloud、Linux 等的实践学习转变您的职业生涯。


Ubuntu 21.10 (Impish Indri 发布)

Ubuntu 21.10 (Impish Indri) 已经发布。最新版本的 Ubuntu 带来了令人兴奋的新软件,如 Gnome 版本 40 和基于 5.13 的内核。它还以最新的火狐 93 版为特色。

Gnome 40 中有一些小的视觉差异,比如 dock 被移到了屏幕底部,windows 上的圆角。

还有一个活动概述,显示您的工作区水平组织。多工作空间已经存在了几十年,但 Canonical 正在对它进行新的转变。因为它们是水平的,你可以用一个热键来控制它们,这使得你可以很容易地在工作空间之间切换。这对于软件开发人员很有帮助,例如,当 IDE 在另一个屏幕上时,他们保持调试屏幕。当您需要组织您的工作区以匹配您的流程时,它对媒体制作也很有帮助。

Wayland 是 Ubuntu 的默认显示服务器,它也有一些变化。它现在为 NVIDIA 用户提供了高级支持,这意味着在 Linux 上玩游戏的人可以获得更高的性能和好处。

对于那些将 Ubuntu 放在 Raspberry Pi 上的人来说,还有一些额外的社区支持,Ubuntu Impish Indri 现在将支持 Sense Hat,这是一种用于物联网开发的流行设备。它支持许多传感器,并有一个 LED 矩阵。


查看本月免费的 ACG 课程,体验云学习。只需创建一个免费账户并开始行动。不需要信用卡!


5 个 Linux 发行版显示出相对于 Windows 11 相当大的领先优势

Windows 11 已经发布,被认为是稳定的。Phoronix 运行了一些测试,看看它与一些 Linux 发行版相比如何。当谈到 Windows 11 和 Linux 的性能时,谁会赢?

事实证明,五个 Linux 发行版远远超过了 Windows 11。

他们进行了测试,发现我们刚刚提到的 Ubuntu 21.10 以及 Ubuntu 20.04.3、Arch Linux、Fedora 和 Clear Linux 在测试中的表现都优于 Linux 11。Clear Linux 是英特尔构建的一个考虑到性能的发行版,它相对于 Windows 11 获得了最大的收益。

这些收益主要集中在 CPU、GPU 和内存上。

当你在 Linux 上玩游戏时,这种性能很重要,但在你的机器上工作时更重要——比如编译、渲染视频或处理 AI/ML 项目。这种额外的性能意味着您可以节省宝贵的时间。

现在,当 Phoronix 对 Windows 10 进行同样的测试时,差距没有那么大。这意味着您可以使用 Windows 或 Linux,没有太大的区别。但相对于 Windows 11,它表明使用 Linux 将是一个显著的变化。

随着性能的提高,我们可以看到更多的人迁移到 Linux 来完成需要更好的 CPU 和内存速度的任务。

值得注意的是,Windows 11 是全新的,所以我们可以预计他们将提高性能,缩小差距。如果他们不这样做,我们可能会继续看到更多向 Linux 桌面的迁移。

Redcore Linux 版本

Redcore Linux 是一个你可能没有听说过的发行版。该组织发布了版本 2102 北极星,这主要是一个错误修复版本,但显示出巨大的潜力。

为什么?因为 Redcore Linux 是基于 Gentoo 的,侧重于性能和低资源使用率。然而,Gentoo 通常必须手工编译,并且需要大量的配置。Redcore 为您完成了大部分工作。这是一个类似 Gentoo 的滚动发布系统。

这意味着你可以持续获得最新版本的软件包。你不会为了一个新版本的操作系统等上半年到一年。这是一个权衡:如果你想使用最新版本的软件包,它可能会牺牲稳定性。

KDE 等离子 5.24 桌面环境引入对指纹读取器的支持

KDE,Linux 最流行的桌面环境之一,最近发布了一个指纹认证功能。这意味着用户可以在其机器上使用指纹认证,并注册和取消注册指纹以进行访问。对于那些想进一步保护他们的 Linux 机器的人来说,这是一个好消息。

你现在就可以下载 Ubuntu Linux 22.04 LTS(海哲明水母)日常版本

我们谈到了 Ubuntu 21.02 Impish Indri release,这是 Canonical 的 Ubuntu 稳定版本。你现在可以下载下一个版本,这是在测试中。Ubuntu 22.04,海哲明水母,现在可以下载了。

如果你想测试将于明年发布的 Ubuntu 的最新版本,那就去看看吧。它将以 Gnome 42 为特色,Gnome 42 从初级操作系统中获得了一些提示。有一个全系统的黑暗风格偏好和日夜调度选项。有新的电源配置文件可帮助节省笔记本电脑的电池。它有一个带热角的新多任务面板,可以帮助您以快速、高效的方式浏览桌面。

NVIDIA 495.44 稳定的驱动器是为 Linux,增加了 GBM API 支持

NVIDIA 495.44 稳定驱动程序面向 Linux 发布。对于游戏玩家和使用 GPU 进行视频渲染、人工智能和 ML 等工作的人来说,这是一个好消息。

您可以从硬件中挤出更好的性能和附加功能。它有更好的 Wayland 体验,会更流畅,他们还修复了一些 X 服务器的 bug。

该驱动程序现在与 GBM API 一起工作,这允许开发人员利用硬件来获得更流畅的体验。

这整个办公室都是覆盆子汁

树莓派是一种让你的办公室成为智能办公室的低成本方式,Monterail 正是这么做的。

他们用 Raspberry Pis 构建了一个网络来控制照明、会议室占用、办公室门的安全等等。他们甚至在厨房里安装了变色 LED 灯——全部由运行 Linux 的 Raspberry Pis 控制。激动人心!

愿您的源代码保持开放,您的代码可以编译。继续牛逼吧,云大师们!

在 YouTube 上订阅一位云大师的每周云新闻,在脸书上喜欢我们,在推特上关注我们,在不和谐上加入对话。


如何建造自动驾驶机器人赛车

原文:https://acloudguru.com/blog/engineering/how-i-built-an-autonomous-car-to-drive-awareness-for-women-who-code

“当你戴上头盔时,你是女人还是男人并不重要……重要的是你的能力、你的智慧和你的决心。”
—米尔卡·达诺,职业赛车手

在最近的 AWS re:Invent 会议期间,我有机会在我们的展厅展位上展示威瑞森的云工程成果,并分享我对我们如何在 AWS 上开发和部署大规模解决方案的见解。

作为会议体验的一部分,我们在 A Cloud Guru 的朋友邀请我参加 Robocar 集会,这是一个为期两天的黑客马拉松,专注于深度学习、物联网和人工智能,以制造和比赛 1/16 比例的自动驾驶汽车。

在两天的时间里,我作为唯一的女性参与者与来自 Capital One TechAnne-Jeanette 合作——定制并训练一辆比例模型自动驾驶汽车,以参加 re:Invent 赛道上的计时赛。

经过几天 12 个小时的黑客攻击,我们制造了一辆具有竞争力的无人驾驶模型赛车,提高了对编码女性和 AWS“我们动力技术”多样性项目的认识。

让你的机器人汽车启动并运行的步骤

“驴车”是大多数新手使用的初始套件模型——它大约需要 200 美元,需要几个小时才能组装好。Donkey 是支持自动驾驶汽车的 Python 库的名字。

为什么叫驴?
驴是最早驯化的驮畜之一,它们的倔强是出了名的,而且它们是安全的。在汽车能够从城市的一边行驶到另一边之前,我们会推迟用某个天体来命名它。

第一步:制造汽车

你将需要建立汽车底盘,然后配备树莓皮和相机。在 donkeycar 网站上可以找到零件清单和说明——你可以打印零件,也可以选择购买。

制造一辆汽车——驴车——安装摄像头有点棘手,M2 螺丝可以拧进塑料里,但有点难。我—docs.donkeycar.com

步骤 2:设置软件环境

首先,你需要在你选择的主机操作系统上安装 64 位版本的 gitminiconda Python 3.6

wroscoe/驴子—驴子—自动驾驶汽车—github.com

  • 首先,您需要 git 将 repo 和 cd 克隆到根文件夹中。
git clone https://github.com/wroscoe/donkey
cd donkey
  • 接下来,启动 Anaconda 管理系统。
conda env create -f envs/mac.yml
source activate donkey
  • 下面的pip命令用于安装 Python 包。在这种情况下,我们将使用它来安装 TensorFlow 一个由谷歌创建的开源机器学习库,用于分析从我们汽车的摄像头收集的图像和数据。
pip install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.3.0-py3-none-any.whl
  • 我们还将使用pip来安装剩余的包。
pip install -e .
  • 最后,你需要创建汽车的数据路径。
donkey createcar — path ~/d2

恭喜你!设置完成。

步骤 3:配置树莓 Pi

在第一步中,您将树莓派和摄像头连接到汽车底盘上。此时,您的 robocar 应该已经完全组装好了。

在“ssh”到我们的 pi 之前,我们需要将 SD 卡制作成启动盘,这样它可以帮助启动 pi。对于简单版本,您可以安装 Etcher 或 Noobs——它们都提供了用于写入 SD 卡的图形界面实用程序。

对于像我这样喜欢命令行的开发人员,打开终端窗口并键入:

diskutil list
  • 找到你的 SD 卡的分区——它可能叫做disk4
  • 用您的 SD 卡磁盘名称替换
diskutil unmountDisk /dev/<name of disk>

现在我们需要下载 donkeycar 团队创建的方便的磁盘映像。当前的版本是 22,但是我建议查看 donkeycar 站点上的文档以获得最新版本。

  • 接下来,将下载映像安装到 SD 卡上。这可能需要一些时间,请耐心等待。
sudo dd bs=1m if=<image/path/image.img> of=/dev/rdisk<disk# from diskutil> conv=sync
  • 如果您的映像放在下载文件夹中,并且您的 SD 卡是 disk4,则命令应该是:
sudo dd bs=1m if=~/Downloads/donkey_v22/donkey_v22.img of=/dev/rdisk4 conv=sync

ProTip

可以喝酒,可以自主驾驶!

步骤 4:将您的 pi 连接到 wifi

为了将从 Raspberry Pi 收集的驾驶数据传输到您的本地主机上进行培训,我们需要确保这些设备在同一个 wifi 网络上。

要设置 wifi,需要在启动分区中安装一个文件,其中包含启动时连接网络所用的配置参数。

  • 确保您的 SD 卡仍处于连接状态。
  • 在您的 SD 上,应该有一个/boot/目录。
  • 在 boot 里面,会有一个 wpa_supplicant.conf 文件。
  • 打开您最喜欢的文本编辑器并添加您的网络设置。
  • 我们在黑客马拉松中使用了下面的代码。确保添加您的网络名称和网络密码,并保留引号!
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
 ssid=”<your network name>”
 psk=”<your password>”
}
  • 现在你可以把 SD 卡取出来插在你的树莓 Pi 上了。如果网络上只有一个树莓派,可以尝试用ping raspberrypi.local找到它的 ip 地址
  • 在 robocar 拉力赛黑客马拉松上,这不是我们团队的最佳选择。我们必须将 pi 连接到外部监视器来找到它的 ip 地址。
  • 如果您需要这样做,您在 donkeycar 映像文件版本 22 上的用户名和密码将是:
Username: pi
Password: asdfasdf
  • 登录后,输入ifconfig wlan0查看 ip 地址信息。
  • 一旦你有了你的 Raspberry Pi 的 IP 地址,我们现在就可以 ssh 到我们的 Pi。耶!
ssh pi@<your_pi_ip_address>

步骤 5:配置 pi

一旦您登录到您的 Raspberry Pi,您就可以使用提供的模板,使用 donkey CLI 创建您的汽车了。

donkey createcar — template donkey2 — path ~/d2
  • 将目录更改为您刚才指定的路径——在本例中是/d2/
cd ~/d2
  • 最后,启动您的 web 服务器!
python manage.py drive
  • 如果成功,服务器将在<your car’s IP’s address>:8887运行,其中 8887 是我们的端口号。
  • 为了让驾驶更容易,我们用手机连接到网络服务器。只要确保你的手机和你的树莓派连接在同一个 wifi 网络上。

步骤 6:获取数据并训练模型

恭喜你。robocar 现已安装完毕,您可以开始为您的汽车记录一些驾驶数据了——数据越多越好!一定要慢行;出于训练的目的,你想把最好的模型推到汽车上。

记录的数据由一个 JPEG 图像和一个相应的带有转向和油门信息的 JSON 文件组成。一旦您收集了数据,您将把数据传输到您的主机操作系统,以使用 TensorFlow 创建一个模型。

  • 从你的覆盆子里复制数据。
rsync -r pi@<your_pi_ip_address>:~/d2/data/ ~/d2/data/
python ~/d2/manage.py train — model ~/d2/models/myPilotName
  • 完成后,将新的试点文件推送到您的车上。
rsync -r ~/d2/models/ pi@<your_ip_address>:~/d2/models/
  • 进入您的 pi,用闪亮的新 pilot 文件启动您的服务器。
python manage.py drive — model ~/d2/models/myPilotName
  • 连接到您的 web 服务器,并通过从下拉列表中选择“本地角度”来开始使用试点文件。这将允许你控制速度和飞行员控制转向。

最后一步:庆祝!

恭喜你。你现在有了一辆自动驾驶汽车——尽管可能还不是很连贯。每次尝试后收集的数据越多,模型和自动驾驶就越好。

对于更强大的模型训练,您可以使用部署为 Docker 容器的深度学习虚拟机在 AWS 上训练您的模型——这是一种训练更高性能模型的更高级方法。

如果你去了 AWS re:Invent 并参加了机器人汽车拉力赛 hackathon——你还会从沃纳·威格尔那里得到这个令人敬畏的奖品!

我们支持科技

在 Robocar Rally hackathon 的一个挤满了 100 多名工程师的房间里,Anne-Jeanette 和我是仅有的两位女性开发人员。我很感激我们有机会代表编写代码的女性,这要感谢一位云专家以及她们与 AWS We Power Tech 的合作——谢谢!

在参加了黑客马拉松和会议之后,前进的道路看起来非常清晰。那些在技术领域代表性不足的人需要更多像 Robocar 拉力赛这样的机会——获得培训、会议和黑客马拉松的机会,这些机会提供了克服职业进入和发展障碍所需的高级技能。

We Power Tech ——一位云专家正在与 AWS We Power Tech 合作,希望看到一个各种肤色、性别、信仰、起源的技术未来…——info . A Cloud . Guru

AWS re:invent 大会是一个与众多引领云计算未来的女性联系、交流和学习的绝佳机会。我很幸运能在像威瑞森这样的公司工作,领导们积极支持技术的多样性和包容性——看到这么多其他公司加入对话令人鼓舞。

一起,#WePowerTech!


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

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


投资技能发展如何帮助阻止人才流失

原文:https://acloudguru.com/blog/business/how-investing-in-skills-development-helps-halt-brain-drain

他们说“没有人是不可替代的。”但是“他们”经常忽略的是替换人是多么具有挑战性。

尤其是好人。

而且尤其是说到云人才。

就业市场可能处于一个不可预测的地方——如果你最近试图喝杯咖啡,你可能会注意到这一点——但有一点是不变的:对云技能的需求。


从持续学习中获得持续价值
持续学习的文化如何帮助你实现商业目标?在这个免费点播的网络研讨会中了解更多信息。


云技能仍然是热门商品

根据 LinkedIn 的数据,从历史上看,云技能已经连续多年成为最受欢迎的硬技能之一。

今年,LinkedIn 报告称这一趋势仍在继续:“随着公司寻求保持其竞争优势,并通过创新建立成功记录,技术技能现在在全球范围内非常受欢迎。”

这给雇主们制造了一场完美风暴。

人们正以创纪录的速度离职,不仅仅是咖啡师和蓝领工人。美国劳工统计局(U.S. Bureau of Labor Statistics)报告称,美国人连续第四个月辞职,人数创下纪录——7 月份有近 400 万人辞职。

当然,问题是当员工离开时,你不只是失去了他们的技能。你还会失去大量的机构知识和一种潜在的重要公司文化。

鉴于对顶级云人才的持续需求和竞争(63%的 IT 领导者报告比大脚怪更难找到合格的工程师)和辞职人数,最大限度地减少人才流失应该是任何依靠人才完成工作的组织的首要任务。(阅读:所有人。)

你如何阻止人才流失?

你会猜“向你的人扔钱吗?”这可能没什么坏处(除非你真的砸钱给他们——那可能会有点伤害他们),但这可能不是你认为的快速解决方案。

即使像 AWS、谷歌和微软这样的高薪技术领导者给云工程师提供的丰厚薪水也不足以阻止人才跳槽。

当最近关于微软如何抓住 AWS 高管的新闻传出时,传言称 AWS 正在努力解决一些严重的云人才流失问题,这将给公司的新首席执行官带来问题(在安迪·杰西从 AWS 首席执行官转到亚马逊首席执行官之后)。

因此,如果堆积如山的现金和在最大的科技公司工作的影响力都不能解决你的人才流失问题,还有什么能解决呢?以其他方式投资你的才能。

投资于技能发展有助于留住员工

根据云学习报告的状态,超过 90%的员工更有可能与通过技能发展投资其职业生涯的雇主长期合作。

正如格伦·洛皮斯本周在《福布斯》谈论“伟大的辞职”时所说的那样:“人们想要超越你的期望。他们想要应对挑战。他们想鞭策自己,学习新的东西。他们比以往更加自由地离开一份没有空间做这些事情的工作。”

所以你帮助你的员工学习新的东西,你让了解你的组织的员工拥有一套闪亮的新技能?听起来像是双赢。

调查显示。。。80%的云领导者表示发现提升现有人才的技能比雇佣新技能更容易。

云培训有着实实在在的投资回报,投资于云培训计划的组织报告称,其投资回报率可达 2 倍至 6 倍。

在分析我们课程的使用情况时,我们发现,在使用 A Cloud Guru 平台的前 3 个月内完成至少一门课程的员工在公司的时间往往比没有完成的员工长 20%左右。


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

云 ROI:云技能如何产生实际回报 我们分析了近 100 家公司,以确定对云成熟度承诺的影响。在本指南中,看看企业投资云技能和技术能获得多少价值。


建立学习计划,提高保留率

围绕云技能发展构建学习计划没有通用的方法。

  • 一些公司可能会给员工提供 20%的时间,允许他们利用一周的一部分时间学习新技能。
  • 其他人可能会告诉他们只要你觉得有时间就去做。
  • 一些公司甚至用奖金、额外休假和一些老套的公开表扬来激励员工完成培训。

承包公司 ManTech 发起了一项内部认证挑战,员工完成一项认证将获得现金奖励。在第一次认证挑战中——100 天 100 个证书——man tech 支付了 260,000 美元的高级认证奖金,员工获得了 312 个认证。

当然,证书不是一切。但它们是员工技能水平的良好晴雨表,也是希望扩大云基础架构团队的雇主准备就绪的良好指标。员工将始终能够通过他们的认证来展示他们的专业技能。

在学习计划中获得的新技能提高了员工在当前职位上的表现。但它们也提供了晋升的机会,进一步提高了员工的满意度和忠诚度。

寻找更多关于如何留住云人才和阻止人才流失的见解?看看 ACG 的报告 阻止云端人才外流


利用 ACG 转变您的才能(和您的业务

将您现有的劳动力转化为您需要的劳动力。与 ACG 一起为企业云创造持续创新的文化。借助世界上最全面、最实用的 AWS、Azure 和 Google Cloud learning library 提升 10 或 10,000 人的技能。

教育行业如何使用云技术?

原文:https://acloudguru.com/blog/business/how-is-the-education-industry-using-cloud-technologies

教育技术已经从老式计算机实验室的日子里走了很长的路,那时的计算机实验室有点阵打印机和 DOS 驱动的台式机运行着俄勒冈小道。没有铅笔,没有书,现在是 iPads 和 Chromebooks。(或者类似的。)

作为一个预算紧张、变革阻力巨大的行业,教育行业如何利用云计算?

云计算在教育领域是如何使用的?


云计算在教育领域的发展

教育部门如何应对 2020 年的挑战

可能感觉时间在 2020 年慢了下来。但是,在各个行业和部门,这一年促使许多组织在数字化转型方面加快步伐。教育不是期望。

但是有了这么多的遗留系统和流程,教育创新可能会像开学第一天的暑假一样遥不可及。幸运的是,新冠肺炎在教育领域面临的许多挑战都可以通过云解决。

无论是在 K-12 和小学,高等教育,还是教育技术,云计算都可以改变教育-对于教育工作者,学生和那些支持他们的人。因此,听说以教育为重点的云计算预计今年将达到 250 亿美元的市场价值,这可能就不足为奇了。

那么云以及云解决方案对于当今教育行业的价值是什么呢?教育机构如何适应这些方法并获得云计算的真正好处?

以下是各种教育机构利用云优势的一些方式。


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


云计算在教育方面有什么好处

一、教育机构为什么要投资云?

从最基本的层面来说,教育云的优势在于以最小的成本获得最大的收益。“结果”可能因您期望的结果而异,但可能包括成本节约、安全性、灵活性、IT 简化等。

以下是云计算在高等教育、K-12 和小学以及教育技术领域的一些巨大优势。

1.获得灵活性

面向教育行业的云解决方案为该行业的组织提供了立即响应变化的灵活性,例如(只是作为一个完全随机的例子)突然从现场学习转向远程学习。

  • 有了云,组织可以根据需要增加或减少资源而无需进行设置内部硬件所需的耗时、昂贵且(有时)令人痛苦的官僚规划。

  • 需要使用尖端硬件来完成繁重的研究工作?云让你只需点击几下鼠标就能获得你需要的技术工具,而且你只需为你使用的东西付费。

  • 云还提供了自动增加技术能力的灵活性,以应对需求激增。对于内部部署的硬件,突然的、意想不到的访问服务器的人群会导致一切停止。但是云可以自动扩展处理需求——或者根据你的标准进行调整。

2.降低成本和复杂性

云为组织提供了灵活性,这是预算意识强、需求不断变化、预算不断缩减和需求不断膨胀的组织的理想选择。(听着耳熟?)当你只需要为你所使用的东西付费时,你可以在需要的时候使用工具,在不需要的时候不用付费。把它想象成订购一辆 Lyft 而不是购买一辆汽车。

  • 传统的 IT 纵向扩展方法既昂贵又缓慢。这需要规划,需要前期成本的硬件,以及 It 专家来设置硬件并保持其运行。有了云,大部分工作都由你的云提供商处理(例如,Amazon Web Services 或 Microsoft Azure)。

  • 加拿大的亨伯学院通过投资云计算,每年节省了 50 万美元,并改善了他们的 IT 服务台服务。

  • 这里需要注意的是,如果没有正确规划和执行云迁移所需的技术人员,云支出可能会失控。这就是建立云技能的关键所在。如果做得草率,迁移到云本质上并不是省钱之举。(为了把事情简化一点,让我们回到上面的例子:如果你一天要进行多次长途旅行,乘坐 Lyft 会比拥有一辆汽车更贵。)然而,云允许组织从资本支出转向运营支出模式 —或者从大额前期投资转向较小的、可预测的月度投资。

  • 维护技术是一项全职工作。云简化了 IT,解放了教育 IT 员工,让他们专注于组织目标 —而不是繁琐的硬件和软件维护。

3.确保可靠性、安全性和合规性

主要的公共云提供商运行着世界一流的尖端设施网络。他们为教育行业的数千家组织提供服务,这意味着他们最有可能满足您可能有的任何可靠性、安全性或合规性要求。

  • 将敏感的学生或财务数据保存在云中而不是硬盘上可以防止设备被盗或放错位置时数据被泄露

  • 云提供商能够保持低延迟,并提供近乎无与伦比的数据备份和灾难恢复

  • 与那些可能被拼凑在一起的定制解决方案相反,云提供商可以确保学生、家长、教师和教职员工可以在几乎任何地方的任何设备上轻松访问您的工具(显然是通过互联网连接)。


自动化 AWS 成本优化
AWS 为您的企业提供了前所未有的价值,但经济高效地使用它可能是一项挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况。


云计算在高等教育中是如何使用的

创新方法允许组织将挑战转化为改进的机会。这在高等教育中是如何运作的?

威德纳大学客户成功项目主任 John Kitchen 总结得很好:“本学年高等教育正面临一个前所未有的局面。。。现在是学术 IT 领导者考虑云迁移的财务和运营优势的时候了,云迁移可以帮助机构保持在线并蓬勃发展。

高等教育如何受益于云计算?

  • 实施新的平台和工具
    云为高等教育机构提供了通过新的数字平台工具发展更深层次联系的能力,并为教育工作者、学生和高等教育 IT 人员简化了技术。

  • 提高生产力和弹性
    多伦多大学,投资微软云解决方案帮助提高了应对不可预见挑战的能力。

    “在过去的几年里,多伦多大学对我们的基础设施进行了重大改进,这将有助于我们度过充满挑战的时期,其中最重要的是迁移到在疫情这样的活动中可扩展的云服务,”多伦多大学首席信息官 Bo Wandschneider 说

  • 通过现收现付模式降低成本
    云带来的简化带来了一些财务收益。迁移到云可以帮助高等教育机构更明智地花费他们的技术投资,弥补通常通过从停车到餐饮的一切带来的资金减少。这也让教育机构能够更容易地开设纯在线课程,以吸引那些可能还没有准备好或没有能力重返校园的学生。

  • 借助高性能计算推进研究
    云提供商可以提供处理复杂科学工作负载所需的高性能计算机。凭借存储(和共享)数 Pb 数据的能力,云使得与全球其他人共享结果和协作变得更加容易。

  • 利用机器学习和人工智能 获取更多数据可以让高等教育机构在教育中使用人工智能(A.I .)和机器学习的力量。这可以允许诸如个性化学习的学习和内容分析、使学习更有效的主动学习和实验设计,或者认知心理学研究的数据挖掘。

  • 从大数据和预测分析中获得答案
    在教育中利用机器学习可以让你从数据中获得答案。云工具可以帮助学术 IT 创建和运行有利于高等教育机构的解决方案,包括针对学生成功预测模型的教育数据挖掘和分析,这些分析可以提供关于学生保留率和参与度等问题的见解。

  • 启动完全远程教学
    对于高等教育来说,完全远程教学可以包括完全虚拟的课程,这些课程(可能)以更低廉的价格提供给学生,减少学校资源的消耗。这些课程可以根据非传统的学生时间表按需提供。例如,参见德克萨斯大学奥斯丁分校的计算机科学在线硕士项目。该大学能够削减费用和管理费用,同时提供灵活性来吸引学生,并有可能吸引那些可能还不急于回到面对面学习环境的学生。它还让学生选择以 10,000 美元的价格获得相对较低的高级学位。

  • 建立虚拟计算机实验室
    通过创建虚拟校园计算机实验室支持在线远程学习。其中包括集中管理的桌面和应用程序,这些桌面和应用程序是安全的,可以通过任何计算机的网络浏览器进行访问。这使组织能够按需扩展,而无需购买和设置硬件或 IT 基础架构。

  • 创建基于云的联系中心
    快速建立基于云的联系中心,从 IT 服务台到经济援助,为学生、家长、教职员工和员工提供入站和出站支持。

  • 以更经济的方式访问最新工具
    对于高等教育领域的学生和教师来说,从快速过时的实体书和软件转向基于云的工具具有多种优势,包括跨多种设备访问工具,并提供更经济的访问选项。
    像 Adobe Creative Cloud 这样的工具可以作为订阅模式获得,让学生在课程期间支付几个月的费用——或者,就像 Autodesk 的情况一样,一些工具可能是免费的。

  • 提高 IT 管理的效率 迁移到云有助于缓解繁重流程所需的更高水平的 IT 资源,例如建立适当的结构来处理课程注册期间的巨大流量高峰。此外,将主要的管理服务迁移到云中,可以使 IT 组织专注于更高价值的活动。

    为了确保您获得云迁移的最大收益和投资回报,请确保 IT 员工具备将传统 IT 系统和云解决方案相结合所需的专业知识。

  • 用 DevOps 方法推动创新 虽然高等教育传统上可能反对变革,但组织向 DevOps 哲学的转变对提高创新速度大有裨益。 DevOps 将软件开发和 IT 运营结合在一起,通过 PowerShellPuppet 等工具实现 CI/CD现场可靠性工程自动化,减少从想法到实施所需的时间。


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

云 ROI:云技能如何产生实际回报我们分析了来自近 100 家公司的信息,以确定承诺对云成熟度的影响。在这份指南中,看看企业投资云技能和技术能获得多少价值。


云计算在 K-12 和小学是如何使用的?

云为 K-12 和小学及学区带来了广泛的好处,这些好处在远程和混合学习环境的新常态中更加明显。

  • 80%的学校教育技术领导者报告称使用云来提高效率,从 2017 年到今年,教育领域的云市场以预计超过 26%的 CAGR 速度增长。

老师知道怎么教。学校和地区 IT 团队只需投资为他们提供工具,让他们能够掌握这些技能,并让他们在远程或混合环境中工作。

K-12 和小学如何受益于云?

  • 减少开支 波特兰公立学校高级技术总监 Travis Paakki 在该学区的企业资源规划(ERP)安装即将结束时上任。他没有投资更多内部硬件,而是转向了 AWS。他说:“我们要么花 50 万美元购买新硬件,要么用其中的一小部分来试用 AWS。该学区在四个月内完成了全面迁移。“现在我们的年成本是替换成本的三分之一。我们现在增加了容量和灾难恢复,这些都是我们在本地数据中心无法获得的。”

  • 在不影响学习的情况下提高成本效益
    在西雅图之外,普亚勒普学区能够快速适应 2020 年所需的变化,得益于对微软基于云的解决方案的投资。

    马克·维特尔,教育技术的执行董事,普亚勒普正在“尽可能多地使用微软的堆栈。成本效益来自于充分利用我们支付的一切。无论是服务器、应用程序、单点登录,还是我们使用 Intune 所做的一切——将它们作为一个全面的包整合在一起,使我们变得非常经济高效……我们向云、Azure Active Directory 和 Intune 的转型通过有效地使用整个堆栈,增加了学习机会,同时降低了成本。教育工作者可以在教室中获得他们需要的应用,同时从一个中心位置平衡安全性和策略管理。”

  • 确保数据安全性和合规性
    与公共云供应商合作可以更轻松地满足合规性需求,如《家庭教育权利和隐私法案》(FERPA)。合规很麻烦,但云可以帮助让它变得更简单。

  • 改善协作
    从与忙碌的家长进行虚拟同步到课后学生交流,云提供了各种各样的实时协作工具。

  • 交付云桌面以支持远程工作
    借助桌面即服务解决方案,IT 可以在几分钟内配置桌面,并在几分钟内纵向扩展以覆盖数千名用户。

  • 简化 IT 运营
    云为学校和学区免去了日常基础设施管理的烦恼。管理艰巨的基于内部硬件和软件的解决方案可能会成为过去。了解了目标、工具和云迁移的基础 IT 人员可以开始将服务器迁移到云——无论是迁移到微软 Azure 还是迁移到亚马逊网络服务(AWS)

    作为云如何让学术 IT 变得更容易的另一个例子,参见夏洛特-梅克伦堡学校系统。通过使用谷歌管理控制台,学校系统能够更容易地实施安全的互联网浏览。

  • 确保数据得到备份 在各行各业中,最终用户从未因其正确备份和保护重要数据的能力而闻名。云将球(或者,在这种情况下,数据)从他们手中拿走,放入一个在线虚拟仓库,可以跨设备访问并轻松共享以进行协作。

  • 以更优惠的价格获得最好的工具 订购云工具通常比购买老式软件许可证要便宜。这些工具还可以在多种设备上访问,为学生、教师和员工提供了更大的灵活性。


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

看点:云的状态 没人能预测未来,但我们还是请了一组非常聪明的云专家来试试。Jassy 升任亚马逊 CEO 对 AWS 来说意味着什么?今年是多云之年吗?我们生动的小组在这个免费点播的网络研讨会中对未来一年进行了评估。


云计算在 ed tech 中是如何使用的?

教育技术公司如何从云计算中受益?这都是关于数字化转型的——这是营销人员喜欢的时髦词汇(技术人员也喜欢翻白眼)。

超越宏大但有时模糊的承诺,数字化转型在现实世界的教育技术用例中是什么样的?参见教育出版和评估服务公司 Pearson 向 AWS 的转移。该公司将数据库管理从内部 IT 人员的肩上转移到了云上,并且在一年内削减了 500 万美元的成本

企业战略集团高级分析师 Terri McClure 在接受 EdTech 杂志采访时表示:“以智能方式实现云计算并考虑数据保护和管理的组织将获得巨大成功。以下是教育技术公司通过云计算获得巨大成功的几种方式。

教育技术公司如何从云计算中受益?

  • 提高业务连续性
    云基础设施为教育科技公司提供了教育行业所需的高可用性和弹性。在发生导致基础设施停机的“灾难”时,云提供商提供快速故障转移,备份环境处于备用状态,可以快速扩展。

  • 将 IT 重心转移到战略目标
    回到 Pearon 的 AWS 成功故事:“过去担任数据库管理员的人现在几乎不接触数据库,”基础设施和运营副总裁伊恩·怀特说。“他们正在做更高价值的工作,并且乐在其中。”

    通过将任务从 IT 人才手中拿走,这些任务可以通过各种云工具轻松实现自动化或处理,您的技术奇才可以专注于能够带来更多战略优势的待办事项。


您的团队是否需要一份 IT 职业发展计划?或者,是否需要另一种途径来实现职业发展目标?谈到云学习,没有放之四海而皆准的解决方案。无论您的需求如何,ACG 定制学习路径总有一条适合您的路径。


  • 从机器学习和人工智能教育中获得可操作的见解 Classcraft 创建引人入胜的课堂解决方案,利用技术将学习游戏化。通过将数据库和分析基础设施迁移到谷歌云,这家教育技术公司能够访问人工智能(AI)服务数据分析功能,以生成突出趋势的报告,并为教师提供改善环境的建议。Classcraft 首席技术官夏羽·古伊梅特说:“我们每个月都会捕捉到大约 1000 万个与学校文化和学生表现相关的新数据点。“我们以前的基础架构无法扩展以支持所有这些数据的快速分析。借助 BigQuery 和其他谷歌云工具,我们可以快速向教育工作者提供有价值的见解。”

  • 推动创新
    云帮助教育科技公司以超乎想象的速度从概念到测试和发布。想想 2020 年突然转向在线学习。为了在 2020 年需求的巨大转变中继续为教育工作者和学生提供服务,教育 SaaS 提供商 Blackboard 利用 AWS 在一个周末将其平台 Blackboard Collaborate 扩展到其正常用户群的 50 倍。这一举措有助于他们继续为教育工作者和学生提供完善的在线学习体验,包括实践活动和协作,就像在普通教室中看到的那样。Blackboard 首席战略、投资组合和营销官 Kathy Vieira 表示:“随着时间的推移,我们只是继续利用这种[AWS]合作关系来加快我们的创新步伐,并阻止我们创造已经存在的东西。

  • 随需求扩展(和缩减)
    将应用程序改造为微服务,从而实现云带来的可扩展性。这意味着您的教育技术公司可以在高峰使用时段按需提供容量,并在流量下降时缩减容量。而且由于云提供了一种现收现付的模式,整个过程更加划算。

    考虑一下 Abre.io ,这是一家教育技术公司,为管理学生信息和学习管理所需的工具以及将学生与社区项目联系起来提供平台。“我们必须扩展我们的基础设施,以满足多个校区的需求,同时确保快速响应时间,”Abre.io 的产品副总裁兼联合创始人 Chris Rose 说。Abre.io 首席执行官詹姆斯·斯托弗(James Stoffer)表示:“我们增长了很多,但对我们的预算没有产生线性影响。由于谷歌云中的自动扩展等功能,我们也没有遇到任何正常运行时间和延迟方面的问题。”

  • 保护敏感数据的安全,满足法规合规性 云提供商让数据加密变得轻松,无论数据是在传输中还是处于静止状态。这有助于确保只有授权用户才能访问敏感数据。借助基于云的治理支持功能,云可以帮助组织加强合规性工作,同时降低实施这些工作的成本和难度。


云培训可以让教育 it 人员、教师和学生受益

教育机构发现了利用云培训项目的重要性。像云专家这样的技能发展平台不能用来提高教育 IT 人员的技能,以提供更智能、更强大的数字解决方案。但是它们也可以用来教育教师和学生。

  • 在迈阿密戴德学院(Miami Dade College ),它不仅提高了教学人员的技能,还提供了经济实惠的实践工具来培训学生,并为学生提供了一种获得云认证的方式,他们可以将云认证带到工作场所,以提高市场竞争力。云计算和网络安全教员 Diego Tibaquirá博士要求学生完成云计算大师课程,作为他们成绩的一部分,以增加他们获得认证的机会。“我们希望学生获得分数,通过课程,获得学位,并获得证书,因为这将使他们在进入现实世界时更具就业能力,”蒂巴奎拉博士说。“这确保了这不仅仅是另一门课;这是他们可以写进简历的东西。”

  • 在圣母大学,学生们正在成为广泛的 AWS 领域的专家,对关键的建筑概念有着坚实的理解。约什·冯·绍姆伯格(Josh von Schaumburg)是圣母大学门多萨商业和客户解决方案学院 Trek10 的兼职助理教授,他说:“他们从云专家那里学到的技能在课堂上通过真实世界的使用案例和例子得到了强化。这些都是他们在求职面试时可以谈论的技能。”


在云中接受教育。

掌握现代技术技能,获得认证,提升您的教育事业。无论你是新手还是经验丰富的专业人士,你都可以通过和 ACG 一起学习。

在冷启动之前,AWS Lambda 会将您的闲置功能保留多长时间?

原文:https://acloudguru.com/blog/engineering/how-long-does-aws-lambda-keep-your-idle-functions-around-before-a-cold-start

AWS Lambda 通常会在 45-60 分钟的不活动状态后终止功能,尽管空闲功能有时会提前终止,以释放其他客户所需的资源。

在最近的一次实验中,我比较了使用不同语言、内存分配和部署包大小的 AWS Lambda 的冷启动时间。

AWS Lambda 函数在长时间未使用后被调用,导致调用延迟增加时,发生冷启动。

一个有趣的观察结果是,功能在 5 分钟不活动后不再循环——这使得冷启动远没有那么糟糕。

了解语言、内存和封装大小如何影响 AWS Lambda 的冷启动。比较使用不同语言、内存分配和部署规模的 AWS Lambda 的冷启动时间。

λ超时实验

在实验过程中,我的一些功能直到 30 分钟的空闲时间后才经历冷启动。更长时间的不活动是亚马逊在幕后悄悄改变的——这是一个好消息。然而,这一变化促使我提出了几个后续问题:

  1. 触发冷启动的新的不活动期是什么?
  2. 内存分配会影响冷启动前的空闲时间吗?

为了满足我的好奇心,我设计了一个实验和假设。该实验旨在帮助我们了解 AWS Lambda 平台的实现细节。

由于 AWS 可以——并且将会——在不事先通知的情况下更改这些实现细节,所以您不应该用这些结果来构建您的应用程序!

假设 1

在回收相关资源之前,Lambda 允许你的函数保持空闲的时间是有上限的

这应该是必然的 AWS 永远保留闲置的功能是没有任何意义的。闲置功能占用的资源可用于帮助其他 AWS 客户扩大规模以满足他们的需求。对 AWS 来说,最重要的是,一个不活跃的功能不是支付账单。

假设 2

空闲超时不是常数

从开发人员的角度来看,冷启动前持续公布一段空闲时间更好,例如,功能总是在 X 分钟不活动后终止。

但是,AWS 很可能会改变超时时间,以优化更高的利用率。这使他们能够在其物理服务器群中保持更均匀的性能水平。例如,如果某个地区的资源争用程度较高,AWS 缩短冷启动时间并终止功能以释放资源是有意义的。

假设 3

不活动的上限因内存分配而异

具有 1536 MB 内存分配的空闲函数比具有 128 MB 内存的空闲函数浪费更多的资源。AWS 提前终止内存分配较高的空闲函数是有意义的。

尝试寻找不活动的上限

为了找到不活动的上限,我们首先需要创建一个 Lambda 函数作为system-under-test来报告它何时经历了冷启动。

然后,我们将需要一种机制来逐渐增加调用之间的间隔,直到我们到达一个地方,在那里每次调用都保证是冷启动——上界*。当间隔 X 分钟调用后观察到十(10)次连续冷启动时,确定上限值。*

为了回答假设 3——内存的影响——我们还将使用不同的内存分配来复制system-under-test函数。

这个实验是一个耗时的过程,它需要纪律和一定程度的时间精度。我只想说,我不会用手来做这件事!

设置实验的阶跃函数

我的第一个方法是使用一个 CloudWatch 调度来触发system-under-test函数,并让该函数根据它是否经历了冷启动来动态调整调度。

这种方法惨败。每当system-under-test更新时间表时,它立即触发,而不是等待新指定的时间间隔。

相反,我向阶跃函数寻求帮助。

AWS 步骤函数 允许您创建一个状态机,您可以在其中调用函数、等待指定的时间、执行并行任务、重试、捕捉错误等等。

下面是用来进行这个实验的状态机。可视化工作流描述了 FindIdleTimeout 状态将如何调用system-under-test函数。根据它的输出,它要么完成实验,要么在递归之前等待。

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

AWS Step Functions Visual Workflow

wait状态允许你使用数据驱动等待的秒数——更多细节参见文档中的SecondsPath参数。wait状态允许我用这样的输入启动状态机:

{ 
    “target”: “when-will-i-coldstart-dev-system-under-test-128”, 
    “interval”: 600, 
    “coldstarts”: 0 
}
  • 然后输入作为调用事件传递给另一个find-idle-timeout函数。
  • 该函数将调用target——它是system-under-test函数的一个变体,具有不同的内存分配
  • 如果system-under-test功能没有报告冷启动,它将增加间隔。
  • 最后,find-idle-timeout函数将为步骤函数的执行返回一条新数据
{ 
    “target”: “when-will-i-coldstart-dev-system-under-test-128”, 
    “interval”: 660, 
    “coldstarts”: 0 
}
  • 此时,wait状态将使用interval值,并在切换回FindIdleTimeout状态之前等待660秒。
  • 然后它将再次调用find-idle-timeout函数——使用之前的输出作为输入。
"Wait": {
    "Type": "Wait",
    "SecondsPath": "$.interval",
    "Next": "FindIdleTimeout"
},

有了这个设置,我可以开始多次执行——每次执行一个内存设置。使用 Steps Functions 仪表板,您可以观察状态机的活动执行。

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

The Steps Functions Dashboard

一路上,我对正在发生的事情有了充分的了解,所有这些都来自舒适的步骤功能管理控制台。

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

The Step Functions Console

使用阶跃函数控制台,您还可以看到状态机的输入和当前输出。

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

Execution Details: Input

第一次调用目标函数时,保证是冷启动。在这里,您可以看到当前冷启动计数为一(1)。

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

Execution Details: Output

使用阶跃函数控制台,您还可以看到状态转换何时发生,以及每次转换时的相关输入和输出。

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

State Transitions

结果!

从数据来看,很明显 AWS Lambda 在整点左右关闭了空闲功能。有趣的是,1536 MB 内存的功能提前 10 多分钟 *终止。**这一发现支持假设 3——*内存分配较高的空闲函数会被较早终止。

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

为了帮助分析结果,我收集了所有冷启动的空闲时间间隔的数据,并将它们分成 5 分钟的类别。

该表显示了在每个功能达到其上限空闲时间之前发生的冷启动次数

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

从这个图表中,您可以看到超过 60%的冷启动发生在 45 分钟之后——在功能达到其不活动上限之前。

尽管数据严重缺乏,但收集的少量数据仍然让我们观察到一些高水平的趋势:

  • 超过 60%的冷启动发生在不活动 45 分钟之后——达到上限之前
  • 具有 1536 MB 内存的函数在达到上限之前经历的冷启动次数明显更少
  • 值得注意的是,与其他函数相比,1536 MB 的函数也有一个较低的上限(48 分钟)

数据似乎清楚地支持假设 2——空闲超时不是一个常数。我们没有办法找出这些冷启动背后的原因,或者 45 分钟障碍是否有意义。

结论

AWS Lambda 通常会在 45-60 分钟不活动后终止功能,尽管有时空闲功能可以提前终止,以释放其他客户所需的资源。

我希望你觉得这个实验很有趣——它只是为了好玩和满足好奇心——仅此而已!请不要在假设这些结果有效的基础上构建应用程序,或者假设它们在可预见的未来仍然有效。实验的源代码。

虽然我回答了几个问题,但这个实验的结果也值得进一步研究。例如,与其他函数相比,1536 MB 函数表现出非常不同的行为。这是个特例,还是 1024 MB 以上内存的函数都有这些特质?

我很想知道。也许以后我会写一篇这个实验的后续。(用于命令)等待下面发表的消息😉


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

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


感谢阅读!如果你喜欢你所读的,点击下面的❤按钮,以便其他人可以找到它。可以 在 Twitter 上关注我

我需要多少认证才能获得云工作?

原文:https://acloudguru.com/blog/engineering/how-many-certifications-do-i-need-to-get-a-cloud-job

所以你想找一份云工程师的工作?

我明白了。云工程师赚六位数。他们致力于改变世界的问题。他们拥有迅速扩大的职业选择

而且,与其他一些高薪职业不同,如果你了解自己的专长,不需要昂贵的大学文凭也能被雇佣。谁不想在云中工作?

当然,事情没那么简单。云计算技能很受欢迎,报酬也很高,因为它们在就业市场上很稀缺。通常最难的云工作是你的第一份;没有专业经验很难展示技能。

在过去的几个月里,我一直在通过 #CloudGuruChallenge 帮助数百名云计算新手获得认证、面试和聘用。我收到的最常见的问题之一是:在申请工作之前我应该获得多少认证

“多少证书”是个错误的问题

让我们花一分钟时间真正了解证书。我还没见过一个招聘经理相信 IT 证书能保证技术能力。(老实说,你不会想为相信这一点的人工作。)毕竟,证书只是一张纸——而且前提是你要打印出 PDF 文件。它不会神奇地给你在现实世界中获得成功所需的经验。

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

然而,云认证对我的工程职业生涯很有帮助,我鼓励每个希望在行业中立足的人都这么做。证书是强大的工具,只要你明白它们是什么和不好用。

云证书什么时候有帮助?

证书给你一个全面的知识库。你可能没有传统的计算机科学学位。但是如果你通过了 AWS 认证解决方案架构师助理认证,你将会接触到行业专业人士使用的核心 AWS 服务和架构模式。你不必担心你在工作准备中错过了大的话题。证书把所有这些都放在一个地方。非常方便。从这个意义上说,你是否参加 cert 考试几乎无关紧要!仅仅研究材料就能给你真正的价值。

证书帮你获得面试机会。当招聘人员通读你的简历时,云认证的确会脱颖而出。它表明你对这个领域是认真的,并且有一些外部验证——特别是如果你缺少一个传统的证书,比如计算机科学的大学学位。证书不会让你得到工作,但它可能会让你有机会参加面试。

对于一个非常特殊的工作类型,证书是一个很大的优势。像咨询商店和 MSP 这样的专业服务公司是云认证人员的最大雇主之一(也是云专家的一些最大客户!)这是因为证书在咨询行业非常有价值:

  • 认证计数有助于咨询公司与 AWS 和微软等云提供商保持重要的合作关系。拥有 certs 的人越多,合作层级越高,收益越大。
  • 证书有助于将专业知识传达给顾问的客户。如果我要聘请外部顾问,我希望看到资格证书!
  • 某些类型的咨询项目需要它们(例如,AWS 只允许认证解决方案架构师专业人员正式进行 AWS 良好架构评审)。

大型咨询公司对经过云认证的专业人士有着无尽的需求…当然,假设你真的知道证书上说你知道什么!因此,通过获得认证,你真正打开了你的工作选择。


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


但是说真的,申请云工作要考多少 certs?

虽然从某种意义上来说,证书越多越好(我从来没有对拥有全部 12 个 AWS 证书的人印象深刻——无论从哪个角度来看,这都是一个令人印象深刻的成就),但你确实需要专注于培养其他技能。否则,你就有可能看起来像是只懂理论而没有实际能力。

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

如果您是全新的云用户,我建议您采取以下步骤:

1.挑一朵云

将你的精力集中在熟悉一个云提供商上,而不是在你没有专业经验的多种云上深耕细作。我建议从两大市场领导者之一的 AWS T1 或 T2 Azure T3 开始。

2。获得初级助理技术认证

我说的不是 AWS 认证的云从业者或者 Azure 的 AZ-900;这些入门证书很棒,但它们不会传达一个工程角色的技术信息。我建议你先获得 AWS 解决方案架构师助理微软 Azure 管理员认证,然后进入本指南的下一步同时继续追求你感兴趣的云计算领域的专业认证

3.建立一个文件夹,亲自动手掌握基础知识

云是一长串 IT 范例中最新的一个。尽管需求量很大,但“云”本身并不是一项技能。招聘经理会希望看到你在几个基础领域有知识。

我建议建立 2-3 个作品集项目,展示你对以下关键技能的掌握,然后将它们发布在 GitHub 上:

代码

你必须能够编写基本的脚本。我推荐学习作为编程语言的Python——它被全世界的云团队所使用。你不需要成为算法和数据结构方面的摇滚明星,但你应该知道如何操作数据对象并与云服务交互。尝试这个免费#CloudGuruChallenge 的 Python 组合项目,展示真实世界的技能。

联网

你将被期望对互联网如何工作有扎实的了解。 DNS 、TCP/IP 和证书——这些协议将统治你在云中的生活,在云中,一切都是由通过网络相互通信的服务组成的。一位云专家有一些很棒的动手实验来帮助你感受这里。

Linux 操作系统

Linux 在云中就像在老派的系统管理员工作中一样重要。知道如何导航 Linux 文件系统使用 Vim 和终端命令,以及一点关于容器化。我们的 LFCS 课程旨在匹配 Linux 基金会详述的领域、技能、知识和能力。

4.应用,同时继续学习

在这一点上,我会说继续前进,并开始申请协理级云支持和工程角色。在这个过程中,你应该继续提高你的技能,通过学习专业或专业水平的认证,如我上面提到的 AWS 解决方案架构师专业证书。如果你还没考上也没关系;招聘经理喜欢看到你有上进心,不断自学。

这个阶段开始面试可能会感觉不舒服,可能会遇到一些前期的拒绝。但是这些面试暴露出的弱点将帮助你保持一个简短的反馈循环,回去完善那些关键的编码、Linux 和网络技能。

另外,现在你已经完成了基础学习过程,你会对你想专攻的领域和原因有更好的认识。你可以在采访中分享这些信息——以及你从作品集项目中收集到的战争故事。

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

过渡到您的第一份云工作需要大量工作吗?很有可能。你可以期待在厨房的餐桌上度过一些深夜,并花一些时间在 StackOverflow 上沮丧的兔子洞。但是在这里工作几个月将会带来丰厚的回报。

因为如果你聪明地学习,并按照我给你展示的方式建立你的技能库,你就不必发送成千上万的简历,也不必奇怪为什么没有人给你回电话,不管你有多少证书。证书和实践构建经验的正确结合将脱颖而出,这是在云计算中取得成功的最快方式。

Forrest Brazeal 是 AWS 无服务器英雄,也是 AWS 认证解决方案架构师专家。

心智模型:如何记住重要的事情

原文:https://acloudguru.com/blog/engineering/how-mental-models-help-remembering

人们在学习技术时最常见的一个问题是被大量的信息淹没。更糟糕的是,这种斗争经常会持续到工作面试(和工作)。我要教你如何解决这个问题。

这篇文章向你展示了如何释放你的超能力,并且比你想象的更快更省力地学习大量的技术。让我们从一个教我们记忆如何工作的练习开始。

记忆是如何工作的?

首先,试着记住这些数字序列。

第一个序列是 1 2 3 4 5 6 7 8 9。

第二个是 6 2 8 3 1 8 5 3 0

第三个是 0 7 7 0 6 5 0 8 4

最后一个是 9999999999

好的…现在,试着记住每秒 299,792,458 米是真空中的光速。每秒 340 米是海平面的声速。每秒 11 米是一只空载燕子的飞行速度。当然是欧洲的。

不行也没关系!这个练习的第二部分只是把四个九位数的序列从你的短期工作记忆中推出来。不要倒回去——你现在还记得那四个数字吗?

你很可能还记得第一个数字是 1 2 3 4 5 6 7 8 9。你可能还记得最后一个数字是 9999999999。对吗?但是你可能忘记了第二个数字是 6 2 8 3 1 8 5 3 0,第三个是 0 7 7 0 5 6 0 8 4。

这是为什么呢?

嗯,这是因为当你看到第一个和最后一个数字序列时,你的大脑解析、理解并改变了它们的基本原理。你的大脑没有记住这些数字,它记住了它所理解的内容。对于第一个序列,它记住了,“这些是从 1 到 9 的数字。”对于最后一个,它记得,“那是九个九。”

但是它不能立即理解其他两个序列。实际上,第三个数字在我第二次打印的时候是错的。原序列为 0 7 7 0 6 5 0 8 4。不是 5 6。你注意到数字被调换了吗?

你没注意到也没关系!—大多数人不会。然而,如果我在第一个序列中调换了数字,你肯定会注意到。你的大脑会锁定那个错误,因为你知道如何计算!

如果你好奇的话,第二个序列是 Tau——是圆周率的两倍——第三个是代表 M A T 的十进制 ASCII 数字——我名字的前三个字母。这些并不像“1 到 9”或“9 个 9”那么简单,但是现在你知道这些模式是什么了,你也许可以告诉我,甚至是下周!当然,你可能需要通过查找τ或π,或使用 ASCII 转换器,将你确实记得的东西(即你理解的东西)转化为实际的数字,但你的大脑现在有了可以抓住的东西。

这是关键。因为在现实世界中,我们不需要记忆数字或其他信息。相反,我们需要对技术有足够的了解,以便在可能重要的时候查找并仔细检查细节。而且,要明确的是,记住的数字在任何技术职位面试中都不应该有影响——要么面试官试图评估你的工作潜力,要么这几乎肯定不是你想做的工作。

所以当人们问我,“我怎么能记住所有这些?”我说,“你没有。”你记得你所理解的。因此,请专注于此。

当然,我做这个练习的原因是为了帮助你们理解这一点,而不仅仅是听我说。这意味着你可能也会记得。让我们看看这如何应用到你的学习中。说你应该理解事物是很容易的,但我想通过教你心智模型来帮助你的大脑做到这一点。

什么是心智模型?

心理模型是现实的简化表示,你的大脑用它来预测事件或得出结论。基本上,它是你的大脑通过将新信息组织成层次结构来理解事物时所构建的。它包括识别模式,是大脑的一种数据压缩。这就是让你记住第一个练习中的两个简单序列的原因——知道如何计数是一个心智模型,能够识别重复的模式是所有心智模型的基础。

当你用逻辑代替记忆时,那是基于一种心智模式。例如,你不记得 123456 是一个比 987 大的数字,但是你知道 123456 比 987 大。这里有一段来自女王大学计算学院的 David Skillicorn 教授的话:“任何人都可以通过结构化信息来学得更快。这是另一种常见的权衡——投入其中会感到满足,但花一些时间来组织可以提高效率,即使短期内感觉不那么满足。”

更重要的是,心智模型不只是让学习更快;它们实际上也让学习变得更容易。正如我们所看到的,我们的人类大脑在记忆相关概念方面比不相关的细节要好得多。当我们试图挤进太多细节时,我们经常会发现自己无意中挤出了其他细节。

但是有了心智模型,你建立的越多,提炼的越多,学习更多信息就越容易。心智模型不仅帮助你学得更快更容易,而且你学到的东西对你来说更有价值。因此,尽管效率越高越好,但你学习的更高效率无疑是最重要的收益!

生活中有趣的问题是权衡取舍,你经常会面临你不知道所有细节的情况。为了能够有效地工作,你需要能够 1)预测可能的行为,2)确定你的假设,然后 3)通过调查和测试来验证你的理论。一个强大的心智模型是你完成这些步骤的关键基础(如果这看起来像科学,那是因为它就是科学!我母校的计算科学项目是在应用科学学院。)

我的意思是,无论你是有意还是下意识地构建它们,心智模型都是技术成功的硬性要求。没有他们,你不可能成功。

建立心智模型

要建立一个心智模型,关键是**不要再问“我怎么才能记住这个?”开始问,“这些信息如何融入或改变我的思维模式?”**这包括两个部分。

一些信息将简单地“适应”我们已经有的心智模型。新的信息与我们之前看到的相似,所以它加强了我们现有的心理模型。这类信息通常让人感到平静、安慰和鼓舞信心。

但是其他一些信息并不合适,因为它不知何故与我们已经建立的心智模型相冲突。这种“相互冲突”的信息可能会让人感到混乱或困惑,但它实际上是最重要的学习类型。

这就是我们需要做的,学习科学家称之为“双循环学习”在这种类型的学习中,你不是仅仅使用信息来做出新的决定,而是用它来完善你的心智模型。下面是克瑞斯·阿吉里斯的书《T2 教聪明人如何学习》中的一个例子,维基百科用它来解释双循环学习:

“[一个]当室内温度降到华氏 69 度以下时自动打开暖气的恒温器就是一个单回路学习的好例子。一个自动调温器会问,“为什么我要调到 69 华氏度?“然后探索其他温度是否可能更经济地达到加热房间的目的,这将是一种双循环学习。”

为了更有效地学习,我们应该学习什么是东西,以及如何将我们对它的理解应用到现实世界中。这通常意味着我们应该积极地寻找那些导致我们重新思考我们的心智模式的事情。尽管困惑可能感觉不好,但这有点像增强肌肉力量:如果我们感觉不到任何疼痛,我们可能没有取得多少真正的进步。

当我们在混乱中重塑我们的心智模式,使之更好地组织我们已经看到的所有信息时,我们也会将更多尚未看到的信息转化为平静和令人欣慰的信息。这就像我们的心理模型刚刚变平——叮!—凭借其增强的实力,可以更轻松地应对未来的情况。

心智模型示例:杜威十进制系统

假设你需要把所有的书整理到书架上,假设你有很多书。你还需要记住每本书的位置。

你从一个非常简单的系统开始:混沌。你只要把书放在合适的地方。但这并不能帮助你记住他们的位置。所以你决定按收到的日期来订购。这意味着你也可以根据你对其他书的记忆在书架上跳来跳去,但这仍然很难,因为你有太多的书了。

你试着按出版日期来组织。但这实际上让事情变得更糟。它们不是将图书系列组合在一起,而是分散交错在整个书架上。接下来,你试试作者的名字,但是有些名字太通俗了。姓更好,但你并不总是确定作者的名字,因为记住主题比记住作者更容易。

但是然后,你回想你的学生时代,你记得排架用的 Dewe y 十进制,编目用的国际标准书号 ing 。它咔哒一声。杜威十进制系统允许你根据主题对书籍进行分类,这样更容易记忆。当然,你必须用数字来代替主语,但是一旦你理解了它是如何工作的,它就是一个更加直观的系统。在这一长串数字的下面是一个描述,它实际上更符合你所拥有的书籍的心理模型。

这是你的“啊哈!”瞬间。现在,你看到这种方法有多强大了。从那时起,添加新书或查找它们就变得简单多了,只需确定数量,然后去该书应该在的特定书架。你再也不需要对所有的书进行大规模的重组了。

那么,你知道每本书在哪里吗?是啊!但是你还没有记住每本书在哪里,因为那并不重要。

一个非常成熟的组织系统是一个根本不需要太多改变的系统——这也是你想要的心智模型,因为它代表了专长

心理模型进展

当你开始学习一些东西时,每一条新的信息都是新的,并且很有可能与你的思维模式相冲突。这可能会让人感到有点沮丧,但不要因此而沮丧!随着你的心智模式的改善——随着它的成熟——它需要的改变会越来越少。

你会发现自己吸收新信息的速度要快得多。通过把你学到的东西组织到你的心智模型中,你会想,“好的,这个放在这里,那个放在那里。”高速学习会让你感觉很有收获。

当然,专业知识也有专业价值!

最后的想法

从所有这些中学到的一个重要的东西是,你必须小心不要迷失在你的学习中。进步不是用你消耗了多少学习材料来衡量的,而是用你的心智模型支持信息的能力来衡量的。所以,如果你没有真正理解或者没有集中注意力,就不要“继续努力”去学你想学的东西。如果你没有不断地将信息整合到你的思维模式中,那么你就没有有效地学习,也没有取得任何真正的进步。充其量,你只是想记住一些东西。这有点像从远处朝书架扔书。看起来好像这些书离它们应该去的地方更近了,但实际上,你只是弄了一大堆乱七八糟的东西要清理。

另一方面,即使是很短的几分钟,也能在你的学习中积累很大的进步。所以尽量让学习成为一种持续的习惯。它可能感觉“缓慢而稳定”,但这可能正是“赢得比赛”的原因。

所以,当谈到记住那些重要的事情时,你的心智模型有多成熟是衡量你学习进度的最佳方式。建立心智模型是你走向专业知识之旅中最慢也是最重要的一部分。

如果你觉得这篇文章有用,我强烈推荐你看看我的文章:我如何找到时间学习?成功学习的 5 个关键。

我有多少代码?DevSecOps 故事

原文:https://acloudguru.com/blog/engineering/how-much-code-do-i-have-a-devsecops-story

by Darwin Sanoy
博客 | 推特|LinkedIn|git lab

开发警察的时代即将来临

作为 GitLab 解决方案架构师,我与许多客户一起考虑他们对 DevSecOps 的前瞻性计划。随着新的威胁和漏洞不断被发现,每个人都理所当然地关注代码安全性。不幸的是,计算中的坏人有一个非常敏捷的发布周期。

我看到所有类型的组织都在努力改进他们的 DevSecOps 游戏。由于 DevSecOps 完全是关于 App Sec 程序中可以自动化的部分,所以这种转变的很大一部分是评估什么工具选择是最相关和最划算的。

在许多情况下,这意味着将扫描工具的使用从早期采用者推进到所有代码都被扫描的程度。

我鼓励客户制定一个 DevSecOps 成熟度和 TCO 计划,该计划预测他们对成熟 DevSecOps 的总成本。出于多种原因,同时规划成熟度和总体拥有成本至关重要。令人惊讶的是,许多组织还没有计划好“成熟的 DevSecOps”对他们来说意味着什么——他们已经抓了一些工具,并开始进行一些扫描。对 DevSecOps 的无计划的有机方法的总拥有成本可能导致非常不均衡和不断上升的成本,以及在知道整个操作何时对公司和手边的代码库来说是“成熟的”时缺乏远见。

预测成熟开发团队的安全扫描成本

作为评估的一部分,许可的安全扫描工具有各种各样的许可模式。许多流行的扫描工具按扫描的代码量收费。

以下是一些流行的基于音量的模型:

  • 扫描的代码行
  • 扫描的兆字节代码
  • 扫描的应用程序数量

有些可能根据对相同代码的每次扫描的累计来收费,有些可能根据“受管理的唯一代码行/MB”来收费,因此重复扫描相同代码不会产生成本。

组织可能需要预测这一成本的几个关键转折点:

  • 评估使用基于卷的工具提升开发成本的真实成本
  • 考虑到代码库的增长,尝试为 DevSecOps 做预算
  • 当比较各种扫描工具选择的总拥有成本时
  • 在评估整合安全工具的真实成本或节约时
  • 当考虑扫描处于“仅安全修复”状态的代码的频率时
  • 当大型代码库被继承时——比如在公司收购期间

请注意,上面的列表意味着对代码进行计数可能是一项持续的需求。

在所有这些情况下,一个核心挑战是获得扫描工具用来确定欠什么的代码库指标,而不必在所有存储库上配置他们的工具。

如果您参与了一个比较扫描工具的项目,那么拥有统计数据和在不产生设置每个正在考虑的工具的成本的情况下获得统计数据更为重要。

数数能有多难?

我们中的绝大多数人在记事之前就被教会了数数。那么,用一个快速脚本将几行或几兆字节的源代码加起来会有多难呢?

如果您的存储库中只有源代码(没有二进制文件和非代码文件),并且如果您只打算扫描代码的默认分支,这可能相当简单。

但是,如果您需要消除二进制文件或任何其他文件类型(例如,markdown),这可能会变得很有挑战性。此外,如果您不打算扫描 monorepo 中的所有内容,这可能很难管理。

作为第一步,我们将使用 Git 命令来消除二进制文件和其他非代码文件。您可以使用扩展名排除列表来指明不是代码文件的文件。

之后,我们将看看如何使用专门计算代码行的实用程序,包括消除空白和注释。

无论您使用什么来计算代码,Git 命令优化不仅将签出文件的范围扩大到代码文件,而且使扫描大型存储库和大量存储库的速度更快、成本更低。

通过排除优化计数“带蓝色的东西”

想象你正从城市公寓搬到一个新家。你的家庭用品被装在一个集装箱里,随时可以运走。就在这时,你收到新居所在地政府的通知,通知你新居民必须为他们的一些物品缴税。这个地方有点奇怪,他们只是想让你在任何有蓝色的物品上每磅支付 5 便士。(不,美国新泽西州没有这个要求,但这是一个合理的猜测。)

对于称重过程,你需要将箱子搬回你的公寓,打开它们,找到蓝色的物品,称重,并跟踪总重量。

幸运的是,你已经能够从工作中借用一套高速机器人,你可以给他们关于选择和处理物品的具体指示。不幸的是,他们没有配备秤,所以你必须做称重和计数。

有两种方法可以让机器人优化你的任务:

  1. 让他们把箱子带到公寓,只打开含有蓝色的东西,以便称重。
  2. 让他们在卡车上找到盒子里的蓝色东西,只把这些东西带到公寓。

事实证明,我们有这两个选项和一些更新的 Git 功能。

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

两次我们取一个尺寸,时间命中

我们将要讨论的优化可以节省磁盘空间和时间。如果您计划在许多存储库上运行它,那么这两者都会显著地影响这个过程。磁盘空间可能会溢出,或者需要对一次可以处理多少个存储库进行繁琐的管理,以避免溢出。如果你在一个付费的 CI 系统上运行,那么运行时间长度就等于实际花费。

在使用 Git 存储库时,有两种可能的情况,您可能会因为二进制内容或其他不需要的文件而受到大小和时间的影响:

  1. 当从远程接收 git 历史数据(Git 克隆或获取)时,默认情况下,传输所有存储库历史的所有分支的所有文件。
  2. 当将 Git 文件解包(git checkout)到工作目录中时,提取目标分支的所有文件。

下面的一些 Git 优化命令关注的是根本不要从服务器复制数据,而其他一些命令关注的是不要提取假定存在于传输数据中的数据。

在下面的例子中,我们将假设这个克隆明确地用于计数的目的,并将在之后被丢弃。为了使它也能用于构建活动,需要额外的 Git 命令来将克隆重新配置为更可用的状态。

让 Git 做繁重的工作

Git 将在克隆期间选择要转移的历史,并选择要检出的内容。结果应该只是我们默认分支上的当前代码。这使得总大小估计或按文件扩展名的大小估计变得更加容易,因为我们只有想要计数的文件。

优化测试

对于我们的示例代码,我们将使用存储库 www-gitlab-com,因为它包含许多 web 图形文件形式的二进制文件和重要的 Git 历史,并且它是公开可用的。选择较大的文件可以更容易地根据文件大小判断命令是否正确执行。

以下是判断命令是否正确执行的方法:

常规尺寸优化尺寸www-gitlab-com .git folder
4.2 GB111 MBgit 克隆时间(无检验)
21 分钟46 秒www-gitlab-com 文件(除。git 文件夹)
2.7 GB260 MBgit checkout time
27 秒19 秒检出的对象
155464467计算代码行数
207925206658*部分克隆到部分拯救

*Note: sparse-checkout reduces the ruby file count and therefore the lines count. I was not able to discover why before the publishing due date.

每次从远程 Git 服务请求 Git 克隆时,Git 服务都会准备一个包文件发送给客户机。部分克隆是许多公司和个人开发的一项新功能,它通过传递排除特定对象的指令来利用这一准备步骤。

如果后续的本地 Git 命令需要,最初被部分克隆排除的对象将被自动从远程设备中取出。因此,如果您进行部分克隆以防止二进制文件出现,但随后签出包含二进制文件的分支,则该二进制文件将在签出过程中被删除。排除过滤器规范不会在所有后续的本地 Git 命令上强制实施。这是一种自动行为,旨在防止部分克隆中断当前工作流。

下面的部分克隆从中筛选出所有文件。git 历史记录:

要使部分克隆工作,您必须安装 Git 2.22 或更高版本。

```bash
git clone --filter=blob:none --no-checkout https://gitlab.com/gitlab-com/www-gitlab-com.git

**浅层克隆优化更多**

### 对于代码计数,我们不需要完整的 git 历史记录,因此我们可以在克隆或获取时使用–depth 1 来减少。git 文件夹甚至更多,用于我们将要下载的文本文件。为此,我们将在 Git 命令中添加“深度 1 ”,如下所示:

**稀稀拉拉的结帐去营救剩下的人**

git clone --depth 1 --filter=blob:none --no-checkout https://gitlab.com/gitlab-com/www-gitlab-com.git

### Git 的稀疏签出特性是我们如何防止我们从历史中移除的不需要的文件在签出期间被动态地从原点拉出来。

稀疏签出允许使用与相同配置的文件。gitignore,它会在执行 checkout 命令时过滤哪些内容将被检出,哪些内容不会被检出。

我们需要启用稀疏检出,然后用非代码文件的文件规范配置稀疏检出文件。您可能想要完善一个非代码/二进制文件的主列表,您可以在所有存储库中重用该列表作为稀疏签出文件。还有一个聪明的方法来存储这个文件。git 并将其用于部分克隆和稀疏检验。对于该方法,请通读以下文档并扫描文件名。gitfilterspec": [GitLab 部分克隆](https://docs.gitlab.com/ee/topics/git/partial_clone.html#filter-by-file-path)。

这段代码将我们设置好,然后检查 master。

为了让稀疏校验正常工作,您必须至少拥有 Git 2.25。

git sparse-checkout init
echo -e '*.* \n!**/*.idx \n!**/*.mp4 \n!**/*.gif \n!**/*.pdf \n!**/*.png \n!**/*.jpg \n!**/*.jpeg \n!**/*.eps \n!**/*.md \n' > .git/info/sparse-checkout
git checkout master

**计算代码行数**

### 由于多种原因,计算代码行数具有挑战性,最值得注意的是代码中的注释不算一行。此外,有必要知道您使用什么语言,因为您的安全工具需要覆盖所有语言。

出于文档的目的,这里有一些通用的 shell 代码,用于计算所有文件的行数。但是,如果您将它与下面的计数实用程序的输出进行比较,您会发现这种方法有很大的误差,并且很可能需要专门针对文件类型。

即使对于我们最基本的代码计数版本,使用专门的代码计数实用程序也是有意义的。

 find . -type f -exec wc -l {} \; | awk '{ SUM += $0} END { print SUM }'

我对可用于这项任务的开源工具做了一个调查,最终选择了本·博伊特(Ben Boyte)r 的“[sloc cloc code](https://github.com/boyter/scc/)”——简称 scc。它在现代编码语言(Go)中得到积极维护。如果您有自定义需求,它还允许您扩展语言支持。下面是处理测试存储库后的输出示例:

语言

| 文件 | 线 | 空白 | 评论 | 密码 | 复杂性 | Ruby HTML |
| --- | --- | --- | --- | --- | --- | --- |
| 1179 | 119432 | 33420 | 948 | 85064 | 14177 | 挽救(saving 的简写) |
| 1077 | 18822 | 621 | 194 | 18007 | 3 | 低增生性急性髓细胞性白血病 |
| 782 | 39804 | 3648 | 204 | 35952 | 0 | 亚姆 |
| 723 | 116946 | 8626 | 2066 | 106254 | 0 | 厚颜无耻 |
| 324 | 52671 | 9090 | 3578 | 40003 | 88 | 红宝石 |
| 136 | 11068 | 2094 | 626 | 8345 | 486 | Java Script 语言 |
| 125 | 31952 | 3917 | 3739 | 24296 | 3437 | 超文本标记语言 |
| 12 | 1231 | 101 | 123 | 1007 | 0 | 视图(view) |
| 11 | 1519 | 79 | 0 | 1440 | 89 | 纯文本 |
| 4 | 7 | 2 | 0 | 5 | 0 | 半铸钢ˌ钢性铸铁(Cast Semi-Steel) |
| 3 | 926 | 155 | 四 | 767 | 0 | 壳 |
| 3 | 86 | 20 | 七 | 59 | 9 | JSON |
| 2 | 278 | 0 | 0 | 278 | 0 | 降价 |
| 2 | 65 | 15 | 0 | 50 | 0 | 战斗支援车 |
| 一 | 58 | 0 | 0 | 58 | 0 | 乳液 |
| 一 | 176 | 9 | 8 | 159 | 0 | 计算机编程语言 |
| 一 | 363 | 9 | 3 | 351 | 19 | 可扩展标记语言 |
| 一 | 12 | 0 | 0 | 12 | 0 | 吉蒂尔 |
| 1 | 36 | 9 | 5 | 22 | 0 | **总计** |
| **4388** | **395452** | **61815** | **11505** | **322132** | **18318** | 下面是获得上述输出的代码: |

Estimated Cost to Develop $11,615,312
Estimated Schedule Effort 38.958526 months
Estimated People Required 35.316937
Processed 41026462 bytes, 41.026 megabytes (SI)

scc 有许多选项,您可以在开源项目中或者通过使用–*-help*命令行选项来检查。

go get -u github.com/boyter/scc/
scc .

**计数码的 MB 数**

### 由于我们已经从文件层次结构中排除了所有非代码文件,我们可以通过以下代码大致了解 MBs:

上面的方法需要一个精确的排除标准,以确保除了代码文件之外什么都没有——这不是一个简单的任务,可能需要在每个存储库的基础上花费大量的精力。

cd www-gitlab-com
du -sh

由于这个挑战,我向 Ben Boyter 的 OSS 项目提出了一个请求,看看 scc 是否可以更新到计算 MBs,他能够将其工作到版本 2.13.0!谢谢你,本!据我所知,你现在只有几行代码计数器可以做到这一点!

根据请求,Ben 还花时间更新了 scc,以便它可以在一次计数运行后输出多种格式——因此,如果它还不够快,现在我们不必调用它两次或更多次来获得我们想要的输出格式。如果你一次分析一大堆存储库,这将使一切保持超快的速度。

scc 通过简单地将它处理的每个代码文件的文件字节相加来计算字节数,这与消除空格和注释的行计数略有不同。如果您查看上面的控制台输出捕获,您可以看到它给出了所有文件的摘要。在数据输出格式中——JSON、HTML 和 CSV——它将给出每种语言的字节数。我们下面的代码使用 w3m 将 html 文件转储到控制台,这样我们就可以获得控制台输出中的字节。

**对编译后的二进制文件进行字节计数**

### 一些漏洞工具会扫描编译好的二进制文件。下面的 shell oneliner 根据您提供的扩展名列表来计算文件大小。在示例中,*。jpg 和*。png 用于 www-gitlab-com repo 示例。删除扩展引用和括号会导致看到所有扩展的结果。在下面完成的脚本中,awk 用于格式化 CSV 和 HTML 数据格式。Find 有一个 not 运算符"!"可以在-iname 参数前使用它来创建排除列表。

**将所有这些整合在一起**

find . -type f \( -iname \*.jpg -o -iname \*.png \) |  egrep -o "\.[a-zA-Z0-9]+$" | sort -u | xargs -I '%' find . -type f -name "*%" -exec du -ch {} + -exec echo % \; | egrep "^\.[a-zA-Z0-9]+$|total$" | uniq | paste - -

### 下面的代码使用 Docker,这样您就可以轻松地在本地进行测试,并将其移植到基于容器的 CI 系统。

**注意:** scc 非常快(在这项任务中比 CLOC 快 3600%),对于各种输出格式运行多次并不像看起来那么昂贵。

**最终输出**

docker run -it golang:1.15rc1-alpine3.12 sh #golang on a distro with a proper package manager
apk update; apk add git w3m #need at least 2.25 of git, w3m to render html in console
go get -u github.com/boyter/scc/
git clone --depth 1 --filter=blob:none --no-checkout https://gitlab.com/gitlab-com/www-gitlab-com.git
cd www-gitlab-com
git config --local core.sparsecheckout true
echo -e '*.* \n!**/*.idx \n!**/*.mp4 \n!**/*.gif \n!**/*.pdf \n!**/*.png \n!**/*.jpg \n!**/*.jpeg \n!**/*.eps \n!**/*.md \n' > .git/info/sparse-checkout
git checkout master

#html for easy viewing as a CI artifact and json for data ingestion
time scc . --not-match .*md --format-multi "html:loc.html,json:loc.json"
w3m -dump loc.html

echo "Total Bytes of jpgs and pngs (emulating counting your binary code files) in csv:"
time find . -type f \( -iname \*.jpg -o -iname \*.png \) |  egrep -o "\.[a-zA-Z0-9]+$" | sort -u | xargs -I '%' find . -type f -name "*%" -exec du -c {} + -exec echo % \; | egrep "^\.[a-zA-Z0-9]+$|total$" | uniq | paste - - | awk 'BEGIN {print "Type,Bytes"}{print $1 "," $2*1024}' > binarysize.csv

echo "Total Bytes of jpgs and pngs (emulating counting your binary code files) in HTML:"
time find . -type f \( -iname \*.jpg -o -iname \*.png \) |  egrep -o "\.[a-zA-Z0-9]+$" | sort -u | xargs -I '%' find . -type f -name "*%" -exec du -c {} + -exec echo % \; | egrep "^\.[a-zA-Z0-9]+$|total$" | uniq | paste - - | awk 'BEGIN {print "<html lang=\"en\"><head><meta charset=\"utf-8\" /><title>binary bytes html output</title><style>table { border-collapse: collapse; }td, th { border: 1px solid #999; padding: 0.5rem; text-align: left;}</style></head><body><table id=\"binarybytes-table\" border=1><thead><tr><th>Language</th><th>Bytes</th></tr></thead><tbody>"}{print "<tr><th>" $1 "</th><th>" $2*1024 "</th></tr>"}END { print "</table></body></html>" }' > binarysize.html
w3m -dump binarysize.html

### 下面是上面输出的一个例子,包括代码的字节。

语言

| 文件 | 线 | 空白 | 评论 | 密码 | 复杂性 | 字节 | 挽救(saving 的简写) |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1077 | 18822 | 621 | 194 | 18007 | 3 | 19395861 | 低增生性急性髓细胞性白血病 |
| 762 | 39700 | 3635 | 204 | 35861 | 0 | 2087355 | 亚姆 |
| 723 | 116857 | 8622 | 2057 | 106178 | 0 | 5572000 | 厚颜无耻 |
| 324 | 52666 | 9089 | 3578 | 39999 | 88 | 1057903 | Ruby HTML |
| 179 | 6643 | 593 | 0 | 6050 | 625 | 391692 | 红宝石 |
| 136 | 11095 | 2097 | 627 | 8371 | 484 | 333413 | Java Script 语言 |
| 125 | 31952 | 3917 | 3739 | 24296 | 3447 | 3423974 | 超文本标记语言 |
| 12 | 1228 | 100 | 123 | 1005 | 0 | 73922 | 某视频剪辑软件 |
| 11 | 1519 | 79 | 0 | 1440 | 89 | 45610 | 纯文本 |
| 四 | 七 | 2 | 0 | 5 | 0 | 327 | 半铸钢ˌ钢性铸铁(Cast Semi-Steel) |
| 3 | 926 | 155 | 四 | 767 | 0 | 14658 | 壳 |
| 3 | 86 | 20 | 七 | 59 | 9 | 2174 | JSON |
| 2 | 278 | 0 | 0 | 278 | 0 | 7117 | 降价 |
| 2 | 65 | 15 | 0 | 50 | 0 | 4170 | 战斗支援车 |
| 一 | 58 | 0 | 0 | 58 | 0 | 15278 | 乳液 |
| 一 | 176 | 9 | 8 | 159 | 0 | 4309 | 计算机编程语言 |
| 一 | 363 | 9 | 3 | 351 | 19 | 13394 | 可扩展标记语言 |
| 一 | 12 | 0 | 0 | 12 | 0 | 391 | 吉蒂尔 |
| 1 | 36 | 9 | 5 | 22 | 0 | 538 | **总计** |
| **3368** | **282489** | **28972** | **10549** | **242968** | **4764** | **32444086** | **交叉校验结果** |

### 由于 scc 对较老但古老的 CLOC 有类似的语言支持,您可以像这样交叉检查较老的实用程序(假设您在上面的 Golang 容器上):

注意:虽然 CLOC 在计算代码方面做了一些改进,但在我对 www-gitlab-com 的测试中,花费的时间是它的 24 到 36 倍,结果也非常相似。

apk add cloc
time cloc .

**MissionImpossibleCode.io 现场编码改进此代码**

### 在[碟中谍现场编码](https://missionimpossiblecode.io/post/mission-impossible-live-coding/)的前一集中,我和我的同事 Jefferson Jones 能够让 scc 作为一个可重用的 GitLab CI CD 插件运行。在未来的一期中,我们将会让这变得更加灵活——通过允许一个存储库列表(而不是一次做一个)和一些代码在 GitLab 组层次结构中遍历所有项目。你可以在这里了解更多关于碟中谍现场编码事件[。](https://missionimpossiblecode.io/post/mission-impossible-live-coding/)

**最后一个“蓝色的东西”优化**

### 让我们回到你的公寓——那个有蓝色分类机器人的公寓。当你正在考虑如何完成计数任务时,其中一个机器人突然灵机一动(它可能有一些吸尘器的 DNA),并暗示公寓垃圾桶比你的公寓更靠近包装容器。因此,简单地扔掉所有“蓝色的东西”将会节省大量的时间、精力和税款。移情和怀旧算法,有人知道吗?

**用 GitLab 做数字**

### 了解工具和流程的总成本是当前状态和未来发展的关键。GitLab 有一些工具可以帮助这个部门。 [GitLab Secure](https://about.gitlab.com/stages-devops-lifecycle/secure/) 与第三方扫描器集成,可以直接向开发人员报告漏洞,这些开发人员在他们的下一个功能分支构建时会立即引入这些漏洞(将**向左硬移**)。如果 GitLab 附带的免费扫描仪足以满足您的扫描需求,那么它们没有任何基于使用的定价。因此,当一些工具整合成为可能时,您可能会节省一些钱。点击此处,了解更多关于 GitLab Secure [的详情。](https://about.gitlab.com/stages-devops-lifecycle/secure/)

Understanding the total cost of tooling and processes is key for the current state and future growth. GitLab has some tools that can help in this department. [GitLab Secure](https://about.gitlab.com/stages-devops-lifecycle/secure/) integrates with third-party scanners and can report vulnerabilities directly to the developers who introduced them immediately upon their next feature branch build (shifting **hard left**). If the free scanners that come with GitLab are sufficient for your scanning needs, they don’t have any usage-based pricing. So when some tool consolidation is possible, you can potentially save some money. Find more details on GitLab Secure [here](https://about.gitlab.com/stages-devops-lifecycle/secure/).

# 云工程师薪资- AWS、微软和谷歌

> 原文:<https://acloudguru.com/blog/engineering/how-much-do-aws-google-and-microsoft-pay-cloud-talent>

对云计算人才的巨大需求没有降温的迹象。但是,亚马逊、谷歌、微软和世界上一些顶尖的云计算公司给他们的工程师、架构师和各种各样的云计算专家支付的报酬是多少呢?(TL;博士?不错的收入。)

### 云计算仍然是最受欢迎的工作技能之一

LinkedIn 的数据显示,连续六年来,云计算一直是最受欢迎的硬工作技能之一。根据最近来自[的一份报告,这是最受欢迎的技能。所以毫不奇怪,围绕云计算的](https://www.indeed.com/career-advice/finding-a-job/in-demand-skills)[招聘信息](https://www.indeed.com/career/cloud-engineer/jobs)数量众多,报酬丰厚。

但是,如果在一些顶尖的云计算公司工作,云计算专家希望得到怎样的薪水呢?

* * *

## 加速您的职业发展

[从 ACG 开始](https://acloudguru.com/pricing)通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。

* * *

## 顶级云公司给他们的云工程师的报酬是多少?

*[商业内幕](https://www.businessinsider.com/cloud-salaries-revealed-what-amazon-microsoft-google-and-more-pay-2020-9)* (付费墙,ahoy!)深入研究了三大公共云公司(AWS、Azure 和 Google)以及 IBM、VMware、Citrix、Adobe、Accenture、Atlassian、摩根大通和 Chewy 等公司的薪酬。报告的工资是基于公司在雇佣外国员工时报告的工资或工资范围,让我们一窥幕后这些顶级雇主为顶级人才支付的价格。

*   在 AWS,云应用架构师的收入在 14 万美元到 15 万美元之间。

*   在微软,云解决方案架构师的收入可能在 89,149 美元到 183,116 美元之间。

*   在谷歌,报告中包括的最近与云相关的招聘都是销售工程师和项目经理,工资从 13.4 万美元到 17.4 万美元不等。

报告中的一些顶级薪酬和最高薪酬职位包括 IBM 的一名云原生架构师(279,600 美元)和摩根大通的一名人工智能平台高级云工程师(210,000 美元)。

报告中包括的其他一些职位和薪金包括:

*   思科的云工程师可以赚到 187,300 美元。
*   Citrix 的云运营工程师可以获得大约 15 万美元的收入。
*   VMware 的云开发人员可以带回家 202,982 美元。
*   联想的云开发工程师可以赚 163,645 美元。

## 云工程师平均工资多少?

这些数字与最近各种来源的工资报告非常一致。一份 2020 年全球知识报告发现,云计算专业人士的平均收入为 16 万美元。某些[云认证](https://acloudguru.com/blog/engineering/what-are-top-paying-cloud-certifications-for-2020)也可以帮助云工程师获得更高的薪水,包括[谷歌认证专业云架构师](https://acloudguru.com/course/google-certified-professional-cloud-architect)证书,该证书平均为云技术人才带来 175761 美元的薪水。

对于云薪酬的其他观点,[事实上](https://www.indeed.com/career/cloud-engineer/salaries)发现云工程师的平均薪酬为 120,370 美元,每年有 10,000 美元的现金奖金——这是基于对 4,000 多名员工的调查。根据 [Glassdoor](https://www.glassdoor.com/Salaries/cloud-engineer-salary-SRCH_KO0,14.htm) ,员工可以自我报告工资,在美国,云工程师的全国平均工资为 131,409 美元(基于 738 份回复)。

据 ZipRecruiter 报道,云架构师的平均年薪为 153,000 美元,最高可达 210,000 美元。

以上所有工资均以美元为单位。当然,薪水会因地域而异,所以你的里程数会因你的运营基地而异。当然,正如他们所说,金钱不是一切。(但是你*可以*用它买几乎任何东西,也就是某物。)

# 如何不被云专家 Azure 的 DDoS 攻击

> 原文:<https://acloudguru.com/blog/engineering/how-not-to-get-ddosed-with-azure>

本周蓝色世界发生了什么?本周,我为你带来了一些优秀的 Azure 更新,包括帮助你[避免 DDos 攻击的新 DDoS 功能](https://acloudguru.com/videos/azure-this-week/avoid-ddos-attacks),Azure 权限正式发布,以及 Azure Functions 4.0。没时间浪费了。我们开始吧!

## 借助全新的 Azure 防火墙管理器功能简化您的 DDoS 管理

分布式拒绝服务(DDoS)攻击是攻击互联网网站的最原始、最常见的方式之一。你让成千上万的机器同时攻击同一个站点,服务器资源耗尽,每个人都被“拒绝服务”

如果你愿意,这很容易做到,而且会非常有效。2018 年 2 月, [GitHub](https://acloudguru.com/blog/engineering/azure-devops-vs-github-comparing-microsofts-devops-twins) 成为 DDoS 攻击的目标,以每秒 1.269 亿的速率发送数据包!这相当于 1.3 TBps。由于 DDoS 防护措施,攻击只持续了 20 分钟。

说到防御 DDoS,本周 [Azure Firewall Manager](https://acloudguru.com/hands-on-labs/configure-application-level-rules-within-azure-firewall) 以虚拟网络 Azure DDoS 保护标准的形式获得了[新的](https://azure.microsoft.com/en-us/blog/streamline-your-ddos-management-with-new-azure-firewall-manager-capabilities/) DDoS 管理功能。

此功能提供了增强的缓解功能来防御 DDoS 攻击,并将自动保护虚拟网络中的所有公共 IP 地址。

这也适用于增强的网络安全监控屏幕,该屏幕已针对 Azure 防火墙管理器进行了更新。

这些功能现在已经在预览版中推出,你可以今天就试用它们。做一个冷静的系统管理员。别再做 DDoS 了。

* * *

*想了解更多关于云安全的信息吗?查看[本月的免费 ACG 课程](https://acloudguru.com/blog/news/whats-free-at-acg)了解安全为重点的云学习自助餐。只需[创建一个免费账户](https://acloudguru.com/pricing)并开始行动。不需要信用卡!*

* * *

## 使用 azure preview 管理您的数据,无论它位于何处

如果你没有听说过 [Azure 的权限](https://azure.microsoft.com/en-us/blog/govern-your-data-wherever-it-resides-with-azure-purview/),那就是 Azure 上的多云端数据管理和数据治理服务。

其理念是,无论您的数据是存储在 SQL Server 和 Oracle 这样的本地服务中,还是存储在亚马逊网络服务(AWS) S3 这样的不同云中,或者存储在 Salesforce 这样的 SaaS 应用程序中,都可以使用。然后,权限查看您的所有数据成分,提出一个美味的食谱,并烘烤一个美丽的治理和法规遵从性蛋糕。

您可以获得自动化的数据发现、敏感数据分类、对敏感数据在整个混合环境中的位置和移动的洞察,然后通过数据目录找到有价值的数据。

azure without 的自动化数据分类使用 200 多个预构建和定制的分类器来检测敏感数据类型,如商业术语、政府 id、姓名、位置数据等。这些不仅对业务流程有价值,而且对实现足够的治理以保护用户数据等也有价值。

权限现已不在公开发售范围内。美味的合规蛋糕…

通往更好职业的钥匙

* * *

## [从 ACG 开始](https://acloudguru.com/pricing)通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。

宣布 Azure Functions 4.0 公开预览版。NET 6 支持

* * *

## 几周前,Azure 新闻网透露了 Azure Functions 4.0 的预览版。作为 Azure 世界的无服务器宠儿, [Azure Functions](https://acloudguru.com/course/serverless-computing-with-azure-functions) 非常受欢迎,并继续为大量云应用提供动力。

可能促使您升级现有功能或试用版本 4 的主要特性是支持。NET 6.0,还有 node.js 14,Python 3.7,3.8 和 3.9,Java 8 和 11,PowerShell 7.0,还有你喜欢的自定义处理程序。点击[此处](https://techcommunity.microsoft.com/t5/apps-on-azure/announcing-azure-functions-4-0-public-preview-with-net-6-support/ba-p/2772098)获取快速入门指南,帮助您开始使用 4.0。还有一个计划中的重大改变的列表,这是你需要注意的。

继续吧。试试看。可能发生的最坏情况是什么…

跟上所有蓝色的事物

## 在我结束之前,我想提一下,Azure Security 入门课程这个月在 T2 是免费的。这个课程是 Azure security 的良好开端。要了解这一点,只需[创建一个免费账户](https://acloudguru.com/pricing)并立即开始学习。

想要跟上云的所有事物?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。你也可以在[脸书](https://www.facebook.com/acloudguru)上喜欢我们,在[推特](https://twitter.com/acloudguru)上关注我们,或者在[不和谐](http://discord.gg/acloudguru)上加入对话!

正如我们在云专家团队中所说的,每年的这个时候,我们都必须评估我们的内部数据治理,但我们已经没有任何东西了:“寻找,你就应该云”。继续牛逼吧,云大师们!

[**得到蔚蓝云痛苦辞典**](https://get.acloudguru.com/cloud-dictionary-of-pain)
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个[云指南](https://get.acloudguru.com/cloud-dictionary-of-pain)获取 Azure 中一些最痛苦术语的简洁定义。

* * *

[![Complete guide to the Cloud and Dictionary ](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/93ebf63b88ab7fbd48705a01952ba688.png)](https://get.acloudguru.com/cloud-dictionary-of-pain)

[**Get the Azure Cloud Dictionary of Pain**](https://get.acloudguru.com/cloud-dictionary-of-pain)
Speaking cloud doesn’t have to be hard. We analyzed millions of responses to ID the top concepts that trip people up. Grab this [cloud guide](https://get.acloudguru.com/cloud-dictionary-of-pain) for succinct definitions of some of the most painful terms in Azure.

# 云如何帮助您成长

> 原文:<https://acloudguru.com/blog/business/how-the-cloud-helps-you-grow>

*对十几个行业的 90 多家上市和私营公司及其对云的承诺的样本分析* *展示了云技能的价值*

云计算让新一代创业公司脱颖而出,成长为世界上最有价值的公司。没有云计算,可能就不会有 Airbnb、优步或 Pinterest。然而,云并不仅仅是 2007 年或更晚开始的科技创业公司的专利。

数百家以传统的内部数据中心起家的公司正在将其运营转移到云上。他们能够以许多可测量(和不可测量)的方式认识到价值。这些可以表现为更低的运营成本、更快的运营节奏,或者在升级或采购新软件时总体上更少的麻烦。然而,衡量这一投资回报历来都很棘手。

在云专家那里,我们通过实践来学习。所以我们决定试一试。

* * *

[**云 ROI:云技能如何产生真实回报**](https://get.acloudguru.com/how-the-cloud-helps-you-grow)

下载完整的云投资回报报告,了解公司在云技能和技术上的投资获得了多少价值。

* * *

我们从 20 个维度对众多行业中的 90 多家上市公司和私营公司的样本集进行了评级,以确定他们向云的过渡和承诺。

这些衡量标准包括公开职位描述中对云技能的要求、特定于云的角色、公共评论和公告、案例研究、新闻、关键领导经验以及一些直接表明采用云的积极影响的财务指标。

从那时起,公司被置于云之旅的三个“生命阶段”:

*   **战术阶段:**该公司从基础设施或人才层面对云的采用进行了专项投资。
*   **战略阶段:**该公司对云做出了公开、公开的承诺,为收回投资带来了实实在在的后果(社会和财务)。
*   **转型阶段**:公司对云的过渡或永久使用是实质性的,有据可查,并有可衡量的结果。

为了确定采用云技术的真正影响,我们研究了公司每名员工产生的收入以及它们的市值如何随着时间的推移而变化。在我们深入研究之前,这里有一些重要的发现:

*   **每一家被调查的公司都要求与云相关的技能**。这些可能会实施到私有云,但我们调查的每家公司都在寻找至少 5 种独特的云技能。最重要的是…
*   每个公司都在寻找集装箱和 Kubernetes 专家!认真。我们审查的每个人都有一个公开的 rec,要求 Docker、Kubernetes 或 containers 方面的专业知识。
*   **并不是每个人都在招聘特定于云的职位**。对于许多更大、更老的公司来说,这些云技能要求被纳入更大团队的一部分。这并不一定意味着他们不关注云,只是该公司的组织方式是一种集成式运营。
*   超过一半的公司在工作描述中寻找 NoSQL 经验。像 DynamoDB 和 CosmosDB 这样的 NoSQL 数据库可以帮助您快速扩展应用程序——这显然是传统公司希望做的事情。
*   **不是每个人都是多云的(…还不是)。**超过一半的公司都有公开的工作需求,要求只在一个云平台上工作。(通常是 AWS)
*   大多数云公司雇佣经过云认证的专业人员。该分析中包括的几乎每家公司都有至少 24 名云认证团队成员。这些认证包括 Azure、Google Cloud 和 AWS——但还有许多其他认证领域的专家。
*   **大多数公司都在去那里的路上**。除了两家公司(我们未作判断)之外,其他所有公司都已公开宣布与云提供商合作,或已公开讨论了他们的混合云战略。

我们研究了两个关键指标:基于 2015 年至 2019 年年度业绩的每位员工平均收入的变化,以及 2016 年 1 月 1 日至 2020 年 1 月 1 日的市值变化。我们没有将 2020 年包括在我们的分析中,因为特殊情况通常会抑制许多行业的收入和市值的全面增长。

我们纳入了十几家明显转型的公司,作为“控制”组来帮助校准我们的评分等级。我们的总体尺寸包括:

*   **员工和工作**:有多少员工获得了认证,他们在工作描述中寻找的特定于云的技能的数量,以及副总裁或更高级管理人员的云专业知识水平。
*   **公开文档**:公司对其云转型的公开程度,包括推出的云专属产品数量、战略投资、案例研究、收购以及与云提供商的合作关系(包括 IBM、AWS、GCP、阿里云和微软 Azure)。
*   **云采用水平**:公司是否至少拥有混合云运营,是否建立了专门负责云工具和业务运营的团队和角色(例如云卓越中心或聘用首席云官)。
*   **财务表现**:在适用的情况下,如果在成本、运营利润方面有显著和有记录的改善,并且如果在收益电话会议和声明中经常提到云投资作为核心战略。

每个维度都对公司的云采用阶段的总体得分有影响,财务上可衡量的结果(如运营利润的提高)比软衡量指标(如赞助和技能要求)更重要。

说完这些,让我们来看看结果吧!

## 美元进,美元出

Net net,我们发现这些公司的总体平均每位员工收入随着他们的云之旅越走越远而提高。

![](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/8f3490082c5ad4e004e7eec05bf9973e.png)

尽管可能存在差异,但从具体行业来看,这一趋势通常是一致的。然而,在我们的分析中,有一些行业在员工平均收入的变化上表现出相当大的差异,例如消费品和制造业。

![](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/a9d1991e8eeec582d4b607b0c30c2766.png)

这可能意味着一些公司比其他公司更快地体验到云迁移的好处。零售公司(以及作为延伸的电子商务)可能会通过将大部分业务转移到云上来提高效率。然而,实物商品的制造商可能会看到早期投资的快速回报,并需要更长的时间才能看到其他行业的实质性投资回报。

在我们对交通运输和生命科学/生物化学公司的分析中,我们没有发现处于转型阶段的公司——这可能是由于它们受到高度监管的性质以及由此产生的惯性。对于生命科学公司来说,这可能表现为云技术的沉重实施成本(可能包括实施复杂的机器学习模型)。

尽管如此,这些选定的行业(我们在底部提供了行业选择的总分类)只是整体情况的一部分——作为一个整体,我们发现性能普遍提高。

## 滚雷

股票市场并不那么理性。这有点像梦幻足球遇到了经济,但对我们集体理智的影响要比萨昆·巴克利缺席这个赛季大得多。话虽如此,它仍然是衡量经济健康状况和特定公司健康状况的一个指标,通常是最受关注的指标之一。

在我们的分析中,我们观察了从 2016 年 1 月 4 日到 2020 年 1 月 7 日,公司在每个生命阶段的市值变化。这一时期是市场异常增长的时期,也是全面过渡到云成熟的时期。我们将此与 2016 年 1 月 4 日至 2020 年 1 月 7 日公司股价的中值涨幅进行了比较,以说明标准普尔 500 的极端头重脚轻性质(其中 [5 家公司现在占该指数的 18%](https://fortune.com/2020/02/11/s-and-p-500-stocks-microsoft-apple-amazon-google-facebook/) )。

我们发现,转型阶段和战略阶段的总体市值增长实际上相差不远,而转型阶段的公司比战术阶段的公司领先 15 个百分点以上。

![](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/eed360cb1370affd81b0103ce486936c.png)

为了解开这一点,我们必须进入一点市场水晶球逻辑:你的市值通常是某个神奇的数字乘以你下一年的收入,再加上一些变化,这取决于事情有多好(和/或有多坏)。所述幻数因行业而异。

正如我们之前提到的,市场不一定表现得理性。但市场喜欢的一件事是增长——以及未来的潜力。

一家公司的股票价格和市值通常反映了其未来的盈利潜力。随着公司采用云技术,他们发现效率和增长的机会越来越多——许多公司今天就开始了这一过渡期。

## 溜之大吉

为了更好地说明这一点,我们来看看我们分析中最好的例子之一:Splunk。以下是展示 Splunk 如何达到转型阶段的一些关键信号(这是一个清单):

*   Splunk 成立于 2003 年,最初是一个搜索公司数据的内部解决方案。它拥有适用于 Windows 和其他平台的桌面应用——当时甚至还在与原始设备制造商合作!作为一个参考点(它的文字取消软件标志作为吉祥物)始于 1999 年,开启了云革命。
*   **Splunk 在 2012 年推出了 Splunk 云,开始向云进军。** Splunk 已经开始与亚马逊网络服务合作,并于 2016 年宣布了首次公开合作。Splunk 今年早些时候宣布了与谷歌云的合作,并且也在 Azure marketplace 上工作。(检查公共合作伙伴关系和特定于云的产品发布。)
*   **Splunk 高管层的多名成员拥有丰富的云产品经验。**此外,数百名 Splunk 工程师获得了云认证(在 AWS、Azure 或 Google Cloud 中), Splunk 有大量针对云特定角色的公开推荐,要求十多种云特定技能。(查看人才部分)
*   **它在 2019 年拿出了 11 亿美元的收购支票簿,收购了 signal FX——一个用于基础设施、微服务和应用程序的** **云监控平台。**它还投资了专注于云的初创公司,包括 Insight Engines 和 Aclima。(核对投资)。
*   Splunk 对其转型也相当公开。除了发布自己的思想领导力,Splunk 还接受了多个媒体采访,介绍其云转型(不包括其收益报告的内容)。
*   投资会有真正的回报。你可以看到,这体现在营业利润率和员工人均收入的提高,当然还有市值超过 200%的增长。

虽然 Splunk 已经进入转型阶段,但其云转型非常成功,远远超过了市值的典型增长。这是一个很好的例子,因为它是一个明显转型的公司,而且你在云上投资得越多,你就会看到越多的投资回报(在这种情况下是股东价值)。

## 云中派对

因此,正如我们所看到的,你把钱投入到云中,你通常会从中获利。每个公司和每个团队的回报都是不同的。在四年内,你每个员工的收入*可能不会*增加 25%。同样,这只是一组公司样本,并不包括许多不同行业的所有公司。

我们还可以看到,公司可能认识到在不同的时间表上将运营过渡到公共云(甚至混合云)的好处。例如,一家电子商务公司将其应用程序升级并转移到 IaaS 上,可能会在页面停止崩溃时看到即时回报,从而失去客户。与此同时,制造企业(尤其是老牌企业)可能会发现,他们不得不及早投资——或者他们只是在更早的阶段开始通过转移业务来实现价值。

虽然各行业之间存在一些差异,但在云运营投资方面,我们最终会看到一个净“阶梯”效应。信号可能因公司而异(而且,很明显,它们非常不同)——但总体而言,当你表现出明显的承诺时,你会看到非常真实的回报。

## 方法学

一位云专家评估了 90 多家标准普尔 500 上市公司,以评估不同行业的云成熟度。这些行业包括包装消费品、金融服务、制造、IT、零售、运输、媒体以及其他行业。在这项分析中,我们排除了标准普尔 500 的许多顶级公司,包括脸书、微软、苹果、谷歌和亚马逊。

具体来说,我们研究了 7 个类别共 20 个维度,我们认为这些维度定义了对云的承诺和投资。每个维度都有一个最高分,公司所处的阶段对应一个特定的分数等级。通过建立基线控制组(显然已经投资和部署了云技术)、审查公共数据和其他因素的混合来选择支架。

这些维度按重要性递增的顺序排列(因此信号更强,得分更高):

**云在开放或传统职位描述中的存在:**我们审查了开放和传统已关闭职位的简历,以了解具体的云技能、表明云专属角色的职位以及平台体验要求。我们还审查了这些工作、现有工作描述或员工工作描述是否表明在云专属产品团队工作。

**云专属产品发布会:**我们回顾了最近的产品发布会,以了解该公司是否专门针对云技术发布了新产品,而不是简单地将其堆栈迁移到云平台上。

**投资**:我们审查了所有记录在案的公司投资和收购,以确定他们是否投资了专注于云的公司。具体来说,我们寻找至少两个以云为重点的公司投资,以及多达 3 个以云为重点的公司收购(或高达 2.5 亿美元的收购价格)。

**云过渡状态**:最后,我们考察了该公司是否承诺与最多三家主要公共云提供商建立公共合作伙伴关系,以至少建立混合云。这些提供商包括阿里巴巴、亚马逊网络服务、微软 Azure、谷歌云平台、IBM 云或甲骨文公共云。

**公开演讲和思想领导力**:我们回顾了公开发表的关于公司云转型的评论材料。具体来说,我们调查了他们是否参加过会议,做过主题演讲,或者接受过关于他们的云战略的公共媒体采访。

**部署云卓越中心(CCoE)** :我们查看了工作描述、角色描述和其他公开发布的数据,以了解与云相关的卓越中心,如 CCoE、卓越数据中心等。

**财务状况**:我们查看了收益报告、SEC 文件和其他文件,以了解高管团队是否表示他们专注于云技术。我们还审查了任何可用的云开支,以及运营利润是否因云实施而有所提高。

在我们的分析中,我们的总体行业细分如下(一些公司涉及多个行业):

![](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/af8ad9a7093b638eae06110943a9a16c.png)

“其他”类别包括 F&B、媒体、酒店、物流、农业和其他,以及我们的控制组。

# Saga 模式如何使用 AWS Lambda 和阶跃函数管理故障

> 原文:<https://acloudguru.com/blog/engineering/how-the-saga-pattern-manages-failures-with-aws-lambda-and-step-functions>

在微服务领域,确保分布式事务之间的数据一致性非常重要。

在埃克托·加西亚-莫利纳 [1987 年的论文“*Sagas*](http://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf)*中,他描述了一种解决长时间运行的数据库事务中的系统故障的方法。*

*赫克托将传奇描述为一系列相关的小交易。在 Saga 中,协调者(在他们的例子中是数据库)确保所有涉及的事务都成功完成。否则,如果事务失败,协调器运行补偿事务来修改部分执行。*

*这种方法在[微服务的世界中越来越重要,因为应用逻辑](https://acloudguru.com/blog/engineering/evolution-of-business-logic-from-monoliths-through-microservices-to-functions)经常需要跨多个有界上下文进行事务处理——每个上下文都由自己的微服务封装,具有独立的数据库。*

*Caitie McCaffrey 最近分享了一个很棒的演示,总结了她在分布式系统中使用 Saga 模式的经验。*

 *在演示过程中,财经用下面一组关联交易的例子来说明这种模式。

Begin transaction
Start book hotel request
End book hotel request
Start book flight request
End book flight request
Start book car rental request
End book car rental request
End transaction


## 协调传奇故事

我们可以使用一个 Lambda 函数来建模每个动作——以及它们的补偿动作——并在 [AWS 步骤函数](https://acloudguru.com/blog/engineering/processing-an-arbitrary-number-of-jobs-with-aws-step-functions)中使用一个状态机作为整个事件的**协调器**。

![](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/593670583f6001f8e1d506e044152c36.png)

Each action and compensating action are modelled as a Lambda function.

由于补偿动作也可能失败,我们需要能够重试它们直到成功——这意味着它们必须是**幂等的**。我们还将在系统出现故障时实现**向后恢复**。

下面是代表我们故事的状态机。每个操作——预订酒店、预订航班和预订租赁——都有一个补偿操作,并将按顺序执行。递归箭头表示补偿动作被重试,直到成功。

![The state machine that represents a saga pattern.](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/ba08758c5dfdb3fbb197bd947d1542cb.png)

每个 Lambda 函数都希望输入为以下形式:

{
“trip_id”: “5c12d94a-ee6a-40d9-889b-1d49142248b7”,
“depart”: “London”,
“depart_at”: “2017-07-10T06:00:00.000Z”,
“arrive”: “Dublin”,
“arrive_at”: “2017-07-12T08:00:00.000Z”,
“hotel”: “holiday inn”,
“check_in”: “2017-07-10T12:00:00.000Z”,
“check_out”: “2017-07-12T14:00:00.000Z”,
“rental”: “Volvo”,
“rental_from”: “2017-07-10T00:00:00.000Z”,
“rental_to”: “2017-07-12T00:00:00.000Z”
}


每个函数内部都有一个针对不同 DynamoDB 表的简单的`PutItem`请求。相应的补偿函数将对相应的表执行一个`DeleteItem`来回滚`PutItem`动作。

状态机依次将相同的输入传递给每个动作(预订酒店→预订航班→预订租赁),并记录它们在特定路径的结果。这将避免覆盖将传递给下一个函数的输入`$`。

在这个简单的实现中,我们将对任何失败应用补偿操作——因此有了下面的`State.ALL`。在实践中,您应该考虑给某些错误类型一个[重试](http://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-errors.html#amazon-states-language-retrying-after-error) —例如,暂时性错误,如 DynamoDB 的供应吞吐量超出异常。

每个动作和补偿动作的输出和错误都存储在特定的路径中。这将避免覆盖其余动作的输入值`$`。

![The output and error from each action and compensating action are stored at a specific path.](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/b965613464a8a7eb1e955a23ed12e21d.png)

### 快乐之路流动

沿着这条快乐的道路,每个动作依次执行,状态机将成功完成。

![Saga path where each of the actions are performed in turn and the state machine will successfully complete.](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/f8eedb75187c63beed2d9b5b4a5a7bcc.png)

### 失败案例

当故障发生时,我们需要根据故障发生的位置依次采取相应的补偿措施。

在下面的例子中,如果失败发生在`BookFlight`,那么`CancelFlight`和`CancelHotel`都将被执行,以回滚到目前为止所执行的任何更改。

类似地,如果失败发生在`BookRental`,那么所有三个补偿动作——`CancelRental`、`CancelFlight`和`CancelHotel`——将按顺序执行,以回滚事务的所有状态改变。

每个补偿动作也有一个无限的重试循环!实际上,在提醒人为干预之前,重试次数应该有一个合理的上限。

![Showing each compensating action having an infinite retry loop.](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/255093ca78078d639c233d6779e8be4a.png)

如果你想用这个例子自己试验 Saga 模式,这里是这个演示的源代码。

我很想知道你对使用 Saga 模式和微服务架构的优缺点的看法…请在下面留言。*感谢阅读!*

* * *

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

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

* * **

# 如何使用 AWS Lambda 和云专家 S3 为您的网站添加文件上传功能

> 原文:<https://acloudguru.com/blog/engineering/how-to-add-file-upload-features-to-your-website-with-aws-lambda-and-s3>

*文件上传带来了一个可扩展性问题,使用无服务器很容易解决——而不会增加您的钱包负担*。

从浏览器上传文件的机制在互联网早期就已经存在了。在全服务器环境中,很容易使用 Django、Express 或任何其他流行的框架。这不是一个令人兴奋的话题——除非你经历了伸缩问题。

想象一下这个场景—您有一个上传文件的应用程序。一切都很好,直到网站突然流行起来。在纳税日之前的一个月,每小时的使用量增长到了 100Gb,而不是每月处理 1gb 的上传量。之后,使用量会在下一年再次下降。这正是我们要解决的问题。

大规模的文件上传会吞噬你的资源——网络带宽、CPU、存储。所有这些数据都是通过您的 web 服务器获取的,然后您必须对其进行扩展——如果您幸运的话,这意味着 AWS 中的自动扩展,但是如果您不在云中,您还必须应对物理网络瓶颈问题。

如果您的服务器在处理上传文件的过程中失败,您还可能面临一些困难的竞争条件。文件到达最终目的地了吗?处理的状态如何?当服务器过载时,很难重放失败的步骤或知道事务的状态。

幸运的是,这个特殊的问题被证明是无服务器的一个很好的用例——因为您可以完全消除伸缩性问题。对于需求不可预测的移动和 web 应用程序,您可以简单地允许应用程序将[文件直接上传到 S3](https://acloudguru.com/hands-on-labs/introduction-to-amazon-s3) 。这有一个额外的好处,即启用 https 端点进行上传,这对于在传输过程中保持文件内容的安全至关重要。

所有这些听起来都很棒——但是当服务器不再做身份验证和中间的跑腿工作时,这在实践中如何工作呢?

### S3 上传程序演示应用程序

我在 [AWS 无服务器应用程序库](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:526237104669:applications~Serverless-S3-Uploader)中设置了一个应用程序,您可以将其部署到自己的 AWS 帐户中。尝试安装应用程序并在文档中部署 Gist homepage,然后我们将介绍解决方案:

![Setting up an app in the AWS Application Repository that you can deploy to your AWS account.](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/10368b8e6e29eb595d871a1d9bc5f89f.png)

幕后发生的是一个两步过程——首先,网页调用一个 Lambda 函数来请求上传 URL,然后它将 JPG 文件直接上传到 S3:

![The behind the scenes two step process, first the web page calls a Lambda function to request the upload URL, and then it uploads the JPG file directly to S3.](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/ca0c82182fc8f73af180b37640f99670.png)

URL 是该过程的关键部分,它在授权传输的查询参数中包含一个密钥、签名和令牌。没有这些,传输将会失败。

*随意克隆 [Github repo。](https://github.com/jbesw/askjames-s3uploader)面向公众的演示应用程序会在 24 小时内删除所有文件,并启用节流功能以防止滥用,正如您所知。*

### 为什么要使用 Lambda 函数?

有可能[取消 Lambda 函数](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-authentication-HTTPPOST.html)并从客户端浏览器做所有事情——但是有许多好的理由来避免这种方法。除了向 web 页面添加更多的代码之外,Lambda 函数还允许您控制这个过程,避开任何潜在攻击者的窥探。

例如,如果您想先授权用户,也许只有付费用户可以上传,而免费试用版是只读的,该怎么办?或者您可能需要在流程中添加额外的挂钩来触发其他工作流、日志记录,或者在上传太多的情况下添加一个中断器。或者您可能不愿意在客户端代码中透露存储桶名称或其他信息。

请求签名 URL 的 Lambda 函数——演示应用程序的第一步——相当简单:

const uuidv4 = require(‘uuid/v4’)
const AWS = require(‘aws-sdk’)
AWS.config.update({ region: process.env.REGION || ‘us-east-1’ })
const s3 = new AWS.S3();
exports.handler = async (event) => {
return await getUploadURL()
}
const getUploadURL = async () => {
const actionId = uuidv4()
const s3Params = {
Bucket: ‘<< ENTER YOUR BUCKET NAME HERE >>’,
Key: ${actionId}.jpg,
ContentType: ‘image/jpeg’,
ACL: ‘public-read’,
}
return new Promise((resolve, reject) => {
let uploadURL = s3.getSignedUrl(‘putObject’, s3Params)
resolve({
“statusCode”: 200,
“isBase64Encoded”: false,
“headers”: { “Access-Control-Allow-Origin”: “*” },
“body”: JSON.stringify({
“uploadURL”: uploadURL,
“photoFilename”: ${actionId}.jpg
})
})
})
})


尽管这个函数很简单,但是在请求签名的 URL 之前,可以很容易地在这个阶段添加各种逻辑。一旦函数就绪,接下来的事情就是设置 API Gateway 并创建一个 GET 方法来创建端点。或者,您可以使用[无服务器框架](https://serverless.com/)进行部署,并自动执行这一步骤。

### 构建前端

该项目基于一个[样板 Vue 模板](https://vuejs.org/v2/guide/),但是演示该功能的所有重要工作都发生在 s3uploader.vue 中。

![Step one is to request the upload URL and step two is to upload directly to S3\. ](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/da0bff34ec421f0c9b7180819b97de54.png)

s3uploader.vue

同样,这是最少的代码,没有错误处理或细节以保持示例的简单,但是您可以看到实现这一点所需的代码只有几行。如果你打开 Chrome 开发者控制台(按 F12),你可以在整个过程中看到 console.log 输出。

### 设置您的权限

最后,谈谈权限——当您请求签名的 URL 时,请求函数需要适当的 IAM 权限来请求和上传文件。

一些管理政策包括过于慷慨的 S3:*许可。这些功能在开发中工作而在生产中失败是很常见的,因为当提升到生产时,IAM 角色被切换到一组更窄的特权。函数使用的 IAM 角色必须能够写入桶中,否则无法工作。

### 回到可伸缩性

这一切之所以值得,是因为可伸缩性。如果您需要允许大量用户上传文件,这种方法可以减轻您的所有网络负担(用户直接上传到 S3 ),并且扩展是无缝和自动的。当没人使用你的功能时,你不用付费。

此外,由于用户和 S3 之间没有服务器中继,您可以消除另一个故障点。 [S3 以其“11 个 9”的耐用性而闻名](https://acloudguru.com/blog/engineering/brazeal-in-praise-of-s3-the-greatest-cloud-service-of-all-time),所以您也可以从文件几乎不可能消失这一事实中受益。

总的来说,考虑到无服务器实现的好处,在使用 AWS 基础设施时,这似乎是管理任何形式的文件上传的明显而简单的方法。

* * *

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

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

* * *

# 您的云迁移梦想团队需要的 6 个人

> 原文:<https://acloudguru.com/blog/engineering/how-to-assemble-your-cloud-migration-dream-team>

预计到 2020 年,超过 80%的企业工作负载将会出现在云中。如果你还没有完全从[迁移到云](https://acloudguru.com/blog/business/what-is-cloud-migration),你可能会感到尽快迁移的压力。但是不要[重复别人的错误](https://acloudguru.com/blog/business/4-common-mistakes-when-enterprises-go-cloud)通过即兴迁移。成功的云转型始于挑选一个拥有必要知识、技能和资源的团队,然后让他们担任正确的角色。

下面是你需要的六个人来建立你的组织自己的云迁移梦想团队。

#### 1.执行发起人

这是 X 教授对你的 x 战警——丹尼海洋对你的海洋 11。此人的姓名将附加到您的云迁移中。他们拥有它。他们负责 IT 组织的迁移策略和云流畅度。

这个人是成功转型的关键人物,所以要明智地选择。你的首席技术官或首席信息官是一个很好的起点。如果你是组织中的决策者,并且有能力(和时间)担当这个角色,这个人可能就是你。如果你有一个优秀的云新手候选人,一个 [AWS 认证的云从业者认证](https://acloudguru.com/blog/engineering/what-we-learned-sitting-aws-cloud-practitioner-exam)可以给他们提供他们需要领导的云速成班。

**他们是谁**

*   一位德高望重、平易近人的高管,其愿景是引领 IT 组织内的文化变革
*   至少对云及其优势有基本了解的 IT 或业务领导

**他们会做什么**

*   参加会议、接听电话,并在整个组织内支持云计算事业
*   制定战略,确定成功标准,组建迁移团队,[确定技能差距](https://acloudguru.com/blog/news/introducing-skills-assessment-for-cloud-teams),评估培训和招聘需求

#### 2.现场将军

这个人是阿波罗 13 号地面控制的活化身——一个不费吹灰之力完成任务并保持任务正常进行的专家。这是一名主管级别的 IT 专业人员,具有团队协作技能,负责项目管理和执行迁移策略。他们应该参与人员配备决策、建立合作关系、选择供应商和制定沟通计划。

**他们是谁**

*   具备业务和财务技能的云专家,对技术如何融入大公司战略有着深刻的理解
*   一位经验丰富的项目经理,能够为成本规避、运营弹性和员工生产力等领域提供关键绩效指标(KPI)

**他们会做什么**

*   激励迁移团队,建立友谊,并实施策略以避免过程中的疲劳
*   设计正确的流程并确保运营顺利进行,包括采用正确的工具、配置、计费和开发内部云计算最佳实践
*   充当空中交通控制,指导人们在问题造成延误之前解决问题,并保持项目在预算范围内

#### 3.解决方案架构师

这个修修补补的技术人员是你团队中的多那太罗。这是一名云工程师,负责设计和管理您组织的[云架构](https://acloudguru.com/blog/engineering/scalability-cloud-computing),包括前端平台、服务器、存储、内容交付和网络。

**他们是谁**

*   IT 专业人员和工程师,具有云及云迁移经验的团队成员,包括与您的云提供商一起设计或开发解决方案的认证

**他们会做什么**

*   与系统管理员以及安全性和法规遵从性贡献者并肩工作
*   拥抱创新,尝试-失败-学习-重复实验,同时精通基础设施设计最佳实践

#### 4.系统管理员

基础设施即服务(IaaS)极大地改变了系统管理员的角色。此人将确保您拥有所需的云资源,而不是管理硬件。

**他们是谁**

*   精通虚拟机和云网络以及 IaaS 和平台即服务(PaaS)开发和部署的 IT 专业人员
*   了解云基础知识、全面了解您的云提供商并认识到[错误管理云资源的陷阱](/blog/business/top-10-mistakes-companies-make-managing-aws-resources?_ga)的云从业者
*   精通 shell 脚本和高级编程语言,如 Perl、Python 和 Ruby

**他们会做什么**

*   负责管理和定制云资源,以满足您组织的要求

#### 5.云安全管理器

[云安全管理器](https://acloudguru.com/course/aws-certified-cloud-practitioner)负责在您的云环境中部署、配置和维护安全基线。此人还应该使用帐户、用户和组来设置和管理对云资源的访问。

**他们是谁**

*   获得云安全管理认证的云从业者,了解设计和维护安全云环境的职责分工
*   一名 IT 团队成员,擅长沟通,了解虚拟机和容器部署系统的潜在漏洞

**他们会做什么**

*   确保您的安全,并向您的工程团队解释云安全的工作原理、重要性以及安全协议

#### 6.合规专员

该角色与云安全经理密切合作,负责确保您的组织符合您所在行业的隐私和 GDPR 要求。

**他们是谁**

*   获得云安全管理认证的隐私专家,可以帮助内部团队制定尊重隐私的政策和流程

**他们会做什么**

*   使用云提供商提供的工具维护必要的合规性认证
*   与法律和安全团队合作,确保您组织的隐私计划符合并维护合规标准
*   评估新产品、功能和流程,确保它们符合法规遵从性指导原则

如果您有具备适当技能的适当团队,云迁移可以顺利、安全、经济高效且快速。如果你是一半以上的 IT 领导者中的一员,正在努力寻找必要的人来支持你的云计划,考虑一下 T2 企业培训。无论你的团队是在你需要他们的地方犹豫不决,还是完全在做其他事情,像亚马逊和摩根大通这样的公司都在[投资培训和再培训](https://acloudguru.com/blog/business/build-your-own-unicorns)团队,以更好地适应新的优先事项。

**还不是 ACG 商业会员?**

我们为您提供提升团队技能、建立云文化、为未来做好业务准备以及充分利用每份许可证所需的一切。

* * *

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

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

* * *

# 如何审计和保护 AWS 帐户

> 原文:<https://acloudguru.com/blog/engineering/how-to-audit-and-secure-an-aws-account>

据 Statista 称,数据泄露和暴露的凭据:这只是让网络安全专家夜不能寐的几个云安全问题。确实很可怕。这就是为什么对于任何重视自身持续存在的组织来说,投入时间对云环境进行适当的审计和保护仍然是重中之重。在本帖中,我们将讨论如何审计和保护 AWS 帐户

但是,当涉及到保护您的 AWS 帐户时,您应该从哪里开始呢?

我们可以从几个基本问题开始,我们将在这篇博文中回答这些问题:

*   我们如何审计 AWS 账户?

*   我们如何保护 AWS 帐户的安全?

*   我们的工具箱里有哪些 AWS 原生工具?

以下提示和见解由杰出的安全工程师唐·麦咭提供。唐是一位爱猫人士,是一位拥有 20 多年 IT 经验的资深[云架构师](https://acloudguru.com/blog/engineering/what-is-a-cloud-architect-and-how-do-you-become-one),也是 [Stedi](https://www.stedi.com/) 的云安全主管,Stedi 是一家 100%远程、完全无服务器的 B2B SaaS 提供商。

*本内容基于我们的* [*保护您的 AWS 环境*](https://get.acloudguru.com/securing-aws-environment-webinar?&ajs_aid=8b2cc73f-c0e0-442b-ba6d-0eb362250ebb) *ACG 网络研讨会。任何错误都是编辑的责任。*

保护 AWS 帐户的大部分工作都可以通过 AWS 原生工具来完成。

以下并不是一个完整的列表,但是这些是 Don 在 Stedi 的工作中发现的最有影响力的 AWS 原生工具。我们将在下面详细讨论其中的一些工具。

*   **账户和组织** —这提供了最强的[爆炸半径](https://acloudguru.com/blog/engineering/ransomware-and-aws-6-ways-to-reduce-your-blast-radius)来限制安全事件的影响。

*   **访问和身份管理(IAM)——**通过角色、策略和用户管理对服务和资源的访问

*   **日志记录—** Cloudtrail、S3 访问日志、流量日志、CloudWatch 日志

*   **基础设施和数据保护—** VPC、神盾局、WAF、网络防火墙、马西、KMS、证书管理器、机密管理器

*   **安全评估、事件响应、数据保护和威胁检测—** 警卫、检查员、Confi、侦探、工件、安全中心

* * *

[**12 AWS 配置规则每个账户都应该有**](https://acloudguru.com/blog/engineering/12-aws-config-rules-that-every-account-should-have)
在[这篇博文](https://acloudguru.com/blog/engineering/12-aws-config-rules-that-every-account-should-have)中,看到了 AWS 配置规则,应该被认为是任何账户的最低要求。

* * *

## **如何审计 AWS 账户**

当我们深入探讨如何审计和保护 AWS 帐户时,让我们从审计开始。通过审计 AWS 帐户,您可以查看 IAM 用户、角色、组和策略,并查看是否有任何用户或工具拥有过多的权限。

审计是至关重要的,因为你不能保护你没有跟踪的东西。审计是确保 AWS 帐户安全的最基本的工具之一,但是大部分安全工作都是做基本的事情。(但是,当然,基础的东西可能很难。)

在您的环境中,从第一天开始,以下内容都是可以访问的。

### **1。生成并维护一份完整的资产清单**

什么是资产?在 AWS 领域,资产是任何有标识符的东西。这可能是策略、角色和服务器。我们需要这些东西的清单。一旦我们有了一个列表,那么我们就可以开始弄清楚这些东西是做什么的,我们如何保护这些资源,以及它们是否有任何配置错误。

#### 如何创建资产库存

建立资产清单有不同的方法。您可以使用第三方工具或 CLI 脚本,但是有一种快速简单的方法:AWS Config。AWS Config 允许您记录和评估 AWS 资源的配置。

查看[这篇文章](https://acloudguru.com/blog/engineering/12-aws-config-rules-that-every-account-should-have)了解更多关于使用 AWS 配置创建资产清单的详细信息,以及 [12 个 AWS 配置规则,每个帐户都应该有](https://acloudguru.com/blog/engineering/12-aws-config-rules-that-every-account-should-have)。

### **2。安全 IAM**

作为审计的一部分,请看一下 IAM。IAM 经常被赋予过多的特权,所以我们希望确保我们有一个坚实的战略来解决这个问题。

#### 身份和访问管理(IAM)基础知识

与资源类似,用户和角色经常被授予过度特权。以下是你应该考虑的一些基本事项,作为最低限度的要求:

*   确保您配置了密码要求。
*   对所有用户实施 MFA 尤其是根帐户!
*   停止说话…停止使用根帐户。除了设置计费计划和更改自己的地址之外,它没有任何实际 IAM 用户或角色无法完成的有用功能。
*   使用访问分析器查找意外访问。您可能会看到有能力由外部实体承担的角色,这可能是您不希望看到的…尤其是如果是您不认识的客户。
*   尽可能限制 IAM 用户的使用。它们带来了额外的风险。
*   使用 AWS SSO 进行人工访问。并为人类建立特定的工作角色。它让开发者的生活变得更加容易。
*   根据工作角色而非人员授予用户访问权限。
*   禁用任何 90 天或更长时间未使用的角色。如果另一个 90 没人投诉,就删了。
*   利用开源/第三方工具进行 IAM 分析。

* * *

![aws iam errors](https://github.com/OpenDocCN/geekdoc-devops-zh/raw/master/acloudguru-blog/img/e66a98be16296610f6a293dee3114286.png)

[**了解如何修复 5 个常见的 AWS IAM 错误**](https://acloudguru.com/blog/engineering/fixing-5-common-aws-iam-errors)
AWS IAM 错误很常见。别担心!在[这篇博文](https://acloudguru.com/blog/engineering/fixing-5-common-aws-iam-errors)中,我们深入探讨了 5 种常见 AWS IAM 错误的原因和解决方法。

* * *

### **3。寻找公共资源**

一旦你有了资产清单,并在 IAM 上浏览了一遍,你就需要开始处理公共资源。

这些都是我们已经确定为公开的,因此是风险点。这些可以包括 S3、EBS 快照、SNS、数据库等等。

我们看到像 S3 错误配置这样的事情,但还有其他可能是公开的危险但被忽视的事情。例如,有时人们拍摄服务器的快照,并意外地将它们配置为公共的。我们需要检查这些东西!

公开可用的资源可能会导致数据泄露、数据丢失以及对帐户和服务的意外访问。(那些不好。)这就是为什么我们需要确定公开可用的资源。

非故意公开的常见资源包括:

*   S3 桶或物体
*   快照
*   社交网络话题
*   数据库
*   EC2 实例

“我要做一个非常不受欢迎的声明:没有任何好的理由,S3 水桶应该是公开的,”唐说。“从来没有人给过我一个好的理由。”

要查找公共资源,可以使用开源工具,第三方工具,或者 [AWS Config](https://acloudguru.com/blog/engineering/12-aws-config-rules-that-every-account-should-have) 。但是*你*必须去补救它们。

这里有一些你可以立即完成的快速简单的胜利。这些是唐最起码的要求:

*   在帐户级别启用 S3 公共访问阻止
*   打开警戒
*   使用 AWS 防火墙管理器将通用 IP 安全规则应用于所有 VPC
*   利用托管配置规则,但不要害怕编写自己的规则!

### **4。使用 AWS 组织**

#### 推荐的 AWS 组织结构

AWS 组织是一个最被低估的安全领域。这是您的安全工具箱中最强大的工具之一。

账户就是边界。你必须允许东西进出账户。你不能用 AWS 中的其他任何东西来说。即使有了 VPCs,您也必须采取额外的步骤来使它比开箱即用更加安全。默认情况下,除非您允许,否则没有任何东西可以进出帐户。

我们将这些用作我们技术体系中特定部分的服务帐户。每个团队或服务都有一个帐户。

*   **Root /管理帐户—托管组织**
    *   生产 OU、生产前 OU、构建 OU、开发 OU
        *   每个人对每项服务都有一个帐户
    *   运营 OU
        *   公司系统账户(账单、内部 IT 等。)
        *   DNS 帐户—将子域委派给其他帐户
    *   安全 OU
        *   安全帐户—所有安全工具(警卫、SIEM、配置等)的所有者。)
        *   日志记录帐户—安全部门使用的所有日志的真实来源
    *   暂停 OU
        *   这是我们保存关闭或未使用账户的地方
        *   有 SCP 来阻止采取任何行动

* * *

**[保护您的 AWS 环境](https://get.acloudguru.com/securing-aws-environment-webinar)** 在[这个免费的点播式网络研讨会](https://get.acloudguru.com/securing-aws-environment-webinar)中,您将了解如何从零开始保护复杂的 AWS 环境,并了解如何审计和保护 AWS 帐户。

* * *

### **5。确保审计日志已启用**

接下来,我们必须有审计日志。审核日志对于检测值得注意的事件至关重要,有助于您了解事件发生后的情况。

CloudTrail 基本上是 AWS 中大多数情况下发生的每个动作的自动日志。但是,根据您的工作负载,您也可以考虑其他服务,包括 VPC 流日志(如果您使用服务器)或 S3 访问日志(如果您公开使用存储桶)。

#### AWS 审计日志记录基础

*   确保启用了 CloudTrail 并在 S3 中存储日志。
    *   S3 存储桶应该具有高度受限的访问权限
    *   最佳做法是将所有日志存储在专用帐户中
    *   如果使用 AWS 组织,请打开全局 CloudTrail
*   其他值得注意的日志有 S3 访问日志、CloudWatch 日志、WAF 日志和 VPC 流日志
*   没有 SIEM 工具,日志几乎毫无用处。
*   只要有用,就只储存多头。

CloudTrail 很快就会变得昂贵,尤其是如果你在 S3 存储的话。你只需要保留你需要的东西。但是你需要它。如果您没有打开 CloudTrail,您就无法检测事件。

#### 如何通过 CLI 打开全局 CloudTrail

创建一个 S3 存储桶来存储日志,并确保该存储桶尽可能被锁定。然后,通过 CLI 启用全局 CloudTrail:

*   `aws organizations enable-all-features`
*   `aws organizations enable-aws-service-access --service-principal [cloudtrail.amazonaws.com](http://cloudtrail.amazonaws.com)`
*   `aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail —is-multi-region-trail`

如果使用 SIEM,请配置 S3 存储桶和 SIEM 以使用日志。

* * *

## 锁定您的云安全技能

学得更快。动作快点。[从 ACG 开始](https://acloudguru.com/pricing)通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。

* * *

### **6。打开安全控制**

打开那些对齐的原生工具,如果适用的话,比如守卫职责和督察。

保持警惕总是好的,但是如果您正在运行 EC2 实例,并且您没有强大的漏洞管理程序,您可能希望打开 Inspector 来查找缺失的补丁和类似的东西。

### **7。如果没有数据流图和网络图,则构建它们**

我们想要所有东西的数据流图。如果你不知道一个开发者是如何使用系统的,你就不知道你能做什么。这可以帮助做出决定,如阻止 S3 公共访问。

### **8。挑一个标准**

安全不应该是你一路走来编造出来的。你不应该进入一个问题,只是决定实施一个规则。作为审核和保护您的 AWS 帐户的工作的一部分,您需要路标。这就是标准的作用。

唐推荐 NIST CSF/800-53、CIS 或 CCM。但是请记住:这些不应该是规则。你应该利用它们来为你的决策提供信息。

### **9。建立风险登记簿以跟踪调查结果**

风险本身必须被跟踪,就像资产一样。我们不想玩打地鼠。建立风险登记册可以确保我们不是在救火,而是在防火。

风险登记簿可以像电子表格一样简单,至少应跟踪以下内容:

| 身份证明 | 调查结果的专用标识符 |
| 优先 | 临界指示器 |
| 描述 | 风险有多大? |
| 可能性 | 这种情况发生概率 |
| 影响 | 事件的后果 |
| 响应类型 | 接受、转移、减轻、避免 |
| 响应描述 | 可以做些什么来解决或减轻风险? |
| 物主 | 谁负责? |
| 状态 | 此风险的当前状态 |

风险登记册应该推动补救问题和故事。

## **如何保护 AWS 账户的安全**

接下来,让我们以类似于 Don 在 Stedi 的方法来应用这些概念。

*   将基础架构用作所有部署的代码
*   打开默认 EBS 加密
*   在帐户级别启用 S3 公共访问阻止
*   EC2 实例需要 IMDSv2
*   使用 AWS 组织
*   利用服务控制策略
    *   执行“禁止”和“禁止”的规定
    *   保护关键资产
    *   保持光线
*   对 IAM 用户使用 AWS SSO
*   使用基于工作的角色
*   关键帐户访问警报

这是上面提到的一些事情以及如何在 CloudFormation 中实现它们的一个例子:

S3AccountPublicAccessBlock:
Type: “Community::S3::PublicAccessBlock”
Properties:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
EbsEncryptionDefaults:
Type: “Community::Organizations::EbsEncryptionDefaults”
Properties:
EnableEbsEncryptionByDefault: true
IMDSv2LaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateName: IMDSV2
LaunchTemplateData:
MetadataOptions:
HttpEndpoint: enabled
HttpPutResponseHopLimit: 1
HttpTokens: required


### 服务控制策略(SCP)

服务控制策略(SCP)允许您对帐户应用限制性策略。这些可以在根级别或 OU 级别应用。根帐户不受 scp 的影响

#### 推荐的最低 scp:

*   拒绝根用户访问
*   要求使用 IMDSv2
*   拒绝创建 IAM 访问密钥的能力
*   拒绝离开组织的能力
*   拒绝扰乱守卫职责或阻止守卫职责失效能力
*   拒绝禁用 S3 公共访问阻止的能力
*   拒绝禁用 EBS 默认加密的能力
*   拒绝禁用 AWS 配置的能力

#### Optional SCPs:

*   禁用未使用的区域
*   需要资源上的标签
*   防止删除数据库、S3 存储桶或生产中的其他敏感项目

### 服务控制策略示例

下面的 SCP 示例阻止 root 帐户执行几乎所有操作。Don 建议将此应用于所有孩子帐户,并创建一个移除时触发的警报。

DenyRootUserSCP:
Type: OC::ORG::ServiceControlPolicy
Properties:
PolicyName: DenyRootUser
Description: Deny using the root account
PolicyDocument:
Version: “2012-10-17”
Statement:
- Sid: DenyRootUser
Effect: Deny
Action: “"
Resource: "

Condition:
StringLike:
“aws:PrincipalArn”: “arn:aws:iam:😗:root”


在 https://asecure.cloud/p/scp_package/可以找到一个很棒的 scp 列表

## 提高 AWS 环境的安全性

除了以上关于如何审计和保护 AWS 账户的步骤之外,一个组织可以做的最大的事情之一就是[通过授权给开发人员](https://acloudguru.com/blog/business/how-to-shift-aws-security-left-10-ways-to-empower-your-developers)来转移安全性。你可以在这里阅读更多关于 T2 的信息。

想了解有关保护您的云环境的更多信息吗?

ACG 为您提供了保护 [AWS](https://acloudguru.com/blog/engineering/what-is-amazon-web-services-aws) 、 [Azure](https://acloudguru.com/blog/engineering/what-is-microsoft-azure) 和 [GCP](https://acloudguru.com/blog/engineering/what-is-google-cloud-platform-gcp) 环境所需的基本要素。查看我们的[掌握 AWS 良好架构的框架](https://acloudguru.com/course/mastering-the-aws-well-architected-framework)课程。

或者,在八月份,查看以下免费课程,这些课程都是 [ACG 免费课程](https://acloudguru.com/blog/news/whats-free-at-acg)的一部分:

寻找更深入的安全培训?查看 ACG 的 [AWS 安全学习路径](https://acloudguru.com/learning-paths/aws-security')并提升你的技能,无论你是完全的新手还是安全专家。

* * *

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fgithub.com%2FOpenDocCN%2Fgeekdoc-devops-zh%2Fraw%2Fmaster%2Facloudguru-blog%2Fimg%2Ff0d20211f44c56a8f4211964b4a574aa.png&pos_id=img-g08GBVzh-1730162113681)

**[看点:领导需要了解哪些关于云安全的知识](https://go.acloudguru.com/Leaders-Cloud-Security-Webinar?ajs_aid=8b2cc73f-c0e0-442b-ba6d-0eb362250ebb)**
你的业务在云端安全吗?答案很大程度上取决于你。观看 Mark Nunnikhoven 的[免费点播网络研讨会](https://go.acloudguru.com/Leaders-Cloud-Security-Webinar),他将解决云安全的关键问题。

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

(Kriging_NSGA2)克里金模型结合多目标遗传算法求最优因变量及对应的最佳自变量组合研究(Matlab代码实现)内容概要:本文介绍了克里金模型(Kriging)与多目标遗传算法NSGA-II相结合的方法,用于求解最优因变量及其对应的最佳自变量组合,并提供了完整的Matlab代码实现。该方法首先利用克里金模型构建高精度的代理模型,逼近复杂的非线性系统响应,减少计算成本;随后结合NSGA-II算法进行多目标优化,搜索帕累托前沿解集,从而获得多个最优折衷方案。文中详细阐述了代理模型构建、算法集成流程及参数设置,适用于工程设计、参数反演等复杂优化问题。此外,文档还展示了该方法在SCI一区论文中的复现应用,体现了其科学性与实用性。; 适合人群:具备一定Matlab编程基础,熟悉优化算法和数值建模的研究生、科研人员及工程技术人员,尤其适合从事仿真优化、实验设计、代理模型研究的相关领域工作者。; 使用场景及目标:①解决高计算成本的多目标优化问题,通过代理模型降低仿真次数;②在无法解析求导或函数高度非线性的情况下寻找最优变量组合;③复现SCI高水平论文中的优化方法,提升科研可信度与效率;④应用于工程设计、能源系统调度、智能制造等需参数优化的实际场景。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现过程,重点关注克里金模型的构建步骤与NSGA-II的集成方式,建议自行调整测试函数或实际案例验证算法性能,并配合YALMIP等工具包扩展优化求解能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值