ACloudGuru-博客中文翻译-一-
ACloudGuru 博客中文翻译(一)
放大管理用户界面:开发人员的 10 个激动人心的特性
原文:https://acloudguru.com/blog/engineering/10-exciting-features-of-the-new-amplify-admin-ui
本周 AWS 发布了一个主要的新功能——Amplify Admin UI**。**Amplify Admin UI 为开发人员提供了一个可视化界面,用于创建、更新和删除他们的 Amplify 云后端,为他们的数据建模,以及改善 Amplify 项目内部的协作等。你可以在放大器控制台或者通过创建一个新的沙箱来尝试。
以下是我在发布会上最喜欢的 10 个功能。
可视化定义您的数据模型
我最喜欢的,也可能是最强大的特性,是可视化定义数据模型的能力。使用新的可视化编辑器,您不仅可以创建和部署您的数据模型,还可以对模型之间的关系(一对多、多对一和多对多)进行建模,以及为细粒度的访问控制定义安全设置和授权规则。
一旦部署了数据模型,就可以更新和部署对数据模型的更改。UI 还为您提供了如何在所有支持的前端(JavaScript、iOS、Android 和 Flutter)上本地下拉和运行新后端的逐步说明。
在没有 AWS 帐户的情况下,在管理 UI 和 CLI 中配置您的后端
只有 Amplify Console 的第一个后端部署需要 AWS 帐户。之后,您可以通过电子邮件邀请团队成员使用 AWS Admin UI 和 Amplify 命令行界面(CLI)。所有具有完全访问权限的管理 UI 用户都可以在没有 AWS 帐户的情况下使用 Amplify CLI。
对构建更多命令行界面感兴趣?查看我们关于 Python Click 的动手实验,并学习使用 Click(命令行界面创建工具包)创建 Python CLI!
简单易懂的授权规则
一旦创建了数据模型,就可以定义授权规则并配置细粒度的访问控制。您可以配置 API 访问的主要类型(公共、私有等..)以及每个模型的访问设置(创建、读取、更新、删除)。
使用这些规则,您可以为许多类型的常见应用程序建模常见的授权场景和用例,并直接从仪表板部署更改。
使用这些规则,很容易实现许多类型的应用程序所需的通用授权配置。
内容管理
部署您的数据模型后,所有应用程序数据都可以在管理 UI 的内容管理视图中看到,使应用程序管理员能够管理内容(例如,更新产品价格或添加新的博客文章)。
您可以使用基本的数据类型(字符串、整数、布尔值等)..)以及使用内置的富文本编辑器编辑网站和博客内容的富文本。
按照代码部署基础设施
Admin UI 使用 AWS CloudFormation 和嵌套堆栈来部署后端资源。这些 CloudFormation 堆栈允许您将后端基础设施定义保存为代码。可以使用 Amplify CLI 本地提取所有堆栈定义。管理 UI 和 Amplify CLI 协同工作。通过运行 amplify pull 命令,可以在 CLI 中实现在管理 UI 中所做的更改。类似地,对数据模型或 auth 的 CLI 更改将在 Admin UI 中可见。
使用 Amplify CLI 和 Amplify Hosting
使用 Admin UI 启用的后端服务的配置可以使用 Amplify CLI 下拉到您的本地项目中。然后可以使用 CLI 或 Admin UI(或两者)迭代和更新项目。
还有一个新的非基于节点的 CLI,使许多尚未使用或不熟悉 Node.js 的开发人员更容易上手和运行。
可以使用以下命令安装新的 CLI:
curl -sL https://aws-amplify.github.io/amplify-cli/install | bash && $SHELL
部署后端后,您可以使用任何前端 web 项目设置托管和全栈 CI & CD,方法是使用 Git repo 或使用 Amplify CLI 在本地连接它们。
从 Amplify 控制台克隆和删除环境
创建环境后,您可以将整个基础架构克隆到新环境中。这对于测试新特性或增强功能非常有用。
然后,如果您想将任何更改合并到另一个环境中,可以使用 Amplify CLI 在本地下拉这些环境。
在部署到云之前用沙盒构建应用
使用沙箱,您可以在部署到云之前创建、测试、共享和协作数据模型。一旦你创建了一个沙箱,你就可以通过一个公开的 URL 与任何人分享,无论他是否有 AWS 账户。
如果你认为其他人会发现应用程序的想法有用,你也可以为你想要公开分享的数据模型创建模板。您可以从头开始创建数据模型,也可以从 Amplify 提供的一个示例模式中创建数据模型。
设置认证,管理用户和群组
您可以设置和部署身份验证(由 Amazon Cognito 提供支持),定义登录方法,以及配置和定义注册属性。
部署后,您可以创建用户和组,将用户添加到组中,查看登录活动,并在您的数据模型上定义授权规则。
具有友好重定向的自定义域
如果您的应用程序设置为使用 Amplify 控制台的网络托管功能,您可以使用您为应用程序前端设置的自定义域访问应用程序的管理用户界面。
例如,如果你在 https://exampledomain.com 托管你的应用程序,你可以设置一个友好的重定向到应用程序的管理用户界面的域名地址,如https://exampledomain.com/amplify/adminui。
Nader Dabit 是 web 和移动开发人员、作家,也是 AWS 的高级开发人员倡导者,专门从事全栈云开发。
学习 AWS 的 10 个有趣的动手项目
原文:https://acloudguru.com/blog/engineering/10-fun-hands-on-projects-to-learn-aws
学习 AWS 最好的方法就是使用提供的服务来构建真实世界的应用程序。我是“边做边学”的强烈支持者,所以我整理了 10 个不同难度的有趣项目,它们将帮助启动你的云计算生涯。
对于每个项目,我都列出了先决条件、使用的服务,并提供了一个在线教程的链接。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
1.在亚马逊 S3 上推出一个静态网站
在亚马逊 S3 上部署你的静态网站是一个划算的解决方案,通常比传统的托管服务提供商更便宜。几年前我把我的网站迁移到了亚马逊 S3,从那以后我一直在省钱!这是一个超级有趣的项目 AWS 新手,并向您介绍几个核心服务,如亚马逊 S3 和亚马逊 CloudFront。
您将创建一个 Amazon S3 存储桶来保存您的静态网站文件,并创建一个 Amazon CloudFront 分发包来为您的网站提供全球服务。亚马逊 Route 53 会管理你的域名,AWS 证书管理器会提供有效的 SSL/TLS 证书。
使用的服务
- 亚马逊 S3
- 亚马逊云锋
- 亚马逊 53 号公路
- AWS 证书管理器 r
先决条件
你需要一些东西来开始这个项目:
- 由 HTML、CSS、JavaScript 等组成的静态网站。文件。
要开始,查看这个在线教程。
2.使用 CloudFormation 启动 Amazon EC2 Web 服务器
CloudFormation 是我最喜欢的服务之一。当您有多个资源要部署时,您会很快意识到这个过程是多么的乏味和耗时,尤其是当您有多个环境时(例如,开发、测试和生产)。
CloudFormation 允许您使用基础设施即代码(IaC) 大规模、更加一致和高效地部署资源。这个有趣的项目允许您使用 JSON 或 YAML 编写一个 CloudFormation 模板,在 Amazon EC2 实例上建立一个 web 服务器。
使用的服务
- 亚马逊云形成
- 亚马逊 EC2
- 亚马逊 VPC(和子组件)
先决条件
你需要一些东西来开始这个项目:
要开始,查看这个在线教程。
3.将 CI/CD 管道添加到 Amazon S3 存储桶
持续集成和持续交付(CI/CD) 自动化软件交付管道中的步骤。
如果没有自动构建和部署,我们将如何生活?我记得由于需要手工劳动和稳定性风险,一个季度只能部署一次代码的日子!这个项目是一个在 AWS 上引入 CI/CD 的有趣项目。当代码签入时,您将自动将网站更改部署到生产环境中。另外,你可以使用你在亚马逊 S3 项目的发布一个静态网站中创建的 S3 桶作为一个起点。
使用的服务
- 亚马逊 S3
- AWS 代码管道
- AWS CodeStar
先决条件
你需要一些东西来开始这个项目:
- 静态网站
- 静态网站代码已签入 GitHub
要开始,查看这个在线教程。
4.使用 AWS Lambda 将 Amazon CloudWatch 指标发布到 CSV 文件
CloudWatch 与大多数服务相集成,使用指标来发布有关系统性能的详细信息。指标是发送到 Cloudwatch 的时间序列数据。
我喜欢这个项目,因为它使用了另一个我最喜欢的服务, AWS Lambda 。由于我们使用 Lambda,这个项目确实需要一点编码经验,所以它不适合绝对的初学者。只要你熟悉 Lambda 支持的一种编程语言,你就会很乐意亲自动手。
使用的服务
- 亚马逊云观察
- 自动气象站λ
- AWS CLI
先决条件
你需要一些东西来开始这个项目:
- 安装在本地计算机上的 AWS CLI
- 文字编辑器
要开始,查看这个在线教程。
看点:解决“没有经验”的云招聘问题
没有工作是得不到经验的。但是谁会雇佣没有经验的你呢?谜题!观看这一免费的点播网络研讨会,进行关于云计算职业发展的小组讨论,并获得您的第一份云计算工作。
5.使用亚马逊 SageMaker 训练和部署机器学习模型
如果你对机器学习很好奇,但不知道从哪里开始,试试亚马逊 SageMaker 。SageMaker 提供“机器学习即服务(MLaaS)”,并在您的机器学习之旅中与您见面。SageMaker 甚至为非编码人员提供“无编码”计算机视觉选项。对于这个有趣的动手项目,您将训练一个机器学习模型来预测消费者行为。这个项目使用的是 Python 编程语言,所以熟悉计算机编程会有帮助。
使用的服务
先决条件
你需要一些东西来开始这个项目:
- 用于训练的数据集
- 熟悉 Python
要开始,查看这个在线教程。
6.使用 Amazon Translate 和 Amazon Lex 创建一个翻译语言的聊天机器人
我爱 AWS 提供的高级 AI 服务。这些服务使用预先训练的机器学习模型,允许您轻松地将智能集成到现有的应用程序中。
如果你从未玩过 Amazon Translate 或 Amazon Lex,那你就要享受特殊待遇了。在这个动手项目中,您将构建一个执行语言翻译的对话界面。如果这个项目听起来不酷,我不知道哪个项目会酷!您还将接触到其他服务,如 AWS Lambda、AWS CloudFormation、Amazon CloudFront 等等。
使用的服务
- 亚马逊 Lex
- 亚马逊翻译
- AWS Lamda
- 自动气象站云形成
- 亚马逊云锋
- 亚马逊的姐夫
先决条件
你需要一些东西来开始这个项目:
- 用于训练的数据集
- 熟悉 Python
要开始,查看这个在线教程。
7.使用 AWS Amplify 部署一个简单 React Web 应用程序
AWS Amplify 帮助你在 AWS 上构建全栈 web 应用,是我新宠的服务!
借助 Amplify,我能够在不到两周的时间内使用 Amazon Cognito 部署 React 应用程序进行用户身份验证,使用 AWS AppSync 部署 GraphQL 用于 API 层,使用 Amazon Aurora 部署数据库,使用 AmazonS3/Amazon CloudFront 部署存储和内容交付!你可以在这里查看那个项目,在这里查看。
在这个动手项目中,您将使用 DynamoDB ,而不是 Aurora,并在 50 分钟内部署应用程序!
使用的服务
- AWS 放大器
- 亚马逊认知
- 亚马逊 DynamoDB
- AWS AppSync
- 亚马逊 S3
- 亚马逊云锋
先决条件
你需要一些东西来开始这个项目:
- 节点. js
- GitHub / Git
- 文字编辑器
要开始,查看这个在线教程。
8.创建一个 Alexa 技能,使用 AWS Lambda 和 DynamoDB 提供学习技巧
当我刚开始学习 AWS 时,Alexa 技能是我开发的第一批应用程序之一。如果你不知道,大多数 Alexa 技能运行在 AWS 生态系统上。我发现 Alexa 技能开发是对云和人工智能的温和介绍。
在这个有趣的实践教程中,你将建立一个由 AWS Lambda 函数和 DynamoDB 表支持的 Alexa 技能,以提供有用的学习技巧。
使用的服务
- Alexa 技能工具包(询问)
- 自动气象站λ
- 亚马逊 DynamoDB
先决条件
你需要一些东西来开始这个项目。
- 亚马逊开发者门户网站上的一个账户
- 一个 DynamoDB 表,里面有你最喜欢的学习技巧
- 回声设备是一个不错的选择,但不是必需的
要开始,请查看此在线文档。
9.使用亚马逊 Rekognition、AWS Lambda 和亚马逊 S3 识别名人
我一直很喜欢玩 Amazon Rekognition。当他们发布名人识别功能时,我迫不及待地想尝试一下。您知道名人可以联系 AWS 支持来选择退出吗?我想知道我如何能选择加入?😂
在这个有趣的动手项目中,当图像上传到亚马逊 S3 桶时,您将触发 Lambda 函数。你的 Lambda 函数然后将调用recognize 名人 API 来识别照片中的人!
使用的服务
- 亚马逊 S3
- 自动气象站λ
- 亚马逊索赔案
先决条件
你需要一些东西来开始这个项目:
要开始,请查看此在线文档。
10.在 Amazon EC2 上托管一个专用的 Jenkins 服务器
谁不喜欢“进入”EC2 实例并到处玩呢?我实际上已经在 EC2 实例上安装了 Jenkins,并将其连接到 Alexa 技能,通过语音部署我的代码。你可以在这里查看那个项目,在这里查看。
在这个动手项目中,您将启动一个 EC2 实例,并在其上配置 Jenkins 。这个项目会让你接触到 EC2 和安全。
使用的服务
- 亚马逊 EC2
- 亚马逊 VPC(和子组件)
先决条件
你需要一些东西来开始这个项目。
- EC2 密钥对
- SSH 客户端或 PuTTY
要开始,查看这个在线教程。
保护您的 AWS 环境 在这个免费的点播网络研讨会中,了解如何从零开始保护复杂的 AWS 环境,并学习如何正确审计和保护 AWS 帐户。
后续步骤
如果你在完成这些项目时有任何问题,请前往 ACG 不和谐频道找我。
在开始之前,我建议您使用 AWS 免费层计划。免费层计划将减少您在 AWS 上构建时可能产生的任何费用。此外,一旦你完成一个项目,不要忘记清理你不再使用的任何资源,这样你就不会产生费用。
完成这些项目后,你会有一个很好的作品集来展示你的才华。
另一种与他人分享你的才能的方法是写一篇关于你所学到的经验的博客。我相信其他人会很想知道你的旅程,包括我自己。此外,考虑申请加入 AWS 社区建设者计划。AWS 社区建设者为 AWS 爱好者提供技术资源、指导和交流机会。
你需要额外的有趣的项目想法吗?查看 #CloudGuruChallenge:选择你的挑战大组合。那么,你还在等什么?我们来建吧!
2022 年我们的专家喜爱的 10 篇科技文章
原文:https://acloudguru.com/blog/engineering/10-tech-articles-2022
欢迎来到我们的年度总结,云专家博客上阅读量最高的 10 篇文章!根据页面浏览量,我们编制了一份 2022 年最能引起读者共鸣的所有作品的列表。
看看下面的列表,看看我们才华横溢的技术大师们认为最有用的是什么,以及每篇文章所涵盖内容的简要总结。
1.ACG 有什么是免费的
老实说,每个人都喜欢免费的东西。老实说,这份免费课程清单最受欢迎并不奇怪。我们每个月都会更新这篇文章,所以来看看吧!这个列表通常包括 AWS、Azure、GCP、Linux、云安全、Kubernetes、DevOps 培训等免费课程!
阅读文章:ACG 有什么是免费的
2.通过 AWS 认证,你可以获得 8 项 AWS 工作
你知道人们最喜欢什么免费的东西吗?认证——通常排在第一位的是 AWS 认证。但是当你得到一个,然后呢?这篇文章正好回答了这个问题,比如你可能有资格获得的工作,你的闪亮的新证书能带来的工作,以及你能期望挣多少钱。
阅读文章:通过 AWS 认证可以获得的 8 份 AWS 工作
3.无服务器对决:AWS Lambda vs Azure 函数 vs 谷歌云函数
在云专家这里,我们喜欢无服务器!但在所有的产品中——AWS Lambda、Azure Functions 和 Google Cloud Functions——很难区分哪一个是“无服务器之王”(是的,这是一个官方头衔,还有腰带和一切)。这就是为什么在本文中,我们将这些产品相互比较,以确定哪种服务占主导地位。毕竟只能有一个!
阅读文章: 无服务器对决:AWS Lambda vs Azure 函数 vs 谷歌云函数
4.如何让你的 AWS Lambda 函数保持温暖
这是今年非常受欢迎的一篇文章!在这篇文章中,我们分享了如何安排 CloudWatch 事件规则来解冻 AWS Lambda 函数,并帮助将响应时间从三秒减少到几百毫秒。然而,鉴于来自 AWS re:Invent 2022 的最新消息,其中 AWS 发布了 Lambda SnapStart,Lambda 冷启动的时代可能已经结束。
我们已经在我们的博客上写了一份详细的摘要,地址是 Lambda SnapStart:我们从 re:Invent 2022 中了解到的内容,还有一个由 Jeff Barr 自己写的很棒的博客,题为用 Lambda SnapStart 加速你的 Lambda 函数。
5.Microsoft 认证续订和过期说明
2021 年,微软对他们处理认证过期和续订的方式进行了一些大的(和受欢迎的)改变。我们的微软一切专家 Lars Klint 在这篇文章中解释了你需要知道的关于它如何影响你的 Azure 认证的一切。用他的话说,‘你还在等什么?“继续,读吧!”
阅读文章:微软认证更新和过期解释
6.如何排除 5 种常见的 Terraform 错误
Terraform 是我们在 2021 年搜索最多的术语,它今天仍然非常受欢迎。如果您遇到了 Terraform 状态和语言错误,请务必阅读 Jess Hoch 的这篇文章。它涵盖了您在管理基础架构时可能会遇到的五种最常见的 Terraform 错误(以及如何对它们进行故障排除)。
7.CDK vs 地形 vs 云形成:自动气象站 IaC 指南
另一篇比较文章,这次是 Jared Short 写的!他将 CDK 与 Terraform 和 CloudFormation 进行了比较,并回答了当谈到 AWS 上的基础设施即代码(IaC)工具时,哪一个最适合您。他甚至提供了一个方便的图表,说明您应该考虑使用每种产品的情况。
阅读文章:CDK vs Terraform vs cloud formation:AWS 上的 IaC 指南
8.如何在 AWS 上构建多区域主动-主动架构
这是一篇很棒的文章,不仅因为它是从引用亚瑟·C·克拉克的话开始的。它解释了在 AWS 中设计多区域主动-主动架构的原因和方法。值得注意的是,这是构建这种架构系列的第二篇文章(第一篇可以在这里找到)。
9.使用 AWS Lambda 和木偶师实现无服务器浏览器自动化
以编程方式控制 web 浏览器使您能够用代码自动完成许多有用的任务。对于其中的许多,您可以使用 Lambda 来最小化基础设施开销并简化扩展。这篇方便的博客文章展示了如何部署一个示例应用程序,该应用程序使用一个无头浏览器来定期获取网页截图。
阅读文章:使用 AWS Lambda 和木偶师实现无服务器浏览器自动化
10.深入了解 AWS Secrets Manager 与 AWS Systems Manager 参数存储库
AWS Secrets Manager 是一项服务,可帮助您保护对应用程序、服务和 IT 资源的访问。在本文中,Craig Arcuri 解释了它与参数存储的比较,包括两者之间的相似之处和不同之处。
阅读文章:深入了解 AWS Secrets Manager 与 AWS Systems Manager 参数存储库
2022 年编辑精选
我们很难挑出 2022 年最好的文章——不喜欢就不发表!但经过努力,我们列出了一些我们认为你应该看看的优秀文章。
1.云冒险:5 个有趣的免费云计算课程
记得我说过每个人都喜欢免费的东西吗?或者,好吧,你可能跳过了那一行,但我不是阅读警察。嗯,五门云探险课程是你可以参加的免费课程之一!云冒险不是你一般的云计算培训。这些课程将学习科学与积极参与结合起来,帮助您掌握云技术——这意味着包含漫画、动画和一般有趣内容的小课程。
总共有 20 多个云冒险课程,涵盖 AWS、Azure、Linux、Terraform、Kubernetes、Vim、SDS 等等。如需完整列表,请查看文章!
阅读文章:云冒险:5 个有趣的免费云计算课程来试试
2.什么是多云:了解多云策略
2023 年将是多云时代!根据 Gartner 的调查,超过 80%的组织使用不止一个云提供商,75%的组织默认使用多云环境。但是什么是多云战略,您如何知道它是否适合您的组织?这篇文章回答了这个问题以及更多的问题。
阅读文章:什么是多云:了解多云策略
3.多云朵流畅性:你应该学习多云朵的 6 个理由
从职业角度来看,学习多种云非常有意义,即使您的组织只使用一个云提供商。Mattias Andersson 在本文中对此进行了最好的解释,并分享了他自己的经验,即精通多云是多么困难。
阅读文章:多云流畅性:你应该学习多云的 6 个理由
4.启动云计算职业生涯的 7 种方法
这是入门级的难题,就像鸡和蛋一样令人困惑。你需要一份工作来获得经验,但是你需要经验来获得一份工作。大多数“入门级”云计算工作要求多年的工作经验,因此很难进入该领域。Ryan Kroonenburg 解释了如何打破这种恶性循环。
阅读文章: 7 种快速开启云计算生涯的方法
5.我们的“什么认证适合你?”系列
好吧,这有点像作弊,因为这不是一篇文章,而是三篇。我们的专家已经写了一些关于如何从 AWS、Azure 和 GCP 等热门提供商那里为你选择正确的云认证的便利指南。
6.科技工作者的职业倦怠:什么是职业倦怠,如何应对
你感到筋疲力尽了吗?这并不罕见——五分之二的 It 专业人员处于高度倦怠的风险中,如果你在网络安全领域工作,这一比例超过一半。无论你是经理还是员工,本指南将帮助你识别疲惫的迹象(在你自己和他人身上),并分享你可以做些什么来对抗它。
7.我可以将我的 SQL 语言技能从本地迁移到 Azure 吗?
这本书上榜仅仅是因为艾米·库格林是一位有趣的作家,它将流行的 Azure 解决方案比作狗的品种。如果你需要更多的理由,对不起,我帮不了你。开个玩笑:它确实为如何将 SQL 语言技能从本地迁移到 Azure 提供了很好的建议。
阅读文章:我可以将我的 SQL 语言技能从本地迁移到 Azure 吗?
从 Google Cloud Next 21 了解 10 件事
原文:https://acloudguru.com/blog/engineering/10-things-to-know-from-google-cloud-next-21
欢迎来到这个月的 GCP!这个月,我们来看看 Google Cloud Next’21 的一些重要成果。在这篇文章中,我和我的同事 GCP·古鲁·博达斯·帕尔默和乔·洛维里一起讨论了我们认为最激动人心的公告和他们认为最难忘的会议。
获得新的 GCP 技能
今天就和云专家一起开始,边做边学。ACG 可以通过围绕 Google Cloud、AWS、Azure 等的课程和实际动手实验室,帮助你掌握新技能并转变你的职业生涯。
Mattias: 我很想听听你最喜欢的公告是什么。你们觉得什么特别?
1.大戟项目
乔:嗯,我必须承认一件事:没有什么特别喜欢的公告。像大多数会议一样,很多时候,我会去看演示。我想看一些新鲜热辣的东西,他们给我送来了。
在开发者主题演讲的开幕式上,谷歌技术基础设施高级副总裁 Urs hlz le 用五种不同的语言一句接一句地发言:英语、法语、印地语(我想)、西班牙语,然后是德语。除了英语和德语之外,他对这些语言都不流利,但是他的声音被用作模型,他的讲话被复制以便他能说话。
这是谷歌研究和 DeepMind 的衍生项目项目 Euphonia 的成果,他们使用语音转文本技术,试图帮助那些难以被理解的人被更广泛地理解。
因此,首先数字设备可以理解它们,然后我们可以弥合这一差距,让人们理解数字设备。我想,“哇,这难道不是一个真正狂野的应用吗?也许我们会看到用演员自己的声音进行语言配音。”
2。顶点 AI 工作台
对我来说,它也更深入地研究了机器学习和人工智能,这也是我试图了解更多的东西。我喜欢的一件事是顶点人工智能工作台。不仅了解到这一点,谷歌 Next 也在这方面做了快速的启动。他们采用了客户终身价值模型。他们使用 BigQuery 进行分析,然后使用 TensorFlow 和顶点 AI 。
他们分析了客户的消费金额和消费频率,并据此建立了一个基线。然后他们用带有 TensorFlow 和 Vertex AI 的 Docker 容器创建了一个训练模型。这将作为模型使用顶点 AI 预测的端点。快速入门真的帮助我了解了更多关于 Vertex AI 的知识,以及如何从可用于 TensorFlow enterprise 的托管笔记本中使用它,以及如何从您自己创建的新笔记本中使用它。所以这是一个非常神奇的工具,我很高兴我深入了解了它。我已经觉得自己更聪明了!
乔:这种对人工智能的强调实际上是谷歌在整个行业的主要推动力之一,几乎是他们所做的一切。他们真的试图越来越多地引入这一点,你可以看到它开始在不同的领域和不同的服务中全面涌现。那真令人兴奋。Mattias,你最大的收获是什么?
3。谷歌分布式云
马蒂亚斯(Mattias):我总是对所有的无服务器公告感兴趣,但我相信我们很快也会谈到这些。但是让我印象深刻的是谷歌分布式云。
谷歌分布式云是一个非常有趣的包装,为你提供了不同的管理方式。当你谈论 Vertex AI Workbench 时,我将提到我有多喜欢托管服务,因为为我们做工作是我真正欣赏的。因此,让他们通过谷歌分布式云接触到更多的地方——我认为这是一件非常有趣的事情。他们有四类为你管理东西的地方。这是谷歌网络边缘,有他们所有的存在点,在世界各地有 140 个。
Mattias :运营商与电信公司互动,管理手机和其他连接设备的响应能力。一个是客户优势,比如在工厂车间或零售店,他们需要在那里进行处理,并具有响应能力或离线能力等。还有客户数据中心。因此,不仅仅是谷歌的云,还有客户数据中心、colo 设施或其他任何东西,这还没有涉及到他们现在如何为多云提供新的 API。
他们演示了通过 Anthos 的多云 API 部署到 GCP 和 Azure,他们只是在各地推广,对吗?所以,如果你想让谷歌帮你管理东西,这是最好的方法。我认为这是许多真正有趣的东西,它们聚集在一起,嗯,将许多组织的产品包放在一起,这些组织正在考虑云计算,希望获得这种功能,但也希望获得不必管理东西的好处。
4.谷歌的多云焦点
Joe: 你知道,我认为这确实反映了谷歌的很多世界观,也是你我经常谈论的一些东西;他们不会认为“嘿,每个人都来我们的平台,我们会教你我们的平台。”不,他们想要的是让人们知道如何在现实世界中工作。他们意识到不是每个人都在云上,但是人们正在往那里移动。所以他们想让这变得更容易。他们基本上是去顾客所在的地方。无论你是在处理混合云的情况,使用你的本地云,希望是谷歌云(但也可能不是),还是尝试去多云化,利用 Azure 的一些更好的服务或更好的 AWS。并将这些与一流的谷歌云服务相结合。所以,这整个方法,这种分布式云的工作方式,我认为对我来说这就是谷歌的世界观。这是他们看待现实的方式。
是的,我完全同意。尤其是涉及到数据的时候。即使在云环境中孤立数据也容易出错。因此,理解到允许他们的客户基于不同的云平台查询数据是 BigQuery Omni 现在正式发布的原因。因此,我认为这是谷歌很久以前就意识到的事情,甚至在创建 Kubernetes 的时候。
获取谷歌云痛苦字典
说云不一定要硬。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取谷歌云中一些最痛苦术语的简洁定义。
5.BigQuery Omni
Mattias: Broadus,我真的很高兴你提到了 BigQuery Omni,因为我觉得 BigQuery Omni 在它所代表的东西上真的很有趣。
我们都听说过 BigQuery。我们已经看到 BigQuery 有多受欢迎。能够对所有数据进行查询,甚至以无服务器的方式使用 ESQL 查询,并且能够通过 AWS 和 Azure 上的 BigQuery Omni 访问 BIgQuery,仅仅是普遍可用就真的很棒。我真的很兴奋,现在这是可行的,但我也很兴奋,因为我认为这意味着谷歌正在考虑他们已经得到的其他技术。这些谷歌工程师显然是非常聪明的人,我们喜欢他们所做的一切。我们爱 GCP,因为那里有很多好东西。我认为他们也在考虑将更多这些东西带到其他云上。我很想看看他们会带来什么。
Broadus: 谷歌现在正在成为一个平台,这不是说,“嘿,来我们的平台,使用我们的产品,”而是他们正在做的是找出其他云平台需要什么——他们的客户需要什么。所以现在,AWS 和 Azure 需要它们的服务来运行。所以,使用谷歌服务,现在他们只是收集数据,分析它如何工作,如何帮助,如何整合。然后,创新将出现在他们带来这些云平台本身需要的服务的地方。所以,消除竞争,但要合作。这创造了一个更大的云市场。这就是我看到的发展方向。
6.GCP 无服务器
Joe: 哦,他们还利用 BigQuery Omni 获得了一项现有的服务并对其进行了扩展。你之前提到过无服务器,我知道你有点迫不及待地想要得到无服务器的东西。因此,我将在这一点上击败您,因为我同意,而且我看了一下无服务器的情况。
这很有趣,因为他们说我们经历了云功能和云运行的所有重大变化,在较小程度上,是云构建。但是他们真的在利用自己的优势,在这些优势的基础上更上一层楼。
例如,在云函数中,他们增加了更多的运行时。他们有红宝石。NET Core,甚至 PHP,而且他们已经将 Python 更新到了更新的版本,比如 3.9 和 node。JS——他们甚至在预览版本 16。所以他们真的在向前发展,但他们也扩展了云功能的功能,以及如何与他们合作进行定制。所以你有私人工人池。现在,您可以指定一个私有的工人池,甚至为此构建环境变量,而不是让云函数的构建完全脱离您的控制。最好的事情之一是他们在功能中增加了最少的实例,这将有助于人们避免一个快速运行的功能的冷启动。但是,如果你有一个暖云功能已经设置好了,你就完全避免了冷启动的时间框架。
Mattias: 虽然我是一个无服务器纯粹主义者,但我想说的是,能够为云函数设置最少的实例实际上是一件好事。实际上,云运行也是一样,你可以固定它,让它们运行来做后台处理等等。
它确实适合不仅仅是事件驱动的模型的情况,我认为它所做的是帮助更多的组织以适合他们的方式采用这些技术。我不知道这在开发团队的对话中出现了多少次,比如“哦,好吧,我们要做什么?比如,我们需要重新实现整个过程吗?”我是说,这种事多久能被批准一次,对吧?除非是超级快的事情。真的没有。因此,能够通过采用适合您的环境的方法,然后看一看调整的东西,沿着这条路改变它们,从而获得更大的进步,渐进的进步总是一个值得考虑的伟大策略,对吗?
7.云运行
Joe: 你提到云运行是即将推出的一些增强功能的一部分。我真的被那里发生的事情吸引住了。
现在他们有了他们所谓的第二代执行环境,你可以选择,它提供了更高的网络和 CPU 性能。它们拥有完整的 Linux 功能,甚至网络文件系统支持。我觉得这有点惊人。
正如你所说,他们现在允许你用一个新的模拟器在本地开发你的云运行应用,他们甚至可以用一个三个字的命令在本地部署。我是说,你一定会喜欢这三个字的命令!我一直有点嫉妒 App Engine。您可以云、应用、部署和运行!所有其他 GCloud 命令都是 15 个单词,带有双破折号标志和所有内容。所以云跑现在已经爬上了那艘船,现在它可以滑动这面旗帜 GCloud run deploy 了。因此,他们通常运行得非常快,这就需要一种服务,这种服务获得了很大的吸引力,并对其进行了改进,还增加了很多安全性。全面加强安全似乎也是会议的一个主题。
Mattias: 嗯,我当然喜欢简短的命令行,因为我是按字符付费的。但是从开发者的角度来看,可用性是一件大事。因此,没有真正复杂的东西,然后能够在仿真器中本地部署调试,这是一件非常重要的事情。很长一段时间以来,无服务器的开发故事一直是朝着那个方向和那个战略的最困难的部分之一,我很高兴这些事情现在得到了这么多的关注和支持。
8.谷歌工作流程和文档人工智能
Broadus: 是的,这是一个有趣的观点,Mattias,还有与 Google Workflows 的合作,你现在已经实现了 HTTP 回调,GCP API 连接器,在 Google Next 他们正在讨论与 Document AI 的合作,这是来自 GCP 的新 API,真的会与 Typeform 这样的服务竞争。现在你可以使用人工智能和典型的机器学习来理解你需要的文档类型。看看文件结构的位置,以及你的文件应该如何放置,看你是否有发票,合同,任何你真正要展示的东西。工作流是一个很好的工具,它与内存和并发性密切相关。
因此,我已经看到了谷歌工作流的一些令人兴奋的东西,特别是我认为值得一试的文档人工智能。他们有一些 GitHub,你可以从中提取。您甚至可以深入了解如何创建和部署服务帐户,并看看在现实情况下是什么样子。
9.一流的火花支持
Mattias: 另一件很酷的事情是第一类 Spark 支持,因为现在谷歌将为你管理 Spark。我喜欢谷歌为我们管理东西。其中之一就是无服务器,所以开发者可以忽略所有的集群。您只需提交一个作业,然后 Google 将负责为您提供集群和自动扩展,以确保该作业正常运行。所以拿走所有你不需要关心的东西绝对是一件好事。其他地方也有一流的 Spark 支持。现在,这些是在私人预览中,但你可以在 BigQuery,Vertex AI 和 DataPlex 中获得。因此,对于使用 Spark 的人来说,这些绝对是一些额外有趣的优点。
10.必看片段
Broadus: 我想谈谈 Google Next’21 上的必看片段。
对我来说,一个必须观看的部分是与文斯·瑟夫和吉姆·霍根关于技术残疾的有趣对话。吉姆·霍根谈到了自己的自闭症,他不太愿意把这一点告诉他的同龄人和雇主。但在谷歌,他找到了一个家,在那里他不仅感到被接受和培养,而且他觉得谷歌实际上是在通过培训其他员工来了解残疾人的感受以及如何与他们沟通和联系来发表声明。这是一个非常棒的会议,看到谷歌采取主动,许多公司甚至不敢试图理解。能够拥有这样一个包容性的生态系统来帮助每个人茁壮成长,我认为这是一件大事。为谷歌喝彩。
马蒂亚斯:我也赶上了那场比赛。这绝对是一部值得一看的电影,它让我们能够在与人交往时审视自己的一些假设。我们对此有什么假设?我们怎样才能做得更好?
Joe: 如果人们还没有机会观看开发者主题演讲,我会回去推荐他们观看,因为它不仅有我提到的关于文本到语音转换和不同语言的精彩演示,还有对 Euphonia 项目的很好的参考,以及一个非常有趣的链接,而且它们真正触及了为什么他们是一家面向开发者的公司的主要关键点, 他们介绍了很多工具,你们可能很熟悉,比如 Cloud Shell,但他们更深入地介绍了这些工具,真正解释和揭示了一些我不知道或不记得的东西,或者它的一些功能。 而且一直在扩大。
我想提到的另一件事是,安全确实是贯穿整个会议的一个大主题。特别提到的是,谷歌现在正在坚持 SALSA,这是一种行业标准,不仅仅是一道美味的菜肴,但他们正在将它用于他们的 Anthos 服务网格和云构建混合系统,这允许完全合规,并允许谷歌实施二进制授权,以便可以设置策略来确保正在部署的是贵公司希望部署的。
Mattias: 是的,二进制授权是那些听起来不太令人兴奋的事情之一,但它实际上保护了业务和开发管道。我真的很高兴看到他们正在整合更多的地方。所以这很酷。
你提到安全是主题之一。我想我们也谈到了多样性和包容性这一主题。实际上,我经常看到的另一个主题是可持续性和环境影响。我看到他们有许多新工具可供人们使用,以确定他们运行的工作负载对环境的影响。
最终外卖
Broadus: 我最后要说的不是谷歌这次专注于更多的新服务,而是对现有服务的更多改进,以及他们试图与其他公司和其他云服务提供商建立的关系。然后,我认为在未来的一两年内,可能会创新一些更多的解决方案,并帮助其他云服务提供商在生态系统中蓬勃发展。所以这一切都是关于可持续性,安全性,更多的是关于人工智能和机器学习的未来。谷歌掌握着这一切。
Joe: 我们都没有谈到的关键创新之一,我认为我们真的应该关注的是谷歌如何设法提高会议的效率。我是说,去年,那是什么?九周的会议?现在看看他们。他们只剩三天了。我是说,这太惊人了。你不得不佩服这种效率。
马蒂亚斯:嗯,我得感谢你们两位。我真的很高兴与你谈论谷歌云 Next’21。这就是这个月的全部内容,但我们很乐意继续与您交谈。加入我们的 Discord ,让我们知道你对 Google Cloud Next’21 的想法。保重,保持安全,继续成为令人敬畏的云大师!
关注谷歌云的一切
你知道云专家有一个免费账户层吗?不需要信用卡!每个月你都可以参加一套新的免费课程?查看本月免费课程,在这里报名。
想跟上万物云?在 YouTube 上订阅云专家的每周云新闻,在脸书上关注我们,在 Twitter 上关注我们,或者在 Discord 上加入对话!
每个客户都应该拥有的 12 条 AWS 配置规则
原文:https://acloudguru.com/blog/engineering/12-aws-config-rules-that-every-account-should-have
当涉及到保护您的环境和减少您的爆炸半径时,使用 AWS 附带的开箱即用的工具是一个很好的开始。在本帖中,我们将介绍 12 个 AWS 配置规则,这些规则应该被认为是任何帐户的最低要求。
因为大多数安全部门都在做基本的事情。(不要把你的笔记本电脑“藏”在乘客座位上的连帽衫下,这样就不太可能丢失。)但是,当涉及到保护您的 AWS 环境时,基本的事情可能有点困难。
你是想开始你的 AWS 职业生涯还是想让你的技能更上一层楼?我们的 AWS 学习路径提供定制的路径,让您的云计算之旅更加精彩!
什么是 AWS 配置?
保护 AWS 环境的一个关键步骤是创建资产清单。
建立资产清单有多种方法。您可以使用第三方工具或 CLI 脚本,但有一种快速简单的方法,那就是使用 AWS Config。
AWS Config 允许您记录和评估 AWS 资源的配置。它有两个基本功能。
- 它可以记录系统中运行的所有配置数据。
- 它可以建立规则来帮助我们确保合规。
保护您的 AWS 环境
在这个免费点播的网络研讨会中,了解如何将复杂的 AWS 环境从零提升到安全。
启用 AWS 配置
要开始,您需要启用 AWS 配置。你可以在这里获得整个过程的细节。在此过程中,您将执行以下操作:
- 创建一个 S3 存储桶来保存配置数据
- 创建一个配置记录器
- 创建交付渠道
- 使用 AWS CLI 进行验证:
- aws 配置服务描述-交付-渠道
- aws 配置服务描述-配置-记录器
- aws 配置服务描述-配置-记录器-状态
一旦我们完成,系统将开始收集资产并存储它们。我们可以在 AWS 配置中看到它们,并看到从那时起的变化。
配置清单后,您现在可以:
- 查看整个客户的资源计数
- 使用 SQL 搜索库存
- 查看资产的详细信息
- 启用或创建 AWS 配置规则以确保合规性
如果在许多帐户中这样做,重要的是要注意,可以为您控制下的所有帐户集中收集配置。
12 个推荐的 AWS 配置规则
AWS Config 已经为许多资源管理了规则。作为最起码的要求,这里有 12 条推荐的配置规则,这些规则是由云架构师和安全工程师唐·麦咭以及斯特迪的云安全主管提供的。
| AWS 配置规则 | 动作 |
| 云形成-堆积-漂移-探测-检查 | 所有堆叠应无漂移 |
| S3-存储桶级别-公共访问-禁止 | S3 存储桶不应是公共的 |
| ec2-实例-非公共-ip | EC2 实例不应有公共 IP |
| EBS-快照-公共-可恢复-检查 | 您的服务器快照不应公开 |
| iam 根访问密钥检查 | root 用户不应该有访问键 |
| 启用 cloudtrail | 应该始终启用 CloudTrail |
| ec2-EBS-默认加密 | 默认情况下,所有 EBS 卷都应该加密 |
| S3-桶服务器端加密启用 | 默认情况下,S3 应该被加密 |
| VPC-默认-安全-组-关闭 | 默认安全组不应被使用 |
| ACM-证书-过期-检查 | 确保您的证书不会过期 |
| 访问键-旋转 | 确保循环使用 IAM 用户访问密钥 |
| iam-用户-未使用的-凭据-检查 | 查找要禁用的非活动帐户 |
成本如何与 AWS 配置一起工作?
从成本角度来看,记录器(存储在 S3)和每条规则都需要收费。但是对于大多数组织来说,这些成本不应该太高。
Don 说,他的组织最终放弃了配置,因为它在寻找一个比 AWS 能提供的更好的仪表板,但他们有 30 个帐户和 26 个配置规则,成本在这一点上并不令人望而却步。
锁定您的 AWS 安全技能。
想了解更多关于云中安全性的信息吗?查看我们的掌握 AWS 架构良好的框架课程,或者深入我们的大规模实践云学习图书馆。
为 AZ-140 考试做准备的 17 个动手实验
原文:https://acloudguru.com/blog/engineering/17-hands-on-labs-to-prepare-you-for-the-az-140-exam
不言而喻,在过去几年中,对远程工作能力的需求急剧增加。这意味着对能够快速部署可大规模运行的企业级解决方案的 IT 专业人员的需求也在增加。
幸运的是,微软的 Azure 虚拟桌面非常适合虚拟桌面基础架构。
通过成为这种按需云服务的专家,并获得像微软认证:Azure 虚拟桌面专业这样的微软 Azure 认证,你将进入职业生涯的高速档。
在本文中,我们探索了从 AZ-140:配置和操作微软 Azure 虚拟桌面考试中可以期待什么,这是获得 Azure 虚拟桌面专业证书的要求的一部分。我们还为您提供最佳实践实验室的建议,以帮助您准备考试。
加速您的职业发展
从 ACG 开始通过微软 Azure 认证课程和实际动手实验室改变您的职业生涯。
AZ-140 考试是给谁的,考试内容是什么?
如果你是一名桌面管理员,希望设计和管理 Azure 虚拟桌面体验和远程应用,AZ-104 可能是你的正确选择。
我建议在购买 AZ-140 之前,先了解一下 AZ-104:微软 Azure 管理员。这将为您在 Azure cloud 中实现、管理和监控身份和治理打下良好的基础。
根据微软的说法,要获得 AZ-140,您需要在虚拟化、网络、身份、存储和弹性方面有一些经验。您还需要能够管理终端用户桌面环境。
考试本身涵盖以下领域:
- 规划和实施 Azure 虚拟桌面基础架构(40–45%)
- 规划和实施身份和安全性(15–20%)
- 规划和实施用户环境和应用程序(20–25%)
- 监控和维护 Azure 虚拟桌面基础架构(10–15%)
查看 AZ-140 学习指南了解每个领域涵盖的更详细的分类。
你也可以利用微软的考试沙箱来提前熟悉微软考试的外观和感觉。
如何准备 AZ-140 考试?
当我们在一个云专家这里为微软 Azure 认证创建课程时,我们喜欢提供大量的实验室来补充我们的课程。但不幸的是,这对于 Azure 虚拟桌面来说是不可能的。
所以记住这一点——随着基于表现的实验室测试进入所有微软 Azure 认证考试——我想给你带来一种不同类型的考试学习指南。以一张所有我建议在考试前练习的实际操作任务的清单的形式。是的,全部 17 个。可以说,这是你的实验学习指南!
有一点需要注意:对于你的考试,微软假设你能够使用几种不同的方法完成这些任务。这包括 Azure 控制台、Powershell、Azure CLI 和 ARM 模板。但是对于基于性能的实验室测试,您可以使用您喜欢的任何方法来完成所需的任务。
好了,去实验室。
准备 AZ-140 考试的推荐实验室
- 部署 Azure 虚拟桌面。尽可能多次这样做。
- 不要忘记练习部署验证主机池!
- 不使用 Azure 虚拟桌面向导删除和创建工作区和应用程序组。
- 部署 Azure Active Directory 域服务,并将其用于 Azure 虚拟桌面。特别提示:微软喜欢在考试场景中使用 Azure AD Domain 服务!
- 创建一个“黄金”会话主机映像,并将其放在 Azure 存储和 Azure 计算库中。
- 从存储在 Azure Storage 和 Azure Compute Gallery 中的托管映像部署会话主机。
- 练习手动安装 Azure 虚拟桌面代理,并向现有主机池添加新的会话主机。
- 使用不同的应用程序组部署多个 RemoteApps
- 微软在 FSlogix 上是巨大的,所以确保用各种不同的配置进行测试。别忘了云缓存!
- 部署条件访问和多因素身份验证,并试验不同的条件访问设置。
- 使用 Azure 防火墙从 Azure 虚拟桌面管理出站 internet。
- 为 Azure 虚拟桌面配置基于角色的访问控制(RBAC)。这样做,直到你记住内置的角色和它们的能力。
- 配置各种远程桌面协议(RDP)属性,并测试结果。
- 使用 MSIX 应用程序连接打包和部署至少一个应用程序。
- 在会话主机上部署 Microsoft Defender Antivirus(现在称为 Microsoft Defender for Endpoint)。
- 练习在 Azure 虚拟桌面会话主机上安装 Microsoft Office、OneDrive 和团队。这包括配置团队 AV 重定向。
- 练习为 Azure 虚拟桌面配置自动化,包括自动缩放、自动启动/停止、连接时启动虚拟机和排出模式。
如果你能使用你喜欢的方法完成所有这些任务而不用参考文档,你就能顺利通过 AZ-140 考试。即使是基于性能的实验室测试!
要获得更多关于备考的建议,请查看我的 AZ-140:微软认证 Azure 虚拟桌面专业课程。如果你想了解更多关于微软 Azure 认证的信息,我们有一个指南。
祝你考试成功!
微软 Ignite 2021 秋季版,你需要知道的 3 件事
原文:https://acloudguru.com/blog/engineering/3-things-you-need-to-know-from-microsoft-ignite-fall-2021
本周,ACG 参加了位于云端的微软 Ignite。没错,这是一场展示微软所有最新产品和服务的 48 小时在线活动。这是本周Azure的最大新闻,这也是为什么在本帖中,我们将谈论你需要从微软 Ignite 2021 秋季发布会了解的三件事。
但是等等。“微软 Ignite?”你可能会问。“那不是已经发生了吗?”别担心。这不是似曾相识或矩阵中的一个小故障——这是继三月份的微软 Ignite 之后今年的第二个 Ignite 事件。
详情请继续阅读!
通往更好职业的钥匙
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
1.什么是泛在计算?
让我们从体现大会更新的短语开始:无处不在的计算。
无处不在的计算是一个超级花哨的术语,传统上用于物联网,简单地说就是一切都有可能被连接起来,我们可以从中受益。或者,以一种稍微反乌托邦的方式:让计算渗透到生活的所有领域。最近的疫情和我们工作方式的改变推动了对普适计算的需求。
首先,它迅速推进了混合动力应用的时间表。这种对混合动力的推动和对远程工作的推动导致公司争先恐后地使用混合动力模式,而他们以前是在本地工作的。
这也给远程工作人员带来了问题,当办公室不存在时,他们仍然需要与同事和办公室保持联系。我认为这些问题会在会议上得到解决,推动新的混合产品以及相当多的人工智能和团队升级,这些都旨在让员工在远程世界中更无缝地互动。
其次,对无处不在的计算的渴望导致了对数据民主化的日益关注。(是的,每使用一个 5 美元的流行语,我就会得到额外的报酬。)然而,严肃地说,数据民主化就是让所有需要的员工都能访问重要数据,不管他们的技术背景如何。几乎在每一项新的服务或更新中,都有一种增加与其他服务和平台的连接并降低进入技术壁垒的推动力。至少尽可能多。
我相信,随着 Power Platform 的更新和无缝安全更新的增加,包括信任结构的开发,您会看到这一点。这个概念也随着开放人工智能服务和新的 GitHub Copilot 的更新而出现,我们将在这里更深入地讨论。
在我们继续之前,我建议您在了解新服务时,考虑一下每项服务是如何让技术在您的生活中变得更普遍、更易于在整个组织中使用的。接下来…
想了解更多关于使用 Azure 进行云开发的信息吗?查看本月的免费 ACG 课程阵容,包括我们闪亮的新 AZ-400 DevOps 认证考试课程。只需创建一个免费账户并升级。不需要信用卡!
2。一些值得注意的 Azure 开发者更新
在 Azure 的开发者方面,有一些亮点值得一提。
Ignite 2021 年秋季发布的最激动人心和最时髦的公告是 Azure Container Apps ,这是一种以应用为中心的无服务器托管服务,您无需管理任何底层虚拟机、编制器或其他云基础设施。它建立在 Kubernetes 之上,将让你部署微服务架构更加容易和快速。
Azure Logic Apps 现在可以与 Azure Arc 结合使用,在完全断开连接的情况下运行。这意味着你可以在本地、内部、多云中使用逻辑应用,当然,也可以在 Azure 中使用。Azure Arc 支持全新范围的逻辑应用集成,这是逻辑应用的一个特点。它们现在还支持托管身份,以实现更简单、更安全的身份验证流程,并且对设计者体验也进行了更新。
Azure 通信服务有两个新的更新。首先,SMS 短代码可以发送和接收大量消息,这对于 2FA 认证和其他大量消息非常重要。其次,微软团队整合了网站、定制应用程序和团队用户之间的语音、视频和聊天。
其他值得注意的新闻包括 Azure Service Bus 支持发送和接收高达 100MB 的有效负载,Web PubSub 即将全面上市,Azure Kubernetes 服务支持 Java 企业版,以及 Azure Kubernetes 服务(AKS)的开放服务网格(OSM)插件现已全面上市。
3.GitHub Copilot 想让你成为一个更好的开发人员
最后,我们花一分钟来说说 GitHub 副驾驶。这是一项引人入胜的服务,它突出了新技术带来的机遇,也带来了一些对新技术的担忧。
什么是 GitHub Copilot?
GitHub Copilot 是 GitHub 和 OpenAI 共同开发的人工智能工具,用于辅助用户编码。本质上,它与 Azure Open AI 相结合,以减少实现时间,并帮助编码人员专注于更高优先级的任务。
它提供了一系列框架和语言的代码建议,比如 Python、Javascript、Java 等等。作为开发人员,您有机会接受、拒绝或修改建议。当您编辑建议的代码时,GitHub Copilot 会适应您的编辑,并开始提供更符合您的编码风格的建议。
使这一概念引人入胜的是它的双重性。如果它像建议的那样工作,它将减少项目开发的进入壁垒,并可能减少开发成本和延迟。
不可避免地,人们会担心这些建议的质量,也会担心开发人员被替换。但是,作为一名开发人员,我不认为您应该担心。开发代码需要创造力以及对人类行为和业务需求的理解,而仅靠计算能力根本无法解决这些问题。
对代码质量的关注是一个更有效的问题。为了部分解决这个问题,GitHub 表示,Copilot 已经接受了数十亿行公共代码的培训。一些初步研究表明,Python、Javascript 和 Java 工作得特别好;然而,在您的开发环境中立即大规模实现之前,可能需要更多的研究。随着服务投入生产,这些问题通常会随着时间的推移而得到解决。
像 Ignite 这样的讨论指向了开发和云的未来——这也是我喜欢参加 Ignite 这样的会议的主要原因。
Ignite 提供了比我们在一篇文章中所能提供的更多的云内容,所以也可以查看录制的会议,以获得更多的知识注入。
正如我们在云专家团队中所说的,当一个重大事件有太多压倒性的知识无法注入一个人时,但你记得你有一个了不起的团队来分享它:“寻找,你将云。”下次见,继续牛逼吧,云大师们!
想跟上万物云?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。您也可以在脸书上喜欢我们,在 Twitter 上关注我们,或者在 Discord 上加入对话!
布莱恩·罗姆对此文也有贡献。
得到蔚蓝云痛苦辞典
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 Azure 中一些最痛苦术语的简洁定义。
更稳定的 AWS 环境的 3 大技巧
原文:https://acloudguru.com/blog/engineering/3-tips-for-a-stable-aws-environment
为您的云设置提供一个稳定的环境非常重要。幸运的是,有一些工具和产品可以帮上忙。但是你从哪里开始呢?你应该使用哪一个?
好吧,不要再看了!在这篇文章中,我总结了我的三大建议:利用自动扩展组实现一致性,利用多个可用性区域实现稳定性,以及按区域将生产环境与测试环境分开。我将在下面逐一介绍,但在此之前,我们先来看看稳定性的重要性。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
为什么稳定很重要?
你可能会问自己,“稳定到底有什么大不了的?”这是一个公平的问题。稳定很重要,因为它导致一致性。一致性对于良好的客户体验、代码开发和整体环境健康是必要的。让我们快速浏览一下每一项。
- 对于客户体验来说,这意味着不要让你的网站随机宕机,或者遭受流量过载和资源问题之类的问题。
- 在代码开发中,一个稳定的环境可以确保代码中出现的任何问题都是来自于代码,而不是外部环境因素(应该保持一致)。
- 你的整体环境健康也会受益。有了一个稳定一致的环境,异常情况会更加明显,这意味着您可以在问题一出现就抓住它们。
1.自动缩放一致性组
先来看看我的第一个推荐。自动扩展组为您的环境提供了一种自动响应不可预测流量趋势的方式。他们是怎么做到的?
Auto Scaling 与 CloudWatch 配合使用,可以监控服务器的运行状况。每当您的服务器达到不再健康的程度时,它会将该服务器从组中移除,并构建一个新的服务器来替换它。这意味着您永远不必担心您的环境会低于某个可用性级别,即使服务器显示不太健康。
这种机制还允许您的环境在必要时进行扩展!例如,如果您正在进行一次大拍卖,并且预计会有大量流量涌入,您可以调整自动缩放组的最大阈值,以便在流量激增时为您提供更大的回旋空间。这种灵活性非常好,因为它允许您的环境同时保持稳定和经济高效!
观看:保护您的 AWS 环境 在这个免费的点播网络研讨会中,云安全专家唐·麦咭详细介绍了如何让复杂的 AWS 环境从零到安全。
2.多个稳定性可用区域
为了您的环境稳定性,自动扩展组的一个很好的做法是跨多个可用性区域备份您的环境。以这种方式分配你的资源可以确保万一有事发生时你能得到保护。
可能会发生什么?假设您将北弗吉尼亚地区的所有资源都放在可用性区域 A 中,突然出现了一个问题,这意味着 AZ A 无法连接到互联网。如果您有需要通过互联网访问客户报告的 web 服务器或应用程序,这可能是一个主要问题。把你所有的鸡蛋放在一个篮子里突然意味着你的网站现在离线了,这真的会影响你的底线。但是,如果您已经跨多个可用性区域设置了您的环境,那么您所要做的就是更改一个 DNS 记录并让您的资源回到正轨!
3.按区域划分测试和生产环境
我的最后一个技巧是将您的生产和测试环境分成不同的区域。现在你们很多人可能会想“为什么要这么做?”嗯,是因为意外发生。
如果您的测试或开发环境与您的生产环境在同一个区域,这可能会导致意外伤害。例如,意外地启动了一个代码部署,该代码部署本应进入您的测试环境,但却进入了您的生产环境。这可能需要几个小时到几天的时间来修复,具体取决于您的备份情况。总的来说,将这两个环境分开是一个更好的计划,这样可以尽量减少出错的可能性。
我希望我已经阐明了稳定性是如何与你的整体环境健康联系在一起的,并就如何创造一个更健康的环境给你一些有用的建议。如果你想更多地了解 AWS 的一些基础知识,我的新课程“AWS 概述”可以帮助你迈出进入云计算的第一步!
当你甚至不确定谷歌什么时的 3 个故障排除技巧
在本帖中,我们分享了一些小技巧,告诉你如何在不确定要搜索什么的情况下,对从 IT 错误到 Kubernetes 问题的所有问题进行故障诊断。
在云专家这里,我们是学习新事物的狂热爱好者,无论是刚开始接触新的东西,还是尽可能深入了解专业的 T2 技能。不幸的是,尽管我们尽了最大努力,但我们不会为某人在某个地方可能遇到的每个单一错误或问题提供课程或实验室。
躲在我的桌子底下以避开老板的目光。*
无论如何,直到我们备受期待的*“你可能需要知道的所有云事物”*课程落下——随着我们发现新的内容,它不断被推迟——我想复习一些策略,当你遇到一个措辞如此糟糕或依赖于上下文的错误时,你甚至不知道要搜索什么。
作为一名比正规 IT 教育更有勇气的编码训练营毕业生,这些是我学到的技巧,当我完全不知所措时,它们可以帮助我。它们非常灵活;我还没有发现一个我不能应用它们的问题,我希望在这里分享它们,当你唯一的其他想法是扔掉你的手,走开的时候,你会发现它们是有用的。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
1.五个为什么
五个为什么是一种相当常见的技术,用于确定特定情况的原因。
这个想法是,寻求解决方案的人发表声明——问题是什么。回答者/导师/合唱团回答“为什么?”探索者需要回答。
无论探索者如何回答,回答者都会再次问“为什么?”
这个想法是,在这个循环的五次重复之内,搜索者将已经识别出潜在的问题。实际上,它可能看起来像这样:
探索者:“我的吊舱不会在集群中产生。”
回答者:“为什么?”
Seeker:检查错误消息“集群中没有足够的容量来调度它。”
回答者:“为什么?”
Seeker:检查集群利用率“有太多其他具有高 CPU 请求的 pod 正在运行”
请注意,您可以在此停止—删除不需要的窗格—或继续
回答者:“为什么?”
探索者:检查分离舱的活动“分离舱要求的 CPU 比任何一个都多。”
您可以在此停止—更新 pod 以获得更合理的 CPU 请求
回答者:“为什么?”
Seeker:向 pod 的所有者核实“我们没有好的方法来确定一个 pod 实际需要多少 CPU。”
回答者:“为什么?”
找球手:“…”
正如你所看到的,在第二个“为什么”之后,我们得到了一个可操作的洞察力,但是如果我们继续下去,我们可以得到更多的系统性问题。我们可以删除不需要的 pod,但它们会被重新创建。
稍加练习,你就可以把这段对话当成独白。(我有时候会让我桌上的 BB-8 充当答辩人。)
这是一项非常强大的技术,尤其是在没有错误消息或明显错误的情况下。第一句话可能是,“系统今天运行得比上周慢”。
2.亲爱的艾伦
好了,故事时间:我在其中的第一个角色——手里拿着我崭新的 AWS 助理证书——是一个挑战。幸运的是,我和一个非常有才华的团队一起工作,他们乐于帮助我填补知识上的空白。
有一位工程师(我们姑且称他为“约翰”)是被谄媚的招聘人员称为“摇滚明星”或“10 倍”的开发人员。他很快就成了我的咨询对象。
然而,作为一个缺乏安全感的初级开发人员,我不想显得毫无用处。每当我给他发信息寻求帮助时,我都会把至少三件我已经尝试过解决问题的事情包括在内。
随着时间的推移,我发现,在实际写下我尝试过的东西的过程中,我几乎总是会想到一些我没有想到的东西。
很快,“绝交”信息开始出现在我的草稿中,然后出现在一个文本文件中,在那里我会描述问题,我试图完成的事情,以及我已经尝试过的事情——都没有用。
就像写日记一样,给自己空间来处理我的一天和我的想法让我清晰,记录我的尝试会帮助我看到我错过了什么。
最终“约翰”转到了一个新的团队,我也换了一个新的角色。在我的新角色中,我去创建我的“亲爱的约翰. txt”文件,但是亲爱的约翰完全是另一回事,所以我切换到“亲爱的艾伦”,因为,如果你要向任何人寻求帮助,为什么不找那个用数学与纳粹作战的呢?
因此,如果你有一个错误或问题,你不知道你还能做什么,写下你的帮助请求,概述你已经做了什么,嘿——如果写出来没有引发什么,那么你就有一个关于你的问题的很好的总结,可以实际发送给某人。
观察:让 Kubernetes 在您的环境中发挥作用
在这个免费的点播网络研讨会中,深入挑选最适合您独特需求的托管 Kubernetes 服务。
3.禅宗和谷歌搜索的艺术
我知道这篇文章的标题包括“当你甚至不确定谷歌什么”,但是请耐心听我说。你有过超过谷歌搜索 32 字限制的错误信息吗?一直在试图找出一个 Python 错误,你一直收到关于 Django 的 StackOverflow 问题,即使你没有使用 Django?
好吧,让我们来看看一些方法来获取无用的错误信息,并把它变成你可以Google的东西:
删除对代码的任何引用:一些错误会输出行和字符位置,甚至可能是方法或函数名。这些值是特定于您的代码的,将它们保留在搜索查询中只会让搜索引擎感到困惑。
包含你正在使用的特定技术,以及错误信息:如果你正在使用一个库,这一点尤其重要——你不想理解一般的错误处理程序,你想要关于你正在使用的库的特定上下文的信息。
练好 Google-fu :有各种各样的小技巧可以获得更好的 Google 结果。我发现双引号(" ")对于必须出现在结果中的术语很有帮助——如果您需要如何格式化 Ansible plays 中的代码片段的结果,那么“Ansible”将为您节省更多通用的 YAML 格式化结果。同样,可以添加破折号(-)来省略包含该术语的结果。关于 Python 错误的非 Django 结果的例子——您可以添加-Django 来过滤掉这些错误。
故障排除并不迷人——即使它不在电视上。但是对一个错误消息的小小调整会把你从“我对此无能为力”带到“哦,原来如此!”
在情绪的过山车中排除错误:一个新问题的兴奋,追逐的兴奋,用头撞墙的沮丧,一个想法的火花,当你不再看到相同的错误时多巴胺的冲击(有时当你看到一个全新的错误时,兴奋和困惑的混合)。我希望这些策略能帮助你解决更大、更模糊的问题,即使没有更多的信心,至少也有更多的热情。
要获得更多的故障排除实践方法,请查看新的Kubernetes 故障排除实践课程。
你呢?当你完全不知所措的时候,你有什么可靠的方法来处理问题吗?(为了节省时间,我的老板告诉我,蜷缩在桌子底下,希望问题消失不算是一种策略。)在 ACG 不和谐服务器上分享你的建议,或者在推特或脸书上告诉我们。
练习将工作负载迁移到云的 3 种方法
原文:https://acloudguru.com/blog/engineering/3-ways-to-practice-migrating-workloads-to-the-cloud
将工作负载迁移到云中时,有许多途径可供选择。 7 Rs (或七种常见的云迁移策略)强调了业界用来评估云迁移任务的适当方法的事实模式。这篇文章将通过解释每种方法的利弊并提供实践每种方法的实践研讨会来强调其中的三种方法(重新托管、重新平台和重构)。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
1.主机更换
“提升和转移”是将工作负载转移到云的经典方式。这种策略有助于快速实现将应用程序迁移到云中的好处,而无需进行任何更改,并且停机时间最短。
通过利用云中的虚拟服务器,重新托管应用程序是利用云技术承载工作负载的一种简单方法。
AWS 应用程序迁移服务 (AWS MGN)提供迁移服务,将应用程序提升和转移到云。
该服务通过自动将源服务器从物理、虚拟或云基础架构转换为在 AWS 上本机运行,最大限度地减少了耗时、易出错的手动流程。它使您能够对各种应用程序使用相同的自动化流程,从而进一步简化了您的迁移。通过在迁移前启动无中断测试,您可以确信 SAP、Oracle 和 SQL Server 等最关键的应用程序将在 AWS 上无缝运行。
如果你想接触 AWS MGN,你可以试试这个研讨会,它会引导你将一个简单的应用程序迁移到云端。
2.重新平台化
“提升和重塑”提供了一种方式来引入某种程度的优化,以利用云功能,同时仍然保持较低的开发成本。
通过使用容器,平台化应用程序提供了一种模块化应用程序的方法,因此它们可以有多种方式,而不必依赖于服务器。
AWS Fargate 是一项技术,你可以与亚马逊 ECS 一起使用,运行容器,而不必管理服务器或亚马逊 EC2 实例集群。有了 Fargate,您不再需要供应、配置或扩展虚拟机集群来运行容器。这消除了选择服务器类型、决定何时扩展集群或优化集群打包的需要。
如果你想着手容器化一个应用程序,你可以试试这个研讨会,它将一个应用程序转变成一个已部署的容器。
观看此免费点播网络研讨会,了解云应用的重新托管、重新平台化和重新架构的成本和复杂性。
3.重构
这里不准抬东西!重构是指完全重建应用程序,以充分利用云的原生特性来提高敏捷性、性能和可伸缩性。这是以更长的开发时间为代价的,因为要构建一个新的应用程序。
为了充分利用云,依赖于函数而不是服务器或容器的无服务器应用程序提供了最模块化的接口来部署您的代码。
AWS Lambda 是一种无服务器、事件驱动的计算服务,让您无需配置或管理服务器,即可为几乎任何类型的应用程序或后端服务运行代码。这种范式允许开发人员专注于代码和响应事件,而不是管理基础设施。
如果你想着手开发一个无服务器应用程序,试试这个研讨会,它将一个应用程序转变成一个无服务器应用程序。
在 Twitter 上关注 Banjo,点击 @banjtheman 和 @AWSDevelopers ,了解更多关于云计算和 AWS 的有用提示和技巧。
关于作者
Banjo 是 AWS 的一名高级开发人员,他在那里帮助开发人员对使用 AWS 感到兴奋。Banjo 热衷于将数据操作化,并围绕利用数据启动了一个播客、一个 meetup 和开源项目。当没有建造下一个大东西时,Banjo 喜欢通过玩视频游戏特别是 JRPGs 和探索他周围发生的事件来放松。
当企业走向云:4 个常见错误
原文:https://acloudguru.com/blog/business/4-common-mistakes-when-enterprises-go-cloud
对于企业来说,云的卖点是巨大的,但是云不是神奇的印钞机。(不过,如果你的公司试图制造印钞机,不使用云技术就太傻了。)成功的云迁移需要深思熟虑的执行和战略。这似乎是显而易见的,但是你能做些什么来确保你是那些腾飞的人之一,而其他人却止步不前呢?
这里有四个常见的错误,它们阻碍了大公司利用云来实现其全部潜力。
1.做一条大鲸鱼,而不是大白鲸
正如马尔科姆·格拉德威尔所言:“让一家公司如此强大的品质——它的规模、它的资源——在它们被迫应对规则不断变化的情况时,会成为绊脚石……”一家企业的规模可能会让它看起来无懈可击,但当竞争对手更灵活、适应性更强时,这种规模也可能让它陷入困境。正如劳伦斯·霍顿所说,“不是大的吃小的……而是快的吃慢的。”
对于大多数大型企业来说,变化速度是云转型中最困难的部分。但拥抱也是最重要的。
2。投资于工具,而不是人
在我在 Capital One 的 20 年职业生涯中,规模速度是精益企业的惯用手法。凭借敏捷的思维和 DevOps 文化,cloud 将 Capital One 转变为现在基本上是企业规模的金融科技初创公司。虽然技术发挥了主导作用,但这一转变中最困难的部分是人才转型。
这意味着让必要的人了解最新的云技术。让你的非技术团队说同一种语言,这样他们就能理解他们接触的业务部分——财务、销售或营销——如何融入更大的云环境。
3.被吸进短期的污水坑
多年来,云一直构成破坏性威胁,但短期激励结构往往会束缚大公司的手脚,阻碍它们实现公共云可能带来的大规模长期转型。一些企业受到内部流程和平台的影响。其他人被恐惧、不确定性和怀疑(通常由生存模式中的遗留供应商产生)所麻痹。带着这样的包袱和那些反对者,很难不目光短浅。
但是对于企业来说,没有云的捷径(尽管全力支持公共云提供商是朝着正确方向迈出的一大步)。这一切都是为了着眼于长远,规划未来,超越本月、本季度和今年。
4.将云视为附加产品
我们必须摒弃旧的方式去做新的事情。解决方案不是在云出现之前我们的做事方式。但是企业云的采用感觉就像开车时换轮胎一样。你从哪里开始?
作为第一步,云领导者可以从确定他们想要做什么以及为什么它对组织有价值开始。但是,无论您是在迈向云成功的第一步,还是在通往云成功的路上,都需要一个对云持怀疑态度的领导者来阻止事情的发展。保持现状的压力是许多企业难以在云中获得动力的原因——至少是以避免被饥饿的人吞噬所需的速度。
需要有认同,以摆脱日复一日的常规,打破旧的流程。这需要将云视为基础而非补充。为此,云卓越中心必不可少。这个跨职能团队在云的采用、迁移和运营方面领导整个组织。
往上走?
无论您的组织是否关注云,是否曾经跌跌撞撞地实现过云,或者正在寻求更好地实现其承诺的好处,云专家都可以帮助您提升和重新提高您的团队的技能。
机器学习教给我的 4 堂课
原文:https://acloudguru.com/blog/engineering/4-lessons-machine-learning-taught-me
我记得我在研究生院的物理化学课上坐着,看着一位教授在一系列黑板上写字。这样持续了 30 多分钟。他们正在向全班展示如何解决一个问题。当我盯着看时,我意识到五块粉笔板上没有一块上面有一个数字,只是一些潦草的字母和符号。完成后,教授把粉笔扔进了盘子里,大声说道:“看,这很简单!”就在这个时候,我领悟了一个伟大的人生道理。如果你知道自己在做什么,一切都很容易。
在后来的生活中,当我试图在各种课程、视频和博客文章中摸索如何进行机器学习时,我又有了这种感觉。或者更准确地说,如何开始拼凑如何进行机器学习。在没有答案黑板、超级复杂的统计建模、几页 Python 脚本,甚至是这些东西的可怕组合的情况下,搜索任何长度的时间来找到解释的基本概念……这会让你感到沮丧,并准备退出。
这些人生经验有助于塑造我的职业生涯以及我如何教导他人。所以我想和你分享我学到的一些经验,以及你如何应用它们来逐步走向机器学习的尽头。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
第一课:从有趣的事情开始
说真的。开始探索机器学习,你不需要成为一名编程大师或拥有统计学硕士学位。加入进来,参加一些绝对的初级课程,了解一些基本概念。我的新课程,Azure 中的机器学习操作(MLOps)介绍,是为绝对的初学者设计的,不使用代码或数学公式来教你基础知识。云专家有几门不同的课程,比如机器学习入门,你可以参加这些课程,为自己打下良好的基础。
无论你选哪门课,我都推荐它是一门课,而且是基础课。学习基础知识会让你在以后开始更复杂的概念时变得容易得多。
第二课:你不会第一次就全部学会
…没关系!当你参加一个课程时,我建议你随身携带一个记事本。记下你的任何问题,然后继续前进。那样你会学到很多东西。最重要的是,你不会花几个小时或几天潜入一个兔子洞,试图了解一些对你的旅程可能并不重要的事情。
一旦你完成了一门课程,你的笔记本上写满了问题,你就可以开始寻找答案了。或者你可以跳进去选另一门课——甚至是同一门课!如果你这样做了,你的知识会不断加深,在你意识到之前,你甚至不需要额外的研究就能开始回答记事本上的一些问题。
第三课:这都是关于层次的
在我的Azure 中的 MLOps 简介课程中,我强调的一个项目是知识金字塔。它包含四层:核心、云、数据工程和机器学习。这些层中的每一层都包含一些概念,这些概念将使你成为更好的机器学习工程师或数据科学家。
当你开始了解基础知识时,再加入一些额外的概念,比如 Python 课程或一些机器学习模型。通过逐渐引入额外的概念,你将不会被复杂性淹没,而是以可控的速度提高你的学习。
第四课:动手实践
哦来吧!你不会认为我会一路写完一篇博文而不提动手实验吧?不过,这是真的,动手实验室是跟进入门课程的一个很好的方式。通过实际构建机器学习模型,你将开始理解它们是如何工作的。这将使更深的潜水变得更加容易。也可以看看微软文档或者 Azure 机器学习里的样本数据集继续探索。
我想分享的最重要的一点来自德斯蒙德·图图。他曾明智地说过:“吃大象只有一种方法:一次一口。”所以从小处着手。开始乐趣。参加一个完全的初学者课程。做动手实验。不要陷入困境。
最后,重复是关键。每次你重新审视机器学习的概念,你都会多理解一点。在你知道之前,你会知道很多关于机器学习的知识。最重要的是,你将能够开始把这些新发现的知识用于改变你的职业和生活。
我希望这个建议有所帮助,我期待着很快在机器学习的世界里见到你!
学生从课堂走向云职业的 4 个步骤
开始你的云计算生涯的秘诀不在于追求任何特定的学位。但是作为一名学生,您如何规划通向云计算职业生涯的道路呢?
这里有四种方法可以让你在职业生涯中获得成功,从教室走向云端。
1.弄清楚你的市场需要什么
想想云大师的学生泰德·麦克马伦。萨德在 3 个月内工资翻了一番从一份服务台工作到 ACG 的云事业。
他是怎么做到的?
他从跟随 ACG 学习云的来龙去脉开始,并做足功课,找出哪些技能最值得他花时间去学习。
“我在网上寻找云工程和架构方面的热门技能,并把自己放在那里,联系我认识的人,以把握市场的脉搏,”萨德说。
在研究、查看招聘信息和参加面试的过程中,他得出了一个结论,即容器和容器编排工具是他所在市场中最常被评估的技能,其次是对 Linux 的扎实基础和理解。
查看列表,比如人们正在学习的最受欢迎的 DevOps 技能,或者看看你想为之工作的公司的工作列表。通过做一点功课,你可以看到你的市场需要什么技能和专长。
2.弄脏你的手
亲身体验云计算是真正了解云计算的唯一途径。这也是你获得第一份云工作的关键。
看看你能用 AWS、Azure 或 GCP 免费做些什么。尝试一些 ACG 的动手实验。解决一个云宗师挑战。或者在 ACG 的云游乐场进行无风险实验,在公共云中获得您的私人游乐场。
借助 Cloud Playground,您可以获得与当今领先的云平台直接合作的宝贵经验。云与课程一起,使用云操场来支持课堂作业,或者脱离脚本,自由掌握新技能。使用真实的 AWS、Azure 和 GCP 环境进行构建和测试,尝试新功能,打破常规而不必担心后果。
无论你做什么,只要走出去,玩云。因为首先你在玩云,然后你从云获得报酬。
3.开始建立网络
当你寻找你想为之工作的公司时,看看你是否认识在那里工作的人。(或者认识人的人。)和那些人聊聊。
如果你和那些公司没有任何联系——或者在云时期没有很多联系——试着和你想要的领域里你(还)不认识的人联系。
不要乞求工作。搭建桥梁。带人们出去喝咖啡。让他们给你建议。分享一个项目(也许是你为云专家挑战赛所做的事情)并寻求反馈。
查看我们列出的你应该关注(和联系)的 DevOps 、 AWS 、 Azure 和 GCP 的建设者名单。或者阅读更多关于如何建立一个网络是找到云工作的最好方法之一的信息。
4.了解所有事情的最新情况
云一直在变化。跟上云趋势并通过 ACG 的原创系列免费了解云的最新动态,包括:
以无与伦比的价格通过终极云学习为自己的职业成功做好准备
无论您是在寻找针对初学者的最佳 AWS 培训还是构建开发运维技能的实践学习库,云专家都能满足您的需求。
使用 ACG 的学生折扣 ,使用您的学生电子邮件地址,您可以节省高达 47%的 ACG 会员费用。
想了解一下 ACG,看看它是否适合你吗?查看我们当前的免费课程列表。或者开始免费试用并启动云运行,完全访问我们的大规模实践云学习库。
掌握推动你职业发展的技能。
只需 249 美元,即可体验完整的云计算专家体验,为您在云计算和职业生涯中的成功做好准备。
将服务器迁移到 Azure 的 4 个技巧
原文:https://acloudguru.com/blog/engineering/4-tips-for-migrating-servers-to-azure
考虑将服务器迁移到 Azure,并寻找一些技巧来实现成功的云迁移?这里有一些帮助你迁移的关键考虑事项,以及 Azure Migrate 服务可以帮助你的方式。
我将包括我在咨询迁移到 Azure 的组织时获得的技巧,以及我在指导学生 Azure 架构和迁移时分享的一些内容。
想要学习或温习 Azure 技能吗?
查看我们的 Azure 认证和学习路径。
1.计划你在哪里着陆
如今,在云中构建东西非常容易。将应用、数据和服务器迁移到 Azure 变得越来越容易。无论是来自您的内部环境、其他云平台,甚至是您车库中的 Hyper-V 或 VMware 实验室!
有这么多工具可以帮助您进行迁移,从小处着手很简单。这是个好主意。将少量工作负载迁移到 Azure,并在大型迁移之前建立您的信心和流程。
不知不觉中,你已经有几个工作负载迁移到 Azure 了。那么问题出在哪里?
六个月过去了。也许您有不同命名约定的资源组,名称中带有“TEST”的服务器,并且管理层要求您控制账单。你现在有这么多东西在这里,没有人知道谁负责什么。
所以在你开始之前,计划好你在哪里着陆。花些时间就未来环境的需求达成一致。使用 Azure 策略来执行标准。也许可以建立一个带有集中式防火墙的星型虚拟网络。配置自定义 RBAC 角色以支持您个人的安全访问要求。
我在许多环境中看到过这一步的缺失,试图在最后加上它是一件很费力气的事情。在任何生产工作负载存在之前,从一开始就做好要容易得多。
2.关注依赖关系
好的。因此,您已经规划并配置了您的环境。你知道你会在哪里着陆。让我们从迁移一些小型工作负载开始,然后开始行动。
也许你从一个低风险、低优先级的营销应用开始。你非常确定它完全由服务器 1 托管。这是一个独立的解决方案。
或者是?难道不是有人构建了另一台服务器来集成来自财务团队的数据吗?
当你将服务器迁移到 Azure 时,服务器的相互依赖性很重要。幸运的是,Azure Migrate 评估工具可以帮助您找到它们。通过依赖关系分析功能,我们可以获得关于您的环境中运行的进程和连接的可视化数据。
啊哈!服务器 1 也通过端口 1433 连接到服务器 2。看起来我们需要将这些服务器作为一个组一起迁移。
云专家帮助你在非技术环境中学习服务器安全性!
3.评估和预测价格
您已经使用评估工具在中创建了一个组,现在它包含了您需要为营销应用程序迁移的所有服务器。您想知道是否有可能迁移,管理层想知道成本。使用 Azure Migrate:Server Assessment工具,我们可以回答这两个问题。
首先,就绪性评估将计算我们想要迁移到 Azure 的机器的适用性。这将有助于确定是否存在任何问题,如不受支持的操作系统、过大的磁盘存储或网络接口限制。
其次,我们可以使用评估工具的智能特性来预测在 Azure 中运行这些机器的成本。这将考虑一系列因素,如您使用的定价模式,以及您是否拥有混合许可。使用基于性能的规模调整,您甚至可以连续几天监控您的计算机,以获得对虚拟机系列和您将需要的资源(内核、RAM、存储)的高可信度建议。
4.记住:对锤子来说,一切都是钉子
现在,您已经知道了要迁移的内容、成本,并且获得了迁移许可,您已经准备好开始迁移了。
使用 Azure Migrate: Server 迁移工具,您可以将您的机器复制到 Azure,执行测试故障转移,然后在所有测试完成后迁移机器。
所以不可否认:Azure Migrate 服务在帮助你成功迁移到 Azure 方面非常强大。Azure Migrate 支持你通常作为迁移项目的一部分承担的许多任务,但请理解微软围绕迁移项目的典型需求构建了这个工具。我们不应该仅仅围绕这个工具来构建我们的项目。这到底是什么意思?这意味着,特别是对于复杂的迁移,您将通过首先从迁移规划开始,然后查看工具(Azure Migrate)如何帮助您实现目标来获得最佳结果。而不是相反。幸运的是,微软提供了大量关于云迁移的宝贵信息,您可以在微软云采用框架中找到更多信息。例如,您可以了解一些活动,如建立迁移目标、与关键利益相关者合作、执行验收测试,以及在一切完成后移交给运营部门。
云技能评估
利用云专家的 IT 技能评估来规划您的组织的合规性,并向云流畅度迈出第一步!
下一步是什么?
如果你已经准备好开始,并且有兴趣学习更多关于 Azure Migrate 服务的知识来迁移 Azure,一个云专家的迁移服务器到 Azure 课程是一个很好的起点。
想要了解更多关于 Azure 的基础知识,请查看 Azure 基础知识 AZ-900 学习路径。您还可以通过查看我们目前免费的(而且总是很棒的)两门 Azure 课程来深入了解构成解决方案架构基础的设计原则: Azure Concepts 和Azure Architecture Design Concepts。
元宇宙将改变教育的 4 种方式
原文:https://acloudguru.com/blog/engineering/4-ways-the-metaverse-will-change-education
元宇宙永远有钱!几年前,这笔钱主要限于科幻电影、电视和书籍领域,但科幻不再是小说。元宇宙工作?元宇宙学校?我们能期待什么?
好吧,关于元宇宙到 2024 年将成为 8000 亿美元产业的讨论,没有比现在更好的时机来验证这种新兴技术是什么,以及它在这个数字空间的前沿对我们和后代意味着什么。
本系列其他文章:
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
嗯,有不止一个定义,因为这个想法本身仍在发展中,但这里是我们最喜欢的:这是一个虚拟世界,你可以在其中玩,工作和学习。
这就是事情变得复杂的地方。到目前为止,我们已经广泛使用互联网来交流或发布内容——想想你的社交媒体订阅源或 messenger 应用程序——某种程度上是传统媒体的扩展版本(也更有趣)。所以,你可以在网上阅读新闻,或者给朋友送一个 meme 而不是一张生日贺卡。你的社交网站已经取代了亨伯拉格家庭通讯或假日相册。也许你在网上买了一双很酷的新鞋,然后在 Instagram 上发布。
在元宇宙,现实世界和虚拟世界之间的界限可能不是那么清晰。在美国另一边演出的最喜欢的乐队?你可能会去虚拟版本,穿着你的虚拟乐队 t 恤。当你选择度假目的地时,你可能会进行一次虚拟现实之旅,当你在那里时,使用 AR 参观历史古迹,当你回来时,在虚拟烹饪学校会见朋友。
观看:成为 AWS CloudFormation 超级用户 在这个免费的点播网络研讨会中,深入了解那些鲜为人知的功能,你可以用它们来提升你的 CloudFormation 游戏。
元宇宙可能包括虚拟现实(VR)或增强现实(AR) ,但你也可以通过手机或游戏机访问它。不可替代令牌(NFT)将成为主要特征,它由区块链提供支持。
我们到了吗?
元宇宙已经有虚拟世界了。分散王国是一个由加密货币法力驱动的虚拟世界,建立在的技术上,由分散自治组织管理。在游戏中,你可以买一块地,像在《我的世界》一样建造东西,给你的虚拟形象穿上漂亮的运动鞋。
沙盒是一个以太坊元数据库游戏世界,在这里你可以以 NFT 的形式购买虚拟土地,并用它来创造你自己的游戏体验。它的建立是为了比分散式游戏更有趣——更多的是游戏和体验的融合。你可以免费加入,但要真正从中获益,你需要有一个装满沙子的钱包,沙子是当地的货币。它可以在屏幕上看到,但你的体验会更好。
那很好,但是它仅仅是关于游戏和卖给我东西吗?
像沙盒这样的世界可能会唤起《我的世界》和乐高设计的块状感,但它们不应该被视为仅仅是有趣和游戏——这背后有更多的潜力。由于有很多建筑或设计的可能性,它们可以成为展示学校艺术作品、创建交互式建筑设计或举办虚拟培训课程的地方。
利用元宇宙作为基于项目的学习工具,一个八年级的班级应用 STEM 技能来创建按比例缩放的建筑地图,完全在元宇宙内进行建模,然后在项目完成时邀请他们的社区来参观。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
不仅仅是年轻一代喜欢元宇宙的潜力。从科技到零售等领域的知名公司都在元宇宙这块土地上投入了大量资金。
2021 年末,微软的塞特亚·纳德拉宣布一个数字空间,供同事们在沉浸式空间中使用虚拟形象进行联系和合作——微软团队的网格——他们的精致替代方案是作为一只缩放的猫。同样值得注意的是,他们宣布在 2022 年以 690 亿美元收购 Activision Blizzard 确实强调了他们进一步开发元宇宙平台的承诺。你可以说他们真的投资在元宇宙的潜力上(我会自己出去)。
Meta(以前称为脸书)继续显示出他们对这个领域的兴趣,不仅仅是他们的品牌重塑。该公司于 2020 年推出了他们的元宇宙空间“地平线世界”。随着宣布成立 1000 万美元的“创造者基金”,他们继续将真金白银投入到他们的数字雄心中,鼓励用户建立新的地平线世界体验。
但不仅仅是大型科技公司,零售巨头们也在做准备。沃尔玛和耐克已经申请了多个商标,为元宇宙做准备。沃尔玛表示他们有兴趣涉足加密货币世界,耐克则更进一步,提出了制造和销售虚拟品牌运动鞋和服装的意向,此外他们还在为新的 NFT 申请专利,同时还发布了虚拟设计师职位的招聘信息。
甚至体育界也在铺开数字地毯。英国足球队曼城开始为其位于元宇宙的主场阿提哈德体育场(Etihad Stadium)铺设数字基础,这样球迷就可以不受地理限制地支持他们。
到目前为止,对元宇宙的探索已经证明了这一切背后的巨大潜力——元宇宙可以提供的社区意识闪耀着乌托邦的可能性。但对于任何新兴技术,这种乌托邦式的理想都应该持保留态度。
在前进的过程中,我们应该考虑一些事情,例如:
- 我们怎样才能让元宇宙之旅有意义,同时避免广告泛滥?
- 不同的 metaverses 已经在开发中,那么我们如何使体验无缝,并确保从一个版本到另一个版本的合作(基本上,我们如何避免在另一个英制与公制度量的情况中结束)?
- 我们可以看到元宇宙对教育的积极影响,但我们如何保持它的安全空间?我们将如何解决欺凌和儿童保护问题,同时保持其分散、自由的理想?
我们可能还没有到你可以下床,戴上你的 Oculus,在绿洲公立学校#1873 开始你一天的课程的地步,但我们也不会太远。我们已经可以从许多方面看到元宇宙在改善教育。
1.它将为教育工作者提供分析,帮助他们定制学生的学习
教育工作者可以使用来自元宇宙教育的关于学生学习的数据来为学生量身定制教学,并确定学生可能需要额外帮助的地方。老师们长期以来一直在使用在线/自我评分评估的数据来进行这项工作,既针对课堂学习者,也针对在线学习者,例如皮尔森虚拟学校。
翻转课堂(Flipped classrooms)已经投入使用,学生们在家里学习新的材料,然后聚在教室里讨论他们学到的东西。教育者们正在寻找新的方法来创造吸引学生的内容。达拉斯混合预科学校于 2021/22 学年开学,采用混合课堂和元宇宙模式教学。
2.学生将是主动的、沉浸的学习者,而不是被动的信息消费者
谁不喜欢实地考察呢?嗯,老师们可能要组织和陪同 30 个孩子去实地考察。但是,如果我们可以给学生他们想要的实地考察,他们应得的教育利益,而没有任何复杂的物理远足的后勤工作呢?最近的一项研究表明,学生在格陵兰岛的虚拟旅行中学习气候变化时,使用虚拟现实比观看传统的 2D 视频更投入。
3.XR 将增强课堂学习
扩展现实或 XR(虚拟现实、混合现实和增强现实的任何组合)很可能会改变学习。学生们可以在科学实践中看到 AR 覆盖图,或者使用 Oculus VR 耳机探索历史遗迹或身体的某个部位。弗瑞斯老师的课不再仅仅是科幻小说了!
4.虚拟现实将带学生进入历史世界或 STEM 实验
斯坦福大学的虚拟人类互动实验室有一个虚拟现实应用数据库,从罗马论坛的自助互动之旅到根据美国宇航局好奇号探测器的数据重建的虚拟火星表面。STEM,所有人都可以访问。
从这些 10 个有趣的动手项目开始构建你的云计算技能,学习 AWS 。
下一步是什么?
不过,对于新兴技术来说,这只是冰山一角。如果你有兴趣深入挖掘,查看我们在虚拟现实(VR) 甚至网站 3 上的帖子,找出它们是什么,以及它们是否值得大惊小怪。如果你在寻找更高层次的东西,以便理解这些术语,可以看看速成班扩展现实(XR)和 Pluralsight 上的元宇宙:高管简报。
来自 GCP 移动公司的 5 个云迁移建议
在本帖中,我们戏谑地看一下谷歌云平台(GCP) 的一些服务,它们可以让你的迁移变得更容易。
我们“获得云动力(GCP)搬家公司”知道进行大搬家是什么感觉。之前有很多准备,期间有很多压力,之后有很多担心,在新的地方一切可能都不会顺利。不要担心!无论您需要移动什么,我们都会支持您。这里是我们的五大建议供你考虑。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
1.数据库迁移服务
所以,你说你有一堆结构化数据,你想把它放在一个明亮、闪亮的新家,以便在必要时更容易访问和增长。
无论您的数据是 MySQL、PostgreSQL 还是 SQL Server 格式, GCP 的数据库迁移服务将为您的迁移消除头痛。该服务承诺通过其连续数据复制最大限度地减少停机时间,因此无需走走停停,只需行动!
2。 数据流
我们知道有些人喜欢在行动时做出改变。您可能有大量原始文档格式的数据,并且您已经决定是时候提取出重要的部分,将其整理成新奇的形状,并对其进行测试。换句话说,您希望提取、转换和加载业务关键型数据。
我们有 GCP 服务,可以让数据准确地通过你想要的管道:数据流!最重要的是,无论您是否需要转换一批现有的数据或刚出炉的流,Dataflow 都能按照您想要的方式工作。
**3。**计算引擎的 GCP 迁移
你说什么?您不仅仅需要移动数据,还需要移动整个虚拟机?或者,它们可能是您想要转换为虚拟工作负载并利用云所提供的所有优势的实际内部应用程序?
好吧,那么计算引擎的 GCP 迁移正是磁盘医生订购的。别担心,您的生产工作负载和数据在我们这里是安全的,我们有预验证和测试克隆能力来证明这一点!
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
4。VMware 引擎
但是,也许您对您的 VMware 设置方式感到满意,并且您只是想将所有 VMware 优点搬到云环境中?那么你,我的朋友,很幸运!
GCP 的 VMware 引擎提供了您在谷歌云上的专用 VMware 软件定义的数据中心运行所需的所有硬件和 VMware 许可证。无论您是希望迁移整个数据中心、建立灾难恢复环境,还是提升您的高性能应用程序,VMware Engine 都已准备就绪。
5.迁徙到安索斯和 GKE
啊,我发现您的想法远不止是简单的一对一迁移:您不仅希望现代化您的基础设施,还希望现代化您的应用程序。这是一个很好的前瞻性想法,即移民到安索斯和 GKE 可以成为现实。
使用 Migrate for Anthos 和 GKE 将基于虚拟机的工作负载转换为基于容器的工作负载,这些工作负载运行在 Kubernetes 和 Cloud Run 等其他服务上。更重要的是,不涉及猜测工作;该服务的 fit 评估工具将针对容器兼容性评估您期望的工作负载,并让您了解可能性。
了解有关云架构的更多信息
无论您需要迁移什么(结构化数据、转换后的数据、虚拟机、VMware 或现代化的工作负载),Get Cloud Power Moving 公司都准备好卷起虚拟袖子开始工作了!在谷歌认证专业云架构师课程中了解所有相关信息!
开始免费试用或查看本月免费云培训。你还可以在 YouTube 上订阅一位云专家的每周云新闻,就像我们在脸书上一样,在推特上关注我们,并在不和谐上加入对话。
数据准备的 5 个常见 Python 陷阱
原文:https://acloudguru.com/blog/engineering/5-common-python-pitfalls-for-data-preparation
Python 是一种强大的数据准备语言,但是人们可能会遇到一些常见的错误或陷阱。在这篇博文中,我将讨论人们在使用 Python 进行数据准备时遇到的五个最常见的问题。
1.将缺少的值(NaN
)视为 false。
False、None 和 0(任何数值类型)的计算结果都为 False。
这组对象和值被称为“falsy ”,其计算结果为 false。NaN 或 missing 值不为 false,因此将 not 评估为 false。这可能会导致许多操作的混乱和意外行为。
2.尝试比较缺失值
看起来很简单,NaN == NaN
将返回 true。这两个值“看起来”一样。
然而,由于不可能知道两个丢失的值是否相同,所以该操作将总是返回 false。
3.认为 all()只有在所有元素都为真的情况下才返回真。
如果 iterable 的所有元素都为真(或者 iterable 为空),则all()
方法返回真。
不要把它想成“如果 iterable 的所有元素都为真,则返回真”,而是“如果 iterable 中没有假元素,则返回真。”
当 iterable 为空时,其中不能有 false 元素,这意味着all([]
的计算结果为 True。
通往更好职业的钥匙
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
4.转换为布尔值
Pandas 遵循 numpy 惯例,当您试图将某个东西转换为 bool 时会引发一个错误。当使用布尔运算 and、or 或 not 时,在 if 或 or 中会发生这种情况。
不清楚结果应该是什么。因为不是零长所以应该是真的吗?假是因为有假值?
现在还不清楚,所以相反,熊猫养了一只ValueError
ValueError: The truth value of a Series is ambiguous.
Use a.empty, a.bool() a.item(),a.any() or a.all().
5.了解 isin()操作的结果。
isin()
操作返回一个布尔序列,显示序列中的每个元素是否都包含在传递的值序列中。
s = pd.Series(['dog', 'cat', 'fish'])
>>> s.isin(['bird'])
0 False
1 False
2 False
dtype: bool
请注意,“鸟”在该系列中不存在。
>>> s.isin(['bird', 'cat'])
0 False
1 True
2 False
dtype: bool
注意“cat”确实存在于序列的第二个值中。
了解更多关于使用 Python 进行数据准备的信息
Python 是一种功能强大的语言,但是在缺少值和布尔值的情况下会产生混淆。请记住,缺少的值被认为是错误的,不能进行比较。
当使用all()
方法时,记住当 iterable 中没有 false 值时,它返回 true。如果所有值都丢失了,就像在空数组的情况下,all()
也返回 true,因为丢失的值不被认为是 false。
如果您在尝试转换为 bool 值时收到一个ValueError
,请务必采纳有用的建议并使用建议的方法之一。
想了解更多关于使用 Python 进行数据准备的信息吗?查看我们的 Python 课程的数据准备(导入和清理)。
AWS re:Inforce 2021 的 5 个主题演讲要点
原文:https://acloudguru.com/blog/engineering/5-keynote-highlights-from-aws-reinforce-2021
“娱乐”和“安全”经常像糖和铅气球一样走到一起,但今年的主题演讲是 AWS 年度安全会议的一个令人惊讶的有趣开始。
仅在两周前,re:Inforce 还计划在德克萨斯州休斯顿举办一场现场活动。由于新冠肺炎 Delta-variant 的激增,在令人困惑的两周内,AWS 最初完全取消了 re:Inforce,然后重新宣布它是一个仅在线的活动。AWS 团队的功劳是,他们组织了一场精彩的演出。
让我们分享一些主题演讲的亮点吧!
新闪亮的东西 : AWS 备份审计管理器
我们有了一项新服务, AWS 备份审计管理器!
好吧……所以“备份”和“审计”这两个词可能会让一只含咖啡因的花栗鼠打瞌睡,但是打住。备份是一件麻烦的事情,sun 的每个法规遵从性框架都对备份有要求。
AWS Backup Audit Manager 旨在解决在所有 AWS 资源中定义备份策略的难题,系统地整理合规性要求,并能够直接从 AWS 控制台获取报告。
除了使与审计人员的对话更加清晰之外,我还看到了这对于制定清晰的策略以满足内部需求的作用,而不仅仅是“永远、始终备份所有内容”的模糊方向。人们还极大地低估了安全“无聊东西”的价值,所以 AWS 对基本面的热爱值得称赞。
在撰写本文时,这项服务才刚刚推出几个小时,我们还没有机会深入了解它,所以我们很想知道它在实践中是如何工作的。
保护您的 AWS 环境 在这个免费的点播式网络研讨会中,您将了解如何从零开始保护复杂的 AWS 环境,并了解如何审计和保护 AWS 帐户。
CEO 升职了;CEO 万岁!
自不到两个月前安迪·雅西被提升接替杰夫·贝索斯成为亚马逊首席执行官以来,这是亚马逊网络服务新任首席执行官亚当·塞利普斯基的首次重大公开活动。
关于一些背景,亚当之前在亚马逊服务了 11 年,是臭名昭著的 S-Team——杰夫·贝索斯的内部顾问圈——的成员,然后担任 Tableau 的首席执行官五年。
在主题演讲开始时,他讲了大约四分钟,强调了 AWS 在安全方面众所周知的许多事情,包括安全是零工作这一事实。他说的一句俏皮话是,谈到安全,“没有安全,我们就没有生意。”不仅仅是 AWS,现代世界的每一家公司都是如此。
我们将与 AWS re:Invent 一起进入 12 月倒计时,届时我们将有机会听到他在 AWS 社区的更多发言。
关键主题来自 AWS re:2021 年生效
亚马逊网络服务 CISO Stephen Schmidt 的演讲涵盖了大量的信息,涵盖了当前的安全趋势、基本的信息安全问题,当然还有 AWS 服务。
会议分为五个主题,但有一些共同的主题贯穿整个主题:
1.安全是人类的问题
这对信息安全从业者来说并不是什么新闻,但是听到一个想卖给你东西的公司的高管承认技术不是唯一的解决方案,总是让人耳目一新。
即使是最铁的技术也可能被人为错误或恶意所收买;无论是点击网络钓鱼链接、绕过安全控制还是创建特权过高的用户。在安全管理上偷工减料比你想象的更常见。
如果您可以让人类完全远离您的数据,让您的系统尽可能地自动化处理,那么大量的风险就会被消除。
但是,人类也可以成为像安全卫士这样的项目的解决方案,在这些项目中,除了您的 infosec 团队之外的人都支持企业的安全实践(更多信息请访问 re:Invent 2021)。
在过去的 18 个月里,远程工作带来了一系列新的挑战,随之而来的安全风险在早期往往没有得到缓解。但是安全部门说“不,那太冒险了”是不够的,这导致我们…
2.安全性必须是一个促成因素
斯蒂芬·施密特(Stephen Schmidt)在主题演讲中的一句名言:“你永远不会希望安全成为一个‘不’的部门”。从历史上看,这就是人们对这种做法的看法。构建现代解决方案意味着我们需要颠覆它。
现代安全意味着为您的组织和人员在其中工作建立防护栏,而不是硬性限制。我们讨论的不是“在家工作太危险”,而是如何降低风险。我们不是说“你需要明确的许可”,而是说当事情出错时要检测出来并迅速补救。
通过消除安全流程中的摩擦,您可以使组织变得更快、更具适应性,从而更好地为您的客户服务。HBO Max 的 CISO·布莱恩·洛萨达(Brian Lozada)拥护顾客,他们决定我们如何做生意,而不是害怕。
这并不像听起来那么简单。安全威胁每天都在变得越来越复杂,而我们的大多数组织都没有做好应对这些威胁的准备。所以最后,我们来到…
3.安全问题最好在规模上解决
这是推销词。在当今时代,每家公司都是科技公司——无论是全球搜索引擎,还是新潮的云教育公司(嘿,你好!👋),或者你当地的咖啡店。
技术从根本上融入了我们所有的组织。这包括安全风险,即使我们没有能力应对或理解它们。
由于 AWS 为如此多的客户(包括他们自己)提供安全服务,他们有大量的数据和经验可以利用。这些都包含在他们的产品中,比如警卫、安全中心和 IAM。
由于大多数都是现成的,您无需成为安全专家,就可以在 AWS 中为您的资源提供非常强大的警报功能和保护。他们确实低估了这些服务的价格(看着你,卫兵👀),但是一些像 IAM 附带的非常强大的服务是不收费的。
斯蒂芬·施密特的另一句名言是:“免费是一个可靠的价格点。”
看点:领导需要了解哪些关于云安全的知识
你的业务在云端安全吗?答案很大程度上取决于你。观看 Mark Nunnikhoven 的免费点播网络研讨会,他将解决云安全的关键问题。
包装完毕
斯蒂芬·施密特发表了一篇精彩的演讲,妙趣横生。对于安全工程师来说,这个话题可能不是革命性的。但对于可能不会每天与细节打交道的决策者和建筑师来说,这是一块非常值得一看的手表。
随着 re:Invent 的到来,我们都在想那时会有什么样的公告,包括物理事件的计划是否会继续。在接下来的三个月里,我们都会密切关注那里的新闻。
我只是希望会有更多虚拟可用的赠品选择…
相关资源
寻找更多 AWS re:enforce 和安全相关的好处?
看看人们对《2021 online》的一些精彩评论。你也可以查看 ACG 列出的 21 个 AWS 构建者名单,以了解更多关于 re:Inforce 和所有云的评论。
此外,请查看 ACG 博客中关于安全性的最新帖子:
锁定您的云安全技能
学得更快。动作快点。从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
云架构师可以从云专家 Frank Lloyd Wright 那里学到的 5 课
原文:https://acloudguru.com/blog/engineering/5-lessons-cloud-architects-can-learn-from-frank-lloyd-wright
架构和云架构有什么共同点?很好的问题!(我们希望有一个答案,因为我们发了一整篇关于它的帖子。)以下是云架构师可以从弗兰克·劳埃德·赖特那里学到的五件事。
这篇文章是根据 Joe 在 ACG 社区峰会上的讲话撰写的。你可以(也完全应该)在这里看看。为了清晰、简洁和/或总体美观,下面的内容已经过编辑。任何错误都可能是编辑的错,而不是乔的错。
云中的有机建筑原则
您可能对云架构感兴趣。(毕竟你正在读一篇关于它的博文。)但即使你对传统意义上的建筑不感兴趣,你也可能听说过弗兰克·劳埃德·赖特(Frank Lloyd Wright)。
弗兰克·劳埃德·赖特设计了 1000 多座建筑。他活跃了 70 年的创作,他影响了一代又一代的建筑师,他还创办了自己的建筑学院来培养建筑师。(所以…他也是一名训练建筑师?酷!我和很多人在一起。)
弗兰克·劳埃德·赖特和云有什么关系?我们快到了。
弗兰克·劳埃德·赖特称他的设计哲学为“有机建筑”物理世界中的有机架构和云计算架构的世界有许多相似之处——特别是在谷歌云上。
在本帖中,我们将谈论建筑——在建筑设计和云计算解决方案的意义上,以及这两者如何比你想象的更相似。我们将看看有机架构的一些原则,看看我们如何将这些架构智慧应用到云中的构建中——无论您只是在考虑哪种谷歌云认证最适合您还是希望创建您的谷歌云杰作。
对升级或开始云架构之旅感兴趣吗?云专家的 GCP 架构师认证学习路径提供适合初学者和高级专家的定制课程!
1.深刻理解你的材料
一旦你知道了你正在处理的东西的特征,它会引导你找到有趣的(和新颖的)解决方案。
以纽约市的古根海姆博物馆为例。构成古根海姆博物馆的主要材料是混凝土。混凝土流动。这种内在的运动可以形成曲线和螺旋,导致一种包含其他艺术的艺术形式
我们如何将这种方法应用于谷歌云?
了解你的材料的属性和好处
正如建筑设计师必须了解他们的材料及其属性和好处一样,谷歌云架构师必须了解可用的 GCP 服务、它们的主要用途、它们擅长什么,以及它们不擅长什么。了解所有的 GCP 服务确实是一个 GCP 建筑师的基本要求。根据他们的长处选择材料 接下来,你要根据他们最擅长什么来选择材料。对于古根海姆博物馆来说,混凝土是一个自然的选择,因为它具有流动性,赖特希望将这种流动性融入到他的设计中。对于云,您希望整合最合适的服务。
例如,假设您的团队需要将他们的 Apache Hadoop 数据管道 ETL 功能转移到云中。Google 有两个非常棒的数据管道服务:Dataproc 和 Dataflow。你选择哪个?(Dataproc 吧?它也是基于 Hadoop 的,比数据流更容易转换。)
使用尽可能少的材料另一个相关的原则是使用尽可能少的不同材料。这简化了设计,描绘了它的本质,而没有不必要的繁忙工作。在云中,这种方法带来了更高的效率——尤其是当涉及到最重要的资源:人员时。涉及的技术越少,组织越紧密。
2.注意建筑中的语法
另一个在两种建筑形式中都有共鸣的有机建筑原则是语法。
每座建筑都有自己的语法——独特的模式和形式词汇。你可以在赖特的作品中看到这一点,比如东方的塔里辛和西方的塔里辛。这两座建筑的形式、元素和总体设计都大相径庭。但与此同时,每一个都是内在一致的。
一般来说,语法的共性和特性让我想起了 DevOps 的一个关键原则,特别是站点可靠性工程,这是谷歌云架构的一个组成部分。也就是说:通过找到与您共享语言、工具和方法的系统,您可以做三件事:
- 充分利用这些资源
- 远离可能导致困难的分歧
- 让每个人都朝着一个共同的目标努力
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
3.合并形式和功能
你可能听说过“功能决定形式”这句话这来自路易斯·沙利文,他认为建筑的目的应该是其设计的出发点。弗兰克·劳埃德·赖特为沙利文工作,但他并不只是盲目追随他的导师。
Wright 认为形式和功能应该是一体的——尤其是当涉及到建筑和它的位置时。你可以在莱特的杰作《落水》中看到这一点。
莱特的客户买下了这处房产,以为他会建一栋能看到瀑布的房子。但是赖特设计了瀑布顶端的房子。
正如 Wright 看到了建筑和场地之间的关系一样,我也看到了云解决方案和你为之设计解决方案的公司之间的密切关系。我们来分析一下。
同样,任何云计算系统都应该为组织服务。也许这看起来是理所当然的,但是在提出符合要求的计算机系统设计的压力下,很容易忽略这个概念。你可能会想出一个的解决方案,但是这个的解决方案适合公司吗?
在云计算方面,我认为这意味着与现在所在的公司合作。如果他们正处于从本地云到云的初始云迁移过程中,您可能会做出与他们在云之旅中成熟并寻求提高效率和范围时不同的决定。
建筑是站点
独有的,因此,您的云架构设计应该是公司和项目独有的。定制。定制。定制。
后 COVID DevOps:加速未来 COVID 如何影响甚至加速了 DevOps 最佳实践?观看 DevOps 领导者的免费点播网络研讨会,我们将探索后 COVID 时代的 DevOps。
4.给予你们造物的居民庇护
让我们来解决有机古风的另一个原则:庇护所。莱特说:“一座建筑应该传达一种庇护、避难或抵御恶劣天气的感觉。它的居民永远不应该缺乏隐私或感到暴露和不受保护。”这如何适用于云?
避难所的感觉
我看到避难所,我立刻把它转化为安全感。在设计云计算解决方案时,您必须始终将安全性放在第一位。如果您让网络对坏人敞开大门,那么即使您设置了正确的 Kubernetes 引擎集群配置也没有用。抵御自然灾害 你不必只对人类保持警惕——大自然、你周围的世界以及你所依赖的其他系统都是如此。谷歌云的许多服务都内置了高度冗余,你绝对应该好好利用这一点。并且还添加了额外的适当的故障安全或回退机制。
"永远不要缺少隐私或感到暴露" 这是一个治理、风险和合规的时代——尤其是对服务于全球市场的跨国公司而言。许多国家都有非常具体的法规来保护公民。如果您要将您的应用程序提供给这些领域,您必须了解并遵从所有这些领域。
Google Cloud 拥有强大的加密功能,无论是传输中的数据还是静态数据。但是作为谷歌云架构师,你应该足够精明,能够清除那些控制之外的敏感数据。例如,以用户日志为例,您可能希望利用 Google Logging agent 的 Fluentd 功能。这需要知识,注意细节,并坚持到底。
5.迭代,迭代,迭代
Frank Lloyd Wright 的许多其他原则也唤起了地球和云端建筑的类似概念,包括空间、比例、尺度和简单性的概念。但要记住的关键是,正如 Wright 所写的,“有机建筑的理想的完整目标永远不会实现。也不需要。有什么有价值的理想达到过吗?”
或者,用我的话说:迭代。迭代。迭代。不断优化您的解决方案,并继续使您的系统尽可能具有容错能力。
我希望这些思考对您有所帮助,让您从一个全新的角度来看待 Google 云平台的架构解决方案!
在云中建立更好的职业生涯。
向一位云计算专家了解更多关于谷歌云、云架构和最受欢迎的技术技能的信息。查看本月的免费课程或获得 7 天免费试用。
5 项新的增强功能,可将您的应用扩展到任何规模
原文:https://acloudguru.com/blog/engineering/5-new-amplify-features-to-take-your-app-to-any-scale
就在 re:Invent 2021 之前,AWS 为 Amplify 推出了一系列功能,既简化又增强了客户构建应用程序的方式,同时还实现了原型制作和部署到生产中。在这篇文章中,Michael Liendo(AWS Amplify 的高级开发人员)谈到了其中的五个特性,以便更好地理解它们的用例以及如何开始!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
什么是 AWS Amplify?
AWS Amplify 是一套工具,面向希望在 AWS 上创建全栈应用的前端开发人员。使用它的 CLI,客户可以使用终端提示来自动编写他们的应用程序的后端。
Amplify 库和预建组件允许无缝的前端到后端解决方案,只需点击几下鼠标,应用程序就可以托管在 Amplify 主机上。
最后,客户可以在我们的管理 UI 中构思他们的数据模型,甚至不需要 AWS 帐户。
最棒的是,这套产品可以相互集成,这样它们就可以作为一个整体使用,或者作为一个单独的产品使用,这取决于您团队的需求。
这里有五个新的 Amplify 功能,可以帮助您将应用扩展到任何规模。
1.覆盖放大生成的资源
许多客户喜欢 Amplify 在添加资源时生成默认配置,如 Cognito 用户或身份池,或 S3 桶。但是,我们知道组织可能有不同的法规遵从性和治理标准。出于这个原因,我们在 CLI 中引入了一个新命令:amplify override <category>
。
这将接受指定的类别并创建一个 TypeScript 文件,然后可以根据您的需要访问和重新配置该文件中的资源。我们从客户那里听到的常见场景包括在 AWS DynamoDB 表项目上启用 TTL,以及将现有函数设置为触发器,以将 Amazon Cognito 用户从一个用户池迁移到另一个用户池。
在用户键入amplify override storage
的情况下,用几行就可以启用 bucket 版本控制。
import { AmplifyS3ResourceTemplate } from '@aws-amplify/cli-extensibility-helper'
export function override(resources: AmplifyS3ResourceTemplate) {
resources.s3Bucket.versioningConfiguration = {
status: 'Enabled',
}
}
值得指出的是,上面代码片段中看到的新的@aws-amplify/cli-extensibility-helper
模块是自动安装的,正确的导入语句是由 CLI 自动处理的。
2.使用 AWS CDK 添加自定义资源
开箱即用,Amplify 支持添加 AWS 服务,如 AppSync、Lambda、S3、Cognito、Fargate、API Gateway、亚马逊位置地图等,全部通过其 CLI。然而,客户通常希望根据他们正在构建的应用程序以及构建应用程序的需求来添加其他服务。
幸运的是,我们没有将所有 175 个以上的服务添加到我们的 CLI 中,而是引入了一个新命令 : amplify add custom
此命令支持通过 AWS CDK(类型脚本)和 AWS CloudFormation 创建的资源。
现在,Amplify 生态系统的简单性和 AWS 生态系统的庞大性在一个项目中结合在一起。
下面的代码片段展示了如何创建一个包含项目名称和 Amplify 环境名称的 SNS 主题。
import * as cdk from '@aws-cdk/core';
import * as AmplifyHelpers from '@aws-amplify/cli-extensibility-helper';
import * as sns from '@aws-cdk/aws-sns';
import * as subs from '@aws-cdk/aws-sns-subscriptions';
export class cdkStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps, amplifyResourceProps?: AmplifyHelpers.AmplifyResourceProps) {
super(scope, id, props);
/* Do not remove - Amplify CLI automatically injects the current deployment environment in this input parameter */
new cdk.CfnParameter(this, 'env', {
type: 'String',
description: 'Current Amplify CLI env name',
});
const projectName = AmplifyHelpers.getProjectInfo().projectName;
const topic = new sns.Topic(this, 'sns-topic', {
topicName: `sns-topic-${projectName}-${cdk.Fn.ref('env')}`
});
topic.addSubscription(new subs.EmailSubscription("<your-email-address>"));
}
}
Pro 提示:将 Lambda 的定制资源与定制 IAM 策略结合起来!
3.对定制 IAM 策略的 Lambda 和容器支持
Amplify 本身支持 Lambda 函数和 Fargate 容器的创建。通常,客户需要整合在 Amplify 生态系统之外创建的现有资源。出于这个原因,现在每当创建一个 Lambda 或容器时,我们都会生成一个custom-policies.json
文件:
[
{``"Action"``:`` ``[``"iam:GetPolicy"``]``,``"Resource"``:`` ``[``"arn:aws:iam:::policy/*"``]``}
这个简单的文件接受一组策略,并自动将它们应用于相应函数或容器的执行角色。
值得指出的是,虽然默认情况下Effect
是allow
,但是策略也可以设置为deny
。此外,请注意,在当前的 Amplify 环境中也支持和添加通配符,这对于多环境场景非常方便。
4.自定义命令挂钩
无论是确保使用特定版本的 Amplify CLI,还是希望在构建成功或失败时向您的团队发送 slack 通知,自定义命令挂钩都是解决方案。
当初始化一个新的 Amplify 项目时,我们现在生成一个amplify/hooks
目录。在这个目录中,文件名采用“什么时候”的方式。例如,一个名为pre-push.js
的文件将在一个项目被推送到 AWS 之前运行。此外,在使用amplify add function
命令成功地将一个函数添加到一个项目中之后,一个名为post-add-function.js
的文件将会运行。
回顾一下想要实施特定版本的 Amplify 的用例,这样做的代码如下所示:
const fs = require('fs');
const parameters = JSON.parse(fs.readFileSync(0, { encoding: 'utf8' }));
// Get the running Amplify CLI major version number
const currentCLIMajorVersion = parameters.data.amplify.version.split('.')[0]
console.log('Amplify CLI major version: ', currentCLIMajorVersion)
const MINIMUM_MAJOR_AMPLIFY_CLI_VERSION = 5
console.log('Minimum required Amplify CLI major version: ', MINIMUM_MAJOR_AMPLIFY_CLI_VERSION)
if (currentCLIMajorVersion < MINIMUM_MAJOR_AMPLIFY_CLI_VERSION) {
// Non-zero exit code will stop the Amplify CLI command's execution
console.log('Minimum CLI version requirement not met.')
process.exit(1)
} else {
console.log('Minimum CLI version requirement met.')
process.exit(0)
}
值得注意的是,除了 JavaScript,build hooks 默认情况下也支持 shell 脚本,也可以启用像 python 这样的自定义脚本运行时!
5.将放大器后端导出为 CDK 堆栈
我们单子上的最后一项!
这个特性允许最大的灵活性,但是我要补充的是,它是高级的,是为特定的客户设计的。因此,虽然大多数客户永远不会需要这种能力,但它进一步加强了 Amplify 可用于生产应用的地位。
amplify export
通过运行此命令,Amplify CLI 会将您的整个 Amplify 后端导出为 CDK 堆栈。然后可以将其引入现有的 CDK 管道,并与您的其余基础设施一起部署。
注意,这是而不是弹出放大器。当一个放大项目被迭代时,此命令可以运行多次。
导出 Amplify 项目很简单,不过让我们通过一个示例阶段来看看将生成的堆栈集成到现有管道中是什么样子:
import { CfnOutput, cfnTagToCloudFormation, Construct, Stage, StageProps } from '@aws-cdk/core';
import { AmplifyExportedBackend } from '@aws-amplify/cdk-exported-backend';
import * as path from 'path'
import * as cdk from '@aws-cdk/core'
export class AmplifyStage extends Stage {
constructor(scope: Construct, id: string, props?: StageProps) {
super(scope, id, props);
// ADD AMPLIFY EXPORTED BACKEND STACK HERE
const amplifyStack = new AmplifyExportedBackend(this, "amplifyexportedbackend", {
path: path.resolve(__dirname, '..', 'amplify-export-mytodoapp'),
amplifyEnvironment: "dev"
})
}
}
如果 CDK 开发人员以前部署过管道,他们应该对此很熟悉。注意,@aws-amplify/cdk-exported-backend
包处理必要的绑定。
更多详情可在文档页面上找到。
结论
在这篇文章中,我们看到了新发布的特性,这些特性使得 Amplify 应用程序更具可扩展性。这是除此之外的功能,例如能够将现有资源导入您的 Amplify 项目。
现在,客户不仅可以通过定制构建挂钩等功能进行更细粒度的控制,而且覆盖和添加资源的能力意味着在 AWS 控制台上花费更少的时间,将更多的时间专注于构建您的产品。
更多关于 AWS Amplify 的信息,请访问我们的文档页面,并与我保持同步,您可以在 Twitter 上关注我。
关于作者
Michael Liendo 是@ AWS Amplify 的高级开发者拥护者。你可以在 Twitter 上关注他。
通过在 上追随一位云宗师【推特】【脸书】上订阅一位云宗师 进行每周更新,并在 上加入对话 。您也可以查看我们本期的 免费课程 !**
学习 React 的 5 个理由
原文:https://acloudguru.com/blog/engineering/5-reasons-to-learn-react
如果你过去几年一直在网络上工作,你可能听说过 React 。当脸书将其巨大的工程资源放在一个可以同时满足脸书和 Instagram 需求的网络框架之后,可能会有一些值得研究的东西。
但是 React 是怎么回事,为什么要学呢?这里有五个原因。
1.React 是一个很好的简历补充
React 是受欢迎的,不可否认。在 Stack Overflow Developer Survey 2020 中,React 被评为第二大最常用的 web 开发框架(仅次于 jQuery)。作为一个被广泛采用的框架,你可以预期对有能力的 React 开发人员有相当大的需求。你为什么不想把它列在你的 LinkedIn 个人资料上呢?
2.使用起来又快又有趣
开发人员喜欢速度快,对于 web 开发来说,让事情至少在 T2 出现的最好方法之一就是让大部分工作在浏览器中完成。React 的速度快得令人难以置信,虽然基准测试应该有所保留,但我发现的大多数基准测试都会将 React 放在各种性能指标(首次绘制、加载时间、包大小等)的顶端或接近顶端。).与其看基准测试,我会鼓励你在野外找一个 React 应用程序,看看它对你来说是不是很快。
说到开发人员喜欢的东西,如果我们回到 2020 年堆栈溢出开发人员调查,我们可以看到 React 在最受欢迎的 Web 开发框架类别中排名第二。第二常用第二最爱?(注意,jQuery 并不是最受欢迎的。)好像挖 React 的人都想留在那里。
3.心理模型很简单(简单就是好)
React 只关心一件事:渲染。因为有太多的注意力集中在一件事情上,这意味着在使用 React 时没有 1000 个概念需要学习和记住。这种简单性意味着大部分开发工作可以致力于解决业务问题,而不是试图记住框架对建模数据和路由到控制器的所有要求。
4.适用于任何项目的灵活渲染
React 在渲染方面做得非常好,值得在这个列表中占据两个位置。因为 React 的目标是如此专注于渲染,这意味着它对应用程序的其他方面没有意见,否则可能会阻止您使用其他工具。有没有一个特定的库,您曾经用不同的框架对数据建模,现在您仍然想使用它?酷!您可能仍然可以使用它,因为 React 不会强迫您以特定的方式对数据建模。
这并不意味着没有以 React 为中心的项目和库来解决与渲染无关的常见问题,但是很高兴知道框架并没有强迫您完全跳槽并学习一个全新的工具链。选择 React 意味着你已经换出了你的应用程序的渲染层,这是一个足够大的跳跃。
5.这是移动开发的门户
你是网站开发人员,对吗?不要这样限制自己!React 有一个姐妹项目, React Native ,它允许你利用在使用 React for web 时积累的技能,并将其转化为可以发布到 App Store 和谷歌 Play 商店的移动应用程序。你可能会想“我已经看到这些 JS‘移动应用’的结果了,不用谢”,但是 React Native 已经足够好了,可以用于脸书的生产移动应用,所以它与我们过去看到的有些不同。
想试试 React 吗?
开始使用 React 并不困难。如果你有使用 JavaScript 的背景,我的“用 React 扩展你的 JS 技能”课程是你迈出 React 第一步所需的快速入门。学习编程技能的最佳方式是钻研并将其应用到工作中,因此本课程的重点是让您尽快熟悉代码,并保持这种状态,以便 React 提供的编程模型能够坚持下去。
不迁移到 DevOps 的 5 个理由
原文:https://acloudguru.com/blog/engineering/5-reasons-to-not-move-to-devops
DevOps 风靡一时。但是 DevOps 到底是什么?你为什么要在乎?有些人说 DevOps 是自 Web 2.0 以来最好的东西。但是是不是被高估了?让我们来看看你可能不想搬到 DevOps 的一些原因。
1.DevOps 到底是什么?
当你甚至都不知道它是什么的时候,你怎么能移动到它呢?是一种管理风格吗?是否敏捷?这是组织你的团队的一种方式吗?是职场文化吗?没有人真正知道。但他们假装如此。然后他们假装这给了他们某种好处,超过了管理软件开发团队的老的、被证实的风格。不,谢谢你。
2.与其他部门交谈是浪费时间和金钱
我假设 Dev 指的是开发人员,Ops 指的是运营。为什么这两个部门想要合并他们的工作?我们的代码忍者正是:忍者。他们进去,完成工作,然后出来。他们不需要浪费时间去考虑他们的软件将在什么操作系统上运行,或者如何自动扩展它运行的系统。这不是他们的工作。协作对我来说听起来像是浪费时间。
3.更快发布意味着更快破坏你的网站
每当有人添加一个单独的功能时,就发布一个新版本的软件?你疯了吗?没有每天的变更顾问委员会会议,你怎么能执行一个新的版本呢?我们没时间了!一天几次破坏你的网站的可能性听起来很可笑。然后,我们必须增加我们的中断修复会议,我们的调查想法淋浴,我们的蓝天修复问题午餐和学习。一周没有足够的时间!
4.自动化并不总是最好的
所有这些 DevOps 工程师总是在谈论自动化。你知道谁不喜欢自动化吗?有工作的人。你怎么能把自己的工作自动化呢?当它最终坏掉时,谁会去修理它?不管怎样,自动化总是会出问题。一个系统如何能一直完美地自动化一切?听起来像是某种梦。
5.你打算如何处理所有这些指标?
我听说度量标准在 DevOps 爱好者中也很流行。监控一切。绘制一切。我要漂亮的图表做什么?嗯,我想 CXO 团队可能需要一些视觉效果。。。但是,它们只是线形图!如果我们在一夜之间对所有 web 服务器进行了 2000 次端口扫描,那又有什么关系呢?只要 80 端口打开,我们就安全了!Web 服务器仍然使用端口 80,对吗?
说真的,节省时间和金钱,用 DevOps 生产更好的软件
我需要在那里放一个 /s 吗?如果你发现自己同意这些观点,那么可能是时候看看你的软件开发实践如何与你的运营团队保持一致了。您可以更快地生产更高质量的软件,并节省大量时间和金钱。这篇文章是以开玩笑的方式写的,但是它确实提到了 DevOps 能够为您的组织带来的关键优点。
想了解更多?在我们全新的(完全免费的) DevOps 概念课程中,获得 DevOps 是什么以及它如何改变您的软件开发实践的速成课程。不需要以前的经验!
使用 K3s 的 5 个理由
原文:https://acloudguru.com/blog/engineering/5-reasons-to-use-k3s
你可能听说过 K3s,轻量级的 Kubernetes 发行版。听起来挺酷的,而且绝对容易安装。另一方面,它的简化性质意味着它可能不像普通 K8s 设置那样可定制或功能强大。那么实际上什么时候应该考虑使用 K3s 这样的东西呢?以下是 K3s 用例的一些想法。如果你发现自己处于这些情况中的任何一种,也许可以试试 K3s!
1.您想要一个简单、轻量级的 Kubernetes 开发环境。
可用的开发环境既可以帮助也可以伤害软件开发。以重要方式反映生产条件的快速、通用的环境对于开发人员的生产力至关重要。
K3s 是一个让 Kubernetes 快速简单地启动并运行的好方法,不需要开发人员对 Kubernetes 的内部工作原理有详细的了解。K3s 也不会占用太多本地资源,这使得它成为本地 Kubernetes 开发环境的一个很好的选择。
2.你想把库伯内特逼入绝境。
物联网设备和手机等边缘设备在未来的计算中有着特殊而突出的地位,这些设备目前大多运行在 ARM 架构上。K3s 经过优化,可在 ARM 架构上运行。它占地面积小且简单,在更小、资源更受限的边缘计算环境中更易于运行和管理。有了 K3s,协调的容器不再局限于数据中心。
3.你想让 Kubernetes 成为你 CI 流程的一部分。
持续集成通常是指在较小的规模上复制生产组件和基础设施。您正在将您的应用部署到 Kubernetes 集群吗?为什么不在一个小型的临时集群上测试它,作为您的 CI 流程的一部分呢?
K3s 在这里可以派上用场。当事情快速、简单和轻量级时,CI 自动化通常会受益,K3s 符合要求。你可以用一个命令在几秒钟内安装它。因此,K3s 很容易作为 CI 自动化流程的一部分进行管理。
Watch: Kubernetes + Azure,哈希公司之道
你有没有想过创造一种标准化的方式来安全地部署你的应用?在 Azure 上使用 HashiCorp 堆栈是一个很好的起点。查看这个免费的点播网络研讨会了解更多信息!
4.您希望在树莓 Pi 集群上运行 Kubernetes。
最近,每个人似乎都痴迷于在树莓 Pi 硬件上运行 Kubernetes。这些小巧廉价的 Linux 机器已经被用于从机器人到浇花的各种用途。在最近的几次会议上,我看到了一些令人印象深刻、看起来很酷的 Kubernetes 集群在这些小机器上运行。
但是,尽管 Raspbery Pis 惊人地强大,但与您通常用来运行 Kubernetes 的硬件相比,它们的资源仍然有限。幸运的是,K3s 占用的资源很少,非常适合这种情况。理论上,你可以在最低端的 Raspberry Pi 型号提供的内存上运行 K3s 四次。K3s 甚至在 Raspian Linux 发行版上进行了官方测试!
5.你只是想要一个快速简单的 Kubernetes 集群。
K3s 是一个很好的工具,任何时候你想要一个快速简单的 Kubernetes 集群,特别是如果你不太关心定制。K3s 包括打包的附加组件和合理的默认设置,使其开箱即可发挥强大功能。
它易于安装和管理,甚至可以投入生产。在任何需要快速简单的容器编排的情况下,为什么不试试 K3s 呢?
想进一步了解 K3s?
K3s 是一个很棒的工具,它使 Kubernetes 在比以前更广泛的场景中变得有用。从物联网设备到开发环境再到树莓 Pis,K3s 让 Kubernetes 在各种新领域都能轻松使用。
如果你有兴趣学习 K3s 的基础知识并亲自动手,请查看我的课程,K3s 简介。这个简短的课程将帮助您快速掌握 K3s 的基础知识,并引导您构建一个简单的 K3s 群集来部署和运行应用程序。
我们喜欢 Terraform 的 5 点
原文:https://acloudguru.com/blog/engineering/5-things-we-love-about-terraform
为了纪念情人节,我认为给地球写一封“情书”听起来很合适。Terraform 远非完美(什么关系?),带有各种有趣的锋利边缘,可以在最糟糕的时候割伤自己。但总的来说,Terraform 是大规模管理基础设施的一场革命。那么 Terraform 成为我们在 2021 年搜索次数最多的话题也就不足为奇了。在这篇文章中,我将分享我们喜欢 Terraform 的五点。
加速您的云计算职业生涯
云专家让你轻松(也很棒)提升你的云事业——即使你对技术完全陌生。查看 ACG 目前的免费课程或立即开始免费试用。
当然,如果没有历史悠久的浪漫建议专栏,任何以情人节为主题的文章都是不完整的:
亲爱的特里,
长期读者,第一次写进来。我束手无策,不知道该怎么办。我对我的云基础架构又爱又恨,我认为这种爱正在消退。别误会,云基础设施很棒;我可以要求它提供 100 个实例,它会毫不犹豫地完成。(试着问问您的裸机数据中心吧!)
问题是,只是失控了。我的云基础架构乱七八糟。我花了一整天点击用户界面来设置负载平衡器,我有以指环王角色命名的实例,我很确定我们的实习生刚刚删除了我们的产品 VPC。救命啊!!!
–在匹兹堡手动调配
幸运的是还有希望议员,如果你只是读下去。–毛圈形式
在我们的 Terraform 备忘单中,查看十大 Terraform 命令,并获得您需要的所有基本命令的完整摘要,以充分利用这一直观的 IaC 工具。
1.声明你想要的,剩下的由 Terraform 完成
Terraform 的一大特点是它使用声明性逻辑来完成目标,而不是命令性的。虽然这听起来像是一个简单的语义区别,但对用户体验的影响是巨大的,这是一个主要的卖点。
“声明性”到底是什么意思?
声明式编程意味着无论是谁编写代码,都要声明他们希望程序的最终状态是什么,编译器使用自己的逻辑来确定达到该状态的最佳路径。程序员不必担心实现。
与命令式编程形成对比;在大多数通用语言中,如 Python ,程序员需要明确定义实现和达到期望状态所需的逻辑。
在 Terraform 的上下文中,声明是关于像基础设施组件这样的资源。
这就是 Terraform 的吸引力所在。用户不必学习一门逻辑约定过于复杂的新编程语言。他们可以简单地定义他们希望在云基础设施中看到的资源,Terraform 将自动确定应用逻辑和部署资源的正确顺序。Terraform 使用的语言 HCL 非常接近 JSON,这也有所帮助。
读作:云状,地形,还是 CDK?AWS 上的 IAC 指南 概述 AWS 中可用的 IaC 工具,以及如何在它们之间进行选择。
2.避免尴尬的代码遭遇远程状态
这是一个经典的尴尬故事:两个工程师同时对同一个资源库进行更改,但没有任何东西被完全或正确地应用,接着就是一场闹剧!实际上,更像是生产中断和与 CTO 的不愉快对话。Terraform 如何帮助避免这些“尴尬的遭遇”?
首先,了解 Terraform 如何“了解”您的云基础架构是有帮助的。
它以状态存储关于它管理的资源的数据,这在基本层面上只是一个包含大型 JSON blob 的文件,其中包含 Terraform 管理的每个资源的元数据。通常,这些文件位于工程师工作站的本地。然而,当您有大型部署和需要部署和改变基础设施的几个工程师时,这确实不能很好地扩展。进入远程状态。
Terraform 有能力集成各种后端,提供远程状态管理。通过几行配置,Terraform 部署可以设置为利用共享状态文件。为了防止上述冲突问题,远程状态后端还可以提供锁定功能。如果一个工程师正在将变更部署到 Terraform 工作区,其他工程师将被阻止做出他们自己的变更或计划,直到最初的变更完成。
3.遵守十二要素标准
任何构建分布式系统和部署现代应用基础设施的人可能至少听说过十二要素。这 12 个因素为开发、部署和维护应用程序的最佳实践列出了一套指导原则。Terraform 提供的功能可以帮助工程团队更好地遵循这些原则。
查看 Kubernetes 中的十二因素应用,了解 Kubernetes 如何帮助实现十二因素应用方法的应用设计标准。
I–代码库
这个因素陈述了:“一个在修订控制中跟踪的代码库,多个部署。”
利用 Terraform 意味着您的基础设施是用代码定义的,这些代码可以通过版本控制来提交和跟踪。现代应用程序架构通常无法分离基础设施和工作负载;使用代码来定义这两者是任何一种可伸缩性的要求。
III–配置
该因素表示:“在环境中存储配置。”
我们将通过引入一些其他工具来稍微欺骗一下这个工具。Terraform 能够通过传递一个 tfvars 文件读入环境变量。使用一些模板逻辑和大多数 CI/CD 系统,您可以使用模块编写一次 Terraform 代码,并为不同的环境传递环境变量,如 QA、staging 和 prod。
x–开发/生产平价
该因素陈述:“尽可能保持开发、试运行和生产的相似性。”
许多有助于因子 III 的特性在这里重叠。为不同的环境保持独立的定义几乎总是会导致配置漂移,并且保持这些环境之间的同质性对于保持发布速度是绝对关键的。在模块中定义应用程序基础架构,并为命名和规模变化公开某些变量,可以实现强大的自动化,这有助于实施所需的奇偶校验。
4.将所有内容整合到一个代码库下
最近有很多关于云不可知论者或进行多云部署的讨论。如果一个组织决定要同时在 AWS 和 GCP 工作,Terraform 是一个很好的工具。
但是,如果你不看大型云提供商,你会发现有大量其他服务和工具可以实现基础设施的几乎完全的端到端自动化。
例如,一个组织可以在 AWS 上部署其大部分计算工作负载,在 Github 上部署代码库,通过 Datadog 部署监控,通过page duty部署事件管理配置。对于大多数工程团队来说,这构成了运行一个非常强大的应用程序堆栈所需的大部分云资源和服务,现在一切都可以用代码进行配置和管理。
Watch: Kubernetes + Azure,哈希公司之道
你有没有想过创建一种标准化的方式来部署你的应用,以及如何安全地这样做?在 Azure 上使用 HashiCorp 堆栈是一个很好的起点!在这个免费点播的网络研讨会中了解更多信息。
5.繁荣的生态系统意味着丰富的资源
Terraform 今年就八岁了。最初的开源项目在八年内取得了显著的增长和社区采用。这种势头创造了一个奇妙的第三方工具和学习资源生态系统。Terraform 的新用户有很多选择来学习关于基础设施作为代码的最佳实践。
Terraform 的发展使 hashi corp(Terraform 的创造者)能够为分布式系统建立一个完整的现代工具产品线,该系统具有与 terra form 的一流集成支持。Consul 和 Vault 分别是用于服务发现和秘密管理的最强大的工具。Hashicorp 还推出了 Terraform Cloud ,为 Terraform 部署和支持提供包含电池的托管服务选项。
第三方生态系统同样强大。令人敬畏的 Terraform 维护着一个书籍、教程、博客文章、工具、模块等的列表。新用户有大量的材料可以学习,也有一个活跃的社区可以参与。
Terraform:有很多值得爱的地方
Terraform 并不完美,但有很多值得爱的地方。就像任何关系一样,你必须接受好的和坏的。希望本文表明选择 Terraform 作为 IaC(基础设施即代码)工具是不会出错的。
我也对未来充满期待。为了实现这一点,像 CDK 和普鲁米这样的工具将 IaC 带回命令式逻辑,允许开发人员完全使用他们选择的编程语言,将基础设施逻辑作为模块或库导入。这种新的范例潜在地提供了一些非常强大的抽象,并且可以极大地提高开发人员的生产力。
即便如此,我可能还是会更多地使用 Terraform,我希望它继续成长和成熟,成为基础设施管理的首选。
你会喜欢的技能发展
想提升你的地形和开发技能吗?查看我们的 Terraform 培训或顶尖开发人员技能和技术(以及如何学习)。你还可以看到这个月在 ACG 有什么是免费的。
通过在 Twitter 上关注ACG和脸书,订阅 YouTube 上的云专家,或者加入我们棒极了的 Discord 社区中的云对话,来了解所有关于云的事情。
关于作者
Mike Vanbuskirk是一名首席 DevOps 工程师和技术内容创作者。他曾与世界上一些最大的云计算、电子商务和 CDN 平台合作过。他目前的重点是云优先架构和无服务器基础设施。
实时分析:你应该知道的 5 件事
原文:https://acloudguru.com/blog/engineering/5-things-you-should-know-about-real-time-analytics
对实时数据进行分析是当今许多数据工程师面临的挑战。但并不是所有的分析都能实时完成!许多取决于数据量和处理要求。甚至逻辑条件也成了瓶颈。例如,考虑一下每个表上有超过 1 亿行的大型表的连接操作。连接操作是可能的,但它可能不会实时发生;我们可以称之为…近实时。
实时:当你需要即时处理的信息时(比如电子商务上的信用卡交易)。
接近实时:您不需要立即获得数据(例如机器的日志仪表板)。你可以忍受 2-15 分钟的延迟。
什么是实时分析?
实时分析允许用户在数据到达系统时查看、分析和理解数据。实时或接近实时地接收到系统中的数据。操作、逻辑和数学应用于数据,为用户提供洞察,以便对新的新鲜数据做出实时决策。
为了实现实时分析,系统中的所有组件都应该实时运行。系统中摄取的数据应该以实时的方式进行处理,或者逐个事件地处理,或者使用带有微批处理流处理方法的滑动窗口。
微批处理流处理通常与 Apache Spark 结构化流相关联。Apache Spark 结构化流使我们能够以更接近实时的微批处理方式处理数据,这是实时处理与批处理的比较。点击此处阅读更多关于 Spark streaming 的信息。
当今实时数据分析平台的一些最大挑战是需要支持的各种数据流/管道,以及多种类型的资源。通过批处理,我们可以收集离线所需的所有数据,并提取、转换和加载到中央数据仓库中——通常使用全局模式。
我需要一个全局模式吗?
定义一个全局模式本身就是一个挑战。我们经常以一个全局模式结束,其中一些列定义良好,而其他列具有可疑/模糊的名称,如 colX、colY、other……很多时候,‘other’列用于依赖于来源的数据。
为了理解传统仓库的全球模式挑战,请考虑如何设计一个全球模式来表示社交媒体渠道——在一个模式中包括 Twitter 和抖音。您最终可能会得到无穷无尽的列,其中一半的行将是空的或者是不一定会用到的默认值。
还记得经典的数据库规范化技术吗?它帮助我们删除冗余数据,更好地构建我们的模式。1NF、2NF、3NF 等变得极具挑战性,因为数据的种类、数量和速度随着各种组织系统中数据的复杂性和需求而增长。
这就是为什么在现代数据仓库中,不需要全局模式;它通过管理对来自各种数据库的结构化和非结构化数据的访问,为我们提供了更大的灵活性,并允许我们在需要时将不同的数据库表连接到一个仪表板。
如何连接多个数据源?
另一个你应该知道的术语是EAI——企业应用集成。当我们考虑数据时,这通常是通过共享服务总线架构实现的,该架构将消息从一个部分传输到另一个部分。
大多数时候,我们会从各种资源中收集数据。现代数据仓库使我们能够流式传输数据,并直接在其计算池中处理来自各种资源的数据。例如,现代数据仓库平台提供的 Apache Spark pools 可以极大地帮助我们处理和连接来自 Kafka 等多个流发布/订阅工具或 RabbitMQ 等消息系统的数据。
什么时候应该使用无服务器 SQL?
让我们想一想:谁使用收集的数据?我们有希望对他们的数据创建实时查询的业务分析师、数据科学家和希望在应用 ML 算法解决问题之前探索数据的 ML 研究人员。数据工程师持续关注数据;然后我们有销售人员、客户支持和更多的角色。并不是所有的系统都需要一个全天候运行的专用分布式计算系统。他们中的许多人更喜欢在需要时按需使用工具来满足他们的确切需求。
这就是可伸缩的无服务器 SQL 可以帮助削减成本的地方。对于许多数据科学家和业务分析师来说,按需运行查询、快速了解查询大数据(大数据基础)并继续工作是至关重要的,如果不能实现,就会成为团队的实际瓶颈和挫折。
我需要实时 MapReduce 还是事件驱动的微服务?
最后,我想谈谈一个令许多人困惑的话题。对于实时 MapReduce,也许你熟悉 Storm 、 Spark Streaming 和 Flink 开源解决方案,它们使我们能够对实时数据进行大规模分析。事件驱动的微服务通常是独立的小型/微服务,使我们能够在每台机器上单独运行流处理,这意味着机器之间的状态通常是不共享的;因此,它不太适合分析工作负载。这两者可以在共享架构中结合起来支持一个产品。尽管如此,这通常意味着将有一条消息总线,来自不同机器的数据将被保存到一个共享的、最常见的分布式数据库中。
?好奇想了解更多?
加入我们于12 月 7 日上午 8 点太平洋标准时间|上午 4 点格林尼治标准时间|上午 11 点东部时间举办的 3 小时在线免费活动,了解数据分析、Apache Spark、如何选择合适的分布式数据库、Delta Lake、什么是无服务器 SQL、如何开始使用它以及如何使用数据做好事——主讲人包括著名的社区演讲者 Holden Karau、蒂姆·贝里隆德、亚采克·拉斯科斯基、安娜·霍夫曼等。
活动是免费的,但需要提前注册这里是。
用多个 AWS 帐户启动您的组织的 5 个技巧
他们说人越多越好,AWS 上的账户也是如此。虽然大多数开始使用 AWS 的公司都是从单个帐户开始的,但当工作负载和基础架构变得更加复杂时, AWS 建议创建多个帐户作为一种最佳实践形式。AWS 中的多帐户环境正在成为在云中拥有任务关键型资源的组织的标准,多帐户管理是一项经常被忽视的技能,但需求却越来越大。
在这篇博客中,我探索了多账户环境背后的原因。我将提供一些技巧来帮助您,即系统管理员,避免在建立您的组织时常见的陷阱。
那么,当你只能有一个账户时,为什么要有多个账户呢?
您可能会惊讶地听到,完全有可能从一个 AWS 帐户运行一套完全安全、成熟和复杂的 AWS 资源。是的,是真的!IAM 策略是无限可定制的,并且可以在一个疯狂的粒度级别上控制访问。标签可以被强制执行,并且单帐户服务限制可以(通常)被增加。
但是,随着我们的 AWS 环境在一个帐户中变得越来越复杂——随着我们将生产资源、开发资源、监控资源和安全资源混合在一起——维护最低权限访问所需的工作和人为错误的成本将呈指数级增长。一个错误配置的 IAM 策略或一组受损的凭据,坏人就可以访问您的整个 AWS 环境。打个比方,想想与多细胞植物和动物相比,维持单细胞生物体所需的进化飞跃——后者需要更复杂和协调的过程和工具来保持一切功能。
AWS 上的多账户环境有什么好处?
这就是多账户环境发挥作用的地方。利用多个帐户可以大大降低保护任务关键型资源安全的复杂性。通过充当访问资源的粗过滤器,帐户使得维护“最低特权”访问标准变得更加容易。如果一组访问密钥被泄露,或者一些类似的安全事件,它们也可以减小爆炸半径。还有其他潜在的好处,如更简单的资源集合计费可见性,以及避免 Lambda 和亚马逊 VPC 等服务的单一账户资源限制。
An example organization where accounts are contained in Organizational Units (OUs) defined in AWS Organizations.
面向未来的多帐户环境的 5 个技巧
多账户环境的好处显而易见。由于 AWS 组织和 AWS 控制塔等服务,建立一个也相对容易。不幸的是,这意味着也非常容易设置您的多帐户环境,导致您和您的组织痛苦。这里有五个技巧可以帮助你建立一个面向未来的多账户环境。
技巧 1:提前计划电子邮件地址
每个 AWS 帐户必须有一个唯一的电子邮件地址,以作为该帐户的根用户。我经常看到个人电子邮件地址被用作包含关键任务资源的组织帐户的根用户。坏主意!那些管理员转移到新的机会,对根用户的访问随着时间而消失;需要在 AWS 的支持下进行繁琐的来回调整。对于您计划在组织中拥有的每个帐户,考虑作为根用户的适当电子邮件地址,以及谁应该有权访问该根电子邮件帐户(或 listserv,或别名)。
对于您的管理帐户 root 用户电子邮件,您可以选择类似“aws-admin@example.com”的内容。根据您的电子邮件服务提供商,您可以为其他帐户使用临时别名。例如,如果你的组织使用 Gmail,你可以使用类似“AWS-admin**+audit**@ example . com”的东西。这个别名将所有确认电子邮件发送到“aws-admin@example.com ”,但在 aws 眼中仍然充当帐户供应的唯一电子邮件。仔细考虑您组织的需求,不要忽视有意选择和控制对您的根用户电子邮件地址的访问的重要性!
技巧 2:创建一个新的 AWS 帐户作为您的管理帐户
使用您的主 AWS 帐户作为您组织的管理帐户似乎很直观。但是,应尽可能减少对您的管理帐户的访问以及管理帐户内的活动。避免管理帐户中的任何类型的工作负载被认为是最佳做法。
最简单的方法是创建一个全新的帐户作为管理帐户。从管理帐户创建您的组织后,您可以邀请您的现有帐户作为成员帐户。
技巧 3:使用 AWS SSO
管理多个帐户的最大挑战之一是,默认情况下,对您的帐户的访问是分散的。如果你习惯于让人们通过 IAM 用户访问你的账户,那么管理多个账户的用户可能会令人生畏。幸运的是,AWS 为多帐户身份联合和访问管理提供了一个简单的解决方案,所有这些都可以从管理帐户进行管理。
AWS SSO 利用您现有的身份提供商(如 Azure AD 或 Okta)来帮助您将用户或组映射到您每个帐户中的 IAM 权限集。如果您没有第三方身份提供者,它也可以充当自己的用户目录。使用 AWS SSO 并删除所有(是的,所有)你的 IAM 用户!
秘诀 4:组织广泛,而不是深入
当您着手组织您的 AWS 客户时,您的任务是将您的客户分组到组织单位(ou)中。经验法则是根据客户的安全和运营需求来组织客户。
一般来说,安全护栏应用于 OU,由该 OU 下的账户继承。如果两组帐户具有相似但不完全相同的安全需求,那么创建嵌套 ou 可能很有诱惑力。“子”OU 可以从“父”OU 继承所有护栏,然后可以在子 OU 上添加额外的护栏。这是不可取的,在大多数情况下,更好的解决方案是创建一个单独的“同级”OU。因为这些帐户集有不同的安全或操作需求,所以很难说它们未来的护栏是否会一直遵循当前的父子继承模式。为了避免复杂的依赖性,最好将这些 ou 保持为兄弟关系。
Organize your accounts based on security and operational needs – Organizational Units (OUs) are your friends!
技巧 5:不要超越自己!
Want to stave off data leakage and exposed credentials? Read our article on how to audit and secure an AWS account.
如果你像我一样,很容易对构建 AWS 环境的许多可能性感到兴奋。有时候,你可能会觉得在开始前进之前,你必须知道所有的事情。但是,就像任何技术解决方案一样,帐户结构可能会被过度设计,以至于阻碍您的组织快速前进。确保您了解基本原理,不要在遵守 AWS 安全性、卓越运营和成本控制的最佳实践方面有所懈怠,但也不要让完美成为好的敌人。
在 AWS 中创建和组织账户时,尽量不要做超出你目前所能受益的事情。在这一行工作中,你总会学到新的更好的做事方法。你今天的观点几乎永远没有你明天的观点好!
荣誉奖:使用 AWS 控制塔
在大多数情况下,我建议从一开始就使用 AWS 控制塔来管理您的多帐户 AWS 环境。Control Tower 包含了太多内容,无法在这篇简短的博客文章中描述,但我鼓励您探索这项服务,并考虑将其用于您的帐户管理。
T3【自动气象站控制塔】自动配置自动气象站组织和自动气象站单点登录。最重要的是,它为您提供了一系列强大的自动化工具,帮助您遵循多账户管理的最佳实践。
结论
正如您所看到的,管理多个帐户涉及到 AWS 中许多服务的知识,这使得新的 AWS 系统管理员很难启动多帐户环境。我希望这些提示已经为你提供了一些背景知识和信心,让你能够应对多账户挑战!有关在 AWS 中组织帐户的工具和最佳实践的更多信息,或者如果您想深入了解 AWS 控制塔中涉及的服务,请查看我的课程如何在 AWS 中组织您的帐户。
改变职业,改变企业
学得更快。动作快点。创新更快。云专家是你成功的关键。借助 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室,立即实现转型。
Learn faster. Move faster. Innovate faster. A Cloud Guru is the key to your success. Transform now with courses and real hands-on labs in AWS, Microsoft Azure, Google Cloud, and beyond.
谷歌云数字领袖证书可以帮助你成为云专家的 5 种方式
原文:https://acloudguru.com/blog/engineering/5-ways-a-google-cloud-digital-leader-cert-can-help-you-irl
为什么要做入门级认证?也许你听说过,如果你想进入云计算领域,或者想进行横向职业发展,并且需要知道你的背景中缺少哪些技能,那么他们非常适合你。但是,如果你在一个不打算每天都把手弄脏的岗位上,该怎么办呢?在现实生活中真的能帮到你吗?绝对的。入门级证书可以构建一个有价值的框架,帮助准确理解云如何工作,让您也可以传达数字化转型解决方案为您的企业带来的好处。
那么,像这样的认证在现实生活中到底能帮到你什么呢?让我们顺道拜访金莎,找出成为谷歌云数字领导者的 5 种方式来帮助她从事非技术职业。
改变职业,改变企业
学得更快。动作快点。借助 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室,立即实现转型。
今天早上,金莎第四十七次低头看了看手表。离会议室门打开还有五分钟。她开始再次检查她的笔记,但被吱吱作响的门打断了。
“看来我们有点提前了,金莎。你准备好了吗?”
“当然,”金莎说,一跃而起,跟随她公司的首席执行官。当她走进房间时,她把注意力集中在远处墙上的霓虹酒店标志上。巨大会议桌周围的每把椅子都坐满了人。
“执行领导小组,我想向你介绍金莎。我已经请她对我们今天所处的位置做一个竞争性分析,并对未来提出建议。金莎,地板是你的了。”
金莎开始了,“谢谢你。英语教师的女士们先生们,我知道你们的时间很宝贵,所以我会长话短说。这是个坏消息/好消息。坏消息是我们的竞争对手将我们远远甩在后面。好消息是,我们有了前进的道路——这条道路不仅能让我们继续参与酒店行业,还能让我们成为行业领导者。”
“为什么我们的竞争对手在各个领域都打败了我们?简单来说:云。在某种程度上,我们市场上所有主要的连锁酒店都将其计算基础设施迁移到了云上。另一方面,我们依靠一系列物理数据中心来运行我们的运营。”因此,我们的竞争对手可以在需要时扩展容量,例如在上次返校节期间,并在业务不景气时缩减系统规模,例如在封锁期。
“我们的资本支出巨大,持续的运营支出一直居高不下。因此,从盈利角度来看,我们处于基线劣势,而且只会变得更糟,”金莎继续说道。
1.谷歌数字云领导者可以识别业务用例,并解释为什么云技术正在彻底改变业务。他们可以解释为什么企业采用新技术至关重要。
“我们不仅在利润率上被打败,在客户体验上也是如此。我们的酒店品牌以其优越的住宿条件、出色的内部服务和极好的现场餐厅而闻名。然而,我们正在失去现有的客户,因为在预订房间方面,我们陈旧而缓慢的用户体验,我们无法满足潜在客户群的需求或期望。”
“我明白了,”首席执行官向前探了探身子,“这听起来肯定是个坏消息。但是你提到的那个好消息呢?”
“嗯,这个好消息可以用同样的两个字来概括:云!我们可以大幅降低资本支出,并将运营支出与业务转移挂钩;需求高的时候多花钱,需求低的时候少花钱。我们可以通过将我们的计算基础设施迁移到云中来实现这一切。”
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
2。云数字领导者可以交流采用云技术如何影响总拥有成本(TCO),并推荐有效云成本管理的最佳实践。
一名身穿蓝色西装的男子清了清嗓子,“我很欣赏你的热情,但鉴于你已经描述过我们正处于风口浪尖,我们如何才能花时间将我们所有的系统迁移到一个全新的结构?我们会离线多久,一个月,或者两个月?”
“不一定。当然,我们必须仔细计划如何处理迁移,但我熟悉许多资源来帮助我们实现这一飞跃。例如,我们可以使用 Google Cloud Migrate for Compute Engine 服务在后台处理数据迁移,这样我们的运营就不会出现任何中断。
3。云数字领导者了解谷歌云核心服务及其能力,并能够确定哪些服务最有利于企业。
Move over, on-prem! We’re bringing you 5 cloud migration recommendations from the GCP Moving Company.
“就我们的客户而言,这种向云的迁移也将使我们的游戏升级。我们可以缩短他们预订房间时的等待时间,让整个体验更加人性化和吸引人。此外,使用现有的人工智能服务和例程,我们可以执行预测分析,以便在最有效的时候提供折扣。
“还有一个方面使这条新闻不仅是好消息,而且是好消息。我们可以解开多年来收集的数据。我们可以利用这些数据——就像我们餐厅的厨师开发的所有经典菜肴的食谱一样——以一种非常安全的方式向我们的合作伙伴和第三方开发商提供这些数据,从而开辟新的收入来源。”
4。谷歌云数字领导者了解如何利用谷歌云的机器学习、人工智能和应用程序现代化解决方案来优化他们的业务。
首席执行官开始在房间里踱步,“这听起来很有希望,金莎。然而,你说的话在我的脑海里敲响了警钟。安全。我们当前的系统和数据——虽然公认速度较慢——是安全的和,我们知道如何保护它们。把它们放在云端不会让全世界的黑客都可以使用吗?”
金莎点点头,“你的担心是正确的——我们新的全球影响力也增加了不良行为者的潜在机会。但是正是因为这个原因,云提供商特别关注安全性。例如,谷歌云有六层安全保障,从内部构建所有硬件,到保护网络免受潜在威胁和风险的大型安全专业团队。”
Check out our blog post, Artificial Intelligence and Machine Learning: AWS vs Azure vs GCP to see how the AI and ML services of AWS, Azure, and GCP stack up.
5。云数字领导者可以传达谷歌云的安全优势。
“嗯,金莎,你确实给了我和其他英语教师很多要考虑的东西。谢谢你的介绍,”首席执行官走向金莎,伸出手。"哦,我想应该祝贺一下了吧?"
金莎笑了。“是的,谢谢你。我昨天收到了电子邮件——我成为谷歌云认证的云数字领导者刚刚超过 24 小时。”
想成为金莎那样的人吗?请查看我在 A Cloud Guru 平台上的新Google Cloud Certified Cloud Digital Leader认证课程。
立即实施 DevSecOps 的 5 种方法
原文:https://acloudguru.com/blog/engineering/5-ways-to-implement-devsecops-right-now
听说过 DevSecOps 这个术语,但不太确定它是什么意思?本文回答了什么是 DevSecOps 的问题,并介绍了实现 DevSecOps 实践的 5 种方法。您还将学习可以用来防范安全漏洞的 DevSecOps 工具。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
什么是 DevSecOps?(还有 DevOps 和 DevSecOps 有什么区别?)
DevOps 是一套结合了软件开发(Dev)和 IT 运营(Ops)的实践。DevOps 的主要目标是缩短软件开发生命周期,提供高质量的持续交付。
DevSecOps 是 DevOps 方法的扩展,强调软件开发生命周期每个阶段的安全性。DevSecOps 的目标是确保从最初设计到最终交付的整个软件开发过程都考虑到安全问题。
实现 DevSecOps 有许多好处,包括提高安全性、降低成本和缩短交付时间。然而,实现 DevSecOps 可能是一个挑战,尤其是对于那些对这个概念不熟悉的组织。一个工程机构如何起步?幸运的是,最低限度的资源投资可以在安全态势中获得回报。
所以,这里有五种方法可以实现 DevSecOps,从现在开始。
1.让安全团队参与设计过程
如果你在一个安全团队中,你能做的帮助实现 DevSecOps 的最重要的事情之一就是参与设计过程。这样,您可以确保从一开始就考虑到任何安全问题。反过来,这将有助于避免开发过程中的安全问题。
一个好的安全团队应该易于联系,将自己“推销”给组织内的其他工程团队。减少初始约定的摩擦应该是 DevSecOps 领导层的首要任务,与开发人员建立信任,并定期邀请设计评审。
设计审查是安全专业人员提出可能的安全问题的好方法。安全专家可以发现潜在的危险,并提供减轻危险的建议。设计评审应该尽快进行,最好是在编写任何源代码之前。将接近完成的应用程序提供给安全团队进行审查的遗留模型确保了冗长的手动审查和潜在的高成本重构,安全团队被迫采取被动的姿态。
2.将安全性视为使能因素,而不是阻碍因素
实现 DevSecOps 的最大挑战之一是让软件开发人员将安全性视为使能因素,而不是阻碍因素。在许多组织中,安全团队被视为“说不的人”。更糟糕的是,开发人员和运营团队经常需要寻找可行的解决方案,而没有安全团队的进一步指导。毫不奇怪,安全控制经常被忽视或规避。
虽然安全团队识别和降低风险很重要,但他们也应该被视为推动者和产品合作者。它们可以帮助开发人员了解如何构建安全的应用程序,并提供最佳实践方面的指导。
DevOps 有一个宗旨:人>过程>工具;重要的是建立一个拥有正确技能的正确团队,这样软件工程师和安全人员才能协同工作。
DevSecOps 最重要的一个方面是在软件开发生命周期的早期捕捉安全问题。
一旦开发人员签入代码,就该开始扫描潜在的问题了。使用像静态分析和供应链监控这样的工具可以在果实进入运行期之前抓住它,从而大大提高安全性。
扫描容器、依赖项和开源库中已知的漏洞也很重要。近年来,发生了几起高调的软件供应链攻击事件。这些攻击带来的大规模安全后果应该是对任何不关注其软件构建基础的人的可怕警告。
扫描源代码中的凭据和敏感值
除了扫描供应链,扫描源代码中的凭证和敏感值也很重要。
一些静态分析工具也提供了凭证扫描功能。因此,确定正确的过程和工具来监控您环境中的代码库以发现可疑的提交是非常重要的。
通过预提交挂钩集成提醒开发人员其代码中存在敏感值,这为开发人员提供了一种简单的补救方法,而无需进行繁琐的工作,即轮换机密或对推送的代码进行更改。
最后,静态应用程序安全测试(SAST)工具可以分析源代码,而不需要实际运行代码。在遗留的开发环境中,这通常是手工完成的,但是 DevSecOps 应该专注于使用自动化工具。静态分析可用于查找代码中的漏洞,如 SQL 注入漏洞、命令注入、溢出和跨站脚本(XSS)漏洞。
尽早关注安全性有助于提供快速反馈,并使开发人员能够拥有他们工作的安全性成果,从而形成持续改进的良性循环。
4.尽可能自动化安全结果
持续集成/持续交付(CI/CD)管道是任何 DevOps 实施的基础支柱。管道是有效软件交付功能的基础。它支持的测试和部署自动化对于现代软件环境要求的快速交付节奏至关重要。
作为一种安全工具,CI/CD 管道也不例外。传统上繁琐的手动安全流程,如输入验证、集成测试和行为监控,可以通过自动化集成到 DevOps 生命周期中,为技术和非技术利益相关者提供快速、可见的结果。
高功能的 DevSecOps 团队甚至可以期待自动补救,修复易挂的果实,让工程师自由处理更复杂的安全问题。
在 DevOps 文化是新的,甚至不存在的工程组织中,额外的安全用例应该作为一个强有力的卖点,以获得领导对试点项目的认可。与手动流程相比,自动化可以更好地利用现有员工资源,防止安全工作成为业务 KPI 的瓶颈。
开发运维中的安全工作应该是可测量的,具有可量化的结果,可用于显示安全流程和工具的功效。这些数据可以用来决定未来开发工作的重点。此外,与其他团队分享这些成功有助于在整个公司范围内创建一种更具 DevOps 意识的文化,这只会带来好的事情。
5.向左移动,但是继续看右边
即使越来越多的安全工作提前进入开发生命周期(“左移”),对整个工程组织来说,在监控应用程序的健康和行为方面保持警惕,并保持稳固的运营足迹仍然是至关重要的。
在成熟的 DevOps 文化中,开发、运营和安全之间不应该存在孤岛。每个人都拥有安全性,每个人都共同努力来保护他们所负责的应用程序和系统的安全。但是即使在一个运作良好的团队中,关注生产中发生的事情也是很重要的。仅仅因为某个东西构建得很安全,并不意味着它会一直如此。配置更改、新的依赖关系和代码部署都会带来新的风险,需要降低这些风险。尽管我们都不愿意这么想,但人类还是会犯错。
那么,最简单的方法是什么,以确保新的软件服务将轻松地与公司的监控平台集成?DevOps 和 DevSecOps 人员可以参与早期设计会议,指出围绕库和模块的最佳实践,以便与监控堆栈无缝集成。
DevOps 的强大 DevSecOps 工作还可以实现自动化,以在实时工作负载中强制执行正确的配置和行为,向所有者强调错误配置和潜在的安全问题,他们可以着手修复问题。
如何实现 DevSecOps 并提高安全性和软件交付
所以,喜欢 DevSecOps 的想法,但不知道如何开始?与任何变革举措一样,从小处着手通常是产生持久影响的最佳方式。
在整个组织中建立共同的安全责任感是第一步,也是最重要的一步。从那以后,只需要实现支持团队的工具和过程。要提高安全和流程最佳实践技能,请查看我们的 DevOps 和安全课程。
5G 技术:它是什么,有什么大惊小怪的?
原文:https://acloudguru.com/blog/engineering/5g-tech-explained
直到今年,普通人对 5G 的了解可能仅限于手机运营商的承诺:更快的速度和更好的移动设备连接。
但在现实中,5G 技术的发展——从 2018 年的第一次家庭网络试验到目前的全球存在——开始显示 5G 如何在更大和更复杂的规模上为人们服务。
继续阅读,了解更多关于 5G 技术、其工作原理以及对社会的意义。
5G 技术:亮点
5G 是第五代蜂窝技术(这就是“G”代表的意思)。该技术于 2019 年推出,最初用于家庭互联网,但 5G 的最终愿景一直比这更大。
以下是 5G 技术背后的基本理念。
目前,5G 试图结合和连接更多不同的技术,为更多人改善互联网功能和可访问性。通过更大的渠道和更快的响应时间来实现改进和可访问性。
5G 最终将运行在自己的专用网络架构上,因此速度更快,响应更快。使用 MIMO(多输入多输出)的天线将允许更多的发射器和接收器同时传输数据。
5G 旨在敏捷和灵活地触及和连接更多设备。未来几年,5G 技术与机器学习相结合将实现更快的实时体验,最终需要与深度学习和人工智能集成,以跟上社会的需求。
通过利用云以及最终更密集的网络架构,5G 理论上将在更接近边缘的地方处理和传输数据,实现我们许多人对这种新技术的期待。
5G 技术是如何工作的?
理论上,5G 旨在通过在更广的范围内连接更多设备,更好地与云技术合作。为了理解其工作原理,我们需要回顾一下低频带、中频带和高频带频率。
**低频带频率:**这种频率速度最慢,但大多数人都可以使用,因为传输需要更少的发射塔,同时仍能达到更广的覆盖范围。想想电视和无线电广播是如何到达数百英里之外的设备的;这是低频带工作的一个例子。
**中频:**通常被视为“恰到好处”的选择,中频覆盖了更广泛的无线电波频率,速度足够快,可以显著提高连接速度。另外,它的覆盖面很广。
**高频段:**也称为毫米波,这是 5G 未来主要运行的地方。它非常快,但也非常容易被打断——这些波不会像低频波那样穿过墙壁。正因为如此,5G 技术需要大量小型接入点(而不是几个大型基站)才能被大众日常有效使用。
注意,我们说的高频段是 5G 未来将运行的地方。现在,情况有点复杂。
目前,许多人在技术上可以通过兼容设备访问 5G 技术,但他们缺乏承诺的 5G 体验。这是因为尽管 5G 在技术上可以在任何频率上运行,但低频带和中频通道非常拥挤,高频带通道尚未通过电话运营商和联邦通信委员会(FCC)广泛提供。
如果频道不存在,承诺的 5G 速度也不会存在。因此,到目前为止,兼容 5G 的设备需要 4G 网络的帮助才能运行,更不用说处于最佳状态了。这是一个非独立的连接,目标是 5G 发展成为一个独立的网络(即 5G 网络不必建立在现有的 4G LTE 网络上才能正常运行)。但是,由于这种巨大的变化需要时间,4G 和 5G 将在可预见的未来协同工作:专家预计大多数人在 2027 年之前不会体验到 5G 技术的真正力量。
围绕 5G 的关键术语和问题
因为感觉好像全世界一直在谈论 5G,你可能已经听到了一些与该技术相关的新词和短语。我们收集了一些最常听到的,以便为您未来的对话提供更多背景信息。
什么是低延迟?
延迟是信息在设备之间传输的速度。当人们说流媒体节目或视频游戏“滞后”时,他们是在描述延迟。在这些特定情况下,他们会经历高延迟;例如,音频可能与视频不匹配,因为信息传递得不够快。
5G 技术因其低延迟潜力而受到吹捧。这使得数据传输如此之快,以至于响应几乎实时到达。5G 的这一特性将是在时间至关重要的行业中使用这一技术的关键。
什么是网络切片?
网络切片本质上是移动/创建一个通道切片来满足用户需求。随着 5G 的发展,这是一个必要的解决方案;对更快连接的需求是存在的,但覆盖范围和可用性是有限的,因此运营商“分割”一部分网络,将其专用于特定目的。
例如,如果一家城市医院依赖 5G 技术来执行医疗程序,其网络切片将具有低延迟和更高的带宽,以确保最快和最可靠的连接。
5G 技术安全吗?
任何新技术都有弱点,尤其是在早期阶段。伴随 5G 的所有承诺而来的是一些安全问题。柏林技术大学的研究人员在研究 10 家移动运营商的 5G APIs 时发现了“严重的 API 漏洞”。存在严重后果的可能性,包括大规模未经授权的数据访问。随着世界越来越多地依赖这项技术,标准化的质量控制和实施将是 5G 发展的关键。
而“物联网”是…?
物联网是设备、机器、传感器等的大规模集合。它们都通过网络连接,能够交换数据。物联网将依靠 5G 网络速度来创建更好、更快的连接,从而为响应速度明显更快的系统提供动力。
我们认为 5G 将如何影响社会
如果一切按预期继续发展,我们将通过以下方式感受 5G 的社会影响:
- 在数字环境中实现更实时的响应
- 改进的 AR 和 VR 体验
- 更多远程技术
- 是的,流媒体内容的上传和下载速度更快
更重要的是,5G 的经济影响具有不可思议的潜力。埃森哲报告称,到 2025 年,5G 技术可能为美国 GDP 贡献 1.5 万亿美元。这种经济推动将来自广泛的来源,包括多个行业以及消费者行为。
医疗保健可能性
医疗保健是我们想象技术创新时首先考虑的地方之一,5G 也不例外。想象一下没有医生在场的情况下进行手术。高级 5G 带来的低延迟可能会使远程医疗程序成为日常现实。更快的处理和数据传输可以打开远程 ICU 的大门,加速紧急响应。它还可以在救灾工作中提供更全面的护理。
汽车创新
自动驾驶汽车是 5G 专家之间的另一个大话题。无人驾驶汽车在成为主流之前仍有数年的发展时间,但就这种技术能够提供的安全性而言,有许多可能性需要考虑:
- 能够学习路况(甚至连接到 5G 优化的道路)并自动进行必要的安全调整的汽车
- 让残障人士能够以他们以前无法做到的方式有效地操作车辆
- 5G 联网汽车可以自行运行诊断报告,向车主或制造商发送见解,以进行更新和维修
但是自动驾驶汽车并不局限于高速公路系统。今年早些时候,John Deere 推出了第一台全自动拖拉机,引入了一种新的方式来思考农业如何应对全球粮食增产的需求。拖拉机的技术组件使用地理围栏保持在预定的范围内,允许农场工作人员从应用程序控制拖拉机,而不是手动操作设备。
推进农业
农业也将受益于其他 5G 驱动的技术,包括能够洞察天气、土壤和作物状况以实现更好的资源管理的传感器。使用无人机监控田间状况的能力有助于农民,但也可以在火灾季节和紧急情况下协助消防队员调查数百或数千英亩的土地。
消费者应用
在行业之外,消费者在 5G 可访问性方面有很多值得兴奋的事情。例如,任何去过拥挤的竞技场或体育场的人都知道那种想要发送图片或文本的感觉,结果却是你的手机被其他试图做同样事情的人掐断了。
更广泛的 5G 可用性改善了这种体验,不仅因为你可以向朋友发送有趣的 gif,还因为如果在拥挤的空间出现紧急情况,它可以创造一个更安全的环境。焦点通常是“更快”,但 5G 网络如何让我们更安全也应该得到考虑。
5G 最具创新性和最令人兴奋的应用也可能是现在完全无法预见的,因为这项技术可以做的很多事情目前都是假设的。我们开始看到真正的 5G 在行动,但增长潜力巨大。对于那些想要最大化 5G 潜力的人来说,了解这个系统的复杂性、必要的基础设施以及它如何帮助社会是至关重要的。
Azure 认证,你能得到的 Azure 工作
原文:https://acloudguru.com/blog/engineering/6-azure-jobs-you-can-get-with-an-azure-certification
恭喜你,你已经决定学习 Azure 了!你可能正在开始你的云学习之旅,或者是一名技术专业人员正在为一个新的角色提升技能。不管是什么原因,你可能至少问过自己一次:“有了 Azure 认证,我可以做哪些 Azure 工作?”老实说,你可能也想知道工资范围。
在这篇文章中,我们将探索一些更受欢迎的 Azure 工作及其平均工资(care of Glassdoor ),这可能是你完成 Azure 认证后的下一步。
现在值得注意的是,云认证不会自动保证你有工作—实践经验总是很重要。但是他们可以帮你打开大门,也许可以启动你的云计算生涯。
现在,开始工作吧!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
有了 Azure 认证你能得到什么工作?
1。云开发者
平均年薪:103919 美元
Azure 云开发者是创造者!他们构建运行在云上的应用程序。他们每天都在根据客户需求编码、调试和设计系统和解决方案。一般来说,他们有软件开发背景,并了解云编排工具。
要了解更多信息,我们推荐观看视频“所以你想成为云开发者”。
2。云架构师
平均年薪:$143943****美元
这仍然是科技领域最热门的工作之一(薪水也是如此)。但是到底什么是云架构师?
好吧,Azure Cloud Architects(也称为 Azure Solutions Architects)就是架构师(很震惊吧?)他们根据公司的独特需求设计、实施和管理云基础设施。这种对特定环境的关注意味着倾听和沟通是这个角色的关键软技能。
云架构师需要了解所有关于云的知识,因为他们是组织内云最佳实践的灯塔。从监督云基础设施的设置到推荐使用哪个最新的 Azure 工具包,他们总是在考虑事情应该是什么样子,并把组织带在身边。
3。云开发工程师
平均年薪: 110,821 美元
Azure DevOps 工程师是响当当的人物!他们设计并实施 DevOps 实践来改进开发周期,包括 CI/CD 架构、版本控制、配置管理、构建、发布和测试…以及其他事情!
更多信息,请看“所以你想成为 DevOps 工程师”。
4。云系统工程师
平均年薪:$101882****美元
Azure 云系统工程师是让灯一直亮着的人。更具体地说,他们负责管理系统和基础设施的日常工作。这包括监控和解决问题、修补、测试和故障排除。他们还帮助其他角色的人(例如云架构师)实施解决方案。
5。云安全工程师
平均年薪:121329美元
Azure 云安全工程师是守卫者!安全不会很快过时,所以这也是一个受欢迎的职业选择。主动保护系统安全、保护机密和敏感信息以及确保法规合规性是安全工程师的日常工作。
更多信息,请看“所以你想成为一名安全工程师”。
6。云顾问
平均年薪:$109873****美元
Azure 云顾问是沟通者,这意味着他们喜欢谈论话题。他们需要对云平台、系统和迁移有很好的了解,因为他们是公司寻求建议以找到满足其需求的正确设计和架构的人。他们还可能实施和维护这些系统,这使得这个角色与前面提到的其他角色更加一致。
获得 Azure 认证后如何获得 Azure 工作
云计算行业没有显示出任何放缓的迹象,因此在可预见的未来,这些角色将会很受欢迎。
学习和实践是关键,通过在这两方面下功夫,这些工作中的任何一个都可能是你的!对 Azure 概念进行自我教育在促进你的职业发展和获得更高的薪水以及更有吸引力的职位方面起着关键作用。
准备好开始您的云计算生涯了吗?发展您的云技能,并通过云专家的认证预备课程迈出下一步。
关于 AWS 职业和机会的更多信息
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
6 大多云问题:通用电气如何使用 AWS 和 Azure
原文:https://acloudguru.com/blog/business/6-big-multicloud-questions-how-ge-uses-aws-and-azure
***更新于:***2023 年 3 月 6 日
多云将会持续存在。根据 ACG 的云学习报告,四分之三的企业预计在未来 1-3 年内在生产中使用一个以上的云提供商。
能够利用来自多个云提供商的同类最佳服务的组织可能会更快地创新和更好地集成。但是只有 56%的企业有可行的计划来提高员工的技能,为这种转变做准备。
对于许多领导者来说,多云仍然是一个问号。你的答案是什么?
通用电气如何从其多云战略中获得最大收益
下面是通用电气高级软件工程师杰克·莱恩回答的一些多云问题。在我们的网络研讨会 在 GE 的生产中运行 AWS + Azure 中,Jack 与我们讨论了 GE 如何在生产中最大限度地运行 AWS 和 Azure,以及如何构建一个中央云团队来确保您在云计算中的成功。
Think wrangling one cloud is hard? Try migrating workloads to AWS and Azure from the data center … at the same time! Watch this free on-demand webinar.
1。GE 为什么要拥抱多云?
Jack Laing 是通用电气 CoreTech 云托管团队的一员,该团队是一家企业 IT 组织,为全球数十万名通用电气员工提供服务。
他说,该公司决定采用多云(特别是 AWS 和 Azure)是一个战略决策,这是由于多种因素的结合,包括早期采用 AWS GovCloud 和不断隐现的并购可能性。
随着其他公司进入 GE,该公司需要能够使用他们的云实现。或者准备好帮助他们的云迁移工作,让他们离开数据中心。
云 ROI:云技能如何产生实际回报我们分析了来自近 100 家公司的信息,以确定承诺对云成熟度的影响。在这份指南中,看看企业投资云技能和技术能获得多少价值。
2。您如何让员工为多云做好准备?
杰克说,通用电气大约在十年前组建了中央云团队。作为一家公司中的公司,GE 需要一个 IT 组织来平衡全球员工面临的以云为中心的挑战,并解决这些挑战。
这个团队包括 34 名 DevOps 工程师,他们中的许多人都通过了 AWS 和 Azure 的认证,并拥有共同的技能,如编写 Python 代码和全面了解 T2 地形的能力。
但是你如何雇佣懂 AWS 和 Azure 的人呢?
你通常不会。(在如今竞争激烈的云市场中,要找到一个云的专家已经够难了!)将帮助您实现云转型的人已经在为您工作了。领导者和学习团队只需要赋予他们一套新的技能。
对通用电气来说,部分原因是让人们专注于他们热爱的领域。
“有些是非常自我选择的,”杰克说。“我们有 AWS 超级粉丝和微软超级粉丝。他们喜欢他们的 Xbox,带着微软的帽子进来——或者穿着 AWS 的连帽衫。我们不必逼他们太紧。”
对于云爱好者领域之外的其他云,这只是建立云流畅所需的最低水平的理解。
通用电气中央云团队的其他成员包括 11 名构建开发工具的运营工程师和两名拥有基础云认证的技术产品经理。
基础证书,如 AWS 认证云从业者(CCP) 和微软 Azure AZ-900 Azure 基础认证,也被鼓励在销售、财务和高管中晋升,以建立组织范围内的云流畅度。
“我们不想阻止任何人拥有下一个价值十亿美元的想法。”
Jack Laing, Senior Staff Software Engineer at GE, on the importance of investing in cloud education
3。GE 是如何组建团队来执行多云战略的?
通用电气的 50 人中央云组织被分成几个小组——亚马逊可能会称之为“两个披萨团队”。这些团队负责何时下云订单,无论是连接到数据中心、AWS 还是 Azure。
为了消费云,客户(即 GE 员工)会访问一个内部网站,在那里他们可以订购产品、服务或教育。云工程团队保持这个网站的运行和安全。
中央云组织销售三种不同的基本类型的产品:
托管云 这些需要最多的管理和参与。它们通常面向拥有一整套安全控制、部署工具、预集成云服务和平台管理服务的应用程序团队,以加速他们的应用程序部署。
“他们将需要那种白手套式的待遇来迁移到云中,因为在像航空和医疗保健这样的行业,他们基本上永远不会停机,”杰克说。“这需要大量的长期规划和准备,我们会确保他们成功的每一步。”
Guardrails cloud 这些产品面向拥有云经验的应用或基础设施团队,它们或多或少会受到限制,比如是否需要与 GE 建立私有连接,或者是否有任何特殊的合规性或监管限制或受限国家要求。这些产品看起来就像你在街上看到的那样接近 AWS 或 Azure。客户登录云提供商,整个广阔的云世界就向他们敞开了——有些护栏可以防止人们做任何危险或昂贵的事情。
云服务 这些服务是对上述的补充。这些是支持托管和护栏产品所需做的事情。这些通常会转化为其他团队消费或中央云组织使用的有价值的解决方案。
获得痛苦的云词典
说云不一定要努力。我们分析了数百万条回复,找出了 trip 团队中的热门词汇。在本云指南中,您将找到一些最令人头疼的云概念的简明定义。
4。您如何管理您的多云成本?
杰克和他的团队建立了一个复杂的系统来处理他们服务的所有公司和客户的账单。
“这有点多维度,但我们有一个主帐户来管理 AWS 的所有内容,Azure 中有一个 EA 租户来管理所有内容,”他说。“在微软或亚马逊看来,我们是一家公司。我们付给他们一大笔钱。我们有责任按存储容量使用计费,因为我们不会按业务部门为所有这些集中支付者设置各种云。”
通过主付款人和 EA 租户,大量数据流入。Jack 的团队有一个应用程序,它将元数据分层,进行处理,然后让团队开具发票。这些发票让团队知道他们花了多少钱,并且可以像通过 AWS 或 Azure 一样精确,但 GE 的所有元数据都分层了(例如,行业和团队成员)。
一些重大支出决策是在公司层面上做出的。由于企业在更大的组织中可能处于不同的周期,公司可以做出决策来使事情变得顺利。(例如,如果一家企业需要数千个虚拟机,而另一家企业正在关闭,他们可以转移工作,与供应商合作来优化支出。)
5。你如何管理不是最优先的请求?
Jack 的云中心组织作为企业内部的企业运营,使他们能够明智地选择他们接受或传递的项目。
“我们不是传统的企业组织,企业让你做什么,你就做什么,不问任何问题,然后想办法把尸体藏在哪里。我们可以反击,”他说。
6。如何让一个组织中的多个团队对云有相同的认识?
对通用电气来说,所有员工都可以接受教育,包括接触云计算专家。公司里的任何人都可以学习云,要么是为了重新掌握技能,要么是为了换工作,或者只是出于学习新事物的渴望。
甚至让非技术角色来谈论云也有助于通用电气专注于创新。
“他们可以是任何人。杰克说:“如果你在一家飞机制造厂,你有一个让流程变得更好的想法,我们不想阻止你。“我们不想阻止任何人拥有下一个价值 10 亿美元的想法。”
您的组织需要多云解决方案吗?
在决定多云策略是否适合您的组织时,有几个因素需要考虑。sales force的云工程项目负责人 Paul Eldridge 指出了解你自己的客户和行业很重要。
“如果沃尔玛是你的客户之一,并说,‘如果你的服务是在给我们的竞争对手(亚马逊)付钱,我就不会用你的服务。’”他说。“了解您自己的客户及其业务要求和需求,以及他们的潜在偏好(如果可能有一些强烈的偏好),这可能是您决策的一部分。”
多云朵是个问题。ACG 就是答案。
一位云大师的综合云学习图书馆使用全职培训架构师,而不是自由职业者,他们痴迷于云技术的最新更新。此外,我们还准备了主要 AWS、Azure 和 DevOps 新闻的每周更新,因此您可以一目了然地获得执行摘要。
6 不要错过 AWS re:Invent 2021 sessions
原文:https://acloudguru.com/blog/engineering/6-dont-miss-aws-reinvent-2021-sessions
AWS re:Invent 2021 即将到来!无论你是在拉斯维加斯还是在舒适的笔记本电脑上免费观看,本周都有很多 AWS 的精彩节目。为了帮助你缩小范围,下面是我们的常驻 AWS 英雄们挑选的六场会议,作为《re:Invent 2021》中不可错过的内容。
您可以查看领导力会议的列表,了解这些活动的完整概要。使用官方议程了解本周的活动,它提供了现场和虚拟的活动视图。请确保您已经阅读了 AWS 社区英雄 Mark Nunnikhoven 撰写的《重新发明 2021 的终极指南》。
亲自出席?来和 1561 号和 1557 号展位的 ACG 和 Pluralsight 的工作人员打个招呼吧——并为自己赢得一些甜蜜的云彩礼品!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
1.亚当·塞利普斯基主题演讲
太平洋标准时间 11 月 30 日星期二上午 8:30–10:30
这是一个安全的赌注吗?当然可以。但这也是我们不会错过的。这是亚当·塞利普斯基在安迪·雅西跳槽到亚马逊后作为 AWS 首席执行官的第一场秀。
Jassy 之前的主题演讲对行业现状以及企业如何利用 AWS 服务进行创新进行了精彩的概括。看看 Adam 今年提供了什么将是一件有趣的事情,因为我们已经看到经历了云转型的组织和那些仍在观望的组织之间的差距比以往任何时候都大。
在这个主题演讲中,预计将会出现为明年奠定基础的主题。我们的猜测?随着 AWS 继续利用其广泛的服务投入到更集中的机会中,我们不会惊讶地看到事情变得更加具体(想想今年早些时候的 HealthLake)。
2.基于 15 年的计算创新
11 月 30 日星期二下午 1:00 至 2:00(太平洋标准时间)
S3 和 EC2 今年都 15 岁了。为了纪念这一时刻,亚马逊 EC2 副总裁大卫·布朗将讲述 AWS 的诞生以及开发者体验的演变。
3.AWS 上的容器:无处不在
11 月 29 日星期一下午 5:30–6:30(太平洋标准时间)
Mark Nunnikhoven 将此作为他的会议选择。“容器正在推动开发人员向前发展,使事情比完全无服务器模式更容易适应,尽管这是我们应该去的地方,”他说。“但我选择这个的真正原因是,我想听 AWS 的人给我解释一下。我想看到迪帕克(辛格)上台说,‘如果你想要这个,就选这个!’"
一个月球 AWS 区域?有可能发生,对吗?(也许不会…)观看 re:Invent 2021: AWS 英雄节目之前要知道的事情,我们将在本周的 re:Invent 上期待什么!
4.彼得·德桑蒂斯主题演讲
12 月 1 日星期三下午 3:00 至 4:30(太平洋标准时间)
在 AWS re:Invent 上总会有一个关于 AWS 如何构建自己的基础设施的技术主题演讲。AWS 效用计算高级副总裁 Peter Desantis 以前就讨论过这个领域,由此产生的谈话总是引人入胜。
5.斯瓦米·西瓦苏布拉马尼亚基调
12 月 1 日星期三上午 8:30–10:30(太平洋标准时间)
我们对 AWS 的人工智能和人工智能有很高的期望。“在去年的主题演讲中,当他们介绍 SageMaker Clarify 时,我简直高兴得跳了起来,”凯莎·威廉姆斯说。"我不知道今年我会高兴得跳起来,但我等不及了。"
6.持续安全改进:战略和战术
12 月 2 日星期四下午 1:00 至 2:00(太平洋标准时间)
安全始终是人们最关心的问题,副总裁兼首席信息安全官 Steve Schmidt 肯定会就这一主题提供一个可靠的领导会议。鉴于 AWS 最近举办了以安全为重点的活动,我们很想知道是否会有新的突破。
跟上 AWS 的一切:发明 2021
查看 ACG 和 Pluralsight re:Invent 内容中心以了解 re:Invent 2021 的所有信息。你也可以在的推特和的脸书上关注 ACG,在的 YouTube 上订阅一个云专家来获取你能处理的所有关于 re:Invent 2021 的更新!不要忘了加入我们棒极了的 Discord 社区,与 AWS 培训架构师和其他志同道合的阴云密布的人一起交流数字技术。
7 AWS 预测:随着 Jassy 的上升,AWS 的下一步是什么?
原文:https://acloudguru.com/blog/business/7-aws-predictions-as-jassy-moves-up-whats-next-for-aws
随着亚马逊的掌门人杰夫·贝索斯从首席执行官的位置上离开,他将权力移交给安迪·杰西,一个关注云计算的人可能会认识的人。Jassy 最近担任了亚马逊网络服务公司(Amazon Web Services)的首席执行官,这家公司市值 500 亿美元。在那里,Jassy 带领 AWS 从婴儿期成长为全球最大的公共云提供商。
虽然关于谁将接替 Jassy 在 AWS 的阴云密布的鞋子的猜测比比皆是,但只有未来才能告诉我们亚马逊和 AWS 接下来会发生什么。
酪。。由于预测未来比坐以待毙更有趣,我们想知道一些非常聪明的人是否会分享一些关于 AWS 未来可能会发生什么的非常有根据的猜测。
这个聪明的团队包括以下精通云的专家:
亚马逊网络服务的前景如何?
以下是对 AWS 和云计算在未来一年的一些预测。再加上一些关于那些在云中工作的人可以做些什么来为下一步做好准备的想法。
Liz Fong-Jones :在今年的 re:Invent 大会上,我很高兴听到的一件主要事情是引力子 2 的主流化。蜂巢在 AWS 上运行。我们大量使用 Graviton2,因为它有助于我们降低成本和环境足迹。它还增加了我们的计算量,这真的很令人兴奋。
2。2021 年 AWS 还会是公有云的领导者吗?
Liz Fong-Jones :你是如何保住第一的位置的?气势。我们的许多客户都使用 AWS,因此这是我们为客户提供最佳服务的地方。
丹妮尔·罗伊斯顿:AWS 是一股不可阻挡的力量。我认为他们这样做的方式是他们只是运送这么多的产品,而且他们不断变得越来越好。这就是他们如何击败 GCP 和 Azure 的。。。面对 AWS,GCP 错失了一些机会——谷歌的技术更好,但上市速度较慢。谷歌是工程主导,不是销售主导。
莉兹·方-琼斯(Liz Fong-Jones):我甚至不会说 AWS 是以销售或工程为导向的:它是以客户为导向的。我认为 AWS 工程团队是我在企业中见过的反应最快的。他们实际上是在倾听——他们一对一和一对多地倾听。
3。Azure 或谷歌云(GCP)会在 2021 年缩小差距吗?
保罗·埃尔德里奇: AWS 对“双披萨团队规则”真是无情他们保持团队规模小、精干、快速。这可能很残酷,因为每个人都有很多责任,但这就是他们如何不断粉碎创新,这对学习和发展是一个挑战,因为你总是在追赶。
丹妮尔·罗伊斯顿:我们只是一艘又一艘船,越来越强。从芯片到数据库、应用程序、开发工具,它们都在不断增强实力。他们完成了。这对其他人来说压力太大了。如果你是 GCP 和蔚蓝,那真的很难跟上。
4。AWS 在 2021 年的优势是什么?
Shruthi Rao:AWS 真正擅长的一件事是将成本与需求挂钩。这在 2021 年非常重要,因为我们在 2020 年与新冠肺炎一起经历了什么。AWS 擅长将成本和需求紧密耦合在一起。
AWS 非常擅长的第二件事是提出这些机制来增加客户参与度。无论是个性化还是互联体验,AWS 都做得非常好。
5。2021 年 AWS 需要改进的地方?
Shruthi Rao:AWS 的一大弱点是他们生产出令人惊叹的产品——但这只是一盒乐高积木。有一种流行的说法:“AWS 是一盒乐高,客户想要一艘海盗船——必须有人帮助他们建造海盗船。”这就是像云专家 T2 这样的人可以介入来弥合这一差距的地方。
扎克·坎特:当你与工程师相处时,他们会告诉你一切都是一系列的权衡。往往与这些云提供商一样,实力与弱点差不多。
作为一家深深致力于 AWS 的公司——尽管 AWS 为您提供了各种各样的功能——人们很容易忘记入门的感觉。AWS 最大的优点和缺点是,如果你真的想把事情做到第 n 个程度,AWS 有你需要的一切。但是这也使得开始使用 AWS 变得困难。
Liz Fong-Jones:AWS 背后有很大的动力。但是对于意识形态上反对 AWS 的人——沃尔玛、塔吉特等。—他们有很多理由考虑 GCP 或 Azure 来满足自己的需求。我认为 GCP 在那里是一个强有力的竞争对手。
6.先说多云。2021 年全力使用 AWS 会有负面影响吗?
Shruthi Rao :企业,如果他们在一个云上,我认为他们在 2021 年会翻倍。相当同质。你知道你被恶魔缠住了。这样更容易扩展。
扎克·坎特(Zack Kanter):一般来说,你越愿意在云提供商中使用更多的特性和功能,你就越容易被锁定。你用得越多,就越难重新构建并转换到其他地方。
再说一次,说到权衡,当然,使用特性也有好处。这些好处是你可以更快、更便宜、更容易维护和操作地发布软件。做软件真的很难。默认是缓慢地发布软件,并且发布那些非常昂贵并且难以维护和升级的软件。
对我们来说,作为一家公司,当我们考虑长期目标时,我们会想:我们想要或不得不改变云提供商的风险是什么,而交付难以维护的软件的风险又是什么,并且进展缓慢?我们更关心后一种情况——这是每个软件公司都经历过并且应该害怕的事情。
我认为有两个有效的理由来追求多云,但是人们经常在达到这两个理由之前就这么做了。这是一个大错误。
第一个原因是:如果您需要比“五个半九”更高的可用性,那么仅靠一个云是无法实现的。
第二个原因是,您希望能够对冲您的赌注,以成功管理成本,或者解决被绑定或锁定在一个云提供商的问题。这是一个重大的战略问题。
除此之外,我真的认为没有理由去做多重云。你的工程师会说这在简历上看起来很酷,但这真的能带来商业价值吗?这是我颇有争议的观点:除非万不得已,否则不要使用云计算。
贾斯汀·布罗德利:关于锁定,人们忘记的一点是,他们实际上一直在做出锁定决定。选择 Java 堆栈和。网络堆栈。SQL Server 与 Oracle。它们都是人们没有想到的锁定形式。因此,我很感兴趣的是,当我们不以同样的方式谈论我们技术堆栈中的那些决策时,对话中有多少云锁定。
Paul Eldridge: 但是了解你自己的客户和他们的行业也很重要。如果沃尔玛是你的客户之一,并说,“如果你的服务是在给我们的竞争对手提供资金,我就不会使用它。”
了解你自己的客户和他们的业务要求和需求,以及他们的潜在偏好,如果可能有一些强烈的偏好,这可能是你决策的一部分。
7.2021 年,雇佣云人才的雇主会寻找什么?
贾斯汀·布罗德利(Justin Brodley):我寻找的最重要的东西是所有权和好奇心。你在寻找学习的欲望,保持灵活性,并以不同的方式思考你如何对待服务和技术,以及你在 2021 年如何看待这些事情。
我是云大师的忠实粉丝和客户的一个重要原因是,我需要将云语言带入我的组织。因为一旦我掌握了云的语言,我们所有的解决方案都是云解决方案。
当我仍然有网络人员、存储人员和计算人员时,他们给我非常本地的解决方案,而不是说,“嘿,让我们使用 DynamoDB、Lambda、Route 53 和 CloudFront,以及所有这些真正有助于建立我们的业务的惊人技术。”
这就是我在候选人身上寻找的东西:好奇心、云知识和意识的关键部分,以及他们如何将这些带到日常工作中。
与 ACG 一起打造持续创新的企业文化。通过最全面、最实用的 AWS、Azure 和 GCP 学习图书馆提升 10 或 10,000 人的技能。
通过谷歌云认证,你可以找到 7 份工作
原文:https://acloudguru.com/blog/engineering/7-jobs-you-can-get-with-a-google-cloud-certification
如果你有一些在 GCP 的经历,会有很多工作机会和职业道路。承蒙 Glassdoor 的好意,我们已经做了艰苦的工作,整理了其中一些人的名单以及他们在美国的薪水估计。
如何获得云计算工作
事情是这样的:云认证并不能保证你会得到一份云工作(就像任何证书一样)。不可否认,他们可以帮助你启动你的云计算事业,但当谈到获得云计算工作时,实践经验才是真正让你脱颖而出的东西。
证书是你理解概念的证明,但你应用所学知识的能力才是招聘经理真正想要的。所以当你学习的时候,确保你也花时间在实践项目中构建东西。在你的简历上写一些你可以指着的具体的东西,比如说,“我知道所有的事情,但是我也可以做所有的事情!”
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
谷歌云开发工程师
平均年薪:110,759 美元
无法决定您更喜欢开发环境还是运营环境?为什么不双管齐下呢!DevOps 工程师负责构建和支持云环境,以及开发和推动云操作的持续自动化。
虽然不同的组织有所不同,但开发运维工程师的职责将包括以下几个方面:
发布工程
- 基础架构供应和管理
- 系统管理
- 安全性
- DevOps 倡导
- 如果你熟悉谷歌云平台架构、基础设施即代码、DevSecOps、GitOps、CI/CD 和脚本语言, DevOps 工程师是适合你的工作。
谷歌云架构师
平均年薪:144037 美元
这是大多数刚进入云计算的人最熟悉(或听说最多)的角色。)顾名思义,谷歌云架构师负责架构、设计和构建健壮的可扩展云解决方案。但你也可能会看到这样的东西:
技术发现
- 应用程序设计和实施
- 云采用规划
- 系统管理和监控
- 建立组织使用云的最佳实践
- 了解更多关于“所以你想成为云架构师”的内容。
谷歌云开发者
平均年薪:103193 美元
谷歌云开发者设计并构建安全、可扩展、高度可用的云应用。就像标准的 IT 开发人员一样,云开发人员将使用相同的软件和工具来构建这些应用程序,但是将利用来自云的资源。使用云原生应用,您的角色可能包括:
分析需求
- 设计系统和解决方案
- 编码和调试
- 使用托管服务和下一代数据库
- 如果你是那种喜欢在沙滩上玩耍,建造城堡的人,这就是适合你的。
谷歌云网络工程师
平均年薪:98485 美元
这里有一个关于职业是如何建立在网络上的笑话…撇开未完成的笑话不谈,网络工程就是实施和管理网络架构。当云架构师设计云基础架构时,您可能会发现自己正在与他们一起工作,但是您将关注:
利用网络服务
- 实施 VPCs
- 了解混合云和多云连接
- 保护新的和已建立的网络架构
- 谷歌云安全工程师
平均年薪:121,150 美元
无论是组织、产品还是领域,安全性总是需要的。这不仅仅是劝阻团队成员使用“ Password123 ”。作为一名安全工程师,你将设计和实施符合安全最佳实践和行业要求的安全工作负载和基础设施。安全工程师可能是:
定义组织结构和政策
- 实施身份和访问管理最佳实践
- 配置网络安全防御
- 监控日志和管理事件响应
- 无论你是在寻找工作保障还是安全工作,你都可以在“所以你想成为一名安全工程师”中深入挖掘一下。
谷歌云数据工程师
平均年薪:118206 美元
如果自从《星际迷航》首次出现在我们的屏幕上以来,你的梦想就是成为数据,我们在这方面无法提供太多建议。但是,也许实现你的艰苦梦想并真正成为数据的下一个最好的事情是成为一名数据工程师!(好吧,也许这有点夸张,但请和我在一起。)
云数据工程师通过收集、转换和发布数据来实现数据驱动的决策。我们在讨论:
设计、构建、运行、保护和监控数据处理系统
开发和维护来自各种结构化或非结构化来源的数据资产
开发、测试和部署代码
分析系统以支持发现、架构和解决方案设计。
坚持未来技术的主题,你对机器学习有什么看法?也许你认为自己更像是约翰·康纳式的英雄,想要理解、操纵和训练这些机器?这也将是您的角色,因为您将利用、部署和培训现有的机器学习模型。
开发商关系和宣传
平均年薪:10 万-11 万美元
也许你不只是想在细节上动手脚,你想帮助别人学习你学过的所有东西(并且也继续学习)。在发展关系的职业生涯可能是你正在寻找的。这是一个相当新的学科,因此您的职责将根据您的组织而有所不同。但是通常作为开发者关系的倡导者,你可能会发现自己:
在会议或活动中发表演讲
- 制作一个讨论最新 GCP 新闻的网络系列或播客
- 与社区联系
- 内部战略咨询
- 学习所有的东西
- 如果你满脑子都是技术福音和持续学习,那么你会想知道如何进入 DevRel。
获得谷歌云认证后如何获得云计算工作
云计算已经存在,所以现在是开始您的云计算职业生涯的最佳时机。好好学习,练好自己的动手能力。致力于发现关于谷歌云平台的一切,无论你选择申请哪个领域,你都将保持自己在就业市场的顶尖前景。
准备好开始您的云计算生涯了吗?发展您的云技能,并通过云专家的认证预备课程迈出下一步。
更多关于 GCP 的职业和机会
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
Get the 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 for succinct definitions of some of the most painful cloud terms.
您可以通过认证获得的 AWS 工作
原文:https://acloudguru.com/blog/engineering/8-aws-jobs-you-can-get-with-an-aws-certification
亚马逊网络服务(AWS)认证可以打开 IT 行业许多高薪职业的大门。但是一旦你通过了 AWS 认证考试,你能胜任哪些 AWS 工作呢?在本帖中,我们将探索一些你可能获得 AWS 认证的工作。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
但是在我们开始之前,声明:AWS 认证有真正的价值。但是重要的是要现实地看待什么是什么是什么是不是。
好的。这样一来…
有了 AWS 认证可以找什么工作?
拥有 AWS 专业知识的人可以获得广泛的工作机会和职业道路。让我们来看看其中的一些,以及由 ZipRecruiter 和 Glassdoor 提供的美国薪资估算。
1。云架构师
平均年薪:14.8 万-15.8 万美元
什么是云架构师?这是科技界最热门的工作之一。
AWS 架构师、AWS 云架构师和 AWS 解决方案架构师花费时间设计、构建和维护高度可用、经济高效且可扩展的 AWS 云环境。他们还就 AWS 工具集提出建议,并跟上云计算的最新发展。
专业的 AWS 云架构师交付技术架构并领导实施工作,确保新技术成功集成到客户环境中。这个角色直接与客户和工程师一起工作,提供技术领导和与客户端利益相关者的接口。
查看我们的视频“想成为云架构师吗”了解更多信息。
2。云开发者
平均年薪:13.2 万美元 美元
AWS 开发者构建软件服务和企业级应用。一般来说,要获得并成功获得 AWS 云开发人员职位,需要具备软件开发人员的工作经验和最常用云协调工具的工作知识。
查看我们的视频“让你成为云开发者”了解更多信息。
3。云系统管理员
平均年薪:97,000-107,000 美元
云系统管理员,即 AWS SysOps 管理员,负责虚拟系统、软件和相关基础设施的有效供应、安装/配置、操作和维护。他们还维护分析软件,并为报告构建仪表板。
4。云开发工程师
平均年薪:11.8 万-13.8 万美元 美元
AWS DevOps 工程师设计影响和改善业务的 AWS 云解决方案。他们还执行服务器维护,并实施任何必要的调试或修补。在其他 DevOps 的事情当中!
查看“所以你想成为一名开发工程师”了解更多信息。
自动化 AWS 成本优化
经济高效地使用 AWS 可能是一项挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况,如数据存储优化。
5。云安全工程师
平均年薪:13.2 万-15.2 万美元
云安全工程师根据最新的安全最佳实践,通过设计和实施安全控制,为 AWS 系统提供安全性,保护敏感和机密数据,并确保法规合规性。
以为自己想当安全工程师?观看“所以你想成为一名安全工程师”了解更多。
6。云网络工程师
平均年薪:10.7 万-12.7 万美元 美元
云网络专家、工程师和架构师帮助组织成功设计、构建和维护云原生和混合网络基础设施,包括将现有网络与 AWS 云资源集成。
7 .。云数据架构师
平均年薪:13 万至 14 万美元
云数据架构师和数据工程师可能是云数据库管理员或数据分析专家,他们知道如何利用 AWS 数据库资源、技术和服务来释放企业数据的价值。
观看“所以你想成为一名数据工程师”了解更多。
8。云顾问
平均年薪:10.4 万-12.4 万美元
云顾问为组织提供设计和部署 AWS 云解决方案的技术专业知识和战略,或者就性能、安全性或数据迁移等特定问题提供咨询。
获得 AWS 认证后找工作
云计算领域将继续发展,未来甚至会出现更多不同类型的工作。
通过学习和实践,如果你通过了 AWS 认证考试,任何列出的工作都可以成为你的工作。对 AWS 概念进行自我教育对促进您的职业发展起着关键作用,不仅可以获得更高的薪水,还可以获得更有吸引力的职位。
准备好开始您的云计算生涯了吗?发展您的云技能,并通过云专家的认证预备课程迈出下一步。
关于 AWS 职业和机会的更多信息
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
使用 AWS Amplify 构建自己的无服务器 GraphQL API 的 8 个步骤
随着新的 AWS Amplify CLI 的发布,开发人员现在能够从命令行移植AWS app syncgraph QL API。
在这篇文章中,我们将学习如何使用 CLI 创建 AWS AppSync API,以及如何将您的新 API 连接到客户端 web 或移动应用程序。
CLI 可以自动创建一个全功能的 GraphQL API,包括数据源、解析器和用于变异、订阅和查询的附加模式。我们还可以直接从本地环境中更新和删除 API 中的模式、数据源和解析器。
放大 GraphQL 变换
我们还能够在本地环境中直接从 CLI 使用 Amplify GraphQL Transform 库添加强大的功能,如弹性搜索、用户授权和数据关系。
Amplify GraphQL Transform 是一个库,用于简化开发、部署和维护 GraphQL APIs 的过程。通过它,您可以使用 GraphQL 模式定义语言(SDL)定义您的 API,然后将它传递到库中,在那里它被转换并在 AWS AppSync 中实现您的 API 的数据模型。
虽然该库附带了 transformers 来完成构建典型 API 所需的大部分工作,但是您甚至可以编写自己的 GraphQL Transformer 。
例如,如果我们想要构建一个 GraphQL API,创建一个数据源、解析器、模式,然后将所有数据流式传输到 Elasticsearch,我们可以创建以下类型,并使用 AWS Amplify CLI 将它推上来:
type Pet @model @searchable {
id: ID!
name: String!
description: String
}
在上面的模式中,注释@model
& @searchable
将为我们自动创建数据源&所有的资源。
还有一个@connection
注释,允许您指定@model
对象类型&之间的关系;一个@auth
注释,允许您指定 GraphQL API 中的授权模式。
让我们看看如何使用 Amplify CLI 和 Amplify GraphQL 转换库创建一个新的 AWS Appsync API,并将其连接到客户端 React 应用程序。
1.安装和配置 CLI
首先,我们将安装 AWS Amplify CLI:
npm i -g @aws-amplify/cli
安装了 AWS Amplify CLI 后,我们现在需要使用 IAM 用户对其进行配置:
amplify configure
有关如何配置 AWS Amplify CLI 的视频演示,请单击此处的。
2.将 API 连接到客户端应用程序
接下来,我们将创建一个新的 React 应用程序,并进入新目录:
npx create-react-app blog-app
cd blog-app
现在我们需要安装 AWS Amplify 客户端库:
yarn add aws-amplify aws-amplify-react
# or
npm install --save aws-amplify aws-amplify-react
3.初始化 AWS Amplify 项目
从根目录或新创建的 React 应用程序中,让我们初始化一个新的 AWS Amplify 项目:
amplify init
当询问您是否想要使用 AWS 概要文件时,选择 Yes,使用我们在前面配置项目时创建的概要文件。
一旦项目被初始化,我们将把 GraphQL API 特性添加到我们的 Amplify 项目:
amplify add api
这将引导我们完成创建 AWS AppSync GraphQL API 的以下步骤:
- 请从下列服务中选择一项:graph QL
- 提供 API 名称:blogapp
- 选择 API 的授权类型:API _ KEY
- 你有带注释的 GraphQL 模式吗?:N
- 您想要一个引导式模式创建吗?Y
- 什么最能描述你的项目:一对多关系(例如,“博客”与“帖子”和“评论”)
- 您想现在编辑模式吗?Y
这将在您选择的编辑器中打开一个预先填充的模式,并为您提供所创建的新模式的本地文件路径。
让我们来看看这个模式。我们还将通过向Post
类型添加content
字段来做一个小小的更新。更新模式后,继续保存文件:
type Blog @model {
id: ID!
name: String!
posts: [Post] @connection(name: "BlogPosts")
}
type Post @model {
id: ID!
title: String!
content: String!
blog: Blog @connection(name: "BlogPosts")
comments: [Comment] @connection(name: "PostComments")
}
type Comment @model {
id: ID!
content: String
post: Post @connection(name: "PostComments")
}
在上面的模式中,我们看到Post
& Blog
类型有@model
注释。用@model
标注的对象类型是生成的 API 中的顶级实体。当被推动时,它们将创建 DynamoDB 表以及附加的 Schema &解析器,以将所有内容连接在一起。
要了解更多关于@model 注释的信息,请点击此处。
我们还看到了在类型中使用的@connection
注释。@connection
注释使您能够指定@model
对象类型之间的关系。目前,@connection
支持一对一、一对多、多对一的关系。如果您尝试配置多对多关系,则会引发错误。
要了解更多关于
@connection
型的信息,点击这里。
模式准备就绪后,我们现在可以推动一切来执行资源的创建:
amplify push
一旦创建了资源,我们就可以创建应用程序了&开始与 API 交互。
我们现在还可以通过点击新的 API 名称在 AWS AppSync 仪表板中查看 API。
从 AWS AppSync 仪表板中,我们也可以通过点击左侧菜单中的查询来开始执行查询&突变:
让我们试着创建一个包含帖子和评论的新博客,然后查询博客数据。
在 AWS AppSync 仪表盘中,点击查询。
首先,我们将创建一个新的博客:
mutation createBlog {
createBlog(input: {
name: "My Programming Blog"
}) {
id
name
}
}
接下来,我们将在这个博客中创建一个新帖子(用从上面的变异中返回的 id 替换postBlogId
):
mutation createPost {
createPost(input: {
title: "Hello World from my programming blog"
content: "Welcome to my blog!"
postBlogId: "bcb298e6-62ec-4614-9ab7-773fd811948e"
}) {
id
title
}
}
现在,让我们为这篇文章创建一个评论(用上述变异返回的 ID 替换commentPostId
):
mutation createComment {
createComment(input: {
content: "This post is terrible"
commentPostId: "ce335dce-2c91-4fed-a953-9ca132f129cf"
}) {
id
}
}
最后,我们可以查询博客以查看所有文章和评论(用你博客的 id 替换 ID ):
query getBlog {
getBlog(id: "bcb298e6-62ec-4614-9ab7-773fd811948e") {
name
posts {
items {
comments {
items {
content
}
}
title
id
content
blog {
name
}
}
}
}
}
4.从 React 连接到 API
为了连接到新的 API,我们首先需要用我们的 Amplify 项目凭证来配置 React 项目。您会注意到 src 目录中有一个名为aws-exports.js
的新文件。这个文件包含了我们的本地项目需要了解的关于我们的云资源的所有信息。
要配置项目,打开src/index.js
&在最后一次导入下面添加以下内容:
import Amplify from '@aws-amplify/core'
import config from './aws-exports'
Amplify.configure(config)
现在,我们可以开始对 API 执行变异、查询和搜索。
我们将要执行的 GraphQL 变异的定义如下所示:
// Create a new blog
const CreateBlog = `mutation($name: String!) {
createBlog(input: {
name: $name
}) {
id
}
}`
// Create a post and associate it with the blog via the "postBlogId" input field
const CreatePost = `mutation($blogId:ID!, $title: String!, $content: String!) {
createPost(input:{
title: $title, postBlogId: $blogId, content: $content
}) {
id
}
}`
// Create a comment and associate it with the post via the "commentPostId" input field
const CommentOnPost = `mutation($commentPostId: ID!, $content: String) {
createComment(input:{
commentPostId: $commentPostId, content: $content
}) {
id
}
}`
我们将执行的 GraphQL 查询的定义如下所示:
// Get a blog, its posts, and its posts comments
const GetBlog = `query($blogId:ID!) {
getBlog(id:$blogId) {
id
name
posts {
items {
id
title
content
comments {
items {
id
content
}
}
}
}
}
}`
5.配置客户端应用程序
首先要做的是用您的 web 应用程序配置 Amplify。在您的应用程序的根目录下(在 React 中这将是src/index.js
),在最后一次导入的下面,添加以下代码:
import Amplify from 'aws-amplify'
import config from './aws-exports'
Amplify.configure(config)
现在,我们可以开始对 API 执行操作了。
6.从客户端执行突变
创建新博客:
// import the API & graphqlOperation helpers as well as the mutation
import { API, graphqlOperation } from 'aws-amplify'
import { CreateBlog } from './your-graphql-definition-location'
// next, we create a function to interact with the API
state = { blogName: '' }
createBlog = async () => {
const blog = { name: this.state.blogName }
await API.graphql(graphqlOperation(CreateBlog, blog))
console.log('blog successfully created')
}
为博客创建帖子:
// import the API & graphqlOperation helpers as well as the mutation
import { API, graphqlOperation } from 'aws-amplify'
import { CreatePost } from './your-graphql-definition-location'
// next, we create a function to interact with the API
state = { postTitle: '' , postContent: '' }
createBlog = async () => {
const post = {
title: this.state.postTitle,
content: this.state.postContent,
postBlogId: this.props.blogId // Or where your blogId data lives
}
await API.graphql(graphqlOperation(CreatePost, post))
console.log('post successfully created')
}
对帖子发表评论:
// import the API & graphqlOperation helpers as well as the mutation
import { API, graphqlOperation } from 'aws-amplify'
import { CommentOnPost } from './your-graphql-definition-location'
// next, we create a function to interact with the API
state = { content: '' }
createBlog = async () => {
const comment = {
content: this.state.content,
commentPostId: this.props.commentPostId // Or where your commentPostId data lives
}
await API.graphql(graphqlOperation(CommentOnPost, comment))
console.log('comment successfully created')
}
7.从客户端执行查询
列出包含帖子和帖子评论的博客:
// import the API & graphqlOperation helpers as well as the query
import { API, graphqlOperation } from 'aws-amplify'
import { GetBlog } from './your-graphql-definition-location'
// next, we create a function to interact with the API
getBlog = async () => {
const data = await API.graphql(graphqlOperation(GetBlog, { id: this.props.blogId }))
console.log('blog successfully fetched', data)
}
8.修改 s 方案
如果您想随时修改模式以添加、更新或删除任何内容,您可以打开模式所在的文件,进行编辑,然后运行amplify push
来更新您的 AWS AppSync API。
视频漫游
在本视频演练中,我们使用 Amplify CLI 创建一个 AWS AppSync GraphQL API,并将其连接到 React 应用程序。
如果您有兴趣了解更多关于使用 AWS AppSync 构建 GraphQL APIs 的信息,请关注阿德里安·霍尔 &查看他的帖子使用 AWS Amplify Model Transforms 以简单的方式构建 GraphQL 服务。
要了解更多关于 AWS Amplify 的信息,请查看文档或 Github 。
我的名字是 纳德达比特 。我是一名开发者,在 AWS Mobile 从事类似项目的工作,比如:AWS AppSync、AWS、AWS Amplify、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、AWS、
云专家采用服务器
原文:https://acloudguru.com/blog/news/a-cloud-guru-adopts-a-server
世界上第一家无服务器创业公司云专家已经采用了服务器。虽然采用传统技术似乎是一种倒退,但联合创始人 Sam 和 Ryan Kroonenburg 坚持认为事实并非如此。
“我们仍然绝对致力于无服务器,”Sam Kroonenburg 说,“但我们必须更加意识到它给我们以计算为导向的朋友带来的代价。”
这是在最近参观一个云设施时实现的。“条件简直不人道,”瑞安解释道。“我没有别的词来形容它。所有这些服务器都被塞进了机架。没有窗户。没有人类接触。连玩的玩具都没有。这是一种沉闷的生活。”
服务器曾经是许多企业的宝贵成员,近年来已经变得越来越商品化。云计算的兴起只是加速了这一趋势。有了云,服务器不再有机会与热爱它的系统管理员联系起来。而在无服务器的情况下,他们甚至从未见过为他们提供资源的人。一切都是自动处理和供应的,让他们匿名辛苦工作。
“这令人心碎,”萨姆解释道。“我们觉得我们必须做点什么。”
这就是 Kroonenburgs 一家采用服务器的方式,他们将其命名为 Spot Instance。
“我们就叫它 Spot,”Ryan 深情地拍着服务器说。
目前,Spot 是云专家采用的唯一服务器,但他们计划拯救更多的服务器,并鼓励员工敞开心扉。
“我们正在推出一项对服务器友好的工作场所政策,”ACG 的人才与员工成功总监莎拉·拉米尔兹·莫拉莱斯说。"只要表现良好,服务员会给工作场所带来快乐."
然而,并不是每个人都赞同云专家的服务器采用计划。
“发生在他们身上的事情太可怕了,”财务副总裁凯文·梅勒说,“但是我们应该把他们放在哪里呢?我们已经人满为患,如果我们不得不把(服务器)装进一个壁橱里,我们真的能给他们更好的生活吗?”
从长远来看,这可能无关紧要。一位云计算专家计划在乡下为救援服务器建立一个避难所。
“这将是一个漂亮、安静的服务器场,”ACG 技术指导兼美洲驼牧马人 Lars Klint 解释道。“艳阳高照。很大的空间。我们只是想帮助他们计算他们最好的生活。”
想要帮助拯救服务器吗?今天尽你的一份力量。
云专家在 G2 排名中获得最高分
原文:https://acloudguru.com/blog/news/a-cloud-guru-earns-top-marks-in-g2-rankings
在 2021 年秋季 G2 报告中,人们继续将 ACG 列为顶级在线课程、电子学习内容和技术技能提供商
他们说,如果这种事情一直发生,那就不是新闻了,但我们忍不住分享这个好消息:我们自豪地宣布,ACG 连续第五个季度通过商业解决方案评论网站G2 获得用户最高分。
持续的高温还在继续!这一轮,云专家(ACG)被评为在线课程、电子学习内容、技术技能开发软件和虚拟 IT 实验室的顶级提供商。ACG 在下面的报道中被称为领袖:
- 技术技能开发软件、在线课程提供商和电子教学内容软件的网格
- 面向技术技能开发软件和在线课程提供商的小型企业网格
- 面向在线课程提供商的中端市场网格
- 面向在线课程提供商、虚拟 IT 实验室和技术技能开发的企业网格
- 面向技术技能发展、在线课程提供商、虚拟 IT 实验室和电子学习内容的 Momentum Grid 报告
这是什么意思?学习者真的喜欢 ACG!
G2 的名单是建立在真实的顾客评论上的。一种算法评估评论以创建动量网格。网格列表更进一步,评估产品评论并从在线资源和社交网络收集数据,以确定一家公司的市场存在。
“学习和了解云计算和开发运维的最佳场所”
— João V., Cloud Automation Engineer
人民已经说话了
我们的用户会说一些最不可思议的话,比如:
- ACG 是“学习云技术的最佳平台”和“所有 IT 相关事物的最佳电子学习平台”
- 他们还说“我已经尝试了很多其他服务,ACG 提供的服务是同类中最好的。”
- 甚至有人说我们是“学习和更新云计算和开发运维的最佳场所,这是必备的。”
你们这些家伙!我们脸红了。。。你可以在 G2 的网站上查看更多评论(或者留下你自己的评论),或者点击下面时髦的横幅。
ACG 的 云学习状态报告发现,超过 70%的领导者已经看到云的采用加快了新产品和新功能的价值实现。为了支持云的采用和推动云转型,公司需要具备适应和发展所需技术技能的人员。(这就是 ACG 的用武之地。)
云专家为企业和个人提供成功所需的云技能。对于学习者,ACG 的引人入胜的课程和实践学习工具是为所有技能水平而设计的。对于企业来说,ACG 可定制的学习路径和无风险的实践环境有助于加速云部署,提高员工保留率,以及阻止顶级人才跳槽的人才流失。
和 ACG 一起边做边学
准备好亲自看看这些大惊小怪的事了吗?
你可以看看这个月在 ACG 有什么免费的东西,以最优惠的价格学习云计算。或者在我们庞大的动手实践云学习目录中摸摸你的手:开始为期 7 天的免费试用或查看 ACG 商业计划以扩展贵公司的云专业知识。
改变职业,改变企业
学得更快。动作快点。利用我们的课程和真正的技术以及 AWS、Microsoft Azure、Google Cloud 等领域的 IT 实践实验室转变您的团队。
一位云专家扩展了实践学习;推出微软 Azure 广告实验室
现在提供超过 1,600 种无风险环境,用于培养跨云平台的实用技能&开源技术
德克萨斯州奥斯汀(2021 年 3 月 1 日)–现代技术技能发展的领导者云专家(ACG)今天宣布推出微软 Azure AD 专属实践实验室,这是一项不断发展的身份和访问管理(IAM)服务。此次发布将云专家的实践学习产品扩展到 1600 多个基于场景的实验室,今年还将增加数百个。
就在六个月前,一位云专家公布了其扩展的云技能发展平台,该平台专注于通过情景化、实践性和动手学习来提高个人和企业的云性能。自 2020 年 8 月宣布以来,该公司一直在继续增加其实践学习服务,每周推出 10 多个新实验室,以确保所有技术专业人员都有一个安全的空间来学习和利用宝贵的现实技能。
“随着企业数字化转型的加速,跨复杂混合云基础架构的安全身份和访问管理是 IT 领导者的首要任务,”云专家首席执行官兼联合创始人 Sam Kroonenburg 表示。“生产和结构化测试环境使得用户很难实践新的服务,尤其是当基础设施范围的访问处于危险之中时。Azure AD Labs 为云从业者提供了一种有指导的、安全的方式,让他们在无风险的环境中培养这些技能。”
只有一个云专家能够提供跨所有主要公共云提供商、Linux 和许多其他开源技术(如 Kubernetes、Terraform、Ansible、Chef 等)的多云和开源实践技能开发的广度和深度。任何在云中工作的人都可以使用云专家的平台,为他们目前正在处理的任何挑战或项目开设一个特定的、基于场景的实验室。
实践学习的重要性在 IT 领导者的招聘方式中显而易见。在为新项目配备人员或扩大团队时,经理们会寻找有实际经验的候选人。
此外,公共云提供商现在引入了验证其技术实际体验的要求。亚马逊网络服务公司(AWS)最近宣布,考试实验室将成为其下一版本 AWS SysOps 认证考试的一部分。除了选择题,AWS 还会要求从业者完成动手实践练习。
“云提供商和他们的客户都认识到实践经验的重要性,AWS 将是许多云认证考试中的第一个,这些考试要求人们证明他们除了回答理论问题之外的运营云服务的能力,”一位云大师的内容 SVP 特里·考克斯说。“一位云专家正在用最全面、最有效、最实用的方法转变云学习,以培养所有云提供商和开源技术的技能。”
对于希望提升云技能的个人和 IT 团队,ACG 将在有限的时间内提供前所未有的 20%的折扣。欲了解更多信息,请访问 https://acloudguru.com 或点击此处访问云专家的完整动手实验室库。
关于 ACG
一个云专家被一个简单的使命所驱使——教导世界如何使用云。我们相信人们在实践中学习效果最好。这就是为什么我们的内部云专家会不遗余力地设计新颖、有趣、实用的学习工具,帮助个人和组织保持技术领先。作为世界上最全面、最实用、最有效的云学习平台,ACG 已经帮助超过 200 万学习者和 4000 家组织实现了更光明的未来。
随着云应用的加速,一位云专家推出了新的旗舰云学习平台
云专家和 Linux 学院的结合为个人学习者和企业团队创造了最全面、最实用、最有效的云学习解决方案
得克萨斯州奥斯汀,2020 年 8 月 13 日–今天现代技术技能发展的领导者云专家 (ACG)宣布推出其新的旗舰 ACG 平台,形成了世界上最全面、最实用、最有效的云学习技能发展平台。在 2019 年 12 月收购 Linux Academy (LA)后,新平台结合了 ACG 和 LA 产品的优势和好处,为个人学习者和企业团队提供了无与伦比的云技能提升解决方案。
各种规模的企业都在积极采用云计算来获得竞争优势。事实上, 80%的企业正在快速增加云的采用以应对当前的疫情,那些没有这样做的企业将很快被甩在后面。IT 决策者表示,优化云采用和成熟度的主要挑战是缺乏熟练人才, 86%的受访者表示,今年合格人才的短缺将减缓他们的云项目。凭借专为云构建的 DNA,ACG 在解决这一日益增长的问题方面拥有得天独厚的优势。
ACG 联合创始人兼首席执行官 Sam Kroonenburg 表示:“传统教育无法为员工提供在 IT 行业取得成功所需的技能。“现代技术需要现代的教育方法,ACG 和 Linux 学院都是技术学习变革的先驱。借助我们的联合平台,我们有望加快我们的影响力,解决首席信息官、首席技术官和学习与发展领导者当今面临的最大问题。”
新的 A Cloud Guru 平台具有以下特性:
- 世界上最大的云学习图书馆:新的课程目录比 ACG 以前的目录大 300%,包含了以前只有 Linux Academy 才有的内容。该库涵盖了从 AWS、Azure 和谷歌云平台,到 Kubernetes 和容器,到安全和 Linux 的所有内容。每门课程都采用了经过验证的教学方法,注重简单、易记的概念、相关的类比和边做边学。
- **动手实验室:**课程现在包括嵌入式边学边做组件,学习者总共将有 1,500 个动手实验室,将他们置于真实的云环境中,在那里他们可以磨练自己的技能并快速提高他们的云成熟度。
对于企业而言,云专家更新的 ACG 商业平台使组织能够建立云创新文化,并加速大规模的持续技能发展。基于对数以千计的企业客户的洞察,云学习的端到端解决方案还整合了各种企业功能,包括:
- 程序化学习途径根据预期成果和职业轨迹提供专门的培训课程。
- 认证加速器提供最快的途径,让团队跨通用云语言高效工作。
- 云游乐场提供真实世界的多云沙盒环境和服务器,不会给组织带来成本超支的风险。
- 多专业技能评估在整个组织中部署,以确定技能差距并帮助技术领导者解决云技能发展的主要障碍之一:确定从哪里开始。
埃森哲 AWS 业务集团全球能力开发主管杰夫·哈蒙德解释说:“我们已经看到了云专家通过云操场等功能扩大对边做边学的关注所带来的真正价值。“我们加快了埃森哲的学习之旅,并帮助推动整个公司的云技能发展。”
CloudCheckr 销售战略总监 Alana Fitts 补充说:“拥有动手实验室和在沙盒环境中测试的能力是云专家与 CloudCheckr 使用的其他技能开发平台的主要区别。“有了 ACG,整个组织的团队成员,从工程师到销售人员,都有机会实践他们的技能并加速学习。”
该公司继续为现有的洛杉矶客户支持和增强其 Linux Academy 解决方案,并预计在明年将用户迁移到新的 ACG 平台。所有新客户都将直接登上新的 ACG 平台。
ACG 总裁凯蒂·布拉德(Katie Bullard)表示:“在云专家看来,我们相信成功的云战略本质上也是成功的人才战略。“每个组织都需要更具竞争力,更快地创新,并变得更具成本效益。最快的方法是什么?您必须确保您的团队拥有加速云采用和成熟的资源。”
在发布的同时,ACG 在 8 月和 9 月期间仅为 25 人或以上的团队提供 15%的新 Business Plus 套餐优惠。
欲了解更多信息,请访问www.acloudguru.com。
学习亚马逊网络服务的商业基础。
AWS Business Essentials 课程旨在帮助 AWS 业务专家、领导者、高管和非技术人员了解云计算的优势,并构建云战略来实现您的业务目标。
关于 ACG
一个云专家被一个简单的使命所驱使——教导世界如何使用云。我们相信人们在实践中学习效果最好。这就是为什么我们的内部云专家会不遗余力地设计新颖、有趣、实用的学习工具,帮助个人和组织保持技术领先。作为世界上最全面、最实用、最有效的云学习平台,ACG 已经帮助超过 200 万学习者和 4000 家组织实现了更光明的未来。
云专家为即将毕业的大学毕业生开启云职业生涯的大门
云大师 (ACG),企业和个人现代技术技能发展的领导者,今天宣布所有学生以 an。edu、ac.uk 或. edu.au 电子邮件地址有资格在最受欢迎的云基础设施(如 AWS、微软 Azure 和谷歌云平台)中节省高达 47%的 ACG 综合课程库、动手实验室和云沙盒环境的个人年度订阅费用。
“我们成立了一个云专家,以使技术教育尽可能容易获得,特别是对那些从来不认为 IT 职业对他们来说是真正可能的人来说,”云专家的首席执行官兼联合创始人 Sam Kroonenburg 说。“通过让我们的平台更容易为最需要它的群体所用,从成千上万进入竞争激烈的后 COVID 就业市场的学生开始,我们为所有人提供了开启云职业生涯和学习帮助企业蓬勃发展所需技能的平等机会。”
ACG 提供广泛的深入课程,涵盖三大云提供商、Linux 和其他开源技术,如 Kubernetes、Terraform 等。有了这一优惠,学生还可以通过无限制地访问 ACG 的 1,600 多个动手实验室,在真实世界的环境中实践他们的技能。
“现在,企业比以往任何时候都更需要一个人才库,能够驾驭对其业务运营不可或缺的云基础设施,”Kroonenburg 继续说道。“通过该计划,我们旨在缩小阻碍企业加速云迁移和成熟的技术技能差距。此外,我们努力增加技术职业的多样性,同时缩小同样的技能差距。"
要查看您是否有资格享受折扣或想要激活您的折扣,请访问https://get.acloudguru.com/students。了解更多有关 ACG 如何帮助个人发展推动其职业发展所需的云技能的信息。
这项折扣是针对历史上被排除在技术领域之外的群体(包括妇女和退伍军人)的许多项目中的第一个,重申了 ACG 对云民主化的承诺。
关于 ACG
一位云大师被一个简单的使命所驱使——教导世界如何使用云。我们相信人们在实践中学习效果最好。这就是为什么我们的内部云专家会不遗余力地设计新颖、有趣、实用的学习工具,帮助个人和组织保持技术领先。作为世界上最全面、最实用、最有效的云学习平台,ACG 已经帮助超过 200 万学习者和 4000 家组织实现了更光明的未来。
ACG 关于云课程和培训的专题
原文:https://acloudguru.com/blog/news/a-cloud-guru-promos-aws-azure-and-google-cloud-course-discounts
一个云计算专家可以帮助你推进你的云计算事业。无论您是技术新手还是经验丰富的 AWS 工程师,您都可以通过我们的 AWS 认证课程实践库、Microsoft Azure 培训以及有关 Google Cloud (GCP)、DevOps、Kubernetes、Linux 等内容来发展云技能。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
想知道为什么你应该和 ACG 一起学习云计算吗?
简而言之,现在是开始云计算生涯的最佳时机。还有。。。现在!还有。。。现在还是。
那是因为云技能需求量大。这不是什么时尚。他们的需求量一直很大。根据 LinkedIn 的数据,云计算技能已经连续六年成为最受欢迎的技能之一。云计算工作是 T2 科技行业薪酬最高的工作之一。
截至 2022 年 2 月,实际上列出了云工程师的平均基本工资超过 119,0617 美元,常见的福利包括无限休假和 10,000 美元的年度奖金。不算太寒酸!
Glassdoor 报告称,云工程师是美国 50 份最佳工作之一(T1),衡量了工资、机会和工作满意度等因素(说出一个更好的三人组)。
那么,为什么选择 ACG 来学习云技术呢?凭借最大的云技能发展实践内容库,ACG 可以帮助你获得认证(认证具有真正的价值),掌握现代技术技能,提升你的职业生涯。
好的。这听起来很棒,但作为一个忙碌、预算紧张的学习者,你如何才能在 AWS、Azure 和谷歌云课程上获得折扣?请继续阅读!
截至 2021 年 6 月,ACG 的所有个人和企业计划现在都有新的更低价格。其他变化包括我们的个人 Plus 计划现在可以按月提供。所有现有客户在下次续订时都将获得较低的价格。查看我们的定价页面了解更多信息。
这对您在云计算领域的未来意味着什么?这意味着获得 AWS、Azure、谷歌云、Linux、Kubernetes 方面的新技能,并获得那些受欢迎的 DevOps 技能。
寻找更多交易?查看如何利用以下 ACG 促销活动:
学生享受高达 47%的优惠
掌握将推动你职业发展的技能——并节省一大笔钱。学生有资格节省高达 47%的年度完全访问我们的无限实践学习图书馆。你只需要一个. edu、. ac.uk 或. edu.au 的电子邮件地址*。
但是如果你读这篇文章的时候是未来呢?首先,过去的问候!(还有,嘿,如果你想跳上一辆德罗林,偷偷给我们一份体育年鉴,我们保证不会把希尔谷法院变成赌场。)其次,**你可以查看我们目前的 ACG 定价选项。**价格随时会变,所以如果价格看起来不错,那就买吧!
免费云学习
如果没有当前特价呢?停止在互联网上搜索 meh 免费 Azure 认证课程、AWS 学生折扣或谷歌云课程折扣。交易很好,但你不能免费。这里告诉你如何免费获得一个云专家。
免费的 AWS、Azure 和 GCP 认证培训
免费试用,全面访问我们整个动手云培训和认证课程库。或者,注册一个免费会员,并获得免费的 AWS,Azure 和 GCP 认证课程的轮换阵容。查看本月的免费课程或跳过此处查看 ACG 免费等级的最新课程。
免费云资源 你想要云资源?我们有足够的资源让席德·梅尔骄傲。借助 ACG 庞大的免费云资源库,提高您的云智商。
啊,怀旧的甜蜜味道。还记得那个黑色星期五大交易吗?
我们的春季促销活动,为个人计划和商业计划节省 20%的费用。直到明年春季大扫除!
寻找 Linux 学院折扣或 Linux 学院优惠券代码,并想知道你为什么在这里?一位云大师和 Linux 学院在 2019 年末联手。
停止搜寻 Azure、Google Cloud 和 AWS 的推广代码。报名参加推广活动或获得免费试用,浏览世界上最大的实践云学习图书馆。
一位云专家在 G2 的网格报告中被评为顶级在线课程和技术技能提供商
我们很自豪地宣布,全球商业解决方案评估网站 G2 连续第三个季度评选出了一位云专家。本季度,我们在 G2 的 Momentum Grids 在线课程提供商和技术技能发展类别中获得了最高排名,并在两个类别的完整网格报告中被评为领导者。除了标志着连续第三个 G2 报告季节处于势头网格的顶端,这一认可延续了我们在完整网格报告中被命名为领导者的连续纪录。
技能发展的动力网格
G2 的名单是根据云专家客户的评论筛选出来的。一种算法评估这些评论以创建动量网格。网格列表更进了一步,评估产品评论,还从在线来源和社交网络收集数据,以确定 ACG 在市场上的存在。我们在 Momentum Grid 和 Grid list 上的排名是由我们的客户实现的,我们很自豪能得到他们的称赞。
在 Cloud Guru,我们正在为企业和个人提供最新的基本工具,以便在需要云知识和经验的领域取得成功。我们知道学习高度专业化的技能不是一件容易的事;我们开发的课程不仅让那些已经熟悉技术的人受益,也让首次学习云计算的人受益。对于企业而言,我们已经创建了可定制的学习路径,员工可以在无风险的环境中实践各种技术,让他们的企业有更好的机会加快云部署并提高员工忠诚度。总之,这些组件使 ACG 成为个人和企业的首选平台,这些个人和企业寻求一个拥有动手实验室、顶级讲师和不断更新以反映云行业变化的内容的全面计划。G2 的这一认可证明了我们致力于帮助客户实现职业目标,并证明了我们客户的满意度至关重要。
云的采用是未来的发展方向——我们的 云学习状态报告显示,90%接受调查的 IT 领导者期望在未来 1-3 年内扩大他们对云服务的使用。云加速是保持竞争力的方法。为了支持这种迁移和快速采用,公司将依赖他们的 IT 团队掌握必要的技能来适应和发展( 97%的云领导者认为他们的组织在统一共享云知识的基础上可以更有效地运作)。云专家的使命是让每个企业、团队、IT 专业人员或新手都能采用云。我们决心颠覆科技教育体系,兑现我们改善各级学习体验的承诺。
当我们帮助世界各地的人们和团队学习复杂的技术,并在个人和专业方面取得进步时,我们感谢你们。感谢您成为我们旅程的一部分;我们很荣幸成为你的一部分。
云专家因公司文化和多样性获得国家认可
每年新年伊始,我都会回顾过去的 12 个月,思考哪些进展顺利,哪些进展不顺利,以及其间的一切。在 2020 年,这项工作证明比正常情况更具挑战性——每一个好事件,似乎都有十个坏事件。但是当我回想起今年的一些最大的危机——一场全球性的疫情,一场有争议的选举(及其余波),种族主义被推到了我们国家意识的最前沿——我被人类精神的韧性所鼓舞,更个人地说,被我在一位云计算大师这里的同事们所鼓舞。
尽管去年发生了一切,但我们所有的大师都带着让技术变得可及的目标出现了:不管你是谁,不管你住在哪里,你都可以学习掌握在云中工作。我们不仅兑现了对客户的承诺,还相互支持,相互学习,一路上充满了欢笑。正是这种不断学习、谦逊、负责和有趣的文化使得云专家成为一个如此特别的工作场所。
我们在云专家这里建立的东西是特别的,它已经得到了德克萨斯州奥斯汀商业社区的认可,因为我们最近在奥斯汀最佳工作场所名单中排名第一。我们还被评为最佳中型企业,为、最佳薪酬公司和最佳福利公司工作。
在国家层面上,职业网站也同样认可了云大师的文化,将我们列入了他们的最佳公司文化名单。为了编制这些排名,可比匿名向 2019 年 12 月 1 日至 2020 年 12 月 1 日期间 6 万家美国公司的员工提出了 50 个与他们对公司文化的满意度有关的问题。根据 2,346 个评级和 83 名参与者,一位云大师获得了 A+的整体文化评分。
最后,也许对我个人来说最重要的是,我们还被列入了 Comparably 的多元化最佳公司名单。在这个列表中,同样匿名地要求有色人种员工根据 50 个问题对他们的公司进行评级,这些问题涵盖 20 个不同的指标,包括对在公司工作的满意度、薪酬和福利。我对这一认可感到特别自豪,因为它与我们的目标一致,即通过与我们一起学习云计算,让任何地方的任何人都有能力实现更光明的未来。在一个通常达不到这些期望的行业和空间中,我们有独特的优势成为包容性和公平性的捍卫者。
我个人的使命是让云专家和整个科技行业成为一个尊重和包容所有人的空间。
没有办法知道今年为我们准备了什么;如果 2020 年教会了我们什么,那就是生活是不可预测的。但我可以肯定地说一件事:在云大师这里,我们致力于让技术更容易为每个人所用,特别是那些历史上被排除在外的人,并保持我们积极的公司文化,这种文化建立在多样性、热情和激情的基础上。2021 年带过来!
领英 2020 年最佳创业公司名单上公认的云专家
原文:https://acloudguru.com/blog/news/a-cloud-guru-recognized-on-linkedins-2020-top-startups-list
一位云计算专家因其在新冠肺炎的适应能力而入选,加入了令人垂涎的最热门创业公司名单
德克萨斯州奥斯汀,2020 年 9 月 22 日:继一系列令人印象深刻的公司里程碑之后,现代技术技能发展的领导者云大师(ACG)今天宣布,它在 LinkedIn 的 2020 年美国最佳创业公司名单中排名第 28 位
LinkedIn Top Startups 是对新兴创业公司的年度排名。该榜单由 LinkedIn 新闻团队结合专有平台数据和编辑专业知识制作而成。在新冠肺炎之后,2020 年的榜单反映了经济和世界的现状,展示了新兴和有弹性的创业公司,以及他们如何在不断变化的工作世界中导航。
“全球疫情为我们的客户创造了一种完成使命的紧迫感。对于一些人来说,随着他们开始关闭办公室,提供在线培训非常重要。其他公司被迫转向云以继续运营。一家云专家公司的首席执行官兼联合创始人萨姆·克鲁尼伯格说:“整个劳动力市场都在利用我们的平台寻找就业机会,学习急需的技能。“很明显,云是未来,我们希望尽可能将更多的人送上未来。”
随着云应用的加速,一家云专家在今年夏天达到了一个重要的里程碑:它在 6 月份超过了 8000 万美元的 ARR,比前 12 个月增长了 362%。今年 8 月,该公司推出了新的旗舰平台,该平台结合了 ACG 和 Linux Academy 产品的优势和好处,为个人学习者和企业团队提供了无与伦比的云技能提升解决方案。
Kroonenburg 继续说道:“我为我从我们的员工身上看到的韧性感到骄傲。没有如何处理这种情况的规则手册,但我仍然看到他们带着同情和怜悯度过了这个转变。领导层有意识地尽我们所能为他们的身心健康投资,但最终,我们的员工出现在巨大的未知和不断变化的环境中,用他们成功所需的技能武装我们的客户。我希望他们对自己的辛勤工作所取得的成就感到无比自豪。”
作为两家总部位于德克萨斯州的初创公司之一,一位云计算大师加入了 DoorDash 和 Quibi 等创新公司的行列。想了解更多关于云专家如何在新冠肺炎适应公司文化的信息,请点击这里。要了解更多关于云专家的生活并查看其空缺职位,请访问 acloudguru.com/careers。
关于一位云大师
云大师(ACG)于 2015 年由山姆·克鲁尼堡(Ryan Kroonenburg)和瑞安·克鲁尼堡(Ryan Kroonenburg)兄弟创立,其使命很简单:教授世界如何使用云。最初的一个云认证课程已经发展成为领先的在线云技能发展平台,并帮助超过 200 万人学习云技术。ACG 教授亚马逊网络服务、微软 Azure、谷歌云平台和邻近的云技术,帮助任何人——从新手到技术人员,从小企业到企业——提升他们的云技能,准备认证考试,并通过学习成为数字化和云转型的大师。
云专家连续第四个季度荣登 G2 网格报告榜首
原文:https://acloudguru.com/blog/news/a-cloud-guru-tops-g2-grid-reports-for-fourth-consecutive-quarter
在 2021 年夏季 G2 网格报告中,用户继续将 ACG 列为顶级在线课程和技术技能提供商
一位云专家(ACG)连续第四个季度被商业解决方案评论网站 G2 评为顶级在线课程和技术技能提供商。
本季度,一位云专家在 G2 的 Momentum Grids 上获得了在线课程提供商类别、技术技能发展类别和电子学习内容类别的最高排名。在在线课程提供商和技术技能发展类别的完整网格报告中,ACG 也被评为领导者。
技能发展的动力网格
除了标志着连续第四个 G2 报告赛季处于势头网格的顶端,这一认可延续了 ACG 在完整网格报告中被命名为领导者的连胜纪录。
G2 的名单是根据真实的顾客评论整理的。一种算法评估评论以创建动量网格。网格列表更进一步,评估产品评论并从在线资源和社交网络收集数据,以确定公司在市场中的存在。
“ACG 在 G2 的动量网格和网格列表中的位置是由我们的客户促成的,我们很自豪能够得到他们的庆祝,”云大师总裁凯蒂布拉德说这是对我们致力于帮助人们实现职业目标和企业实现云计算员工优势的认可。"
ACG 的 云学习状态报告发现,71%的领导者已经看到云的采用加快了新产品和新功能的价值实现。为了支持云的采用和云加速,公司需要具备适应和发展技能的 IT 团队。
云专家正在用成功所需的云技能武装企业和个人。对于学习者来说,ACG 的引人入胜的课程和实践学习工具专为所有技能水平而设计,从熟悉技术的人到云初学者。对于企业而言,ACG 可定制的学习路径和无风险的实践环境有助于加速云部署和提高员工保留率。
为了继续推广不断增长的云技能,一位云专家正在发起其首次 ACG 社区峰会。该在线活动将包括六个云学习课程,其中包含深度学习、动手挑战和实时学习。ACG 社区峰会将于美国东部时间 6 月 28 日至 30 日下午 12 点至 4 点在 ACG Twitch 频道举行。
一位云专家欢迎新的工程副总裁
原文:https://acloudguru.com/blog/news/a-cloud-guru-welcomes-new-vp-of-engineering
一位云计算大师继续通过卓越的仆人式领导来建立其工程领导地位。我有机会向新任工程副总裁 Alex Barreto 请教,了解他的云计算之路以及他对世界上最大的在线云培训平台的未来的规划。
Alex 加入 ACG 时,在领导精益敏捷交付车间和文化变革方面有着广泛的背景。他在墨尔本的 Sensis 公司为敏捷革命做出了贡献,最近在 MYOB 担任交付主管。
作为客户的拥护者和工程师的教练,Alex 的领导风格将为工程团队带来全新水平的敏捷性,该团队在美国和澳大利亚已有 90 多名工程师。
见见亚历克斯
工程副总裁
Alex 做的事情: “我设定方向,把合适的人聚集在一起,为工程师解决问题清除路障,确保他们有执行的环境。”
最初是什么吸引你成为云大师的?
在与我们在墨尔本的助教经理 Sam Robb 的第一次交谈中,我能感觉到公司的使命是真正崇高的。教育他人是一件与我直接相关的事情。在这个组织转向在线教育和云计算的充满挑战的时代,我确信加入一个云计算专家是我做出的最好的决定。
了解不断增长的产品和成为世界上最大的在线云培训平台的前景听起来非常令人兴奋。我过去使用过在线学习平台,没有什么比得上 ACG 平台的学习体验。我们的内容质量和教学方式是独一无二的,改变人们在线学习方式的机会引起了我的兴趣。
你为什么最终决定加入这个团队?
这里有一种以人为本的伟大文化。你所需要的只是在我们的办公室走一走,你就能感受到我们的员工是多么有趣和充满活力。从第一次接触我们的人才团队,到一路上遇到的人,每个人都让你觉得自己很特别。没有一天我没有感受到受欢迎和与人的联系。
你所需要的只是在我们的办公室走一走,你就能感受到我们的员工是多么有趣和充满活力。
此外,当约翰·麦克金(产品和工程的 SVP)向我谈到发展团队和扩大工程实践和流程的计划时,这听起来是利用我的技能的绝佳机会。
你对该产品的愿景是什么?
客户真正推动我们的路线图,所以我们围绕客户价值创造来设计我们所做的一切。我们关注结果,而不是产出。这不是关于我们可以发布的功能的数量,而是这些功能为我们的用户提供的价值。这是一个非常重要的思维转变,因为它影响了我们构建计划和工作的方式。
这不是关于我们可以发布的功能的数量,而是这些功能为我们的用户提供的价值。
另一个重点是通过学习我们教授的知识并将这些知识融入到我们自己的产品中来进行创新。我愿景中的一个重要元素是真正投资于我们的员工。这里的每个人都有时间学习,整个 ACG 图书馆对员工开放。我们试图雇佣最优秀的人才,然后确保他们有足够多有趣的挑战,为他们提供成长和回报的机会。
我们所做的一切都是为了建立最好的学习平台,帮助组织更快地实现云计算,并帮助人们获得更好的职业未来。工程团队将我们的使命带入生活,教导世界实现云计算。
…因此,以客户为中心,通过学习我们教授的内容进行创新,投资于我们的员工,并构建最佳平台。
你的领导风格是什么?你如何授权给你的团队?
从年轻的时候回到巴西,我总是参与志愿工作和社区工作。对我来说,能够帮助人们做得更好,帮助他们实现梦想是激励我的动力。我有教练型领导风格。我非常喜欢为未来发展人们的能力,在我领导的团队中建立长期优势。
这在 ACG 非常有效,因为每个人都准备好学习,并真正拥有一种成长的心态。在这里,我没有尝试过任何事情,也没有遭到人们的反对。他们都喜欢“是的,有道理。就这么办吧。”
…每个人都准备好学习,并真正拥有成长的心态
我的方法是设定方向,将合适的人聚集在一起,为工程师解决问题清除路障,并确保他们有一个执行的环境。
你在寻找什么类型的工程师来组建你的团队?
我喜欢和拥有自己职业轨迹的人联系。对自己的工作充满热情和动力的人。作为一家在线教育公司,我们喜欢雇佣那些热爱学习并更好地掌握自己技能的人。
我寻找那些理解我们是为顾客而来的人。这与完成任务无关。这是关于理解我们正在做的事情的价值和原因。
这与完成任务无关。这是关于理解我们正在做的事情的价值和原因。
我寻找充满活力、积极投入、乐于共事的人。我们在工作上花了很多时间,所以我们想确保我们有一群好员工。
您的团队将如何实现我们的使命,向世界传授云技术?
工程团队实际上将我们的使命具体化为云专家的平台!我认为,通过让人们和组织更容易获取知识,我们正在给世界带来积极的变化。
你可以通过访问我们的 LinkedIn 生活页面和职业网站来了解更多关于云计算大师的职业信息。继续牛逼吧,云大师们!
云专家欢迎新的产品副总裁
原文:https://acloudguru.com/blog/news/a-cloud-guru-welcomes-new-vp-of-product
我与云专家的新任产品副总裁本·亨德森(Ben Henderson)坐在一起,谈论他的云之路,以及他对世界上最大的在线云培训平台的未来有何规划。
在培训了 1,500,000 多名学生并收购了另一家在线云培训提供商后,一位云专家需要一位领导者来专注于完善其不断增长的产品的未来。Ben 被引入来领导整个云专家平台的战略方向,包括个人学习体验及其业务提供。
他的团队将构建提供丰富的、云无关的客户体验的功能。这些功能将支持整个云专家内容库的学习和消费,从初级到高级,涵盖所有主要的公共云提供商(如 Amazon Web Services、Google Cloud Platform 和 Microsoft Azure)以及支持服务,如 containers、serverless 和 DevOps。
Ben 加入了全球软件公司 Help Scout 的云专家团队。他带来了广泛的创业背景。
见见本
产品副总裁
Ben 做的: “我的重点一直是打造高绩效的产品团队。我在这里用正确的实践和流程安排员工,然后离开他们的方式。”
最初是什么吸引你成为云大师的?
我一直觉得学习技术很有挑战性。我在大学学习计算机科学的经历告诉我,技术发展的速度比正规机构教的还要快。
当我第一次与萨姆·克鲁尼伯格(首席执行官兼联合创始人)和约翰·麦克金(T4 产品工程的 SVP)交谈时,他们谈到了这种体验和对云的理解,云的变化比其他许多网络技术更有规律。这就是最初吸引我的地方。在我的职业生涯中,我一直使用在线学习。有机会在这方面增加一些价值真的很令人兴奋。
在我的职业生涯中,我一直使用在线学习。有机会在这方面增加一些价值真的很令人兴奋。
我也一直是个性非常强的品牌的粉丝。看到这个品牌和它的内容,我意识到一个云计算大师有点与众不同。我喜欢这样。
你对产品的愿景是什么?
ACG 一直以其内容的质量而闻名。我对这款产品的未来感到非常兴奋,它不仅能提供令人惊叹的内容,还能让学生以市场上任何其他工具都无法做到的方式,将这些技能付诸实践。添加新的功能和工具来增强学习体验将是我们真正关注的焦点。
我们还将继续利用云中可用的新工具来开发我们自己的产品。我们平台的酷之处在于,它是一款专为云而构建的产品。随着技术的不断进步,我们将利用新的工具来提供更加智能和个性化的学习体验,以便学生能够更快地学习。
你在寻找什么类型的人来组建你的团队?
我们要找的是我所说的有创造力的战略思考者。产品经理和领导者以客户为中心,专注于产品战略,并能与团队合作,以确定未来会发生什么。我们有一个非常棒的核心产品,但我们正处于一个不可避免的阶段,那里的机会是无限的,这将需要非常聪明的人来弄清楚我们的客户想要什么。
ACG 一直是一种无情地专注于为客户提供最佳产品的产品。我希望人们能够继续体现我们的价值观。尤其是在考虑周到但果断的同时,还要让事情变得有趣。科技产品很容易很快变得非常严肃。我们正在寻找能够为产品增添古怪、创意或乐趣的人,以延续这一传统。
在更个人的层面上,我非常喜欢仆人管理硕士学校。我在这里用正确的实践和过程来安排人们,然后离开他们的方式。有些人在那种环境下工作得很好。那些渴望以自主的方式工作,并对产品的一个大的、战略性的部分拥有很多所有权的人。
展望未来,您打算如何实现我们的使命,让世界了解云计算?
我喜欢人们说我们从根本上改变了人们在线学习的方式。任何人都可以观看 YouTube 上关于云技术的视频。我最自豪的是,我们正在创造一种产品,它超越了这一点,为人们增加了一层教育和帮助,以确定他们应该学习什么,以及他们应该如何学习。这是 ACG 一直以来的核心理念。
我喜欢人们说我们从根本上改变了人们在线学习的方式。
第二件事是我们创造了一个改变人们生活的产品,无论是他们的事业还是他们的组织。我们已经在这样做了,但在我们认为已经完成之前,我们还有很长的路要走。
你可以通过访问我们的 LinkedIn 生活页面和职业网站来了解更多关于云计算大师的职业信息。继续牛逼吧,云大师们!
谷歌专业云开发者认证指南
专业的云开发人员技能是必需的,这是理所当然的。企业在基于云的基础设施上的支出超过了传统 IT,大多数工程师都在更新技能,学习如何在云环境中构建系统。但是,如何构建将在这些云环境中运行的应用程序呢?
随着我们从单一的传统 IT 转向分布式云架构,云基础架构的优势为应用程序设计带来了一系列有趣的挑战。
什么是专业的云开发者?
专业的云开发人员了解云原生软件设计的原则,并且能够使用可伸缩性、可靠性和安全性的最佳实践来构建、测试和部署应用程序。
对于使用谷歌云平台的开发人员来说,专业云开发人员认证证明你处于云原生开发的前沿,并将使你在竞争激烈的云开发人员就业市场中领先于同行。
正如谷歌所说:
“专业的云开发人员使用谷歌推荐的实践和工具构建可扩展和高度可用的应用程序。此人拥有云原生应用程序、开发人员工具、托管服务和下一代数据库方面的经验。专业的云开发人员还至少精通一种通用编程语言,并擅长生成有意义的指标和日志来调试和跟踪代码。”
希望获得您的专业云开发人员认证?这里有一个 PCD 考试的分类,以及你如何最好地准备它。
想知道哪个谷歌云认证最适合你?接下来要获得什么认证,或者只是需要一些指导来规划您的云计算职业道路?查看我们关于谷歌云认证的深度指南。
E xam 知识领域
谷歌的专业云开发者考试分为五个知识领域。
1。设计高度可伸缩、可用且可靠的云原生应用
首先是设计高度可伸缩、可用且可靠的云原生应用。为了涵盖这一领域,您需要在应用程序设计原则方面有坚实的理论基础,以确保您的应用程序是高性能和安全的。您还需要了解 GCP 服务的广度,以便做出正确的数据和存储设计决策。
2。构建和测试应用
第二个知识领域是构建和测试应用。这些概念与云无关,包括编写代码、编写测试以及设置敏捷持续集成和部署系统。作为云开发者,你至少要精通一门常用的编程语言,比如 Python 、 Go ,或者 Node。JS 。
3。部署应用程序
在第三个知识领域,考试集中于将应用程序部署到 GCP,因此您需要很好地理解不同的可用目标平台:计算引擎、 Kubernetes 引擎、 App 引擎、云功能和云运行。你不能忽视谷歌在 Kubernetes 上的巨大投资,所以你需要对在 GKE 部署应用有扎实的操作理解。
4。集成 GCP 服务
下一个知识领域包括集成其他 GCP 服务,比如消息传递、服务发现、身份管理和云 API。
5。管理应用程序性能
最后一个知识领域着眼于管理应用程序性能,即 APM,使用 GCP 操作套件进行日志记录、监控、调试和跟踪,以及深入了解云中应用程序的故障排除。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回答,以确定哪些概念会让人犯错。抓住这个云指南获取最痛苦的云术语的简洁定义。
大局
这些知识领域加在一起似乎是一个过于宽泛的课程,但就像其他谷歌云考试一样,其目的是测试你作为一名自信的从业者的能力——而不仅仅是你对产品和服务的理论知识。
你需要了解这些领域,并拥有在 GCP 的各种平台上开发和部署应用程序的实践经验,才能有信心通过这次考试。
想要更多开发和部署无服务器应用程序的选项吗?成为 AWS 认证开发者或者微软 Azure 认证开发者,学习所有的东西!
准备您的专业云开发人员认证
幸运的是,让你成为一名自信的云开发人员,从而通过这次考试,这正是我们新的专业云开发人员认证课程的目的。
作为 cert-prep 课程,我们通过在实验室环境中大量实践的支持,用简明的理论课程涵盖了这些知识领域。对于您可能经验不足的领域,我们还提供了进一步深入研究资料的建议,以确保您完全了解。
您将得到很好的指导,了解您需要了解的一切,从而自信地设计、构建和部署应用到 GCP,并以优异的成绩通过考试!
获得认证
当您准备好测试时,请记住您现在可以远程参加云认证考试,因此没有必要去测试中心。做最后一次学习,然后去获得认证。
加入云专家并获得课程、动手实验、测验和学习路径,这些将带你一步一步地从新手成为你所选择的云领域的专家。
Vim 备忘单:终极命令指南
原文:https://acloudguru.com/blog/engineering/a-vim-cheat-sheet-reference-guide
Vim 是一个强大的文本编辑器,是许多系统管理员和开发人员的最爱。唯一的问题是:随着权力而来的是一个学习曲线。由于要使用和记忆各种各样的命令,在 Vim 中编写和编辑文件似乎令人望而生畏。幸运的是,有一位云计算专家为您提供了这个有趣的 vim 备忘单,它是基本(和一些不太基本的)Vim 命令的背景图像格式!点击查看它的全尺寸荣耀,并使用它来满足您所有的 Linux 培训需求!
VIM 光标移动
H–向左移动光标
j–向下移动光标
k–向上移动光标
L–向右移动光标
H–移动到屏幕顶部
M–移动到屏幕中间
L–移动到屏幕底部
W–向前跳到单词的开头
W–向前跳到单词的开头(单词可以包含标点符号)
E–向前跳到单词的末尾
E–向前跳到单词的末尾(单词可以包含标点)
B–向后跳到单词的开头
B–向后跳到单词的开头(单词可以包含标点)
0–跳到行首
^–跳到行首的非空白字符
$–跳到行尾
g _–跳到行尾的非空白字符
gg–跳到文档首行
g–跳到文档末行
5g–跳到第 5 行
FX–跳到下一个 character x
tx–跳转到下一个出现的字符 x
}–跳转到下一个段落(或函数/块,当编辑代码时)
{–跳转到上一个段落(或函数/块,当编辑代码时)
ZZ–光标在屏幕上居中
Ctrl+b–向后移动一个全屏
Ctrl+f–向前移动一个全屏
Ctrl+d–向前移动 1/2 个屏幕
Ctrl+u–向后移动 1/2 个屏幕
VIM 文本操作
I–在光标前插入
I–在行首插入
A–在光标后插入(追加)
A–在行尾插入(追加)
O–在当前行下方追加(打开)新行
O–在当前行上方追加(打开)新行
ea–在字尾插入(追加)
Esc–退出插入模式
r–替换单个字符
J–将下面的行合并到当前行
cc–更改(替换)整行
CW–更改(替换)到字尾
c $–更改(替换)到行尾
S–删除字符并替换文本
S–删除行并替换文本(与 cc 相同)
XP–转置两个字母(删除并粘贴)
u–撤消
Ctrl+r–重做
。–重复最后一个命令
VIM 视觉模式
v–启动视觉模式,标记线条, 然后执行一个操作(比如 d-delete)
V–开始逐行视觉模式
Ctrl+V–开始逐块视觉模式
O–移动到标记区域的另一端
O–移动到块的另一角
aw–标记一个字
aB–带有()
aB 的块–带有
ib 的块–带有()
iB 的内块–带有的内块
Esc–退出视觉模式
视觉命令
–文本右移
<–文本左移
y–猛拉(复制)标记文本
d–删除标记文本
~–切换大小写
VIM 寄存器
:reg–显示寄存器内容
" xy–拉入寄存器 x
" XP–粘贴寄存器 x 的内容
VIM 标记
:标记–标记列表
ma–设置标记 A 的当前位置
A–跳转到标记 A 的位置 y
A–将文本拉至标记 A 的位置
VIM 宏
QA–记录宏 a
q–停止记录宏
@ a–运行宏 a
@ @–重新运行上次运行的宏
VIM 剪切和粘贴
YY–猛拉(复制)一行
2yy–猛拉(复制)2 行
yw–猛拉(复制)该单词的字符从光标位置到下一个单词的开头
y $–猛拉(复制)到行尾
P–将剪贴板放在光标之后
P–放在光标之前(粘贴)
DD–删除(剪切)一行
2dd–删除(剪切)2 行
dw–删除(剪切) 从光标位置到下一个单词开始的单词的字符
D–删除(剪切)到行尾
D $–删除(剪切)到行尾
x–删除(剪切)字符
VIM 退出
:w–写入(保存)文件,但不要退出
:w!sudo tee %–使用 sudo
:wq 或写出当前文件😡或者 ZZ–写入(保存)并退出
:q–退出(如果有未保存的更改则失败)
:q!或者 ZQ——退出并丢弃未保存的更改
VIM 搜索和替换
/pattern–搜索模式
?pattern–向后搜索模式
\ v pattern–非常神奇的模式:非字母数字字符被解释为特殊的正则表达式符号
N–在相同方向重复搜索
N–在相反方向重复搜索
:% s/old/new/g–在整个文件中用新的替换所有旧的
:% s/old/new/GC–在整个文件中用新的替换所有旧的并进行确认
:noh–删除搜索匹配的突出显示
在多个文件中进行 VIM 搜索
:vim grep/pattern/–在多个文件中搜索模式
,例如
:vimgrep /foo/ */
:cn–跳转到下一个匹配项
:CP–跳转到上一个匹配项
:copen–打开一个包含匹配项列表的窗口
处理多个文件
:e file–编辑新缓冲区中的文件
:bnext 或:bn–转到下一个缓冲区
:bprev 或:BP–转到上一个缓冲区
:BD–删除一个缓冲区(关闭一个文件)
:ls–列出所有打开的缓冲区
😒p 文件–在新的缓冲区中打开一个文件并拆分窗口
:vsp 文件–在新的缓冲区中打开一个文件并垂直拆分窗口
Ctrl+ws–拆分窗口
Ctrl+ww–切换窗口
Ctrl+wq–退出一个窗口
Ctrl+wv–垂直拆分窗口
Ctrl+wh–将光标移动到左侧窗口(垂直拆分)
Ctrl+wl–将光标移至右侧窗口(垂直拆分)
Ctrl+wj–将光标移至下方窗口(水平拆分)
Ctrl+wk–将光标移至上方窗口(水平拆分)
VIM 标签
:tab new or:tab new file–在新标签页打开一个文件
Ctrl+wT–将当前拆分的窗口移动到自己的标签页
gT or:tab next or:tabn–移动到下一个标签页
gT or:tab prev or:tabp–移动到上一个标签页
gT–移动到标签页编号#
:tabmove # –将当前标签页移动到#th 位置
:tabclose 或:tabc–关闭当前标签页及其所有窗口
:tabonly 或:tabo–关闭除当前标签页之外的所有标签页
:tabdo 命令–对所有标签页运行该命令
如何从 Vim 小抄走,成为 Vim pro?查看我们的 Vim 改进编辑器课程和开始免费试用!
寻找更多的提示和技巧?
Azure 数据工厂可视化指南
原文:https://acloudguru.com/blog/engineering/a-visual-guide-to-azure-data-factory
不久前,我们在一位云专家上发布了 Azure 基础知识的可视化指南。这个帖子得到了很多积极的反馈,所以我们认为我们应该再做一个——这次集中在 Azure 数据工厂!
Download the Visual Guide To Azure Data Factory here
什么是视觉引导?
视觉引导是高分辨率的“草图笔记”他们在一张图片中总结了一个给定的主题或内容项目,使用插图和文本的组合来可视化核心思想。研究告诉我们,65%的人有视觉学习能力。我们从图像中更快地吸收信息,使用“大图”来检测熟悉的模式,并将点与概念联系起来,以帮助记忆和回忆。
如何使用这份视觉指南?
我把它作为阅读前和阅读后的资源来记录我的学习旅程。试试看。快速浏览图片,然后阅读文章,进入链接资源。你可能会发现你的大脑已经准备好快速找到关键词和联系,帮助巩固学到的概念。
现在回来,再次扫描视觉效果——测试你的回忆或找出你在理解上仍有差距的地方。或者直接打印出来,挂在你的工作区作为方便的参考。如果你选择这条路线,我建议你下载这个高清版本的视觉指南!
Azure 数据工厂可视化指南
我们生活在一个越来越多的互联设备和跨不同平台(移动、网络、物联网)的交互式应用的世界。作为应用程序开发人员,我们需要一种方法来利用和分析大量的原始数据(关系数据、非关系数据和其他数据),以获得有用的业务洞察力。
Azure Data Factory 是一个完全托管的无服务器数据集成解决方案,用于接收、准备和转换您的所有大规模数据。在本视觉指南中,我们尝试回答以下问题:
- 什么是数据集成?
- 什么是 Azure 数据工厂(ADF)?
- 我们如何实现与 ADF 的数据集成?
- ADF 的组件有哪些?
- 使用 ADF 的主要好处是什么?
请继续阅读每篇文章的文本摘要,以及可用于更深入研究的资源链接。
什么是数据集成?
在高层次上,数据集成涉及从不同来源收集数据的收集,其转换(包括清理或扩充)以创建有意义的分析上下文,随后是加载步骤,在该步骤中,处理后的数据被存储以供相关分析引擎使用。
让我们用一个熟悉的企业场景来为这次讨论做准备。
一家游戏公司有两个数据存储,一个在内部(存储客户、游戏和营销数据),另一个在云中(存储游戏日志)。为了深入了解客户行为或差距,他们需要在大范围内将两者的数据关联起来。这就是像 Azure Data Factory 这样的数据集成解决方案的优势所在!
想通过这个场景快速了解 Azure 数据工厂吗?试试这个 30 分钟的模块:Azure 数据工厂介绍。
什么是 Azure 数据工厂(ADF)?
Azure Data Factory 是一种企业就绪的基于云的混合数据集成服务,有助于协调数据移动并大规模运营数据处理工作流(管道)。它由一组互连的系统组成,为您的数据工程需求提供端到端平台,包括:
- 数据接收 | ADF 配备了 90 多个标准连接器,简化了与不同数据源的连接,并且具有复制活动,简化了在集中位置收集数据的操作,以便进行后续处理或转换。
- 映射数据流| ADF 提供了“无代码 ETL”,使您能够使用基于 UI 的向导创建和重用数据转换图。这种转换是在 Spark 集群上自动完成的,不需要您维护或管理自己的集群。
- Azure Compute | ADF 可以直接在任何 Azure Compute 上运行代码,这使得您可以轻松地手工制作转换例程,并将其作为数据驱动工作流的一部分来执行。
- 数据运营| ADF 与 Azure DevOps 和 GitHub 配合使用,让您更轻松地使用自己喜欢的平台管理数据管道运营。此外,您有内置的活动来简化数据发布到 Azure 数据仓库、Azure SQL 数据库或您最喜欢的 BI 分析引擎。
- 监控&警报| ADF 与 Azure 门户上的 Azure Monitor、API、PowerShell 和健康面板无缝集成,使您可以随时监控整个数据管道的执行进度和健康状况。
想学习如何用 ADF 实现数据集成?看看这条学习路径:与 Azure Data Factory 或 Azure Synapse Pipeline 的大规模数据集成
Azure 数据工厂(ADF)的核心组件有哪些?
在这一节中,我们将看看 Azure 数据工厂工具包的核心概念和组件。
- 管道是执行一个工作单元的活动的逻辑分组。一个 ADF 实例可以有一个或多个活动管道,活动可以根据需要按顺序(链接)或并行(独立)执行。
- 活动代表流水线中的单个处理步骤。目前支持三种类型的活动—数据复制、数据转换和活动编排。
- Datasets 表示一种数据结构,它为数据存储提供了一个选定的视图,理想地用于定义(和绑定)给定活动的输入和输出。
- 链接服务表示连接字符串,活动可以使用这些字符串来建立与外部服务的连接,通常指向执行所需的数据源(接收)或计算资源(转换)。
- 映射数据流创建和管理数据转换图,该图可应用于任何大小的数据,并可用于构建可重复使用的数据转换例程库。
- 集成运行时是 ADF 使用的计算基础设施,用于在数据管道中提供完全管理的数据流、数据移动、活动调度和 SSIS 包执行任务。
在这种情况下,对我们的术语进行一些补充:
- 流水线运行是流水线执行的一个实例。通过将自变量传递给由管道活动定义的参数来激活管道。激活可以手动触发或完成。
- 触发器是一个处理单元,其结果决定何时激活管道运行。
- 参数 是只读的键/值对,由管道的运行时执行上下文填充。数据集和链接服务是强类型、可重用的参数实体,它们定义了活动的结构(数据)和连接信息(源)。
- 变量 在管道内用于存储临时值,例如,与参数一起使用以在活动、数据流和管道之间传递值或上下文。
想深入了解这些概念吗?从概念开始:Azure 数据工厂中的管道和活动
获得痛苦的云词典
说云不一定要努力。我们分析了数百万份回复,找出了最容易让学生出错的术语和概念。在这个云指南中,你会发现一些最令人头疼的云术语的简洁定义。
Azure 数据工厂(ADF)有什么好处?
以下是您应该探索 Azure Data Factory 以满足数据集成需求的七个原因:
1.企业就绪
企业级的数据集成需要可扩展且经济高效的解决方案。Azure Data Factory 是一个基于云的解决方案,可与本地和基于云的数据存储一起使用,以简化数据驱动的工作流的创建和管理。
2。企业数据就绪
Azure Data Factory 自带对 90 多个连接器的内置支持,可以轻松集成熟悉的企业数据源,并从中获取数据。
3.无代码转换
Azure Data Factory 有映射数据流和一个基于 UI 的向导,用于创建数据转换图!重用图形(模板化)并在 Spark 集群上自动执行转换(无需自己拥有或管理它们)。
4.在任何 Azure 计算机上运行代码
Azure Data Factory 有一个相当大的列表,列出了支持的计算环境和活动,使得数据管道内的任务分派和执行变得容易。
5.许多 SSIS 软件包在 Azure 上运行
Azure Data Factory 可以在 Azure-SSIS 集成运行时中运行你的 SSIS 包,提供工具来测试包的准备情况(提升& shift)并根据需要开发新的包。
6。无缝数据操作
Azure Data Factory 通过自动化部署、简单(可重复使用)的模板以及使用熟悉的 Azure DevOps 或 GitHub 工作流的能力,使数据管道操作变得简单。
7。安全数据集成
受管虚拟网络可简化您的网络并防止数据泄露。探索 Azure Data Factory 中的各种安全策略了解更多信息。
摘要
这就结束了我们对 Azure Data Factory 可视化指南的快速浏览。我们谈到了它是如何工作的,它的核心组件,以及它交付无代码 ETL 的能力。我们了解了在评估数据集成解决方案时关于 ADF 你应该知道的 7 件事。想继续吗?这里还有两个资源可以提供帮助:
- 数据曝光-第 9 频道的一个连续视频系列,讲述一切由数据驱动的事情。
- MS Learn Collection——我维护的文档和学习模块的一站式集合。
关于作者
Nitya Narasimhan 是计算机工程博士,拥有超过 20 年的软件研发经验,涉及分布式和普适计算、移动和 web 应用程序开发。她目前是微软开发人员关系团队的云倡导者,在那里她花时间进行移动和跨平台开发(针对 Azure 和微软 Surface Duo)、可视化故事讲述以及支持我们出色的开发人员社区。她是 ACG 第 21 批蓝色建设者之一。
获得更好的职业生涯所需的 Azure 技能。
掌握现代技术技能,获得认证,提升您的职业生涯。查看我们当前的免费课程或获得 7 天免费试用。无论您是新手还是经验丰富的专业人士,您都可以在 ACG 的帮助下推进您的云计算职业生涯。
Azure 中的计算机视觉视觉指南
原文:https://acloudguru.com/blog/engineering/a-visual-guide-to-computer-vision-in-azure
什么是计算机视觉?如何使用 Microsoft Azure 将计算机视觉功能集成到您的应用程序和工作流中?在本帖中,我们将用一种为视觉学习者设计的方法来解释这一点。
之前,我已经在 ACG 博客上分享了 Azure 基础知识的视觉介绍和 Azure 数据工厂的视觉指南。今天,我们将在微软 Azure 中分解计算机视觉。
关于视觉辅助线
我们中 65%的人有视觉学习能力,这意味着我们可以更快地从图像中吸收信息,因此可以更长时间地保留和回忆信息。视觉指南是高分辨率(海报大小)的图像,它使用文本和插图的组合来概述主题或内容资源。你可以把它们想象成 sketchnotes (视觉笔记),它们在学习之旅开始时提供主题的“全景”视图,帮助你建立联系并确定模式,以提高你对所学内容的理解、回忆和记忆。
想要发现其他可视指南或获得新指南的通知吗?在推特上关注 @SketchTheDocs 。
微软 Azure 中的计算机视觉是什么?
Azure 中的计算机视觉视觉指南利用了两个主要资源:同名的微软学习模块,以及认知服务下的微软文档页面。你可以在这里 下载高分辨率(海报大小)版本 。
本指南最适合用来预定您的学习旅程。在进入用代码强化概念的动手练习之前,把它作为预读材料(让你的头脑准备好相关的术语和工作流)。然后,将它作为复习后的资源来测试您的回忆,并找出覆盖范围或理解方面的差距。或者直接打印出来挂在墙上——或者用作桌面壁纸。把它当作一个方便的、简略的参考,可以补充你从其他来源学到的知识。现在让我们深入技术领域!
计算机视觉和 Azure 认知服务
计算机视觉是人工智能的一个领域,软件系统被设计成使用相机、图像和视频来视觉感知世界。
这里的挑战是,当人类和计算机看同一个物体时,他们会看到不同的东西。当人类看到一个苹果(物体)时,机器会看到一组像素值(图像颜色数据)。为了让机器更好地理解图像数据代表什么,我们使用像素值作为数字特征来训练机器学习模型。
该模型的行为类似于模式检测功能,以概率方式将计算机友好的特征(像素值)映射到人类友好的标签(对象、属性)。当我们给这个模型输入图像时,它现在可以用相关的置信度值预测一个相关的标签。在某种意义上,我们已经教会了计算机像人类一样“看”图像。
Azure 认知服务 是 Azure 基于云的服务的总括产品类别,帮助您将这种智能构建到您的应用程序或产品中。服务有客户端库 SDK(针对 Java 和 JavaScript 等流行语言)和 REST APIs(针对其他语言),它们被分为五个领域:*视觉、语音、语言、决策和搜索。*我们的重点是 Vision,目前有三项服务:
- Azure 计算机视觉——使用已有的高级图像分析算法。
- Azure Custom Vision 构建、改进和部署您自己的图像分类器。
- 人脸——使用预先存在的先进的人脸算法来检测和识别人脸。
Azure Computer Vision是一种云规模的服务,提供对一组图像处理高级算法的访问。给定一个输入图像,该服务可以返回与感兴趣的各种视觉特征相关的信息。根据您的主要目标,您可以通过以下功能探索这项服务:
视觉指南(以及相关的学习路径)探索了以下练习子集:
获得更好的职业生涯所需的 Azure 技能。
掌握现代技术技能,获得认证,提升您的职业生涯。查看我们当前的免费课程或获得 7 天免费试用,与 ACG 一起推进您的云计算职业生涯。
Azure 应用人工智能服务
快速浏览一下可视化指南,就可以看到第六个应用场景— 用表单识别器分析收据。但是 Azure 认知服务下没有列出这样的服务。那么,这在 Azure 机器学习服务生态系统中处于什么位置呢?
答案就在 2021 年 5 月微软大会上推出的新产品类别中:**应用人工智能服务。**目标是 通过在 Azure 认知服务的基础上构建,同时将技术与特定任务的人工智能或针对特定用例定制的业务逻辑相结合,加快人工智能的应用时间 。结果是一个开箱即用的人工智能解决方案来解决常见的业务挑战,而不需要开发人员每次都以编程方式将它们连接起来。然而,由于它们建立在 Azure 认知服务之上,开发者总是可以选择从头开始创建可比较的定制解决方案。
目前,有六个应用人工智能服务选项,包括:
- 表单识别器–自动从图像和文档中提取和输入结构化数据。
- Metrics Advisor–在时序数据中执行数据自动化和异常检测。
- 认知搜索–云级搜索,内置人工智能功能,可搜索所有类型的内容。
- 沉浸式阅读器–旨在提高所有学习者阅读理解能力的包容性工具。
- 机器人服务–使用预建组件快速创建可定制的对话体验。
- 视频分析器–构建由视频智能支持的自动化应用。
在 Microsoft Azure 中使用计算机视觉
视觉指南的结构与学习路径提供的六个示例(模块)相匹配。在这一节中,我们将简要探讨每个应用程序,并为动手练习做好准备。
1。使用计算机视觉服务分析图像
本模块关注计算机视觉服务的核心价值主张— 图像分析。使用这个服务端点,您的应用程序(客户机)提交一个图像,并获取图像中各种可视特征(和属性)的详细信息。客户端还可以执行一系列与图像处理相关的任务。您可以做的事情包括:
- **生成字幕:**获取你的图片的人性化描述(对 alt-text 有用)
- **标记视觉特征:**获取可以作为图像元数据的属性
- **检测物体:**认为有标记,但用定位被识别的物体(包围盒坐标)
- **检测品牌:**针对商业标识(参考数据库)进行专项对象检测
- **检测人脸:**想专门检测对象为的人脸(预测年龄,识别名人)
- **对图像进行分类:**使用父子层次结构对图像进行分类(类别选项的有限集合)
- **检测特定领域内容:**支持的领域模型包括地标和名人
- **光学字符识别:**从图像中打印或手写的内容区域读取文本
请注意,这是一个基本的人脸图像分析服务。对于高级人脸算法,可以直接使用 Azure Cognitive Services 的 Face 服务端点,并执行更复杂的任务,如检测情绪、头部姿势或是否有面罩。
作为开发人员,从创建相关资源开始——您有两种选择。如果您计划只使用图像分析功能,或者希望单独跟踪每个认知服务的成本和利用率,请使用 Azure 计算机视觉资源(有针对性的)。如果您计划使用许多认知服务功能,并希望方便地一起管理它们,请使用 Azure 认知服务(broad)资源。对于图像分析用法的实践代码教程,从这里开始。
2。使用自定义视觉服务对图像进行分类
本模块关注定制视觉服务的核心价值主张— 图像分类。这是一种学习技术,您为机器提供训练数据(图像和相关类别),并训练它检测和发现将数字特征(像素数据)与人类概念(类别标签)联系起来的模式。经过训练的模型可以发布以向客户公开服务端点。使用这个服务,客户端发布一个图像,并获得一个预测的类(带有相关的置信度得分)。
使用自定义视觉服务,您可以通过以下两种方式之一上传训练数据来训练您的图像分类器:使用门户(基于无代码 UI 的工作流)或使用 SDK 或 REST API(代码优先的方法)。使用包括两个步骤:训练(创建模型)和预测(发布模型)。和以前一样,您可以使用专用的定制视觉服务资源,或者通用的 Azure 认知服务资源,用于任一阶段或两个阶段。你甚至可以随意混合搭配。对于图像分类用法的实践代码教程,从这里开始。
3。使用定制视觉服务检测物体
该模块主要是为物体检测创建自定义模型。通常,这需要深度学习技术的高级知识和大型训练数据集,但使用定制视觉服务可以让我们在没有数据科学专业知识的情况下用更少的图像实现这一点。与上面的自定义视觉服务示例中采取的步骤类似,这涉及准备您的训练图像集、将数据上传到 Azure(通过门户或使用 SDK)、训练和验证模型,然后将其发布到服务端点供客户端使用。
关键区别在于,对象检测涉及识别图像中对象的位置及其分类。这意味着需要准备训练集(图像)来识别对象的边界框(坐标),这可能很耗时。使用自定义视觉,您可以将图像上传到门户网站,并获得关于检测到对象的区域的建议;只需拖动或调整边界框区域即可提高精确度。一旦你有了一个训练好的初始集合,尝试一个智能标签方法,使用 Azure 计算机视觉服务为剩下的部分建议标签和边界框。对于对象检测用法的实践代码教程,从这里开始
4。使用人脸服务检测和分析人脸
这个模块着重于使用高级算法进行面部分析,这些算法超越了 Azure 计算机视觉中获得的基本属性。这就像对象检测的一个特例,其中感兴趣的对象是人脸。通过人脸算法,您可以执行人脸检测(返回包含人脸的图像区域)、人脸分析(返回鼻子、眼睛、眉毛、嘴唇等位置的面部标志。)和人脸识别(以基于人脸的认证应用为例)。
Azure Cognitive Services 为检测和分析人脸提供了不同的选项-用于基础分析的计算机视觉(age),用于视频内容中人脸分析的视频索引器,以及用于最广泛的人脸分析功能的 face。
人脸服务可以检测、识别和验证人脸。它可以找到其他相似的人脸,或者根据相似性对人脸进行分组。面部服务分析返回属性,包括年龄、情绪、面部毛发、眼镜、头发、头部姿势、化妆、遮挡以及图像相对于检测到面部的模糊和曝光。对于面部分析用法的实践代码教程,从这里开始
5。使用计算机视觉服务阅读文本
这个模块专注于 Azure 计算机视觉服务的光学字符识别能力,以读取图像中的印刷和手写文本。基于所涉及的文本量,有两个 API 可以使用:T4 OCR API 和读取 API T5。
6。使用表单识别器服务分析收据
这个模块侧重于一个更加实用的人工智能解决方案,该解决方案将 OCR 文本阅读能力与特定领域的预测模型相结合,用于解释表单数据,实现智能表单处理和收据和发票等文档的自动化工作流。
T5表单识别器既提供了预建的收据模型,又支持*定制模型。*预建模型被训练为识别在美国地区流行的基于英语的普通收据格式。它提取并返回交易的时间/日期、商家信息、税款和支付总额等属性。相比之下,定制模型识别并提取被分析文档中的键/值对和表数据。它可以使用您自己的数据进行训练,定制返回的属性以匹配表单的结构和上下文,基本训练需要至少 5 个表单样本。对于收据分析用法的实践代码教程,从这里开始
获得痛苦的云词典
说云不一定要努力。我们分析了数百万份回复,找出了最容易让学生出错的术语和概念。在这个云指南中,你会发现一些最令人头疼的云术语的简洁定义。
总结和后续步骤
这是对六模块学习路径和可下载的视觉指南的快速回顾,该指南提供了“大图”快速参考,以补充您在 Azure 中学习计算机视觉的实践练习。想继续吗?以下资源可以提供帮助:
此外,请查看这些 ACG 课程和动手实验:
关于作者
Nitya Narasimhan 是计算机工程博士,拥有超过 20 年的软件研发经验,涉及分布式和普适计算、移动和 web 应用程序开发。她目前是微软开发人员关系团队的云倡导者,在那里她花时间进行移动和跨平台开发(针对 Azure 和微软 Surface Duo)、可视化故事讲述以及支持我们出色的开发人员社区。她是 ACG 第 21 批蓝色建设者之一。
Azure 基础知识的可视化介绍
原文:https://acloudguru.com/blog/engineering/a-visual-introduction-to-azure-fundamentals
喂,那里!现在是 2021 年,随着对微软 Azure 等平台需求的增加,这是探索云计算世界的绝佳时机!任何想要提升职业水平的人都可以通过开发云技能来实现。有值得赢得的荣耀——只需遵循(学习)路径,征服“c”(认证)怪物,迎接您的最终挑战!
我们去冒险吧!
但是一个勇敢的冒险家应该从哪里开始呢?无论您是初学者,还是经验丰富的 IT 专业人员或应用程序开发人员,答案都是一样的。学习基础知识。然后获得行业认可的认证来验证你的知识。并在真实的云环境中探索这些想法,将抽象的“知道”转化为应用的“做”
为什么从微软 Azure 开始?Azure 拥有 200 多种产品和服务来帮助您“*使用您选择的工具和框架构建、运行和管理跨多个云、内部和边缘的应用程序。”*随着 95%的财富 500 强企业使用 Azure,拥有 Azure 基础认证可以成为一项有价值的投资推动您的云事业。
从 Azure 基础开始!(一位云专家的微软 Azure 基础课程在 2 月是免费的,还有 ACG T2 图书馆的其他几门 Azure 实践课程。)
自学可能很有挑战性,但这里有一些东西对我有帮助。使用习惯跟踪器来保持责任感。加入云技能挑战(像这个)让它变得有趣!完成它也可能给你的认证折扣。别忘了还有很棒的社区资源,比如学习指南、在线课程和论坛。以下是我的最爱:
想象一下:“我的云中有一辆卡车吗?”
为什么要等?让我们从 Azure 基础知识的介绍开始我们的学习之旅。我将用一个视觉故事的方法来解释它。为什么?因为我们 65%的人是视觉学习者!我们喜欢看到“大画面”,能够更快地从图像(相对于文本)中吸收信息。而且,它帮助我们更好地记住和回忆那些想法。
视觉故事讲述是关于使用视觉词汇(带有颜色、字体、图标和图形元素)来捕捉核心信息(例如,通过草图标注)或传达复杂的想法(例如,使用视觉隐喻)。我们的大脑具有探测模式的能力,并将这些模式与熟悉的图像或概念“联系起来”,帮助我们转移学习以更好地理解新事物。
这里有一个我用来理解云计算的视觉传输隐喻的例子。根据定义,云计算是通过互联网提供计算服务的“T2”,使用随用随付的定价模式有哪些相关概念可以帮助我们建立其他联系?
对我来说,是术语“*交付”*激发了这个比喻。在我的脑海中,我设想云服务器(卡车)通过互联网(公共道路)从企业(内部)向客户(*地区)*交付服务(产品)。它并不完美——但很有效!
现在,我可以把这个想法与 现收现付 定价联系起来——只为你在云中使用的支付*—用公用事业(例如,过路费、停车计时器)来类比。企业可以租用资源,而不是直接拥有它们。反过来,他们浪费更少的资源(自有资产没有空闲时间),并且更灵活地应对变化(在高峰时间走不同的路线)。*
想象一下:“从固定卡车到灵活的牵引拖车!”
还和我在一起吗?让我们看看是否可以用 sketchnote 介绍Azure 基础知识来构建这个比喻。AZ-900 需要的【描述核心概念】技能有:
- 定义— 云计算,共享责任模式。
- 云计算类型(部署模式)——公共、私有和混合、和比较。
- 云计算的优势— 高可用性、可扩展性、弹性、灾难恢复和敏捷性
- 云服务类别(服务模式)——IaaS,PaaS,SaaS。另外,定义 无服务器计算
上面的 sketchnote 总结了模块内容,我们用微软 学习对它们进行了分解,但是让我看看我们是否可以使用卡车的比喻来搜索这些概念,以帮助我们扩展我们的理解。
搭建舞台:云机器和拖拉机拖车
“云”由服务器组成(托管在数据中心,由云提供商管理)。企业(又名云租户)和企业客户(又名云客户)可以通过互联网访问它,提供对这些资源的全球访问。
我认为“服务器”有三个部分:物理硬件(基础设施)、业务应用(软件),以及它们之间的操作中间件(平台)。
- 基础设施=处理、存储、网络
- 平台=操作系统、应用运行时和增值支持服务
- 软件=业务应用程序(用户界面和体验+交互数据)
在*物理机器中,*基础设施和平台是紧密耦合的。资源可能未得到充分利用(当负载较轻时)或性能不佳(当负载较重时),从长远来看会降低成本效益。
一个虚拟化层从中间件(平台)中抽象出硬件(基础设施),创建一个虚拟机(VM) “沙箱”,可以在不同的硬件“机箱”上运行,而平台组件不必知道底层的变化或差异。现在,相同的物理硬件可以托管多个虚拟机来优化资源使用,并且一个虚拟机可以按需在不同的物理主机上运行,以支持负载或需求变化。
使用云操场进行训练
正在寻找一种无风险的方法来部署应用程序?无论是个人学习者还是企业团队,云大师的云游乐场都是您的首选云沙盒服务。
太好了!但是这怎么符合我们的运输类比呢?让我们看看这个类比是否有效:
- 物理机就像一辆单体卡车。驾驶室(“牵引车”)和平台(“拖车”)不能分开使用,因此随着客户需求的增加,我们的卡车容量可能会利用不足(轻载)和超载(空间不足)。
- 拖车挂接就像一个虚拟化层。通过将牵引车与拖车分离,我们现在可以支持更灵活的配置来满足需求。企业可以扩大规模(为同一辆拖拉机增加更多拖车)或扩大规模(增加更多拖车实例)以适应需求变化或要求。而且,我们现在在拖车类型上有了更多的灵活性。
机会是,如果你想得更多,你也许能在上下文中探索其他的类比。
为什么要迁移到云:“便宜+无限制的拖拉机/拖车–全球范围!”
传统上,企业拥有并运行自己的"*内部服务器,"承担服务器维护和升级的所有成本和工作。这类似于拥有一个卡车车队,这样你就可以提供你的服务。借助虚拟化,企业可以将其基础设施(卡车)与其平台(拖车)选项分开,并获得从第三方提供商处租赁(相对于拥有)*任一资源的灵活性。服务仍然可以交付,但是外包维护降低了他们的运营成本,并使他们能够根据需要扩展使用。
在这里,云提供商就像全球运输公司一样,拥有几乎无限的拖拉机和拖车,可以在世界各地的*使用。*云租户(企业)可以在他们需要的时候(需求驱动、基于配置)在他们需要的地方(地理分布)租赁他们需要的东西(资源),从而为他们的客户提供最佳的交付性能和体验。
云提供商现在也像公用事业公司一样,在他们租用的所有资源上附加 T2 计量表,这样你只需为你使用的资源付费。从长远来看,与购买和维护自己的服务器资源的开销相比,的规模经济(“你做的越多,成本越低”)使得租用云资源更加便宜。
云计算类型:了解部署模型
有了这个类比,让我们来解决云部署模型!有 3 种云类型:
- Private = 计算资源由一个企业或组织的用户独占使用。
- 公共服务(Public)=通过公共互联网向任何想租用的人提供的服务。
- 混合环境将两者结合起来,在它们之间共享数据和应用程序。
现在,让我们从拖拉机和拖车类比的角度来看这个问题。
- 私有云=企业拥有并管理自己的车队。您拥有完全控制权(数据、安全性)并承担所有责任(成本、维护)。
- 公共云=您从一家全球公司租赁卡车,其他人也在使用。资源可以共享或重用,SLA 可以帮助您建立成本-安全性权衡。
- 混合云=您拥有一些卡车/拖车,并租赁其他卡车/拖车,因此您的产品和客户数据可以同时用于这两者。为您提供了从私有云到公共云的良好迁移路径,您可以在其中逐步过渡您的运营职责。
云计算服务模式:IaaS、PaaS、SaaS
部署模型反复支持云迁移路径(从内部部署到公共云),帮助您在评估对业务的影响的同时平衡安全性-成本权衡。
- 虚拟化物理机器=将拥有的单体卡车替换为牵引拖车
- 将虚拟机移动到云=挂接拥有的拖车到租用的拖拉机(硬件)上
- 转向虚拟云服务=用租赁的拖车服务替换自有拖车
- 专注于创新我的软件=专注于改进产品,而不是管理基础架构
现在,我对我租用的东西采取“随用随付”的方式,不再需要为硬件或平台组件的维护付费。我可以毫不费力地利用最新的新硬件或平台增强来提高性能或创新。
这就引出了我们的下一个话题:云计算服务模式。有三种类型:
- IaaS (基础设施即服务)=最接近管理物理服务器的机器。云提供商维护硬件,租户管理网络、虚拟机(和应用程序)。
- PaaS (平台即服务)=托管的托管环境。云提供商管理虚拟机和网络,租户部署/管理他们的应用。
- SaaS (软件即服务)=托管应用环境。云提供商负责应用环境的所有方面(虚拟机、网络、应用和数据存储)。租户带来他们的客户数据并配置/使用应用服务。
从我们的运输类比的角度来看,这是怎么回事?
- Iaas =您租用拖拉机,并自带拖车(带着您的产品)
- PaaS =您租赁拖拉机,并提供符合拖拉机要求的拖车服务——专注于产品
- SaaS =更加微妙,但请将此视为为您的产品提供的生产力服务,这些服务是您之前在内部构建的,但现在是一种商品,因此您可以租用它们。您需要做的只是迁移您的客户数据以使用新的服务。
云计算的好处:价值!
迁移到云给了你“能力”。让我们在我们的交通隐喻中重温这些,看看我们是否能直观地理解它们。
- 可靠性 = 您的客户看不到明显的停机时间(基于 SLA) 。这就像拥有无限的拖拉机/拖车意味着您可以通过更换物品来快速处理故障,并允许不间断地继续交付。
- **可伸缩性 = 通过纵向扩展(容量)或横向扩展(实例)来适应变化的负载或需求的能力。这就像给一辆牵引车添加更多的拖车(纵向扩展)或给你的交付计划添加更多的牵引车/拖车实例(横向扩展)。
- **弹性 = 配置部署以适应不同需求的能力。它就像一辆有许多拖车挂接装置选项的拖拉机。只需针对您现在需要的负载进行定制。
- 敏捷性 = 对部署进行配置更改的速度。把这想象成一辆赛车的“中转站”。系统(维修站工作人员)能以多快的速度实时重新配置服务,并让它回到比赛中,以便它仍然具有竞争力?
- 灾难恢复 = e 确保应用(客户)数据无论发生什么都是安全的。在我们的运输类比中,这就像添加选项来保护您的货物(标记为易碎),监控其状态(添加跟踪 id),如果丢失了就替换它(添加保险)等。
结论
**这是一篇很长的帖子,但希望它在两种情况下都是有用的。首先,我希望它能激发你对云计算的兴趣,并激励你 学习 AZ-900 认证。第二,我希望它能启发你探索视觉叙事技巧,以建立你对这些材料的理解、记忆和回忆。
用 sketchnote 刷新你的记忆。更好的是,探索你自己的视觉隐喻,创建你自己的视觉笔记并分享它们。访问我的 sketchnotes 库 cloud-skills.dev 。提交一份 PR 来包含你的 sketchnote 或者关注我的 Visual Azure 项目来探索我在 Azure Fundamentals land 中的更多视觉故事冒险。**
关于作者
Nitya Narasimhan 是计算机工程博士,拥有超过 20 年的软件研发经验,涉及分布式和普适计算、移动和 web 应用程序开发。她目前是微软开发人员关系团队的云倡导者,在那里她花时间进行移动和跨平台开发(针对 Azure 和微软 Surface Duo)、可视化故事讲述以及支持我们出色的开发人员社区。
ACG 社区峰会新闻综述:宣布新功能和课程
新的 AWS 云从业者考试课程
根据您的反馈,我们最近对我们的亚马逊网络服务(AWS) 认证云从业者(CCP)课程和我们的 AWS 认证解决方案架构师助理(CSA-A)课程进行了一些重大修改,正如在本周早些时候的 ACG 社区峰会上宣布的。在本帖中,我们将深入探讨新的 CCP 课程,我们改变了什么,以及为什么。
当我开始对我们的 AWS 认证云从业者课程进行更新时,我知道它会很特别。我们有机会从课程背后的学习理念入手,重新构思最受欢迎的云计算大师课程之一。
我们听说您想要一种互动的学习体验,因此我们将您的反馈作为重新设计课程的基础。
今天,我想与大家分享我们对学习体验所做的改进,这些改进将帮助你成为一名高效的学习者,让积极参与学习过程。我敢打赌,您成为 AWS 认证云从业者的旅程将是一个令人难忘的旅程!
看点:解决“无经验”云招聘问题
没有工作就拿不到经验。没有经验不能录用。这是一个多云的第 22 条军规!观看这个关于云计算职业的免费点播网络研讨会,其中包括我们帮助数十人获得第一份云计算工作的挑战中的见解。
新的 AWS 认证云从业者(CCP)课程
AWS 云从业者考试面向技术方面的绝对初学者,以及业务专业人员——项目和产品经理、财务资源和高管——他们希望熟悉 AWS,并追求基础级别的 AWS 认证。
对我们的 AWS 认证云从业者课程的最新更新,提供了支持交互式和非线性学习旅程的增强体验。
这是什么意思?嗯,简而言之,不要再玩滑梯了!相反,每一课都以网页的形式呈现,你应该与之互动!
你可以在 CCP 课程中亲自看到这一点。。。或者你可以在这里先睹为快!
我认为您会喜欢这种体验,因为您能够:
- 滚动浏览主题。
- 点击了解更多信息。
- 直接跳转到你最关心的课程。
- 访问直接跳转到官方 AWS 文档的快速链接,这样您可以更深入地了解。
和往常一样,本课程有动手实验(这样你就可以边做边学)和部分测验来给你及时的反馈(这样你就知道哪里需要改进)。
那么,你怎样才能最好地体验新课程呢?嗯,这门课程旨在成为一种引人入胜的相关学习体验,既能满足你的需求,又能推动你更上一层楼。
如果您在观看课程时有时间限制,您可以像以前一样只观看视频课程。但是,如果您有更多的时间来探索和参与课程,您可以跟随我并使用课程的相关网页与每个课程进行互动。每个视频课程都有一个网页!
真正特别的是,网页充当了某种内置的学习指南。这意味着该网页可以在考试前用作快速复习。不需要再看课程视频了(除非你真的很喜欢我的声音)!
我们真的很开心跳出框框思考如何重新想象学习体验。因此,请查看新的 AWS 认证云从业者课程!我们希望你喜欢这种新的学习体验。请让我们知道你的想法!
还更新了:AWS 认证解决方案架构师助理(CSA-A)课程
下面是我们的新 AWS 认证解决方案架构师助理(CSA-A)课程中一些变化的简要概述。成千上万的学习者已经参加了 ACG 联合创始人 Ryan Kroonenburg 的 CSA-A 课程,为 AWS 云认证做准备。现在这门课越来越好了。
新课程引入了额外的动手实验,并以我们全新的挑战模式实验为特色。
AWS 认证解决方案架构师助理认证让您对 AWS 有一个全面的了解,并为您将来学习其他内容打下了坚实的基础。它连续多年成为薪酬最高的云认证薪酬是有原因的。
CSA-Associate 认证侧重于核心 AWS 服务,如身份和访问管理(IAM)、虚拟私有云(VPC)、S3 和 EC2。学习这些核心服务将让您很好地理解 AWS 如何处理安全性、网络、数据存储和计算能力。对于任何刚接触云计算的人,我们推荐我们的 AWS 解决方案架构师助理课程,作为您获得 AWS 云从业者认证后的下一个最佳选择。
已经注册了这些课程的现有版本?
我们现有的课程版本仍将为您的云认证考试做好充分准备。由你来决定是否愿意转到新课程。根据您当前的课程进度,我们建议您:
如果您刚刚开始学习这门课程(<课程已完成 20)
我们建议您转到新课程,以获得最佳的学习体验。如果你已经完成了
课程的 20%>,你不需要切换到更新的课程。自这些课程上次更新以来,AWS 尚未对其认证考试进行更新,因此现有课程仍将为您的考试做好充分准备。但是,请注意,本课程不会反映对 AWS 环境用户界面所做的更改(尽管 AWS 服务和功能保持不变)。
发展 AWS——和 ACG 一起学习一些 AWS 技能。
无论你是云新手还是经验丰富的专家,云专家都能让你轻松(也很棒)地提升自己的云职业生涯。查看 ACG 目前的免费课程或立即开始免费试用。
ACG 十大趋势动手实验室
原文:https://acloudguru.com/blog/business/acgs-top-10-trending-hands-on-labs
云认证是验证你的知识的一种很好的方式,并且认证具有重要的商业价值,但是没有什么可以取代在真实环境中的实践学习来获得真实世界的经验。
ACG 云游乐场为个人和商业学习者提供了一个在真实环境中提高技能的安全空间,没有安全风险或意外账单。超过 1,700 个动手实验室,从新手到专家,是时候在我们的云游戏环境中动手了。
这里是我们社区用来学习 AWS、Azure、GCP 和其他云计算技术的十大最受欢迎的实践实验室。你最喜欢的实验室是什么?
亚马逊网络服务(AWS)实践实验室
在这个 AWS 动手实验中,您将创建和配置一个简单的静态网站。我们将通过自定义错误页面来配置静态网站。
本实验演示了如何为包含 HTML、CSS、JavaScript、字体和图像等文件的网站创建经济高效的网站托管。(已经是 ACG 会员了?在这里启动实验室。)
AWS Lambda 允许你创建函数,你只需要担心管理你的代码。AWS 为您处理底层基础设施。
这个HelloWorld函数将让您看到入门是多么容易。在本实验中,您将有机会探索 Lambda 控制台、功能代码、执行角色、测试事件和执行结果。(获得了 ACG 会员资格?跳进这个实验室这里。)
微软 Azure 动手实验室
这个动手实验介绍了 Azure 门户。在实验过程中,您将回顾导航元素、常见活动的演练、了解如何查找资源以及如何创建和修改自定义控制面板。(获得了 ACG 会员资格?在此动手。)
在这个动手实验中,我们将使用 Azure 门户创建和使用虚拟机。
我们将登录 Azure 门户,并为虚拟机创建一个虚拟机、一个虚拟网络和一个网络接口卡。然后,我们将通过 RDP 连接到虚拟机。最后,我们将使用 Azure 门户关闭虚拟机。(ACG 会员?试试这个实验室这里。)
HashiCorp Terraform 动手实验室
5。 安装 Terraform 并与 Terraform 提供商合作
在本次动手实验中,我们将在 Linux 操作系统上安装和配置 Terraform。我们还将探讨如何从众多公开的提供者中选择和使用一个 Terraform 提供者。
在实验过程中,我们将下载并安装 Terraform 二进制文件,克隆 Terraform 提供商的代码,并使用 Terraform Apply 部署代码。(已经有 ACG 账户了?在这里启动实验室。)
Terraform 模块是提取重复代码块的好方法,使其可以在其他 Terraform 项目和配置中重用。
在这个动手实验中,我们将从头开始编写一个基本的 Terraform 模块,然后进行测试。在实验过程中,我们将为 Terraform 项目创建目录结构。(ACG 会员?试试这个实验室这里。)
Kubernetes 动手实验
7。 用 kubeadm 构建一个 Kubernetes 1.21 集群
本实验将让您练习使用 Kubeadm 构建新的 Kubernetes 集群的过程。您将获得一组 Linux 服务器,并且您将有机会将这些服务器转变成一个正常运行的 Kubernetes 集群。本实验将帮助您掌握在现实世界中创建自己的 Kubernetes 集群所需的技能。(ACG 会员?开始这里。)
初始化容器是定制容器启动的好方法。本实验将允许您通过使用 init 容器解决现有 Kubernetes 集群中的问题来测试您对 init 容器的了解。
在本实验中,您将创建一个使用 Init Containere 延迟启动的示例 pod,然后通过创建服务并验证 pod 是否启动来测试您的设置。(ACG 会员?在此动手。)
谷歌云平台(GCP)动手实验室
9。 在 Google Cloud 上创建和管理 IAM 角色
谷歌云身份和访问管理(IAM)服务是整个平台的关键网关。
在本动手实验中,您将向团队添加一名新成员,其预定义角色为计算网络管理员。然后,您将通过创建自定义角色来扩展该成员管理防火墙规则的职责。(如果你已经是 ACG 的会员,请点击此处。)
10。 在谷歌云创造我们的第一个 VPC
在 Google Cloud,我们必须从基础开始我们的学习过程!这就是虚拟专用云网络(VPC)发挥作用的地方。虚拟专用云网络帮助您构建所有资源的空间,并为您的所有服务提供网络。
在本实验操作中,您将创建一个 VPC,创建一个自定义子网,设置 IP 地址范围,并验证 VPC 是否已正确创建。(ACG 会员?点击查看本实验室。)
边做边学
学习一件事情的最好方法就是去做这件事情。这就是为什么我们的学习图书馆装载了数百门课程和数千个创新实践实验室。我们独特的体验式方法让人们安全地进行实验,制造快乐的小意外,并更快地发展技能。只有和 ACG 在一起。
ACID 和 AWS DynamoDB 交易:全有或全无的来龙去脉
原文:https://acloudguru.com/blog/engineering/acid-aws-dynamodb-transactions
有智慧的老 人 物种来历不明曾经 称 ,“做。或者不要。没有尝试。”不管你是想让一个 12,000 磅重的 X 翼从达戈巴沼泽中浮起,还是想编写要么全有要么全无的数据库云事务,这个明智的建议听起来都是正确的。有时候亲密并不能解决问题。
以网上金融交易为例。假设你欠你朋友昨天的午餐钱。你打开 Venmo,找到你的朋友,键入“10”作为你想寄给他们的 10 美元,加上一个比萨饼表情符号,然后点击支付。但是,奇怪的是,你习惯在几秒钟后收到的通知并没有出现。出事了。那现在怎么办?你的 10 美元在电子以太中丢失了吗?你的朋友还会请你吃午饭吗?
在这种情况下,除非 pizza-payback 操作的所有部分都已完成,否则您不希望写入或更新任何内容。为此,我们可以求助于 AWS DynamoDB 事务。
什么是 DynamoDB 事务?
DynamoDB 是亚马逊的可扩展 NoSQL 数据库服务。如果您曾经使用过 DynamoDB,您可能已经注意到,当您需要在表内和跨表创建多个全有或全无操作时,事情变得复杂了。这也是为什么 2018 年末,亚马逊 推出 DynamoDB 交易。
DynamoDB 事务用于 支持需要全有或全无方法的任务关键型应用程序, 即使系统出现中断 。它们允许云工程师将复杂的业务逻辑实现到单个原子事务中,该事务可以由多个相关任务组成。这意味着它们对于处理订单履行和管理、处理 金融交易,或者 构建多人游戏 非常有用。
酸:对人类有害,对交易有益
如果说科幻小说和电子游戏教会了我们什么,那就是酸是有害的。当你从一个平台跳到另一个平台时,你不会想掉进去,如果你正在处理一个异种感染,你需要聪明地进行消灭,以免烧穿你的船或者你自己。但是在交易的世界里,酸是一个非常好的东西。
ACID 事务的概念比 DynamoDB 事务早了几十年。但是 DynamoDB 事务可能是 ACID 事务。ACID 是一个(awesome)缩写词,用于描述数据库事务的四个理想属性。
原子: 每笔交易都被视为一个单元,不能部分完成——这是它们全有或全无的关键因素。
一致: 交易有效,必须以有效状态离开数据库。这可以防止数据库被破坏或遭受数据完整性问题。
孤立: 不同的事务并不相互依赖。即使它们被并行或顺序处理,最终事务的效果是一样的。
持久: 已提交的事务将保持提交状态,因为数据被写入磁盘,而不只是保存在内存中。因此,即使系统出现故障,如断电,也不会出现故障。
DynamoDB 交易进行中
回到我们之前的 pizza-return 案例,您可以看到为什么 ACID 事务对于成功使用云至关重要。涉及到几乎同时发生的多个步骤。
接收转账请求→验证发起账户有足够资金→借记发起账户→贷记接收账户
这些步骤几乎同时发生,需要全有或全无的执行。这就是为什么 ACID 交易对于成功使用云至关重要——对于偿还你的披萨债务也是如此。
您可以在我们的 AWS 认证开发者助理课程 中了解更多关于 DynamoDB 事务 。
Active Directory vs Azure AD:有什么区别?
Active Directory vs Azure Active Directory:有区别吗?
有很多不同的路径会把你引向 Azure Active Directory (Azure AD)。也许您已经在您的组织中推出了 Office 365。也许你正在将一些虚拟机转移到 Azure 中。或者,您可能正在开发一个完全不会影响您的内部环境的云原生应用程序。
不管是什么原因,你可能会认为 Azure Active Directory 只是运行在组织服务器上的 Active Directory 域服务认证平台的 Microsoft Azure 云版本。确实是。。。但话说回来,也不是。
那么,Active Directory 和 Azure Active Directory 有什么区别呢?让我们来看看细节。
想提高您的 Azure Active Directory 技能吗?看看 ACG 为微软 Azure 广告新设的动手实验室。
认证和授权平台
首先,活动目录和 Azure 活动目录都提供认证和授权服务。它们存储用户名和密码(从技术上讲,是加密的密码散列)等信息,用于验证登录者在尝试登录时是否正确地提供了与系统中有效的活动用户相匹配的相同凭据。
它们还充当授权服务。假设您试图访问一个配置为只允许 HR 组成员使用的资源,这些目录系统有一个 HR 组及其成员列表。它比计算机帐户和服务帐户(两者都不是人)的范围要广一点,但是身份验证和授权原则是这些系统的标准功能。
身份和访问管理(IAM)
虽然身份验证和授权是 Active Directory 和 Azure AD 的功能,但系统本身也称为 IAM 或身份和访问管理系统。这意味着目录也用于。。。管理人和事物的身份以及管理对其他事物的访问。现在我们正在讨论添加、更改或删除用户帐户,更新组成员,以及用于将用户或组添加到某个事物(无论是文件还是文件夹、云资源还是应用程序)的安全控制中。
架构差异
当比较 Active Directory 和 Azure Active Directory 时,这就是相似之处的终点。这些 IAM 系统在幕后是非常不同的。
Active Directory 是 Windows Server 操作系统的一个角色,因此您现在有了一个底层操作系统来安装、更新和管理正常运行时间和性能(无论是物理服务器还是虚拟服务器)。Windows 客户端在其可访问的网络中寻找运行 Active Directory 域服务角色(称为域控制器)的服务器,因此您在不同的位置设置服务器,在彼此之间复制所有身份数据(以及任何更改)。
Active Directory 数据的结构有几个重要部分:目录架构、组织单位和域以及目录林。
- 目录模式是存储什么信息以及它与什么相关的“映射”。例如,我的模式可能包括“电子邮件地址”,每个人都会将其填充为“myemail@myorg.com”。使用 Active Directory,您可以扩展这个模式来添加额外的内容。也许您想添加“出生月份”,这样您就可以查询和庆祝每个在 12 月份生日的人,或者也许您有特定的业务属性,这些属性对于在自定义应用程序中存储和使用非常有用。
- 组织单位允许您指定一个结构,如组织图。您可以分成总部、制造、零售等部门,而不是将每个人都放在一个“用户”ou 中,这样您就可以跨不同的 OU 应用不同的设置或访问,并且可以限制数据复制到哪里,以减少网络流量。例如,将总部的数据复制到制造工厂的服务器上可能没有意义。
- 域和森林是大规模组织和分割身份验证数据的进一步方式。
有了 Azure AD,您无需管理域控制器,无需担心位置之间的数据复制,无需组织单位(但您可以管理组),也无需森林。其中一个 Azure AD 服务(Azure AD 域服务)也不支持使用架构扩展,即您可能已经添加到内部 Active Directory 环境中的自定义属性。这听起来工作量少了很多(确实如此),但对于拥有复杂的内部环境的组织来说,这也不太灵活,因为他们的定制或第三方应用程序可能依赖于其中的一些配置。
那么,我们从 Azure Active Directory 中得到了什么?本质上,您可以使用作为服务交付的身份平台(IDaaS),而这仅仅是个开始。微软管理服务的可用性和跨其全球云区域的数据复制。不需要排除故障。
您还将使用 Azure Active Directory 通过 Azure 资源管理器(包括像 Azure CLI 和 PowerShell 这样的工具)来管理对 Azure 中资源的访问。基于角色的访问控制允许您授予组或个人非常细粒度的访问权限,以对 Azure 资源类型或云环境区域(如资源组或订阅)执行操作。
额外的云好
使用 Active Directory,登录过程保持在您的公司网络中,而微软对此一无所知。
使用 Azure Active Directory,其云位置允许该目录服务受益于由微软支持的高级安全功能。其中包括:
- 一种基于“条件的”方法,用于在被评估为有风险的登录尝试期间挑战另一种形式的身份验证(MFA),这种评估是通过组织设置的参数(例如来自您没有员工的未知位置)或微软的分析检测到的行为进行的。
- 用户能够重置自己的密码,因为我们可以在允许 MFA 之前对其进行质询。
- 在第三方软件即服务应用中自动配置新用户,如 Salesforce 和 ServiceNow。有预定义的连接器,Azure AD 支持使用该系统进行跨域身份管理(SCIM)的应用程序。
- 一个智能锁定系统,可以检测来自合法用户的登录和来自未知来源的登录之间的差异,并可以区别对待它们——锁定不良行为者,同时仍然允许用户登录。
Azure Active Directory 分为免费、高级 1 级和高级 2 级。并非所有功能在所有层级都可用,有些功能与微软 365 计划捆绑销售。事实上,如果你的组织使用微软 365,它运行在 Azure Active Directory 上作为认证平台。
其中一些功能可以与您的内部 Active Directory 环境集成,如自助密码重置。
Azure Active Directory 还允许来宾帐户,您可以信任来自其他组织或其他身份系统的帐户,这些帐户带有 Azure AD B2B 或 Azure AD B2C 。这对于希望用户使用基于 OpenID Connect、OAuth 2.0 或 SAML 的现有社交或组织帐户登录的应用程序开发人员来说至关重要。
Active Directory 和 Azure Active Directory 一起使用
如果已经有一个活动目录环境,您可以将它与 Azure 活动目录一起运行,以进行云身份验证。这被称为混合身份,通常由希望为其用户提供无缝单点登录流程的组织使用,以便他们可以访问内部和云或微软 365 资源。它还使管理员不必在两个不同的系统中管理身份。
如何构建将取决于您组织的特定需求,包括是否允许将您的身份和密码散列同步到云。为了支持各种合规场景,微软支持密码哈希同步、穿越认证和联盟。
结论
云原生组织无需太多复杂即可进入基于云的身份服务,如 Azure Active Directory,但必须从 Windows 服务器环境迁移或继续管理 Windows 服务器环境的技术专家将发现 Azure AD 是一个需要学习的新事物。
任何身份平台更改都需要仔细规划和考虑,尤其是考虑到您当前的特定用途。但是你会发现 Azure Active Directory 的一些优点,包括没有管理服务基础设施的开销。
关于作者
作为微软的高级云倡导者,Sonia Cuff 与全球技术社区保持联系。Sonia 拥有 20 多年的技术经验,从大型企业和政府到小型企业和合作伙伴,她热衷于改善 IT 运营人员的工作和生活。
提升您的 Azure Active Directory 技能
一位云专家为微软 Azure AD 推出了新的独家动手实验室。拥有超过 1,600 个基于场景的实验室(还有数百个正在建设中),云专家是学习云的实用方法。立即免费开始!
添加 Jenkins 代理节点
原文:https://acloudguru.com/blog/engineering/adding-a-jenkins-agent-node
主/控制器是中央协调进程,它存储配置、加载插件并为 Jenkins 呈现各种用户界面。
代理通常是连接到 Jenkins 主服务器的机器或容器,用于在主服务器的指导下执行任务。
单一的整体式 Jenkins 安装对于项目数量相对较少的小团队来说非常有用。但是,随着您需求的增长,通常有必要扩大规模。Jenkins 提供了一种叫做“主代理连接”的方法。您可以为 Jenkins 提供代理来处理作业的执行,而主服务器为 Jenkins UI 提供服务并充当控制节点,而不是在单个系统上运行所有的构建作业。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
在这篇文章中,我想给你一个如何建立一个 Jenkins 代理的简单介绍。你可以在这里找到关于 Jenkins 代理节点的更多信息。你将需要:
我根据詹金斯版本 2.89.4 LTS 编写了这个指南。我将提供一些命令,可以用来在 CentOS 7 机器上完成所有这些步骤。
步骤 1:安装必要的软件包。
您需要在代理节点上安装一些包,比如 Java,以及运行您的构建可能需要的任何工具(Git、Maven、Ant、Gradle 等)。).我来安装 Java 和GitT5:
sudo yum -y install java-1.8.0-openjdk git
步骤 2:在代理上创建一个供 Jenkins 使用的用户。
现在我们需要在代理上创建一个用户。Jenkins 主服务器将以此用户身份登录代理,所有构建作业将以此用户身份执行。将这个用户称为 jenkins 是有意义的,我们将为他们提供一个特殊的主目录,jenkins 代理的文件将存放在这个目录中:
sudo useradd -d /var/lib/jenkins jenkins
步骤 3:生成一个 ssh 密钥。
接下来,我们需要生成一个 ssh 密钥。Jenkins 将使用这个密钥向代理节点进行验证,并作为 jenkins 用户登录。这个密钥几乎可以在任何 Linux 机器上生成,但是您也可以在代理节点本身上生成:
ssh-keygen
该命令将提供一系列提示。请随意使用默认值。从安全角度来看,在出现提示时输入密码可能是一个好主意,如果您这样做,请确保记下您使用的密码,因为您以后会需要它。该命令将输出两个文件: id_rsa 和 id_rsa.pub 。如果您已经熟悉了在 Linux 中使用 ssh 密钥的过程,那么这将是您非常熟悉的,但是如果没有,不要担心。我会教你如何使用这些钥匙!默认情况下,这些文件位于 ~/中。ssh/ 。当您运行 ssh-keygen 时,您可以选择指定另一个位置。
第四步:在代理节点将公钥添加到詹金斯用户的 authorized_keys 文件中。
接下来,我们需要将公钥( id_rsa.pub 的内容)添加到我们之前创建的 jenkins 用户的 authorized_keys 文件中。这将允许任何拥有私钥的人(在我们的例子中是 Jenkins master)作为 jenkins 用户登录到代理节点。首先,我们需要创建 authorized_keys 文件所属的目录,然后我们可以创建文件本身:
sudo mkdir /var/lib/jenkins/.sshsudo vi /var/lib/jenkins/.ssh/authorized_keys
复制前面生成的 id_rsa.pub 文件的全部内容( ~/)。ssh/id_rsa.pub 默认)粘贴到 authorized_keys 中,然后保存。
第五步:通过 Jenkins UI 添加 Jenkins 代理节点。
现在我们准备好通过 Jenkins UI 完成节点的设置。在 Jenkins 中,进入管理 Jenkins ,然后管理节点,再点击新建节点。在这里你可以给你的代理节点起一个名字,然后选择永久代理,点击 OK 。这里有多种选项可以用来定制您的节点。我们现在关心的是发射方式。
- 对于启动方式,选择通过 SSH 启动从代理。
- 在主机字段中输入您的代理节点的主机名或 IP 地址。
- 点击证件旁边的添加按钮,选择詹金斯范围。
- 对于凭证,使用私钥将种类设置为 SSH 用户名。
- 输入 jenkins 作为用户名。
- 对于私钥,选择直接输入。然后,复制您的私钥文件的内容( ~/)。ssh/id_rsa 默认)并粘贴到 Key 框中。
- 如果您在生成密钥时使用了密码短语,请为密码短语输入密码短语,否则,将其留空。
- 输入一个描述 id 和描述,然后点击添加。
- 点击保存保存新节点。
第六步:确保一切正常。
您的新节点现在应该出现在节点列表中。您可能会注意到节点图标上有一个红色的 X。这表明它没有连接,但那是因为我们刚刚添加它,它还没有机会连接。等待几秒钟并刷新页面,红色 X 将消失,表示节点已连接。**恭喜你!**您已经成功创建了一个 Jenkins 代理节点!
有兴趣了解更多关于 Jenkins 的信息吗?查看我们的詹金斯基础课程,积累基础知识。或者,试试我们的认证詹金斯工程师课程,为你准备认证詹金斯工程师考试。
掌握最受欢迎的技能
无论您是云新手还是经验丰富的专家,云专家都可以让您轻松(而且非常棒)地提升您的云职业生涯。查看 ACG 的免费课程或立即开始免费试用。
AWS VPC:部署无服务器多区域活动后端
一个被问了几次的问题:如何在亚马逊 VPC(虚拟私有云)中部署无服务器的多区域、主动-主动后端**?**我想,如果我能进一步推进我们的方法,并改进解决方案来回答这些问题,那就太好了。
什么是 VPC?
VPC 提高了隐私和安全性,尤其是对于具有严格合规性和审计要求或敏感数据的应用。通常,您使用 VPC,这样就无法从公共互联网访问 VPC 内部的资源。这些资源可以是 AWS 服务资源,比如您的数据仓库、缓存集群或数据库。
因为默认情况下,Lambda 函数不能访问 VPC 中的资源,所以我们必须做一些额外的工作。
如何允许λ进入 VPC?
为了允许您的 Lambda 函数访问您的 VPC 内部的资源,我们必须提供额外的特定于 VPC 的信息,例如 VPC 子网 id 和安全组 id。该信息用于建立弹性网络接口 (ENI) ,该接口使得 Lambda 功能能够连接到 VPC 内的资源。
此外,我们还需要启用 DynamoDB VPC 端点并将我们的 VPC 路由信息添加到其中。
注 :为了多样性,我将从命令行界面(CLI)创建一切,但你当然也可以从控制台做一切🙂
让我们开始吧!
提升您在云中的职业生涯
希望提升您的云计算职业生涯?免费与云专家一起开始,了解我们的实践方法如何帮助您掌握现代技术技能。
建立 VPC 网络基础
第 1 步——创建我们的 VPC
当然,我们首先需要在我们想要部署后端的每个地区创建我们的 VPC。在这个例子中,我将使用美国东部-1 和美国西部-2 地区。
在 us-west-2 地区做同样的事情。
第 2 步—在每个 VPC 内部创建一个子网
注意: 您可以在每个可用性分区中添加一个或多个子网,事实上,您应该这样做,因为这是最佳做法。
当然,我们需要为 us-west-2 地区做同样的事情。
步骤#3 —获取每个 VPC 的路由信息
在 us-west-2 地区重复此操作,并将“ RouteTableId ”字段信息放在身边,因为您稍后会用到它。
创建 DynamoDB 全局表
这与我上一篇文章中的 步骤#1:在 DynamoDB 中创建一个全局表非常相似:
很好,现在我们有了一个全局表,可以从 VPC … 中的 Lambda 函数访问它,是这样吗?
嗯……不!!!我们的默认 DynamoDB 全局表还不在 VPC,所以它被视为公共互联网。既然我们已经将 Lambda 函数配置为在 VPC 内部运行,我们需要为 DynamoDB 创建一个我们称之为的 VPC 端点。
dynamidb 已经提供了数据保护和安全性,使用 TLS 端点进行传输加密、客户端加密库、以及使用 AWS 身份和访问管理(IAM)的细粒度访问控制,那么我们为什么要为 dynamidb 使用 VPC 端点呢?
简而言之,它进一步提高了隐私和安全性,特别是对于具有严格合规性和审计要求或处理敏感数据的应用程序。
事实上,如果您从 VPC 连接到 DynamoDB,您不再需要互联网网关或 NAT 网关,因此您的 VPC 保持关闭并与公共互联网隔离。VPC 端点还提供简化的网络配置,使您无需设置和维护防火墙来保护您的 VPC 免受网络攻击。
更高的安全性=更满意的客户
步骤 4——为 DynamoDB 创建一个 VPC 端点
步骤#5 —将 VPC 路由添加到 DynamoDB 端点
这里我们需要添加之前返回给命令的"【RoutingTableId】"值。
太好了!现在,我们的 DynamoDB 全局表可以从我的 VPCs 中访问。
注意 :当然,我们需要为每个区域复制命令🙂
使用部署在 VPC 中的 API 网关和 AWS Lambda 函数创建后端
后台功能和我上一篇文章中的一样,这里没有改动;我们还有一个获取 物品 id ,一个发布 物品 id 和一个获取 生命值。
改变的是用于在 VPC 中部署 Lambda 函数和配置 API 网关的 无服务器 框架模板。****
然而,在我们这样做之前,我们需要在每个区域为我们的 Lambda 函数创建安全组。下面是默认的 入站 和 出站 规则的安全组配置为我的一个 VPC。注意到 入站 规则在源中引用了它自己吗?
****
注意 :您为某个功能选择的安全组将控制该功能对子网内和互联网上的资源的访问。所以可以随意修改。
现在,我们可以使用 无服务器 框架更新部署后端所需的_ _ all _ _VPC 字段,由于我不想管理每个地区的模板,我将使用框架支持的变量,因为它们允许用户动态替换 无服务器. yml 文件中的配置值。
**请注意模板的 VPC 部分,以及我如何使用 cool 变量语法根据我部署的地区将地区信息传递给配置?
\({file(env_\)。yml):lambdaExecSecurityGroups }
注意 :请确保将server less . yml文件中的“xxxxxxxxxxxxx”替换为您之前创建 DynamoDB 表时使用的 AWS 帐户 ID 以及 env 文件中的正确子网和安全组 ID。
在 us-east-1 和 us-west-2 中部署 API,其中部署了带有 VPC 端点的 DynamoDB 全局表。
其余的都不会改变——所以你可以从我之前的博客文章中的“第三步:创建自定义域名”开始,一路走下去🙂
瞧啊。希望你喜欢这个小小的 安可。 我计划再多几个..敬请关注!
阿德里安**
在 AWS 中采用 GitHub Kubernetes 的技巧
原文:https://acloudguru.com/blog/engineering/adopting-gitops-for-kubernetes-on-aws
上周,我有幸参加了在线的 AWS EMEA 峰会。容器是峰会的一个大主题,议程上最受欢迎的话题之一是 Kubernetes GitOps on AWS 与 Jason Umiker。
那么什么是 GitOps,为什么它对试图在 AWS 上运行 Kubernetes 的企业来说如此重要?
什么是 GitOps?
现代软件开发实践集中在三个主要活动上:
- 使用 Git 等工具进行源代码管理
- 使用 Jenkins 或 CodeBuild 等工具自动构建和测试应用
- 使用 CodeDeploy 等工具实现自动化代码部署
这些活动通常组合在一起作为持续集成管道,其中构建服务监控 Git repo 并自动触发构建以响应源代码中的变化。
将自动化的理念带到下一个层次,持续部署的实践通过在新代码成功通过构建和测试阶段后立即自动部署新代码,进一步扩展了管道。
CI/CD 相结合的方法处理流程中的每一个步骤,从提交代码变更的那一刻起,一直到部署,其巨大优势是您的应用程序可以在任何环境中工作,无论是开发、集成、试运行还是生产环境!
GitOps 利用这些久经考验的原则,允许我们将相同的理念应用于处理基础设施代码(IaC)的变更。如果基础设施是作为代码来管理的,那么为什么不将代码存储在 Git 这样的源代码控制系统中,并在每次提交更改时自动触发对基础设施的更新呢?
为什么要使用 GitOps?
工作负载向云的迁移大大加快了基础设施即代码作为资源调配方法的采用。像 CloudFormation 和 AWS Cloud Development Kit (CDK)这样的工具允许你使用熟悉的编程语言,如 JSON 和 YAML,以及 Python、Java 和. Net 来编码、建模和提供云资源
Git 是许多开发人员已经在使用的工具,因此让运营和基础设施团队也参与进来是有意义的,这样每个人都可以从管理代码的一致、简化和高效的工作实践中受益。
gitops kublantes integration
Kubernetes 支持创建、更新和删除对象的声明式方法。这意味着 Kubernetes 中所需的对象状态可以由配置文件定义。Kubernetes 部署、pods 和负载平衡器之类的服务都可以定义为代码,理想情况下,这些代码应该受到版本控制,并存储在合适的源代码存储库中,如 Git。
像 CodePipeline 和 Flux CD 这样的工具可以被配置为注意到 Git 存储库中的变化,并采取措施触发对 AWS 基础设施的更新。
Flux CD 是一个简单的实用程序,运行在您的 Kubernetes 集群上。每次您想要更新您的应用程序时,Flux CD 会定期从您的 Git 存储库中提取代码更改并为您应用这些更改,而不是手动运行类似 的命令。
默认情况下,Git 拉取频率设置为 5 分钟,但是您可以使用以下命令告诉 Flux 立即同步更改:Flux CTL sync–k8s-FWD-ns Flux
针对 AWS 中的 Kubernetes 工作负载采用 GitOps 的 5 个技巧
现在我们已经有了一些背景知识,让我们来浏览一些技巧,以便在您的 Kubernetes 部署工作流中充分利用 GitOps。
1。使用 Git 作为你的真理来源
使用 Git,你可以跟踪代码变更的全部历史。这意味着您将了解谁做出了更改,他们更改了什么,他们何时做出了更改,为什么需要更改,以及谁批准了更改。当然,这意味着确保人们在提交变更时包含适当的评论是非常重要的,引用与功能请求或 bug 相关的标签也是很好的实践。
2。每个环境使用一个 Git 分支
合并到分支的变更可以触发相应环境中的部署。您还可以考虑每个开发人员都有他们自己的分支,这样他们可以独立地迭代他们自己的变更,并且在准备好的时候将变更合并到开发或集成环境中,并根据其他人的变更进行测试,最终在准备好发布到生产环境时合并到生产分支中。
3。实践适当的变更管理
在你的拉式请求机制中,对每一项变更都要实施同行评审。如果你把你的生产环境想象成一座城堡,那么让 Git 成为你的吊桥。强制所有变更通过 Git 中的同行评审过程,并配置您的管道,以确保所有变更在发布到生产之前都通过了集成测试。这样,只有成功测试的更改才能进入 prod,确保您的应用程序可以在任何环境下工作。
4。用 Git 回滚
使用 Git,你需要做的唯一一件事就是恢复到之前的提交!例如,您可以使用类似于 git revert HEAD 的命令来回滚最新的更改并返回到之前的提交。
5。自动化一切
当然,最终目标是让一切自动化,这样 Git repo 中的任何变化都会被检测到,并触发相应环境的更新。Flux CD 是一个工具,它监视您指定的所有容器映像存储库,检测新映像,触发部署,并自动更新您的 Kubernetes 集群所需的运行配置。所以它基本上确保了 Kubernetes 集群的状态与您在 Git 中提供的配置相匹配。
对于 Kubernetes 之外的任何资源,如 RDS 数据库或 EC2 实例,您可以使用 CodePipeline 来自动触发使用 CloudFormation 应用的更改。
使用 GitOps 管理 Kubernetes】
在 AWS 中使用 GitOps 方法来管理您的 Kubernetes 基础设施是一个自然的选择。
你的应用可以在任何环境下运行。
您的开发和运营团队使用相同的工具。
你掌控着你的环境,你了解每一项变革的“批准者、批准内容、批准原因、批准时间和批准人”。此外,您还可以在需要时回滚到已知且可信的早期状态!
想要更多的食物吗?
将 Flask App 从 Elastic Beanstalk 迁移到 AWS Lambda
原文:https://acloudguru.com/blog/engineering/adventures-in-migrating-to-serverless
在纽约参加了一个云专家的 Serverlessconf 会议后,我受到启发,花了一个周末的时间来尝试实施我从研讨会和演讲者会议中学到的东西。我的目标是将我在 AWS Elastic Beanstalk 中编排的简单 web 应用程序迁移到 AWS Lambda 中的无服务器实现中。让周末开始吧!
我的简单食谱网站是一个 Flask 应用程序,它在 MySQL 数据库中查询食谱,并允许用户使用他们的 Twitter 帐户创建购物清单。
简单的 recipe 应用程序使用托管在 AWS Elastic Beanstalk 上的 Python、Flask、OAuth、JavaScript、JQuery、RDS。它并不花哨,但它是测试新技术的好地方,它让我在学习新技术时有了目标——比如无服务器!
这个网站几乎没有流量,所以为最少的资源付费真的让我很恼火。我可能会把每月 10 美元花在咖啡上。现在,它有一个由 Route 53 托管的域名和一个指向 Elastic Beanstalk 上的单实例部署的负载平衡器。在无服务器的世界里,这几乎不需要任何费用。
让我们谈谈目标:我的目标是尽可能多地提升和移动*。我知道我们可以很容易地用 DynamoDB 在 Node 中重写这一点,但我们坚持使用 Python/Flask 组合,因为这个小小的应用程序是更大迁移的代理。Flask 为我们提供了很好的服务,添加路由和调试非常简单,我们希望它能在这次过渡中幸存下来。这是周六早上,我喝了咖啡因做这件事!*
将烧瓶应用程序移动到 AWS Lambda
事实证明,有几个框架旨在使将 Flask 移动到 Lambda 变得“容易”——Zappa和Chalice——所以我们可能会在午餐时间完成*。几个小时后,很明显,Chalice 是 Zappa 的克隆,它添加了一些自动 IAM 魔法,但提供了其功能的一小部分,并需要对我的应用程序进行重大代码更改。*
我丢掉圣杯,专注于扎帕。
这个 Hello World 的例子运行得如此之好,以至于我的期望很高——但是当我试图部署我的应用程序时,我得到了当天的第一个错误。这不是一个友好的 Python/Flask 错误,而是一个长达一页的 AWS 错误,让我质疑我的职业选择。
到午餐时间,我发现 Zappa 在读取 Windows 上的文件时有问题,所以我将一个 UTF-8 默认值直接破解到有问题的 Zappa python 文件中,以继续运行。我喜欢早上技术债的味道。
哎呀,更多错误:
- Zappa 需要一系列极其复杂的 IAM 权限,似乎没有人需要将它们记录在一个地方。到处都是碎片,但我最终还是从地狱构建了一个 IAM 策略来使它工作。我避免了显而易见的“完全管理员访问”方法,试图学习一些东西并以正确的方式做事。很明显,是我的错。
- Lambda 似乎不喜欢 mysqlclient Python 库。我能找到的所有 AWS 例子都使用 pymysql ,所以我花了几分钟把它们切换出来。午餐时间结束了,我开始了漫长的下午。
- 我运行
zappa deploy dev
并等待两分钟。它上传,我在控制台看到绿色而不是红色,并得到一个 API 端点。成功!我在浏览器中剪切并粘贴网址,然后等待,等待…然后超时了。我的胜利多么短暂。这似乎不是很重要,但标志着一个野生品种鹅追逐的开始,这一天剩下的时间沉。
AWS Lambda RDS 和 OAuth 解决方案
在 Lambda 中使用 RDS 是一种反模式,因为您将扩展瓶颈推到了数据库。但现实是,即使不是大多数,也有许多 web 应用程序使用 SQL 数据库——所以我忍住了转向 DynamoDB 并继续解决这个问题的冲动。对于像我这样很少使用的爱好网站,RDS 选项仍然有效。
问题的症结在于 RDS 是一个使用 VPC 的资源。为了让你的 Lambda 函数看到数据库,它也在 VPC 中。当你打开 Lambda 函数的网络部分时,这是你可以设置它的地方。
在这一点上,如果你还没有完成任何形式的 AWS 认证,你可能应该停下来寻求一些帮助。幸运的是,我有证书——所以我可以在没有任何帮助的情况下轻松迷惑自己!
在配置了必要的安全组设置后,我刷新 URL 并加载页面。但遗憾的是,所有的菜单链接都因为一个危险的禁止错误而失败。一些快速的谷歌搜索显示,在 Zappa 中创建的 API 端点包括阶段名称*,它打破了 Flask 应用程序中的所有路线。*
关注积极的一面,至少主页是管用的。
幸运的是,这个问题可以通过使用自定义域名来解决。我使用 Route 53 和 Certificate Manager 来快速设置域,并像往常一样休息 30 分钟,而 CloudFront 会做该做的事情*。这是我的午餐加晚餐,让我在进入第二轮之前有几分钟时间理清思绪。*
部署完成后,应用程序现在成功加载了所有路线,看起来我差不多完成了。差不多。
我发现我的 Twitter OAuth 在被点击时超时了,这很遗憾,因为它是应用程序的一个关键部分。嗯,代码中没有任何错误——但是在钻研了晦涩的错误消息并到处设置日志消息后,看起来我的应用程序再也无法到达 Twitter 的 API 了。
令人沮丧的是,一旦 VPC 中有了 RDS 所需的 Lambda 函数,它就无法访问互联网。听着,这个次要但重要的点的主要文档在λ函数的网络部分的浅灰色文本中:
现在我需要一个每小时 0.045 美元或每月 32 美元的 NAT 网关,这不符合我零成本的预期。这一切似乎都是错误的。我悄悄上床睡觉,看看明天能不能解决这个问题。
周日早上:回到马背上
现在是早上 7 点,55 度,鸟儿在外面唱歌——但是我的屏幕一直停留在这个超时错误上,就像我从来没有离开过一样。我需要几秒钟来重组并提醒自己我们在这里做什么。
我有一个 Flask 应用程序,它与 RDS 对话,并使用一个简单的 Twitter OAuth 从访问者那里获取 ID——我们希望将这一切都转移到 Lambda。就是这样。为了解决这个 VPC 问题,除了支付 NAT 网关的费用之外,我认为有几个选择:
- 抛弃我的 Flask OAuth 库和那十几行神奇的代码,转移到 AWS Cognito 。由于这是 Amazon 内部的托管服务,我不需要 Lambda 函数的互联网访问。
- 删除 RDS 并将数据移至 DynamoDB。这将完全消除对 VPC 的需求,因此我可以保留现有的 OAuth 解决方案。
- 将数据库逻辑分离到它自己的 Lambda 函数中(在 VPC 内部),将应用程序的其余部分分离到 VPC 外部的函数中。这似乎很有希望。
该应用程序只有少数非常简单的数据库查询,这些查询获取食谱,计算出用户选择了哪些食谱,并计算出购物清单。在一个小时内,我构建了一个代理 Lambda 函数,它将返回这些结果集,手动打包 zip 和库(urgh ),一切看起来都很好。
我创建了一个没有 VPC 的测试工具函数来调用这个数据库函数,它返回 Python 就绪的数据行字典。看起来不错!我返回到主应用程序,更新列出所有食谱的路径——让它调用 Lambda 函数,而不是调用数据库:
此时,我只想看到 Lambda 函数返回相同的查询结果。我做了一个zappa update dev
然后等待…
看哪!没用!
玩这个,看起来当你通过 boto3 调用 Lambda 函数时,Zappa 开始抖动了。我不确定为什么——但是只有当我删除对 Lambda 的 boto3 引用时,部署操作才能再次工作。我试着调试了一个小时,但毫无进展。
我想得越多,让 Python 以这种方式调用 SQL-proxy Lambda 就越觉得奇怪。我减少了损失,并着眼于下一个选择——cogn ITO!
因此认知为哑
我对这个选择感到兴奋。Cognito 满足了您对用户管理的需求,提供了用户池、联合身份管理和各种各样的好处。原则上,我可以抛弃 OAuth,与 Cognito 集成,不再需要 NAT 网关。
除了——不是这个案例——我在接下来的几个小时里发现。
我现在在 Chrome 上打开了太多标签,我几乎看不到标题。我以前没有用过 Cognito,所以我很惊讶地发现…
- 文档很薄弱,没有针对 web 应用的全面示例。
- 它是为 Node 和 JavaScript 量身定制的,几乎没有提到 Python。
- 对于基本认证来说,这是一个太大的解决方案。在这个应用程序中,我们只需要一个 Twitter ID 来跟踪用户选择的食谱——我们不需要 IAM 权限、用户数据库或任何复杂的东西。
对于为无服务器从头开始编写的 Node 或 JS 应用程序,Cognito 无疑是解决方案,但对于我的 Python-heavy Flask 应用程序,还不清楚这将如何工作。
在谷歌上搜索 Python Cognito 示例,很快就发现我不是第一个问这个问题的人。
为什么远离 RDS?
如果我消除 RDS,我就解决了几个问题。一个是传统数据库的扩展瓶颈问题,第二个是对 VPC 的需求,它解决了我的 OAuth 的互联网访问问题。
但是困难在于跨表移植到 DynamoDB。菜谱表在一个单独的表中分解配料,还有第三个表跟踪哪些用户选择了菜谱。
它从关系世界中的几个表变成了两个 NoSQL 表——向后端添加了一些聚合逻辑。从表面上看,这是一个小的迁移,但是它确实导致重写了主应用程序查询和处理数据的方式。
这个练习的目的是提升和移位,RDS 与 DynamoDB 的切换将导致重写大约三分之一的 Python 代码。在用尽了所有其他东西(和我自己)之后,这似乎是最好的解决方案——但它并不微不足道。如果我走这条路,我还不如用 JavaScript 重新编写应用程序,完全抛弃 Python、Flask 和 Zappa。
这有点令人泄气——但这就是周末的结局。我走了相当多的路,但没有成功完成我所希望的简单任务。
匆忙下结论
这方面的大部分工作还在进行中,我很可能在这篇文章中的一些事情上是错误的。我仍然在黑暗中摸索,并真诚地在这里抛出我的结论——希望它们能引发一些对话。
Flask 不属于 编写 Flask 应用程序非常容易,我可以在这种环境下快速完成一些相当复杂的事情。但是将一个简单的 Flask 应用移植到 Lambda 似乎是错误的方法,Flask 并不真正属于那里。即使这样做了,Zappa 最终还是创建了一个与无服务器架构背道而驰的单一功能。
不要改造
这与我使用 Elastic Beanstalk 的经验相反,它使部署 web 应用程序变得非常容易,并与基于 WSGI 的框架如 Flask、Bottle 和 Pyramid 紧密配合。但是在向无服务器迁移的过程中,我认为我们需要使用无服务器提供的东西,而不是改造超出其预期用途的东西。
文档很少
和许多 AWS 服务一样,文档也很少。在过去,我已经解决了 S3 CORS 问题、CloudFront 发行版配置和未记录的弹性 Beanstalk 特性,最终理解并自信地解决了问题。但是我在这个周末的练习中一无所获,仍然有许多问题没有答案。
需要更多的模式
在编码方面,我一直发现我是通过鼓捣实实在在的例子来学习的,但似乎很难在这里找到任何具体的东西。我毫不怀疑这些服务的健壮性,但亚马逊肯定会给我们一些教程、例子和最佳实践。
TL;将 Python web 应用程序提升和转移到无服务器的灾难恢复版本:
- 您的应用程序所使用的服务组合(在我的例子中是 RDS + Flask + OAuth)可能不像预期的那样容易在无服务器环境中工作。
- 一个提升和转移可能需要足够的修改来保证重写,即使是对于表面上简单的应用程序。
- 文档(特别是缺乏)可能是追踪神秘错误的主要时间消耗。
而我将继续把无服务器作为我们的主要交付机制。我谨慎地认为任何迁移都是微不足道的。重新开始可能更容易——但这是我另一个周末的计划。
我很想在下面的评论中听到你的想法!
提升您的云计算职业生涯
无论您是云新手还是经验丰富的专家,云专家都能让您轻松(而且非常棒)地获得认证并掌握现代技术技能。查看 ACG 目前的免费课程或立即开始免费试用。
借助 AWS 数据管道和 Athena 扩展数据分析
如果你正在使用亚马逊网络服务,或者只是在某种程度上关注他们的服务产品,你不能错过他们最新推出的分析服务。这是一个非常符合最近无服务器云计算趋势的工具。本质上只是计算,而不必自己分配基于云的资源。
AWS 雅典娜是什么?
AWS Athena 与 Google 的 BigQuery 一样,是一个无服务器的工具,用于查询大数据集,而无需设置物理或虚拟机集群。在 AWS 领域,比较公平的说法是,Athena 对于 EMR 就像 Lambda 对于 EC2 一样。
您有很多限制,只能执行非无服务器选项所能执行的部分任务。但是一旦你真的考虑到这些限制,你就可以构建一些以非常低的价格交付结果的东西。
雅典娜在工作
我们决定将我们为立法者意识形态所做的一些计算移植到我们对 Athena 的应用中,目标是能够更好地扩展和削减成本。
Statehill 使用 AWS 来衡量政府的影响,并将其转化为可操作的情报,以帮助您有效地进行宣传
Statehill 将世界各地的立法数据联系起来,以发现,分析和衡量政府对你的影响。我们首先收集立法信息并将其组织成可操作的情报,以提高您有效倡导的能力。
从本质上说,我们正在做的是获取历史投票记录,并确定立法者在一些类别上倾向于共和党还是民主党。我们目前正在美国多个州开展这项工作,包括蒙大拿州、T2、得克萨斯州和威斯康星州。
Ideology for Alan Redfield (R), Montana legislator in the 65th session
对升级或开始云数据之旅感兴趣吗?云专家的 AWS 数据学习路径提供适合初学者和高级专家的定制课程!
如何将数据移动到 AWS 数据管道
首先,我们必须得出结论,我们可以只用 SQL 来完成这项任务,因为这就是你查询 Athena 的方式。一旦我们确定了这一点,我们的第一步就是将数据以 CSV 格式从 RDS 实例发送到 S3,这样我们就可以在 Athena 中创建一个表。还有你如何定期有效地将数据从 RDS 发送到 S3?明明用的是数据管道!
**数据管道是一种非常强大的瑞士军刀式服务,**得益于调度,它可以成为运行重复性数据转换任务的可行选项,甚至仅用于计算任务。这就是我们最终用它来查询 Athena 的原因。
Athena 乍一看可能只是一个图形用户界面。但是您仍然认为可以使用 AWS SDK 运行查询吗?没那么快,在 GUI 之外实际运行查询的唯一方法是使用 JDBC 和使用 Athena 驱动程序进行连接。
因此,为了让我们定期查询 Athena,我们最终再次使用了数据管道,但这一次的目标是运行一个 ShellCommandActivity 来准备在 S3 的查询结果,然后再将其发送回我们的 RDS 实例。
使用数据管道查询 Athena
为了实现这一点,我们必须用 Java 1.8 构建一个定制的 AMI(默认的 EC2 AMI 是 1.7),构建一个可以连接到 Athena 的小 Java 类,运行查询,然后在指定的位置输出结果。现在我无论如何都不是一个好的 Java 开发人员,但是我可以到处走走。最后,我们得到了类似这样的结果(大致基于 AWS 提供的示例):
statement = conn.createStatement();
ResultSet rs = statement.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
CSVWriter writer = new CSVWriter(
new FileWriter(outputLocation),
',',
CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.NO_ESCAPE_CHARACTER
);
while (rs.next()) {
String[] entries = new String[rsmd.getColumnCount()];
for (int i = 1; i < rsmd.getColumnCount() + 1; i++) {
entries[i — 1] = rs.getString(i);
}
writer.writeNext(entries);
}
这工作得非常好,因为sql
变量和outputLocation
实际上来自args
,我们可以为将来的查询重用同一个类,并且简单地复制管道。
Final setup, now serving data for our customers in production
结论
Athena 是一个非常强大的工具,我建议你看看它。这是一种运行分布式查询的廉价而快速的方法,现在它为我们的应用程序提供生产数据。每 TB 数据扫描费用为 5 美元,大数据处理的准入门槛已显著降低。
当然有一些方法可以改进我们的设置,几乎总是有的。但是最主要的事情可能是将我们在 Athena 中查询的 CSV 文件替换为拼花文件,以节省成本并提高查询性能。关于这一点,Mark Litwintschik 写了一篇关于 Athena here 的比较不同数据格式的精彩文章,我推荐阅读。
提升您的云计算职业生涯
无论您是云新手还是经验丰富的专家,云专家都能让您轻松(而且非常棒)地获得认证并掌握现代技术技能。查看 ACG 目前的免费课程或立即开始免费试用。
AKS vs EKS vs GKE:托管的 Kubernetes 服务比较
原文:https://acloudguru.com/blog/engineering/aks-vs-eks-vs-gke-managed-kubernetes-services-compared
哪个云提供商的托管 Kubernetes 服务是云之王?在本帖中,我们将深入探讨三个主要竞争者的利弊。这是 AKS vs EKS vs GKE 的 k8s 集群皇家之战。
Kubernetes 已经成为企业首选的容器编制器。运行容器化应用程序的一个主要优势是可移植性。您可以在本地和云中运行相同的应用程序。
为了支持这些努力,三家顶级云服务提供商——亚马逊网络服务(AWS)、微软 Azure 和谷歌云——现在提供托管 Kubernetes 服务。但是它们之间有什么区别呢?
三个提供商之间的一些功能是通用的。
这三个提供商都可以让您轻松地与他们的其他服务集成。这不仅会简化操作,而且有助于提高可用性。
就 Kubernetes 服务本身而言,它们都为您部署和维护控制平面,因此您只需担心节点。这样,您可以更专注于您的应用程序。
但是,虽然 Kubernetes 的核心功能大体相同,但每个云提供商提供的功能可能会非常不同。那么我们如何选择在哪里运行我们的 Kubernetes 集群呢?请继续阅读,我们会比较 AK、EKS 和 GKE,看看哪一个最适合你。
观看:Kubernetes + Azure,HashiCorp way
观看这个快节奏、免费点播的 webina r. HashiCorp 开发者倡导者 Taylor Dolezal 展示了使用 Terraform、Vault 和 Waypoint 来增强您的 Kubernetes 集群的潜力!
什么是托管 Kubernetes 服务?
首先,快速入门。有了托管的 Kubernetes 服务,第三方可以承担设置和运行 Kubernetes 所需的全部或部分繁重工作。
以下是来自 AWS、Azure 和 GCP 的三个主要竞争者:
Azure Kubernetes 服务(AKS) —最初,Azure 有一个服务叫 Azure Container Service。这不仅支持 Kubernetes,还支持 Apache Mesos 和 Docker Swarm。随着 Kubernetes 的受欢迎程度大幅超过竞争对手,Azure 在 2018 年 6 月用 Azure Kubernetes 服务取代了 Azure Container 服务。
谷歌 Kubernetes 引擎(GKE)——谷歌是第一家发布谷歌 Kubernetes 引擎(GKE)的云提供商,这一点都不奇怪。毕竟,Kubernetes 最初是在谷歌为他们的内部应用程序开发的。《GKE》于 2015 年上映。
哪个云提供商的托管 Kubernetes 服务最好?
**TL;博士?**如果你已经投资了三大云提供商之一,继续使用该服务是有意义的。这三个人都是强有力的竞争者。
但是下面提到的所有托管 Kubernetes 服务都有独特的好处和特点。您使用哪个云提供商的托管 Kubernetes 服务实际上取决于具体情况。
亚马逊弹性 Kubernetes 服务(EKS)是使用最广泛的托管 Kubernetes 服务。
如果你不致力于云提供商,你可以考虑谷歌 Kubernetes 引擎(GKE)。 GKE 拥有最多的功能和自动化能力。
Azure Kubernetes 服务(AKS)可能是最具成本效益的选择,并且可以与微软的所有产品很好地集成。
让我们更深入地探讨一下每个提供商的优缺点和特性差异。请记住,由于云发展如此之快,在您阅读本文时,下面比较中的一些细节可能已经发生了变化。
Azure Kubernetes 服务(AKS)的利弊
如果你已经在微软和 Azure 的世界里,使用 AKS 是有意义的。它与其他 Microsoft Azure 功能集成得很好,如 Azure Active Directory。这可能是最具成本效益的服务,因为您不必为控制平面付费。
AKS 优势 | AKS 的弱点 |
---|---|
AKS 是提供较新的 Kubernetes 版本和小补丁最快的。 ^(1) | 与全自动的 GKE 不同,AKS 采用半手动流程将集群组件升级到较新版本。然而,一种全自动的解决方案正在开发中。 ^(13) |
AKS 提供自动节点健康修复。 ² | 创建群集时需要启用网络策略,但不能在现有群集上启用。 ^(14) |
控制平面是自由的;您只需支付每个节点的费用。 ^(3) | 如果你使用可用性区域,Azure 将只符合 EKS 99.95%的 SLA,可用性区域从 2021 年 2 月开始收费。 ^(十五) |
AKS 与 Azure Policy 集成。 ^(4) | |
Azure Monitor (5) 和 Application Insights(6)可用于监控和日志记录。 | |
Azure 网络策略和 Calico 网络策略可以在创建群集时自动设置。 ^(7) | |
与 Azure Active Directory 无缝集成。 ^(8) | |
AKS 在 Azure Government 中可用。 ^(9) | |
有很好的开发者环境。您可以在 Visual Studio 代码中使用 Kubernetes 扩展来部署到 AKS。 ^(10) 或者你可以使用桥到 Kubernetes 服务。这使您能够在开发机器上运行和调试代码,就像它是您的集群的一部分一样。这样,您不需要将所有的依赖项复制到您的开发机器上。 ^(11) |
亚马逊弹性 Kubernetes 服务 (EKS)利弊
根据 CCNF 的一项调查,EKS 是使用最广泛的托管 Kubernetes 服务。但是 EKS 的预配置解决方案最少,因此需要更多的手动配置。虽然这可能意味着您可以更好地控制您的集群,但也需要更多时间关注运营。
EKS 的优势 | EKS 的弱点 |
---|---|
与强大的 AWS 生态系统集成。 | |
在这三家提供商中,EKS 升级集群组件的手动步骤最多。 ^(19) | |
有一个 99.95%的服务水平协议。 ^(16) | 没有自动节点健康修复。 ^(二十) |
EKS 使得应用适用于集群范围的 Pod 安全策略变得非常容易。 ^(17) | 可以在亚马逊 cloud watch Container Insights^(21)中配置日志记录和监控,但是服务不直观。 |
AWS GovCloud 是受支持的地区。 ^(18) | 价格比 AKS 贵,每群集每小时 0.10 美元。 ^(22) |
你必须自己为 VPC CNI 安装升级。 ^(23) | |
你必须自己安装印花布 CNI。 ^(24) | |
没有用于开发 EKS 代码的 IDE 扩展。 |
谷歌 Kubernetes 引擎(GKE) 利弊
如果你在云基础设施方面没有任何投资,或者正在一个多云环境中工作,那么看看 GKE 可能是有意义的。它拥有开箱即用的最多功能,并提供最自动化的功能。
GKE 的优势 | GKE 的弱点 |
---|---|
三种托管服务中,GKE 的版本最多。 ^(25) | |
只有一个分区簇是空闲的。 ^(31) | |
控制面板和节点可以自动升级。 ^(26) | 如果您使用区域集群,GKE 将仅符合 EKS 99.95%的 SLA,每个集群每小时的成本为 0.10 美元。 ^(32) |
根据您的需要,您可以订阅快速、定期或稳定的发布渠道,以便您可以自动测试新版本。 ^(27) | GKE 没有政府云,所以没有政府云支持。 ^(34) |
GKE 提供自动节点健康修复。 ^(28) | |
您可以为节点使用容器优化的操作系统,它由 Google 维护,以提供更好的安全性和稳定性。 ^(29) | |
有一个直观的集成仪表板,使用 Google Cloud operations suite 监控和记录所有组件。 ^(三十) | |
对于开发人员环境,您可以将云代码扩展用于 Visual Studio 代码和 IntelliJ。 ^(31) |
观察:让 Kubernetes 在您的环境中发挥作用
在这个免费点播的网络研讨会中,深入探讨如何选择最适合您组织独特需求的托管 Kubernetes 服务。
如何开始使用 EKS、AKS 和 GKE
无论你是想知道哪条 Kubernetes 认证途径适合你,还是想了解更多关于 GKE、AKS 或 EKS 的基础知识,一位云计算专家都会帮你搞定。
利用这些来自 ACG 的相关资源,将您的 Kubernetes 技能提升一个档次:
掌握最受欢迎的技能
无论您是云新手还是经验丰富的专家,云专家都可以让您轻松(而且非常棒)地提升您的云职业生涯。查看 ACG 目前的免费课程或立即开始免费试用。
与 Alexa 冠军一起准备 AWS Alexa 专业认证
学习使用 Alexa Skills Kit (ASK)的高级功能构建引人入胜的语音体验,并准备 AWS 认证的 Alexa Skill Builder 专业考试
作为一名 Alexa 冠军和 Alexa 开发者社区的活跃成员,我一直在寻求将 Alexa 带给更多开发者的方法。我喜欢通过实践研讨会、黑客马拉松和在技术会议上发言来介绍 Alexa 技能发展。在我 20 多年的软件工程师生涯中,我构建了许多不同类型的应用程序;我可以毫无疑问地说,为 Alexa 开发是最有趣的。在教 Alexa 一项新技能和与人工智能(AI)一起工作时产生的无与伦比的“酷”感方面,有很多创造力。
我教育和激励社区中其他开发者的最新努力是为 AWS 认证 Alexa 技能构建师专业考试准备课程和云大师。我对提供这门课程感到非常兴奋,因为我设计它不仅是为了给技能建设者通过考试所需的信心,而且是为了成为使用 AWS 生态系统和 Alexa 技能工具包(ASK) 的高级功能的顶级 Alexa 技能建设者。
本课程将在您的学习旅程中与您相遇;如果你以前从未为 Alexa 开发过,也不用担心。通过动手实验,您将发展一种全新的技能,并随着新概念的引入而增加新的功能。
我们从最开始开始,首先教你 Alexa 背后的人工智能以及语音服务是如何工作的。我将向您展示开发所需的工具,并帮助您设置本地开发环境。然后,我将带你经历一个全新技能的设计过程,包括声音设计模式和建立吸引人的技能的最佳实践。
接下来,在我教你如何利用 AWS 生态系统培养你的技能时,我们将深入探讨技能架构。具体来说,我们将涵盖用于从头构建定制技能的常见服务: AWS Lambda 、 Amazon DynamoDB 、 Amazon S3 、 Amazon CloudFront 和 AWS 身份和访问管理(IAM) 。接下来,我将教你如何利用 Alexa Skills Kit (ASK)的高级功能,包括视觉元素、声音效果、音频和视频、对话和状态管理、货币化和个性化。
我还会教你如何使用 Alexa 开发者控制台来配置你的技能。我甚至用测试模拟器和 Amazon CloudWatch 向你展示测试和故障排除技术。
最后,我将带您了解技能认证和出版流程。我将向您展示如何通过 Alexa 技能商店将您在动手实验室中开发的 Alexa 技能提供给其他人。课程结束时,您将已经开发并发布了您的第一项技能!
本课程是帮助您准备考试和学习如何为 Alexa 打造迷人语音体验的最佳方式。因此,为什么不立即开始构建语音并获得认证呢?球场内见!
奖金:免费参加价值 300 美元的考试!
12 月,美国的权威人士可以从 AWS 获得一张代金券来支付考试费用(价值 300 美元)。查看亚马逊 Alexa 博客上我的帖子了解所有细节。
—–
凯莎·威廉姆斯是一名 Alexa 冠军、 AWS 机器学习英雄和一名云大师的技术导师。她已经开发了几个受欢迎的 Alexa 技能——仅举几个例子,如单词混淆和电话追踪。她是亚马逊的女性代言人之一,也是业内首批获得 Alexa 技能构建师认证的人之一。在业余时间,她在 VoiceFirst 的执行委员会工作。社区并指导技术领域的女性。
算法偏差:它是什么,如何处理?
原文:https://acloudguru.com/blog/engineering/algorithmic-bias-explained
在这篇文章中,我分解了什么是算法偏差,它如何在机器学习系统中出现,以及如何减轻它。我将更详细地介绍不同类型的偏见以及偏见的负面商业影响。
如果你对亚马逊网络服务(AWS)提供的工具感兴趣,这些工具可以通过检测潜在的偏见来帮助改善你的机器学习模型,我也会为你提供帮助。
什么是算法偏差?
机器学习算法是分析复杂数据集以揭示趋势和模式的计算机程序。每种算法都代表了机器在数据中寻找意义的一步一步的指令。有许多算法(例如,分类、聚类、回归、异常检测等等)通常按照所使用的机器学习技术来分组:监督学习、非监督学习、强化学习等等。
这些算法将趋势和模式存储在他们的发现的数学表示中,称为机器学习模型(或简称为模型)。一旦模型被训练来识别模式,就可以向它提供以前从未见过的数据来进行分析、分类和提出建议。
机器不是人类,从理论上讲,不应该被人类的偏见和偏向所引导——那么,一台机器怎么会表现出算法偏向(或者仅仅是偏向)?一个算法怎么会产生一个模型,因为偏差而做出不公平的预测和推荐呢?我们先退一步来探讨一下当今世界上机器学习的使用情况。
企业和许多联邦组织使用机器学习来分析数据,以回答人类无法人工分析的复杂问题。今天,模型根据研究数据提出建议和预测,称为推论。对人进行推断,包括他们的身份、人口属性、偏好和可能的未来行为。甚至可以对一个人的健康做出推断!
从伦理的角度来看,推论应该是公平的,尤其是那些预测一个人的偏好和可能的未来行为的推论。当推论系统地对来自特定群体的个体不太有利时,算法偏差就出现了,在特定群体中,群体之间没有相关的差异来证明推荐是正确的。有偏见的推荐常常通过拒绝给予他人某些机会来剥夺人们的权利。
算法偏差的真实例子是什么?
让我们来挖掘一些机器学习中算法偏差的实际例子。
对于咖啡因上瘾者来说,没有一杯温暖的优质烘焙咖啡、一杯冰焦糖星冰乐或一杯热茶拿铁就无法开始新的一天,有时你不知道接下来该尝试什么。一个伟大的商业策略是使用机器学习,特别是强化学习,来提供产品推荐,使客户的偏好保持在脑海中,同时介绍客户可能喜欢的新产品。
假设开发了一个推荐引擎,它从数据中了解到 20 岁以下的客户更喜欢星冰乐而不是浓缩咖啡饮料。有了这个新发现的知识,推荐引擎再也不会向 20 岁以上的顾客推荐当季的新口味,南瓜香料!可以认为推荐引擎对 20 岁以上的人有偏见。
错误地推荐(或不推荐)一种饮料听起来也没那么糟糕,对吧?一个 20 岁以上的人错过了新一季的味道并不是世界末日!你有没有考虑过,当用于训练饮料推荐引擎的相同实践和技术被转移到企业的其他部分,如招聘或雇用时,会发生什么?
想象一下,一个由机器学习驱动的招聘工具用于审查求职者的简历,以自动化和加速搜索顶级软件工程人才。在这种情况下使用机器学习可以审查 1000 份简历,并快速确定要聘用的前 10 名。
嗯,这个招聘工具不是想象出来的;该工具是由一家知名公司开发的,并在招聘中使用了几年。然而不幸的是,这个工具被发现对女性有偏见。它最终被关闭了,因为它降级了包含“女性”一词的简历,如“技术领域的女性”或“编码女性”。它还惩罚了来自女子大学的简历。
招聘工具了解到,通过观察以前提交的软件工程职位简历中的模式,男性可以成为更好的软件工程师。大多数简历来自男性,这反映了男性在整个科技行业的主导地位。这种不受约束的偏见产生了不必要的影响,因为它延续了技术领域已经存在的不平等。
偏见对企业有什么负面影响?
在前机器学习世界,人类做出招聘、广告、贷款和刑事判决决定。这些决策受联邦、州和地方法律管辖,这些法律规定了公平、透明和公正的决策过程。现在,机器要么做出这些决定,要么严重影响这些决定。最重要的是,保护和执行发明创造者和所有者权利的知识产权(IP)法律保护算法决策过程的输入。
算法偏差有许多负面影响:
- 不公平地分配机会、资源或信息
- 侵犯公民自由
- 让个人的安全受到质疑
- 未能向某些人提供与其他人相同的服务质量
- 对个人福祉的负面影响,如被认为是贬损或冒犯的经历
- 内部冲突和员工对更多道德实践的需求
线上有什么?
有偏见的决策会对组织的声誉、消费者的信任以及未来的业务和市场机会产生负面影响。今天,政府正在为算法决策制定法规和立法。没有将解决机器学习中的偏见作为优先事项的组织可能会在未来的某个时候受到处罚和高额罚款。
组织应该现在就开始促进机器学习中的道德和责任文化,以免为时过晚,并利用他们的声音推动行业变革和负责任的人工智能实践的监管。机器学习系统的开发者应该标记伦理问题,并认识到他们在开发机器学习系统时所承担的道德和伦理责任。
偏见在机器学习系统中是如何呈现的?
偏见在机器学习系统中有许多表现方式。通常情况下,由算法研究以确定趋势和模式的数据集是罪魁祸首。在机器学习招聘工具的例子中,该算法研究了 10 年以前提交的简历。It 专业的男性大多会为软件工程职位投简历;因此,从数学上讲,男性可能会成为更好的软件工程师。
你不能责怪机器,但你可以责怪向机器提供数据的开发人员。提供的数据集不均衡,导致有偏见的决策。
以下是我们将涉及的三种不同类型的数据相关偏差的快速总结:
- **采样偏差:**收集的数据不能反映解决方案将运行的环境,从而导致偏差。
- **排除偏差:**不适当地删除数据点或记录的行为,因为它们被认为是不相关的,从而导致偏差。
- **观察者偏差:**记录数据的观察者看到了他们期望或想要看到的东西,这导致他们错误地标注了数据。
抽样偏误
采样偏差发生在机器学习生命周期的数据收集阶段。回到招聘工具的例子,样本数据集包含的男性简历多于女性,导致推荐倾向于男性。这是抽样偏差的一个典型例子:收集的数据并不代表工具运行的环境,因为申请软件工程职位的男性和女性数量相等。
排斥偏差
排除偏差通常发生在机器学习生命周期的数据准备阶段,通常从数据集中排除一些特征(即数据点),通常在清理和准备数据的保护伞下。
让我们以一个机器学习驱动的预测引擎为例,该引擎用于预测一种新的星冰乐在午餐时间的受欢迎程度(在全球范围内)。这种系统通常用于在新产品上市时帮助预测收入和营销决策。将由机器学习算法分析的数据集包括过去在午餐高峰期间购买的类似星冰乐。
在查看数据集时,开发人员注意到下午 2 点到 4 点有星冰乐购买。开发人员删除了那些错误的记录(或观察),因为典型的午餐时间是从上午 11:30 到下午 2 点。开发商没有意识到西班牙的午餐时间往往是从下午 2 点到 3 点,而西班牙的午休时间是从下午 2 点到 5 点,这影响了人们吃午餐的时间。
在这种情况下,开发人员删除了记录,认为它们是基于他们预先存在的信念不相关的,导致系统偏向于美国的午餐时间。
预测引擎继承了开发者的信念和偏见。当您有数 Pb 或更多的数据时,很容易选择一个小样本来进行训练,但是您可能会无意中排除重要的数据,从而导致偏差。
观察者偏差
观察者偏差,有时也称为确认偏差,通常发生在机器学习生命周期的数据标记阶段,由观察者记录他们希望或期望在数据中看到的内容而产生。
让我们以在提供的图像中识别星冰乐味道的图像分类系统为例。该算法分析的数据集包括许多标有风味名称的星冰乐图像。有人首先必须标记(或识别)每个图像中显示的饮料风味,这是一个非常手工的过程。
想象一下,负责标记图像的观察者倾向于将焦糖可可簇风味误标为肉桂卷,仅仅因为肉桂卷是他们最喜欢的风味。在这种情况下,他们在数据中看到他们想要的东西。这种手动贴标过程容易出现人为错误,导致模型错误地识别口味,并偏向肉桂卷星冰乐。
虽然还有许多其他类型的偏差,但这三种是由数据引起的最普遍的偏差。现在你已经了解了偏见,让我们来探索减少偏见的方法。
如何减轻偏见?
减轻采样、排除或观察者偏差的最佳方法是在将数据交给算法进行分析之前,实践负责任的数据集开发。
减轻采样偏差
为了减轻采样偏差,请确保为您的模型将要遇到的所有情况收集数据。确保公平的班级代表性和在训练前平均分配数据对减少偏差大有帮助。一些奇特的技术可以修复不平衡的数据集,如过采样和欠采样。SMOTE(合成少数过采样技术)是另一种允许您生成合成数据来解决问题的技术。
减轻排斥偏见
为了减少排除偏差,在移除特征和观察值之前,要对它们进行充分的分析。此外,在删除数据之前,看看你自己的偏见。有一些技术可以帮助您进行分析,并帮助您计算要素的重要性:
- **检查每个特征的系数得分:**这是分配给每个输入值的数字,用于确定该特征的重要程度;数字越高,对推荐或预测的影响越大。
- **使用可用于基于树的模型的 feature_importances 属性:**在训练任何基于树的模型(即 XGBoost)后,通过绘制条形图直观地检查特性的重要性。
- **使用主成分分析(PCA)得分:**这是众所周知的降维方法,但也可用于确定特征重要性。
减轻观察者的偏见
为了减少排除偏差,确保做数据标记的观察者受过良好的训练,并对潜在偏差进行筛选。这需要了解你的数据,并训练观察者注意什么。
AWS 不仅提供工具来管理机器学习系统的端到端生命周期,还提供工具来帮助检测偏差。 Amazon SageMaker Clarify 是一款工具,通过检测和减轻数据集和模型中的偏差,扩展了 Amazon SageMaker 的功能。该工具允许您在机器学习模型开发过程的每个阶段评估偏差-在数据分析、训练和推理期间。当这款工具在 AWS re:Invent 2020 发布时,我非常兴奋。
随着机器学习从研究实验室走向企业,算法偏差是充分实现机器学习好处的巨大障碍。我们已经看到,当收集和准备数据时,偏差会影响最终模型,从而导致不准确和歧视性的预测。
如果您意识到数据中的偏差,可以实施经过验证的缓解策略。AWS 甚至提供工具来帮助检测和减轻数据集和训练模型中的偏差。
作为开发人员,我们有责任确保我们正在实践负责任的数据集开发,并防止偏见进入生产。
关于作者
凯莎·威廉姆斯 是一位屡获殊荣的技术领导者。她还是 AWS 机器学习英雄、HackerRank 全明星和 Alexa 冠军。
了解有关机器学习的更多信息
一位云专家提供了一条关于 AWS 机器学习的专用学习路径。无论你处于机器学习之旅的哪个阶段——从新手到经验丰富的专业人士——我们都有课程让你更上一层楼。除了观看视频,您还可以通过动手实验室获得实践经验,并有机会获得多项行业认可的 AWS 认证。
您还可以访问 Pluralsight 广泛的机器学习路径和课程。在你自己的时间里,向拥有机器学习实际经验的专家学习。
关于绑定 DNS:谁、如何和为什么
原文:https://acloudguru.com/blog/engineering/all-about-bind-dns-who-how-why
BIND:简史
BIND(伯克利互联网域名)是一个软件工具集合,包括世界上最广泛使用的 DNS(域名系统)服务器软件。DNS 服务和工具的这种功能完整的实现旨在 100%符合标准,并且是;旨在作为 DNS 软件的参考架构。BIND 最初写于 20 世纪 80 年代的加州大学伯克利分校,是一个免费的开源软件包。最新的主要版本 BIND 9 最初发布于 2000 年,由互联网系统联盟定期维护。 对于小型或者不复杂的网络,BIND 本身非常适合提供所有 DNS 相关的服务功能。使用 BIND,您可以运行缓存 DNS 服务器、权威服务器,甚至两者一起运行。
谁使用 BIND?
**BIND 是互联网上最常用的 DNS 服务器软件。**通常,日常管理 BIND DNS 服务器的人是熟悉 Linux/UNIX 的网络管理员或系统管理员。虽然 BIND 也可以在 Windows 主机上运行,但是这样做仍然需要在系统上运行开源服务的深入知识。 很多管理员更喜欢使用 BIND over,比如 微软 DNS ,因为它是一款紧跟 IETF 标准(RFCs)的开源软件。使用 BIND,您可以构建自己的定制工具来满足特定的 DNS 使用案例和操作需求。但是请注意,BIND 只管理 DNS,而不管理与其密切相关的 DHCP 和 IP 地址管理对等服务。
为什么理解 BIND 很有价值?
由于多种原因,了解如何配置绑定 DNS 服务器是很有价值的。网络和开发团队经常使用它,因此了解如何配置和使用 BIND 将证明是这两项工作中的一项必要技能。BIND 还可以让您非常精确地控制 DNS 服务器。有了它,您可以很快开始理解提供核心网络服务的内部工作方式。最后,如果您碰巧遇到一个不使用 BIND 的网络,或者正在过渡使用它,那么您通过使用 BIND 学到的基本技能将会很好地为您服务。除了 DNS 服务器本身之外,BIND 软件包中的大多数其他工具都可以与其他 DNS 服务器一起使用,因为它们使用标准的 DNS 消息协议。
特性&绑定的能力
这并不是一个详尽的列表,但它可以让你对绑定 DNS 有所了解(尤其是对于那些至少对 DNS 有所了解的人)。
- 权威 DNS:发布服务器权威控制下的 DNS 区域和记录,作为主服务器或从服务器。
- 拆分 DNS:发布 DNS 名称空间的多个视图,例如向内部用户和整个互联网提供不同的数据集。虽然每个视图通常被视为一个独立的虚拟服务器,但近年来,BIND 增加了一些功能,使得在视图之间共享数据变得更加容易。
- 递归 DNS(缓存解析器):代表客户端系统从其他 DNS 服务器获取数据,包括移动设备、桌面工作站和其他服务器。
- 动态更新(DDNS):使用特定种类的 DNS 消息(在 RFC 2136 中定义)在主服务器中添加或删除记录。
- 高效数据复制:及时高效地将数据从主服务器复制到辅助服务器,包括从主服务器到辅助服务器的更改通知以及从辅助服务器到主服务器的增量区域传输请求。
- 【DNS 安全扩展(DNSSEC) :对权威数据进行密码签名,并在缓存服务器上对收到的数据进行密码验证。BIND 支持 DNSSEC 标准的最新版本,包括椭圆曲线加密。
- 事务签名(TSIG)和密钥(TKEY):使用预共享密钥或动态协商密钥对消息进行加密签名,并验证这些签名。BIND 支持最新的标准签名算法,包括 Microsoft Active Directory 使用的算法。
- DDOS 缓解 :利用多种不同的特殊响应能力管理 DDOS 攻击的影响。
- IPv6 :通过发布 IPv6 地址作为名称和直接参与 IPv6 组网来支持 IPv6
使用 BIND 的好处
- 绑定是可定制的。如果您可以用 Perl、Python、BASH 或 Powershell 编写代码,那么您可以为自己和您的网络构建任何您需要的定制工具。
- 预先绑定是免费的。与商业 DNS 解决方案(如 BlueCat、Microsoft 或 Infoblox)不同,BIND 开始使用时不需要任何成本。大多数 Linux/UNIX 发行版都在它们的存储库中预建了一个绑定包。
- BIND 拥有庞大的支持群体。关于 BIND 的使用和故障排除的知识库和社区非常庞大,遍布全球。
- BIND 是一款令人惊叹的入门工具。您在职业生涯中遇到的大多数 DNS 商业实现都是基于 BIND 的。拥有配置 BIND 服务器所需的基础知识将会派上用场。
为什么有替代绑定?
单独使用 BIND 的替代方案有两种:竞争性开源软件包和商业 DNS 产品。 开源竞争对手的存在主要是为了在整个 DNS 生态系统中提供多样性。他们的开发人员会选择不同的优先级,例如原始缓存 DNS 性能或 DNSSEC 性能,或者他们使用不同于标准区域传输格式的数据复制机制。 另一方面,大型或更复杂的网络往往需要更完整的 DNS、DHCP 和 IPAM 解决方案才能可靠运行。在大规模情况下,将 IPAM 解决方案强行捆绑到绑定 DNS 服务器上会产生大量不必要的风险和工作。BIND at scale 的问题在于,它促成了大型组织已经拥有的很多东西: 网络复杂性 。保持网络运行(快速运行)所需的所有移动部件都很难同步更新和移动。BIND 并没有使它变得更容易,并且在这种情况下经常是一个对手。 例如,当您开始使用 BIND 时,您可能真正喜欢它的地方——比如您可以立即修补每一件小事的事实——当网络同时由数十或数百个不同的人和团队管理时,就会成为一个主要的风险因素。为自助服务或基于 API 的自动化提供有意义的入口点以及合理的基于角色的访问控制需要大量的工作,同样,这些工作最好用于推动业务的技术需求。 澄清一下,管理少量的绑定服务器是相对容易的。通过手动配置或自行开发的工具来管理大量资源需要人力资源和技术知识,这些资源和知识应该更好地用于满足企业的技术需求。当您一开始只有几个区域文件时,创建一个新的区域文件或添加一个新的 DNS 服务器是很简单的。否则,网络管理会变得复杂而繁琐。
使用 BIND 的缺点
绑定 DNS 服务器可以很好地扩展。然而,如上所述,大规模管理 BIND 需要额外的工具,这些工具可以是商业上可用的、开源的或自主开发的。另外:
- BIND 只提供 DNS 服务和工具。这意味着,与 BIND 同步管理 DHCP 和 IPAM 等密切相关的服务需要更广泛的管理平台。这可以防止数据出现分歧和冲突,从而导致停机。
- 本身,BIND 不启用全网可见性。就 DNS 流量而言,每个 DNS 服务器都是一个孤岛,BIND 不提供网络中 DNS 流量的任何高级视图。
- 束缚是 易破 。其配置选项的广度和复杂性使得很容易犯语法错误,从而导致网络瘫痪。BIND 版本之间偶尔出现的配置语法差异进一步加剧了这种情况。
替代绑定:案例研究
对于选择投资的组织而言,除了单独管理 BIND 之外,还有一种替代方案是统一的 DNS、DHCP 和 IPAM 解决方案。为什么?因为统一了这三种服务,所以它们可以以一种通用和一致的方式进行管理,这是解决过度扩展的 绑定网络 所遭受的许多问题的开始。这并不意味着失去 BIND 软件包的功能;许多这样的统一解决方案都包含了绑定名称服务器,为您提供了所需的所有功能和灵活性,同时封装了管理并消除了运营风险。 例如,如果 IP 地址与 DNS 记录在同一个系统中进行管理,那么 IP 冲突/中断的风险就会降低。事实上,您可以在 DNS、DHCP 和 IPAM 之间自动执行配置工作流,这取决于您的喜好。这不仅能保护网络免受日常错误的影响,还能显著加快 IT 运营速度。 技术领导者的统一目标是走向全面的数字化转型。随着这种转变而来的是减少组织对专家或深奥的专家的依赖的能力(这些专家不可避免地会去度假、换工作或离开他们的角色)。这也是为了减少聪明能干的人不得不做手工的、重复的工作。BIND 的替代方案可降低灾难性打字错误的风险,简化 IT 运营,并支持需要机器速度网络变化的数字化转型计划。总的来说,比起一个接一个地配置服务器,这给精通技术的人提供了更刺激的项目。
在关闭时
学会捆绑。真的,对你有好处。学习它来建立你公司的网络。对于那些大规模管理 DNS 及其相关服务的人来说,体验一下它们有多复杂。用你的新知识让网络变得更好。 准备好投入一切束缚已有的奉献了吗?磨砺你的技能,今天就尝试这个课程!
关于作者:
克里斯·巴克斯顿是蓝猫公司的工具和策略经理。
他是一名网络核心服务架构师,专攻 DNS(包括 DNSSEC)、DHCP 和 IP 地址管理(DDI)。高级 Perl 脚本能力,包括寻址 SOAP APIs。在 Linux、Mac OS X 和 Windows 环境方面有丰富的经验。他对解决有趣的问题/难题特别感兴趣,并喜欢与学生交流,根据他们的需求定制培训经验,并帮助他们将材料应用到他们的现实世界问题中。
Certs to go:所有 AWS 考试现已在线提供
原文:https://acloudguru.com/blog/engineering/all-aws-certification-exams-now-available-online
今天,AWS 宣布扩大其在线监考考试。所有 AWS 认证考试现在都将通过培生 VUE 提供在线监考。AWS 指出,由于高需求,在线监督预约的等待时间可能会比平时长。
在许多情况下,AWS 还会自动延长认证到期日期,并延长 AWS 认证解决方案架构师助理和 AWS 认证大数据专业人员的退休日期。
随着世界各地大多数考试中心的关闭,许多准备认证考试的云专家都不知道他们何时以及如何才能参加考试。以前,只有一个在线提供的 AWS 考试——入门级 AWS 云从业者考试。
在线考试定期举行,并通过您的网络摄像头进行监督(考试代表“监控”),以确保一切正常进行。要求非常基本:
- 带有网络摄像头、麦克风、扬声器或耳机的现代电脑
- 一个安静的私人场所,房间里没有其他人
- 一个像样的互联网连接没有任何硬件安全措施
蔚蓝:在 WFH 获得认证
如果你想获得 Azure 认证(有很多理由让你这么做),你很幸运。微软早就允许人们“在家中或办公室舒适地参加任何基于角色或基础的在线考试,同时由监考人通过网络摄像头和麦克风进行监控。”
这些要求与 AWS 的要求一致,微软提供了一个快速的系统测试,以确保您的设备、设置和网络符合远程考试的要求。
GCP:房子里有学监吗?
(更新于 2020 年 4 月 24 日)亡羊补牢,谷歌云已经加入了远程考试的行列,在网上提供了两个最受欢迎的 cert 考试,并表示其他考试正在进行中。目前,助理云工程师和专业云架构师认证考试正在网上提供。这些考试目前只提供英语。
此外,在 2 月 13 日至 5 月 30 日之间到期的 GCP 认证将获得宽限期,以便在 6 月 30 日之前重新认证。
此前,GCP 支持中心表示,在线监考还不能作为一种替代方式,即“远程监考的员工不必去办公室工作。不幸的是,让在线监考人员在家工作是在线监考供应商运营的一种转变,也需要实现这种转变。”
GCP 支持补充说,由于优惠券折扣或认证到期而感到获得认证压力的人,应该联系 GCP 的支持团队了解详细信息,以找到合适的解决方案。
GCP 考试由氪星管理。他们关闭的考试中心的最新名单可以在这里找到。
AWS:更多来自今天的公告
AWS 认证常见问题页面更新的完整公告如下:
为了应对最近临时关闭的考试中心,AWS 认证为需要更多时间重新安排考试、重新认证和使用代金券的考生提供了额外的支持。
现在,您可以通过在线监考参加所有 AWS 认证考试。由于预期的高需求,在线监督预约的等待时间可能会比平时长。了解有关在线监考的更多信息——如何开始、如何工作、要求等。—参观 培生 VUE 工厂 。
如果您需要额外的时间来重新认证,我们会自动延长认证有效期。您的 AWS 认证账户 将很快更新到期日期。认证扩展还扩展了您的 AWS 认证权益的可用性。
·我们将延长 AWS 认证解决方案架构师助理(SAA-C01)和 AWS 认证大数据专家(BDS-C00)的退休日期。我们的 即将推出 页面有关于这些考试的更多信息。
如果您需要额外的时间来使用优惠券,我们会自动延长优惠券的有效期。从 Xvoucher 购买的优惠券的更新到期日期将很快在您的 Xvoucher 帐户中提供。关于如何访问您的帐户或联系 Xvoucher 的信息位于我们的 优惠券页面 。
如需预约或取消考试的帮助,请联系相关考试服务提供商: PSI 或 培生 VUE 。
如果您还有其他问题,可以 联系我们 。我们将更新此页面,以确认您的帐户中何时有更新的到期日期。
暴云大德
希望跟上所有云技术的发展?收听 ACG 的原创系列 ,了解最新的云趋势。
亚马逊雅典娜解释说:这是什么,我应该什么时候使用它?
原文:https://acloudguru.com/blog/engineering/amazon-athena-explained-what-is-it-and-when-should-i-use-it
所以,你是数据分析师!根据你问的人的不同,这两个词对你如何度过时间有不同的含义。
对你的朋友来说,你是那种神秘的专业人士,整天从事人工智能或机器学习,是从元宇宙到比特币每一个新趋势的关键人物。每当他们读到“大数据将改变世界的 5 种方式”这样的文章时,他们会立即想到你。
根据你家庭的技术熟练程度,至少有一个成员——如果不是更多的话——认为他们购买任何电脑都需要你的祝福。对你的老板来说,你很可能是视觉报告大师。
同时,在现实中,在你到达任何地方接近绘制图表、构建数据模型或推导任何数据驱动的见解之前,你的大部分职业生涯都在查询数据和分析查询结果。在开始查询之前,有许多设置要做!
这就是为什么当亚马逊网络服务公司(AWS)在 2016 年推出亚马逊雅典娜(Amazon Athena)时,数据分析和数据科学社区非常兴奋,该公司承诺消除其中的一些障碍。在本文中,我们将深入探讨什么是 Amazon Athena,它的优点和缺点,以及如何使用它。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
亚马逊雅典娜是什么?这对数据分析师有什么好处?
Amazon Athena 是一个 ANSI 标准的查询工具,允许您通过两个简单的步骤来查询数据,包括大数据:
- 直接连接到数据源,如亚马逊简单存储服务(S3)
- 使用 AWS 直观 GUI 选项或命令行,通过结构化查询语言(SQL)交互式查询数据
无论数据有多大,整个过程都是简化的,因为 AWS Athena 是无服务器的。这意味着 Athena 允许您跳过各种复杂的任务,包括:
- 设置基础架构–因为它是无服务器的,所以您不需要管理服务器或集群的设置。
- 加载数据——您不需要提取、转换或加载(ETL)数据到 Amazon Athena 来查询数据,因为它直接连接到您的数据源。
- 结构化数据——Athena 使用读取模式,非常适合读取结构化、半结构化和非结构化数据。
以上所有都转化为即时查询能力!Athena 使作为数据分析师的您能够在您或您的公司获得对源数据的访问权后立即查询数据。
最重要的是,Athena 的工程设计使业务专业人员和数据管理员更容易访问它,因为 Athena:
- 运行标准 SQL–Athena 的引擎基于 Presto 构建,运行标准 ANSI SQL(结构化查询语言)
- 支持多种数据格式–支持 CSV、JSON、ORC、Avro 和 Parquet 等标准数据格式。Athena 支持数据分析师通常分析的所有文件格式。
- 支持复杂的 DDL 语句,包括大型连接、窗口函数和数组。
- 与商业智能工具很好地集成,从而简化了将枯燥的柱状数据转化为视觉上吸引人且更易理解的报告的过程。
Athena 可以查询哪些数据源?
尽管 AWS 主要构建 Athena 来查询 AWS S3 中的数据,但您可以使用它来直接查询其他 AWS 服务,如 CloudTrail、DynamoDB 和 DocumentDB。它还可以连接到第三方供应商,如雪花、Oracle 和 Microsoft SQL Server。
下表总结了 Athena 可以直接查询的三个数据源。
自动警报系统 | 第三方 | 习俗 |
---|---|---|
S3 | 关系型数据库 | 通过 Lambda 的自定义连接 |
亚马逊 DynamoDB | 一种数据库系统 | 亚马逊红移 |
一种数据库系统 | 亚马逊云观察 | 神谕 |
Amazon DocumentDB | 微软 Azure | 亚马逊开放搜索 |
Microsoft SQL Server | 亚马逊海王星 | 谷歌大查询 |
亚马逊时间流 | 雪花 | AWS CMDB |
Teradata 函数 | Google BigQuery | |
再说一遍 | apache hbase 垂直 sap hana | 霍顿工厂 |
AWS CMDB | Teradata | TPC-DS |
AWS 雅典娜多少钱? | 在定价方面,Athena 遵循按查询付费的定价模式,只对查询的数据量收费。Athena 的成本为 5 美元/TB 或 5 美分/10 GB。 | 雅典娜的局限性是什么? |
尽管 Athena 功能强大且具有交互性,但在评估该工具是否满足您的需求时,仍有一些限制需要考虑,如下所列。 | 不一致的性能 | Athena 不提供专用资源。您的查询与同一 AWS 区域的其他用户共享一个资源池。因此,对于需要实时结果的应用来说,它并不理想。 |
在大多数情况下,Athena 速度很快,但您仍然需要记住,性能的速度取决于其他因素,而这些因素并不总是在您的控制之下。 | 不可预测的成本 | 按查询付费模式是一把双刃剑。如果您的查询没有优化,或者如果您没有一个经过深思熟虑的分区策略,Athena 的定价模型可能会成为您的敌人。 |
首先,成本增加得相当快。作为一名数据分析师,您熟悉如何从一个查询引出下一个查询,在您意识到这一点之前,您的 SQL 查询已经扫描了整个数据库。 | 其次,如果没有查询优化和适当的分区策略,您将查询不必要的数据,并最终支付可避免的费用。 | 不支持的功能 |
尽管名字如此,雅典娜并不是女神!它有一些不受支持的功能,例如: | 并非所有 DDL 语句都受支持 | SQL 限制(例如,Athena 不支持存储过程) |
将 S3 视为只读(没有内置的方法来对 S3 中的数据执行插入、更新或删除操作) | 假设这些限制都不会影响您的业务需求,您可能会问如何开始使用这个工具。 | 如此大胆猜测,让我们跳到下一个问题… |
如何开始使用亚马逊雅典娜?
要回答这个问题,我们先来了解一下如何进门,接触雅典娜。
访问雅典娜
可以通过多种方式访问 Athena,有些方式比其他方式更复杂,但是作为一名数据分析师,您可能会对通过 AWS 管理控制台或 MySQL WorkBench 访问它感兴趣。
AWS 管理控制台
使用 AWS 控制台,您可以导航到 Amazon Athena 服务,与其查询编辑器进行交互。一旦您在编辑器中编写 SQL 查询并点击 Run 按钮执行,它会在几秒钟内返回大多数查询结果。这个选项非常简洁,您可以根据自己的喜好进行定制。
对于围绕该工具的驱动和定制 Athena Dashboard 的教程,请查看我的 Amazon Athena 课程介绍中的演示。
MySQL 工作台
Amazon Athena 允许您通过 JDBC 连接使用 MySQL 接口(如 MySQL WorkBench)查询其中的数据。关于这个选项的更多信息,请查看这个 AWS 教程。
在 Athena 中查询
到目前为止,雅典娜听起来就像一个狡猾的魔术师,指着东西就能凭空变出毛绒绒的动物和白色的鸽子。
您指向位于 S3 的数据,Athena 返回一个即时查询功能。但是就像魔术师使用道具和视错觉来表演一样,Athena 使用底层的表和模式来执行对底层数据的查询。
因此,在指向数据源的同一过程中,您还需要为您试图查询的文件定义模式。只有这样,Athena 才会在 AWS 粘合数据目录中拥有所需的元数据。没有这个目录和元数据,Athena 对数据的结构没有丝毫了解。
- 因此,要在 Athena 中查询任何数据,Athena 需要其元数据,这些元数据在 AWS 中以这种分层方式进行组织:
- 数据目录
- 数据库ˌ资料库
桌子
因此,除了指向数据之外,您还需要设置数据库,并为您计划查询的每个数据集构建一个表。换句话说,您需要执行以下三个步骤来在 Athena 中进行查询:
指向数据源,例如 AWS S3 时段。
创建一个数据库,并为每个数据集/文件创建一个表。这些表将自动存储在 AWS Glue 目录中。
在 Athena 查询编辑器中使用 SQL 查询数据。
有两种机制可以为 Athena 构建表,如下所示:
定义模式–通过显式提供列的名称和数据类型来定义模式。这个选项是免费的。
检测模式——您使用 AWS Glue 服务来检测模式。但是请记住,胶水服务是有成本的。
繁重的工作在于构建这些表,只要您的模式与源文件的模式完全匹配,使用哪个选项都没有关系。您必须确保架构中列和数据类型的顺序与源文件中的顺序相匹配。例如,如果源文件包含 ID、PRICE、BED、BATH 和 SQFT 列,则必须在模式中反映出确切的结构。
关于演示教程,向你展示在 Athena 中构建表格的两种方法以及更多内容,请查看我的新的Amazon Athena 课程简介。
Amazon Athena allows you to query data in it using MySQL interfaces such as MySQL WorkBench via a JDBC connection. For more on this option, check out this AWS tutorial.
Querying in Athena
So thus far, Athena sounds like a crafty magician that points to stuff only to pull out fluffy animals and white doves out of nowhere.
You point to data sitting in S3, and Athena comes back with an instant querying capability. But just like magicians use props and optical illusion to perform their shows, Athena uses underlying tables and schemas to perform querying on underlying data.
So, in the same process where you point to the data source, you will also need to define the schema for the file you are trying to query. Only then will Athena have the required metadata in the AWS GLUE Data Catalog. Without this catalog and the metadata, Athena wouldn’t have the slightest clue about the structure of the data.
So to query any data in Athena, Athena needs its metadata which gets organized in AWS in this hierarchical fashion:
- Data Catalog
- Database
- Table
Therefore, in addition to pointing to the data, you need to set up the database and build a table for each dataset you plan to query. In other words, you need to perform the three steps below to query in Athena:
- Point to the data source for example an AWS S3 Bucket.
- Create a database and create a table per dataset/file. The tables will automatically get stored in the AWS Glue catalog.
- Query the data using SQL in the Athena query editor.
There are two mechanisms to build the tables for Athena as follows:
- Define the Schema – You define the schema by explicitly providing the names and datatypes of the columns. This option is free of charge.
- Detect the Schema – You detect the schema using the AWS Glue service. But keep in mind that there are costs associated with the Glue service.
The heavy lifting lies in building those tables, and it doesn’t matter which option you go with so long your schema matches precisely the schema of your source files for things to work. You must ensure that the order of the columns and the data types in the schema matches the order in the source file. For example, if your source file has an ID, PRICE, BED, BATH, and SQFT columns, you must reflect the exact structure in your schema.
For a demo tutorial showing you both ways for building tables in Athena and much more, check out my new Introduction to Amazon Athena course.
什么是亚马逊 QuickSight?AWS BI 工具解释
在本帖中,我们将讨论什么是 Amazon QuickSight,这款基于云的数据可视化商业智能工具的特性等等。
内容
从数据中做出分析决策是确保业务增长的重要且不可或缺的一步。组织的大部分数据分布在多个数据源中,包括数据库、数据湖和数据仓库。以一种易于理解、交互式和可视化的方式从所有这些数据中做出分析决策可能很难。
这就是亚马逊 QuickSight 的用武之地。
什么是亚马逊 QuickSight?
Amazon QuickSight 是一种完全托管的云级商业智能服务,由机器学习提供支持,允许您为您的同事创建数据可视化和仪表盘,无论他们在哪里。它是 Tableau 和微软 Power BI 等商业智能工具的竞争对手。
AWS QuickSight 允许您连接来自许多不同数据源的数据。它还提供了用户管理工具,可以从几个用户扩展到数万个用户—所有这些都不需要您自己部署和管理基础架构。
亚马逊 QuickSight 最初是在 re:Invent 2015 上宣布的,与市场上的其他工具相比,它的成名在于提供一种更快、更易于使用的商业智能工具。又一大卖点?QuickSight 具有成本效益,与其他商业智能工具相比,为每个用户提供了更低的价格。
亚马逊 QuickSight 一览
- 完全托管的云级 AWS BI 工具
- 为您的用户创建数据可视化和仪表板
- 将 QuickSight 连接到许多不同的信号源
- 提供用户管理工具来轻松管理和扩展您的用户
- SPICE 是一个内存引擎,用于更快的数据检索
- 每个用户的低成本价格
- 易于使用的界面,用于创建数据分析、数据可视化和仪表板
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回答,以确定哪些概念会让人犯错。抓住这个云指南获取最痛苦的云术语的简洁定义。
QuickSight 是如何工作的?什么是 AWS SPICE?
QuickSight 使用名为 SPICE 的内存引擎,SPICE 是“超快速并行内存计算引擎”的首字母缩写。这是一种奇特的说法,即组成可视化的数据存储在内存中,因此检索起来比每次都必须查询原始数据源更快更容易。它旨在快速执行高级计算并提供数据。
QuickSight 可以使用哪种数据?
借助 QuickSight,您可以包括 AWS 数据、第三方数据、大数据、电子表格数据、SaaS 数据、B2B 数据等。如果您有数据,那么 QuickSight 将帮助您构建交互式仪表板,并使您的数据看起来非常快。
界面/工作空间/分析
QuickSight 提供了一个易于使用的界面,用户可以轻松地连接他们的数据,创建分析和可视化,然后将这些结果发布到交互式仪表板上,供用户查看,或将这些仪表板嵌入到其他网站和其他应用程序中。
亚马逊 QuickSight 演示
要查看 AWS QuickSight 的运行情况,请查看下面的演示。
亚马逊 QuickSight 版本
根据您的业务需求,QuickSight 提供了两个独立的版本,每个版本都有自己的功能和成本。
QuickSight 标准版:标准版是个人数据分析和探索的理想选择
QuickSight 企业版:就像大多数软件升级型号一样,企业版拥有标准版的所有功能,而且更多。企业版是为大规模 BI 部署而构建的。
- 了解您的业务需求将有助于您确定要使用哪个版本。
- 例如,如果您想将仪表板嵌入网站或使用 Active Directory 验证您的 QuickSight 用户,您将需要企业版。但是,如果您只想创建电子表格或 CSV 数据的即时分析和可视化,那么标准版可能适合您。无论您选择哪个,您都可以开始 60 天的免费试用。您还可以随时从标准版升级到企业版,在企业版中,您的所有身份验证详细信息和用户数据将无缝迁移到企业中。
当您第一次开始使用 QuickSight 时,您需要选择标准版或企业版。现在,我们来谈谈费用。
AWS QuickSight 定价和成本
与 QuickSight 的名称相反,您可能需要仔细查看 QuickSight 的定价,以确定如何收费以及收费内容。
Amazon QuickSight 不是免费的,但有多种价格选项,根据您的需求而有所不同。
AWS QuickSight 标准版成本
先说标准版的成本。
当你第一次开始使用时,你将被设置为一个免费用户,拥有 1 GB 的 AWS SPICE 容量。之后,用户的定价将是每个用户每月 9 美元,每年订阅一次。
如果你决定按月支付,价格将是每个用户每月 12 美元。您还需要为香料容量付费。幸运的是,AWS 免费赠送给每个用户 10 GBs 的 SPICE 容量。但是,任何额外容量的额外容量成本为每 GB 25 美分。
AWS QuickSight 企业版成本
现在来说说企业版的成本。
与标准版类似,你将被设置为一个免费用户,拥有 1gb 的 SPICE 容量。之后,QuickSight 企业版的定价就有点复杂了,分为两类用户:读者和作者。
QuickSight 阅读器是使用交互式仪表板的阅读器。读者可以登录并查看共享仪表板。他们可以使用 web 浏览器或移动应用程序过滤数据、深入查看细节或将数据导出为 CSV 文件。
另一方面,作者能够设置数据导入、创建和发布交互式仪表板、设置电子邮件报告以及管理用户等。
如果您的 QuickSight 帐户需要读者访问权限,您有两种选择:
如果你的用户群是可预测的,选择一是好的。每节课的费用是 30 美分,其中一节课是 30 分钟,从读者登录并开始与仪表板交互时开始。您只需为读者登录并与仪表板交互的时间付费。每个用户每月最多支付 5 美元。这是当读者达到或超过 17 个会话时。因此,使用频率越低就意味着成本越低,每个用户每月最多支付 5 美元。
每个 QuickSight 帐户都有作者,作者的定价是基于每个用户的。费用从每个用户每月 18 美元开始,按年订阅。价格上涨到每个用户每月 24 美元。如果您决定按月付费,每位用户将免费获得 10 GBs 的 SPICE 容量,每 GB 额外 SPICE 容量的费用为 38 美分。
- 与大多数 AWS 服务一样,QuickSight 的定价可能会很复杂。幸运的是,这两个版本都提供了 60 天的免费试用期,您可以为您的团队和组织设置读者和作者用户。之后,你就可以开始监控和了解总使用量了。这将帮助你建立一个按月收费的模式。
有什么比学习新的技术技能更好的呢?免费做这件事。查看本月的免费云课程。
使用 Amazon QuickSight 的好处
以下是使用亚马逊 QuickSight 的 6 个好处。
当检索数据以构建仪表板时,您可以获得极快的响应。
您可以将来自各种来源的各种数据合并到一个分析中。
- 您可以轻松发布仪表板,并轻松控制这些仪表板中的可用功能。
- 您可以利用由机器学习支持的自动化和可定制的数据洞察。这意味着您可以利用预测、识别任何异常值、异常检测、发现隐藏趋势,并使用这些来处理关键业务驱动因素(企业版)。
- 使用 IAM Federation、SAML、open ID connect 或 AWS Directory Service for Microsoft Active Directory(企业版)联合用户、组和单点登录的能力。
- 为了安全起见,您可以对 AWS 数据授予粒度权限,授予行级访问权限,加密静态数据,还可以访问本地或 AWS 虚拟私有云(或 VPC)中的私有数据。
- 亚马逊 QuickSight 的利弊
- SPICE 引擎允许您在与仪表板交互时利用极快的响应。它与 AWS 数据源和非 AWS 数据源的集成简单且易于设置。
AWS 提供的界面很直观,很容易学会使用。它们使创建一些令人惊叹的可视化变得非常简单。
- 作为 BI 工具,不需要许可软件,也不需要设置和维护基础设施。最后,您只需为您使用的东西付费。即使用户数量不可预测,按会话付费的定价模式也是划算的。没有前期成本或长期承诺。
- 现在谈谈一些不利因素:
- QuickSight 确实有多种可视化类型。然而,一些有用的可视化类型明显缺失。例如,蜡烛图、甘特图和高低收盘图。随着 QuickSight 作为一项服务的发展,可能会集成更多这样的可视化类型。敬请关注。
另一个问题是如何刷新存储在 SPICE 中的数据。根据您的 QuickSight edition 订阅情况,您的仪表盘可以至少每小时自动刷新一次。如果您需要创建实时仪表板和可视化,则需要使用基于事件驱动的架构来自动刷新 SPICE 数据集。例如,使用 AWS Glue 和 Lambda 创建 ETL 管道来自动刷新 SPICE 数据集。
- AWS QuickSight vs Tableau
- QuickSight 是一款轻量级且易于使用的 BI 工具。但 Tableau 通常被认为比 AWS QuickSight 更强大,甚至更容易使用。然而,这是有代价的,因为 Tableau 可能是更昂贵的选择。
Tableau 在企业组织中更受欢迎,而 AWS QuickSight 有时在 SMB 组织中更受欢迎。
如果数据来源于 AWS,AWS QuickSight 通常比 Tableau 更好。如果数据存储在其他地方,应该权衡每个选项的成本和所需的功能。
如果您的组织正在试验不同的 BI 工具,那么请试用 QuickSight,看看它是否符合您的需求。特别是如果您的数据存储在 AWS 数据源中,QuickSight 可以很容易地安装,而且成本很低。
如果您的组织已经在使用另一个 BI 工具,QuickSight 的定价模型和完全托管的功能可以帮助您的组织节省时间和资金。根据数据分析的复杂程度和需要构建的可视化类型,QuickSight 可能会也可能不会满足您的需求。但是你仍然可以试一试 QuickSight,看看你有什么想法。
了解更多关于 Amazon QuickSight 的信息
要了解如何使用亚马逊 QuickSight 的更多信息,请查看 ACG 的 AWS 认证解决方案架构师助理(SAA-C02) 和 AWS 认证数据分析–专业课程。
不确定哪些 AWS 认证适合你?查看我们的 AWS 学习路径,或者现在就在我们的 AWS 数据学习路径中开始您的云计算之路。
云成功的关键
学得更快。动作快点。从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室转变您的职业或业务。
亚马逊 QuickSight 常见问题
Amazon QuickSight 不是免费的,但有多种定价选项,根据您的需求而有所不同。对于标准版,定价从每个用户每月 9 美元开始,每年订阅一次(如果按月付费,每个用户每月 12 美元)。
Amazon QuickSight 速度快、成本低,并提供易于使用的界面来创建分析、可视化和仪表板。
******Is AWS QuickSight free?
SPICE 是 QuickSight 的内存引擎。SPICE 是首字母缩写词,代表“超快速并行内存计算引擎”这允许可视化存储在内存中,使它们更快更容易检索。****** ****What are some of the benefits of Amazon QuickSight?
Tableau 通常被认为比 AWS QuickSight 更强大、更易于使用,但它也可能是更昂贵的选择。对于拥有 AWS 数据源的组织来说,AWS QuickSight 可能是更好的选择。**** ****What is AWS SPICE?
亚马逊 QuickSight Q 允许商业用户在没有商业智能团队参与的情况下找到问题的答案。要问问题,用户可以通过亚马逊 QuickSight Q 搜索栏输入问题。q 提供商自动完成建议,并使用机器学习来理解意图和解释数据,以创建问题的答案。**** ****What is the difference between QuickSight vs Tableau?
Tableau is often considered more powerful and easier to use than AWS QuickSight, but it can also be the more expensive option. AWS QuickSight may be a better choice for organizations with AWS data sources.**** ****How do you use Q in QuickSight?
Amazon QuickSight Q allows business users to find answers to questions without input from BI teams. To ask a question, users type in the questions via the Amazon QuickSight Q search bar. Q providers auto-complete suggestions and uses machine learning to understand intent and interpret the data to create answers to the question.****
亚马逊 QuickSight:使用前要问的 3 个重要问题
原文:https://acloudguru.com/blog/engineering/amazon-quicksight-should-i-use
Amazon QuickSight 是 AWS 的商业智能(BI)服务,旨在提供来自 AWS 上或 AWS 外的数据源的交互式数据可视化。作为一种云原生和无服务器服务,QuickSight 是一种配置强大 BI 解决方案的简单方法,该解决方案可轻松连接到您的云数据源,并可根据用户需求进行扩展或缩减。
在您决定使用 Amazon QuickSight 作为您的 BI 解决方案之前,有一些事情需要考虑,以确保它能够满足您的成本和性能需求。 QuickSight 定价和管理可能很难解析,但我在本文中分解了主要组件,以便为您的 QuickSight 之旅提供一个良好的开端。
所以,在你一头扎进 QuickSight 之前,问问你自己这三个问题:
1.需要多少用户?
Amazon QuickSight 成本的最大驱动因素通常是为该应用程序提供的用户数量。用户基本分为两种角色:作者和读者。
作者是将从您的数据源创建数据集并创作数据可视化的用户。每个作者用户都有一个固定的月价格,从 12 美元/月到 34 美元/月不等,取决于您选择的功能包。如果您选择按年预付而不是按月支付,您也可以将这个范围减少到 9 美元/月到 28 美元/月。
读者按会话付费,而不是按用户付费。读者可以被授予查看和与创作的仪表板交互的权限,但不能编辑或创作它们。一个 reader 会话费用为 0.30 美元/会话,每个 reader 用户有一个月最高费用,通常为 5 美元。因此,即使一个读者一个月内记录了数千个会话,你最多只能为这个读者支付 5 美元。但是如果一个读者根本不用 QuickSight,你就不用付钱了!这是现收现付定价模式的一大优点。
2.你的用户和数据在哪里?
当谈到在云中托管应用程序时,这是我们不常考虑的事情;但是,在您调配 QuickSight 之前,从物理意义上考虑您的用户和数据的位置非常重要。
如果您最关心的是成本,请仔细考虑您的数据在哪里,并确保在离您的数据最近的 AWS 区域提供 QuickSight 应用程序。毕竟,如果您的数据托管在 AWS 上,您将为传输到 QuickSight 进行分析的数据付费。因此,您的 QuickSight 应用程序离您的数据越近,这些数据传输的性能和成本效益就越高。例如,如果您使用 us-west-2 区域来托管您希望在 QuickSight 中分析的 RDS 数据库,您应该在 us-west-2 中提供 QuickSight。
如果您最关心的是最终用户的性能,那么考虑您的用户在访问 QuickSight 应用程序时的实际位置也很重要。在更接近最终用户的区域配置 QuickSight 将带来更快、更具性能的用户体验。
3.您希望如何分享数据见解?
Amazon QuickSight 中提供的不同功能包价格相差很大,很难判断哪个包适合您的组织。大多数情况下,这个决定取决于您希望如何共享您创建的数据可视化。
标准版是最基本的 QuickSight 软件包,是开始尝试 QuickSight 的好地方。你每月为每个作者支付 12 美元,而且你不能提供读者。这意味着所有可视化只能在 QuickSight 应用程序上访问,并且只能由作者访问。这对于只需要在内部授予对仪表板的访问权限的小型团队来说非常有用。
企业版每位作者的费用为 24 美元,但允许更多的方法来分享你的仪表板和报告。借助企业版,您可以提供阅读器、将仪表板嵌入 web 应用程序、定期发送电子邮件报告等等。对于数据安全性和对数据源的访问,您还可以获得更加健壮和细粒度的特性。如果您有数十或数百名读者,即您希望授予访问权限以查看您的数据可视化的用户,那么 Enterprise edition 非常有用。
QuickSight 还提供了无数的附加功能,包括阅读器会话容量定价、分页报告,以及 QuickSight Q 。我对这些附加功能的一般建议是,尽可能从最基本的可行功能包开始,只有当你发现附加功能物有所值时才升级或附加。升级非常容易,但降级会导致现有仪表板复杂化。
结论
现收现付定价是 QuickSight 的最大优势之一,但它也可以创造更多的前期工作来了解您的组织对您的 BI 解决方案的需求。本文应该为您提供了足够的信息来开始使用 QuickSight,但是仍然存在连接数据源、创建数据集、创作可视化以及共享可视化的问题!
要回答您可能对使用亚马逊 QuickSight 有任何疑问,请查看我的课程“亚马逊 QuickSight 深度探索”。本课程面向 AWS 管理员 provisioning QuickSight、使用 QuickSight 的数据分析师或介于两者之间的任何人。
祝你在数据洞察的旅途上好运,互相照顾,保持牛逼!
亚马逊 S3 版本控制:什么,如何,为什么
原文:https://acloudguru.com/blog/engineering/amazon-s3-versioning-what-how-why
使用亚马逊 S3 时,如何保护重要的资产和数据?一个叫做版本控制的特性很好地回答了这个问题。默认情况下,当您将对象上传到 S3 时,该对象会被冗余存储,以提供 99.999999999%的持久性。这意味着,对于存储在 S3 上的 10,000 个物体,平均每 10,000,000 年就会丢失一个物体。这些都是很好的机会,那么我们为什么还要回答这个问题呢?因为尽管支持 S3 的底层基础设施提供了很高的耐用性,但它不能保护您不覆盖您的对象,甚至不能删除这些对象。是吗?默认情况下不会,但如果我们启用版本控制,它就会。
什么是版本控制?
版本控制会自动跟上同一对象的不同版本。例如,假设您有一个对象(object1)当前存储在一个存储桶中。使用默认设置时,如果您将 object1 的新版本上传到该存储桶,object1 将被新版本替换。然后,如果你意识到你搞砸了,想要回以前的版本,那你就倒霉了,除非你在本地计算机上有备份。启用版本控制后,旧版本仍然存储在您的 bucket 中,它有一个惟一的版本 ID,因此您仍然可以看到它、下载它或者在您的应用程序中使用它。
如何启用版本控制?
当我们设置版本控制时,我们是在存储桶级别进行的。因此,我们不是为单个对象启用它,而是在一个存储桶中打开它,该存储桶中的所有对象从该点开始自动使用版本控制。我们可以从 AWS 控制台,或者从 SDK 和 API 调用在存储桶级别启用版本控制。一旦我们启用了版本控制,任何上传到该存储桶的新对象都会收到一个版本 ID。这个 ID 用来唯一地标识那个版本,并且它是我们可以用来在任何时间点检索那个对象的东西。如果在启用版本控制之前,我们已经在这个桶中有了对象,那么这些对象的版本 ID 将简单地为“null”删除一个对象怎么办?当我们在版本控制中这样做时会发生什么?如果我们尝试删除该对象,所有版本都将保留在桶中,但是 S3 将在该对象的最新版本处插入一个删除标记。这意味着如果我们试图检索对象,我们将得到一个 404 Not Found 错误。然而,我们仍然可以通过指定它们的 id 来检索以前的版本,所以它们不会完全丢失。如果我们愿意,我们可以通过指定版本 ID 来删除特定的版本。如果我们对最新版本(默认版本)这样做,那么 S3 会自动将下一个版本设置为默认版本,而不是给我们一个 404 错误。这只是恢复对象以前版本的一个选项。假设您将一个已经存在的对象上传(即放置)到 S3。该新版本将成为默认版本。然后说你想把之前的版本设为默认。您可以删除最新版本的特定版本 ID(因为,请记住,这不会给我们一个 404,而删除对象本身会)。或者,您也可以将想要的版本复制回同一个存储桶。复制对象会执行 GET 请求,然后是 PUT 请求。每当您在启用了版本控制的 S3 存储桶中有一个 PUT 请求时,它都会触发该对象成为最新版本,因为它为其提供了一个新的版本 ID。这就是我们通过启用版本控制可以获得的一些好处。我们可以保护我们的数据不被删除,也不被意外覆盖。我们也可以用它来为我们自己的记录保存不同版本的日志。
还有什么?
在启用版本控制之前,您应该知道一些事情。首先,一旦启用了版本控制,就不能完全禁用它。但是,您可以将存储桶置于“版本控制暂停”状态。如果这样做,那么新对象将收到 null 版本 id。已经有版本的其他对象将继续拥有这些版本。其次,因为您存储同一对象的多个版本,您的账单可能会增加。这些版本占用空间,S3 目前每 GB 收取一定的费用。有一种方法有助于抵消这一点。这是另一个叫做生命周期管理的特性。生命周期管理让您决定在一定时间后版本会发生什么。例如,如果您正在存储重要的日志,并且这些日志有多个版本,这取决于这些日志中存储了多少数据,这可能会占用大量空间。您可以将日志保存到某个日期,然后将它们转移到 Amazon Glacier,而不是存储所有这些版本(其中一些版本可能已有数月之久)。亚马逊冰川便宜得多,但限制了你访问数据的速度,所以它最适合用于你可能不会实际使用,但仍然需要存储的数据,以防你有一天需要它。通过实施这种政策,如果你有很多对象,你可以真正地削减成本。此外,同一对象的不同版本可以有不同的属性。例如,通过指定一个版本 ID,我们可以使互联网上的任何人都可以公开访问该版本,但是其他版本仍然是私有的。现在,如果你对 S3 版本有任何疑问,欢迎在评论中提问。如果你想玩玩亚马逊 S3 版本管理,并且你是其中的一员,那就来看看这个动手实验室吧。这对你来说没有额外的成本,你也不必担心弄乱任何东西,因为实验室总是可以清理和重新启动。如果你有兴趣了解更多关于 S3 的知识,比如如何优化性能,如何使用桶策略,如何加密数据,等等,请查看 AWS 认证开发者课程。如果你现在不是会员呢?我很乐意邀请你去 Linux 学院!
Azure AWS 用户指南
原文:https://acloudguru.com/blog/engineering/an-aws-users-guide-to-azure
熟悉 AWS,但希望尝试 Azure?你并不孤单。虽然 AWS 是顶级的公共云提供商,但越来越多的开发人员、管理人员和云奇才都想尝试一下贝佐斯打造的云。
但是如何优雅地从 AWS 迁移到 Azure 呢?我以为你不会问了!(事实上,我认为你可能会问,所以我写了下面的博客来为 AWS 用户和 AWS 管理员指导 Azure。请继续。)
想了解更多关于 Azure 认证的信息吗?
查看我们的 Azure 认证和学习路径。
在云计算专家的指导下边做边学
学得更快。动作快点。借助 AWS、Azure、Google Cloud 和 Linux 中的课程和实际动手实验室,立即实现转型。
名称又能代表什么呢用天蓝色,少废话
从内心来说,我是一名 Azure 开发人员,所以我将从迁移到 Azure 的最佳部分开始。命名。只是。。。有道理。如果你想创建一个新的虚拟机,你可以创建一个(等等)“虚拟机”需要储物?这就是所谓的“存储”需要自动化服务吗?是的,你猜对了。这叫做“自动化”
将 Azure 与 AWS 进行比较并不是苹果与苹果之间的比较,但至少有了 Azure 服务,你可以肯定 10 次中有 9 次你的苹果会被称为“苹果”,而不是听起来像新克里斯托弗·诺兰电影的东西。(我看着你呢,推论。)
“但是 Cosmos DB 和 CycleCloud 呢?”你可能会问。是的,是的。规则总有例外。但是当谈到 Azure 时,更多时候命名的关键是考虑服务做什么——而不是愚蠢的名称营销可以想象出来的。(旁注:可悲的是,这种直截了当的命名并没有延续到 Azure cert 考试令人困惑的命名惯例中。)
我如何创建一个可伸缩的、高度可用的 web 应用程序来轻松地进行持续集成?
为了回答这个问题,AWS 创造了 Elastic Beanstalk。如果您接触 AWS 有一段时间了,您可能知道如何使用 Elastic Beanstalk 或 EB 来创建 web 应用程序。(是的,我上面关于 AWS 命名的观点仍然有效。)
AWS 提出的 EB 的标准架构如下所示:
记住这一点,让我们将其转换为 Azure。首先,一个小表格显示了我们需要的服务和位在 AWS 和 Azure 之间的“转换”:
部分 | 自动警报系统 | 蔚蓝的 | 评论 |
---|---|---|---|
网络应用 | 弹性豆茎 | 应用服务 | Elastic Beanstalk 是许多服务的包装器。App Service 是代码部署到的实例。 |
托管环境 | EC2 实例 | 应用服务计划 | 应用服务计划定义了用于托管应用服务的资源(VM)。 |
数据库 | 迪纳摩 DB | CosmosDB | 两者都是 NoSQL 数据库服务。 |
网络 | 虚拟私有云 | 虚拟网络 | – |
安全 | – | ||
域名服务 | 53 号公路 | 域名服务器(Domain Name Server) | – |
负载平衡器 | 弹性负载平衡 | 应用网关 | 应用服务的负载平衡器是应用网关。对于虚拟机,您将使用 Azure 负载平衡器。 |
资源组 | 如果你喜欢的话 | 你一定有(用你最好的德国口音说) | AWS 资源组是 AWS 中可选的资源分组。在 Azure 中,所有资源必须存在于一个资源组中。 |
当我们将这些 Azure 组件放在一起创建一个 web 应用程序时,我们会得到一个类似这样的架构:
这两种实现并没有很大的不同。主要区别在于,在 AWS 上,弹性 Beanstalk 实现是组成 web 应用程序的所有服务的包装器。对于 Azure 来说,应用服务是你的代码被部署到的应用的实际实例。
这总是一个简单明了的映射,对吗?
不,抱歉,不是。我特意选择了一个简单的 web 应用程序场景,因为它很常见,是一个很好的通用用例。云架构的每一个实现都是不同的。我的观点是,AWS 上用于常见计算场景的大多数服务都可以在 Azure 上找到。我的建议是查看 Azure 的参考架构图中与您的 AWS 场景最接近的部分。这些非常有助于为您指明正确的方向并了解该领域的服务范围(即,使用容器将涉及 ACR、ACI、AKS 等)。)
选择适合您的工具通常与您使用的云计算提供商没有多大关系。我的建议是永远选择最适合你的工具。如果你是那个喜欢 Vim 的人,那就利用它。(虽然我们不能成为朋友。)
你为 AWS 使用的大多数工具对 Azure 来说是一样的。然而,Azure 专业人员倾向于使用一些工具。还有什么比在漂亮的桌子上分享细节更好的方式呢?我知道你也喜欢这些。
工具 | 自动警报系统 | 蔚蓝的 |
---|---|---|
编写代码 | Visual Studio 代码 | Visual Studio 代码 |
代码工具 | AWS SDK | Azure SDK |
Line Use 指令 | AWS CLI | Azure CLI |
代码提交 | 开源代码库 | 开源代码库 |
基础设施脚本 | 云的形成 | PowerShell |
定义部署 | YAML | YAML |
你可以看到重叠非常明显。从 AWS 到 Azure 的主要区别是用于定义基础设施的 PowerShell(Azure nerds1000 ve)和 Azure CLI。
从 AWS 切换到 Azure 有多难?
想知道你是否应该冒险一试?与其说是跳水,不如说是轻微的水花。如果您对 AWS 和云计算有相当的了解,那么许多服务、概念和架构都是非常相似的。如前所述,命名非常直接(大多数情况下),并且这些工具具有一些共性。然而,ACG 提供了几个 Azure 动手实验室和认证学习路径,包括 T2 AZ-900。
您是否希望开始使用 Azure——在涉足之前获取一些信息?也许你在问自己,“self,为什么我要获得 Azure 认证?”或者你可能很好奇哪种 Azure 认证适合你。我们已经为你提供了大量的 Azure 课程和资源来帮助你入门,包括大量关于 Azure 的免费课程,从对 Azure 核心概念的介绍,到 Azure 架构设计,以及 Azure 的身份和访问管理。
所以继续吧。制造轰动。蔚蓝海岸见。
AWS Secrets Manager vs 参数存储
原文:https://acloudguru.com/blog/engineering/an-inside-look-at-aws-secrets-manager-vs-parameter-store
在本文中,我们将探讨 AWS Secrets Manager 和 AWS Systems Manager 参数存储之间的相似之处和不同之处。让我们开始吧!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
什么是 AWS Secrets Manager?
亚马逊网络服务在 2018 年推出了 AWS Secrets Manager 。这是一项帮助您保护对应用程序、服务和 It 资源的访问的服务。该服务使您能够在数据库凭证、API 密钥和其他机密的整个生命周期中轻松地轮换、管理和检索它们。使用 Secrets Manager,您可以保护、审核和管理用于访问 AWS 云中、第三方服务上和内部资源的机密。
AWS Secrets Manager 有哪些功能?
好吧,让我们回到过去,就在政治家发明互联网之后;-).也许我们在用老派的 ASP 或其他语言开发 web 应用程序。如果我们有一个想要连接的数据库呢?没问题,让我们打开 Netscape,搜索数据库的连接字符串。啊,在那儿,真酷。我们可以将这个连接字符串直接插入我们的 ASP 代码,内联硬编码我们的数据库凭证,访问我们的数据库,执行查询,返回一个记录集并开始处理它!但是当然总有坏人潜伏在周围等着好人做傻事。愚蠢的是将数据库凭证硬编码在代码中。
黑客大概在黑客训练营的第一周就学会了如何抓取这些信息。所以好人从他们的错误中吸取教训,在因为严重的安全漏洞而被解雇后得到一份新工作,并学会从他们的代码中删除数据库凭证。他们创建配置文件,并从代码中引用配置文件中的秘密。这无疑是比硬编码凭证更好的解决方案。AWS 出现了,其他选项也变得可用。
在 AWS 中,开发者可以将他们的秘密存储在 S3,甚至可以加密静态和传输中的数据。众所周知,AWS 中的事物发展变化很快。首先是 AWS 系统管理器参数存储。参数存储是一个安全的托管键/值存储,非常适合存储参数、机密和配置信息。然后在 2018 年 4 月,AWS 宣布了提供类似功能的 Secrets Manager。那么它们有什么不同,又有什么相似之处呢?
AWS 秘密管理器 vs AWS 系统参数库:相似之处
先说相似点。而且有很多这样的服务,这就引出了一个问题,拥有这两种服务有什么意义?这可能是最好的保留判断,因为这是一个很好的赌注,AWS 将继续发展秘密管理器。但是现在,我们来谈谈相似之处。
加密
首先是加密。AWS Secrets Manager 和 AWS Systems Manager 参数存储都使用 AWS KMS 来加密值。KMS 是一项托管服务,使您能够轻松加密您的数据。AWS KMS 为您提供高度可用的密钥存储、管理和审计解决方案,以便在您自己的应用程序中加密数据,并控制 AWS 服务中存储数据的加密。
借助 KMS 和 IAM,您可以使用策略来控制 IAM 用户和角色解密值的权限。因此,轻松加密您的秘密的能力对于参数存储和秘密管理器来说都是一个巨大的特性。只有我一个人,你可以控制你的秘密。加密仅仅是为你的秘密增加了一层安全保障吗?嗯,可能是这样,但是如果加密您的机密是合规性要求呢?无论是参数存储还是机密管理器,它都是开箱即用的。
那么,如果你想加密秘密,你该如何选择呢?在这种情况下,参数存储提供了更多的功能。它可以选择存储未加密的数据,或者用 KMS 密钥加密数据。使用 Secrets Manager,机密以加密方式存储,并且没有存储未加密数据的选项。这是参数存储的一个用例。
托管密钥/值存储服务
另一个重要的相似之处是托管密钥/价值存储服务。这两种服务都允许您在名称或键下存储值。它们还可以存储最多 4096 个字符的值,并且您的键可以有前缀。我要提到的最后一个相似之处是,这两个服务都可以与 AWS CloudFormation 交互。让我们记住,CloudFormation 是作为代码的基础设施,因此在 CloudFormation 模板中存储秘密正是我们希望通过使用参数存储或秘密管理器来摆脱的那种不好的做法。
参数存储或机密管理器中的 CloudFormation 模板中的值都是可引用的,因此您不必对您的机密进行硬编码!没有理由在 CloudFormation 模板中硬编码诸如数据库密码之类的东西。您的模板是代码,应该像处理应用程序代码一样小心处理,注意安全性。您可以将您的用户名和密码存储在一个秘密中,您的 CloudFormation 模板可以引用该秘密,因此您在模板中只有一个指向该值的指针。
AWS 秘密管理器 vs AWS 系统参数存储:差异
好了,现在我们需要讨论秘密管理器和参数之间的区别。让我们直接跳到底线,成本。
费用
参数存储不收取额外费用。您可以存储的参数数量是有限制的,目前的限制是 10,000 个。AWS Secrets Manager 需要额外的费用,目前每个存储的秘密需要 0.40 美元。此外,每 10,000 次 API 调用会产生 0.05 美元的额外费用。我们这里说的是几分钱,听起来并不多,但正如您所料,这些钱加起来可以用于一个大型组织,如果您存储大量机密,应该考虑这些钱。
AWS Secrets Manager 开始胜出的地方是自动轮换机密的能力。AWS Secrets Manager 提供了与 Amazon RDS 的完整密钥轮换集成。这对你意味着什么?嗯,Secrets Manager 可以轮换密钥,并在 RDS 中为您实际应用新的密钥/密码。我们都知道应该轮换密钥,但我们真的这么做了吗?Secrets Manager 使这一过程的自动化变得非常简单。
RDS 以外的服务的密钥轮换怎么样?我们可以使用工具箱中另一个有价值的工具:AWS Lambda!您可以使用 Lambda 编写一个函数来旋转您的密钥,这直接集成在 Secrets Manager 控制台中。
生成随机秘密的能力
另一个巨大的不同,也是 Secrets Manager 的一个胜利,是生成随机秘密的能力。您可以在 CloudFormation 中随机生成密码,并将密码存储在 Secrets Manager 中。这不仅仅是云形成的功能。SDK 可用于在您的应用程序代码中实现这一点。最后一个区别,也是 Secrets Manager 的另一个成功之处,是秘密可以跨帐户共享。
获得更好职业所需的技能。
掌握现代技术技能,获得认证,提升您的职业生涯。无论您是新手还是经验丰富的专业人士,您都可以通过实践来学习,并在 ACG 的帮助下推进您的云计算职业生涯。
Master modern tech skills, get certified, and level up your career. Whether you’re starting out or a seasoned pro, you can learn by doing and advance your career in cloud with ACG.
关于我们如何创建新 ACG 内容的更新
原文:https://acloudguru.com/blog/news/an-update-on-how-were-creating-new-acg-content
今年早些时候,我们将云专家和 Linux 学院的 100 多名全职内容开发人员合并为一个统一的团队。我们的目标是创造“两全其美”:一个组合的内容库,ACG 和 Linux 学院的学习者都可以使用它在任何地方获得最新、最有效、最全面的云学习。
听起来不错,我们知道。但事实证明,简单的目标背后有一些复杂的东西。
合并冲突?
任何软件工程师都知道,合并来自两个不同团队的工作可能会导致大量令人困惑的挑战(也许是希望删除您的根卷,并将职业生涯转向工匠木工)。以下是我们新组建的团队在 2020 年春夏面临的一些奇怪问题:
- ACG 和 Linux 学院开发了许多重叠的课程,特别是流行的云认证课程;如果将两个内容库合并,哪些课程会“胜出”?
- 云专家和 Linux 学院的课程因不同的事情而闻名:ACG 传统上提供较短的课程,可以快速获得认证,而 Linux 学院则以围绕主题领域更深入的研究而闻名。今后我们将采用哪种培训方式?
- 我们如何将 Linux 学院强大的实践实验室整合到 ACG 的课程目录中?
我们每天都从我们的学习者那里得到这些问题的版本,虽然我们会继续倾听并根据您的反馈进行调整,但在本帖中,我们将尽最大努力就我们迄今为止的方法提供透明的答案。
我们如何设计未来的认证课程
首先,我们承认一个基本原则:不是每个人都以同样的方式学习。没关系。如果你加入了 Linux Academy 社区,寻找 40 多个小时的深度潜水,历史悠久的 ACG 课程的快速认证风格可能不是你所寻找的…反之亦然。
但是,无论您的学习风格如何,我们都需要确保为您提供所需的工具,以推进您在云计算领域的职业发展。因此,从 2020 年 7 月开始,所有为 ACG / Linux 学院开发的新认证课程都遵循这一模式:
- 一门“初级”认证课程,旨在让您为通过认证考试做好准备。这些课程通常持续 6 到 18 个小时,包括动手实验、测验和模拟考试。
- 通过额外的课程和动手实验,支持在课程中深入钻研不同知识领域的“深度”课程。根据领域的数量,每个课程可能会有几个这样的课程,每个深度潜水可能长达 10 个多小时。
如果您需要的只是快速复习认证知识,或者通过深入学习在概念上花更多的时间,这个计划可以让您进入更短的课程。
以下是我们如何将这一新模式应用于 AWS 认证 DevOps 工程师-专业认证途径的实践:
初级认证课程:
AWS 认证 DevOps 工程师-专业(DOP-C01 考试)【10.2 小时】
支持“深度潜水”课程:
总时间:46 小时
请注意,虽然初级课程的时间长度比您可能记得的 Linux Academy 的旧 DevOps 专业课程短,但总的学习量保持不变(甚至更大);我们只是对它进行了不同的分解,让你在学习方式上有更大的灵活性。
我们还认识到,要使支持课程在 ACG 和洛杉矶平台上容易被发现,还需要做更多的工作。我们的产品和工程团队正在努力工作,在未来几周内,您将会看到更多改进。请继续向我们坦诚提供您的反馈,如果您对某门课程有任何疑问,请随时联系我们。
此外,从 2020 年 7 月开始,每门新课程(cert-prep 或其他)都包括 Linux Academy 风格的实践实验室作为核心组成部分。我们这样做是因为我们相信这非常重要,你不仅可以接触到如何做某事,还可以了解到何时以及为什么你可能会做这件事。
最后,我们正在更新现有的云专家课程,以纳入新的动手实验。例如,我们很高兴地宣布,您将在 10 月初看到 Ryan Kroonenburg 的旗舰 AWS 认证解决方案架构师助理认证课程中添加动手实验室。我们感谢您的耐心,因为在接下来的几周和几个月里,我们将完成更多的实验。
关于折旧的说明
当新的、合并的 ACG 平台上个月推出时,我们的许多学习者注意到,在 ACG 和 Linux Academy 上,有比平时更多的课程被标记为“不推荐”。我们理解这造成了一些混乱,我们希望对这里发生的事情和原因保持透明。
由于现代技术的高速变化,无论是云专家还是 Linux 学院都一直非常认真地让我们的内容尽可能保持最新。这通常意味着积极调整我们现有的课程;有时,这意味着我们完全淘汰旧的课程,用新的课程取而代之。当我们将我们的两个内容目录合并成一个包含 300 多门课程的云学习庞然大物时,鉴于两个库之间的重叠程度,我们需要做出许多艰难的决定来支持哪些内容。以下是 ACG 和 Linux 学院在决定是否弃用/替换一门课程时,历史上曾考虑过的一些事情:
- 新鲜度–内容是最新的吗?
- 质量——我们的学习者如何评价课程?(我们非常重视这些意见)
- 参与度——有多少学员实际使用了本课程?
- 恶名——这门课程是典型的 ACG 或洛杉矶学习经历的代表吗?
当我们作为一个联合的团队反对一门课程时,我们这样做是为了确保我们能够在未来提供关于该主题的最高质量的培训。也就是说,我们知道我们需要更加慎重地处理反对意见,以便我们的学生在学习过程中有充足的时间从每门课程中获得他们需要的东西。
作为对 Linux Academy 社区反馈的回应,从 10 月 2 日起,我们将在今年年底延长对 Linux Academy 平台上许多传统课程的访问,并将随时通知您更新的课程。
今后,当我们确定某门课程需要弃用/淘汰时,我们将采取以下步骤:
- 我们将在课程说明中明确注明该课程将被弃用的具体日期。该日期将在预定折旧日期之前至少八周。
- 我们将添加一段视频,介绍弃用情况,并描述将被取代的内容(或者,如果内容不会被直接取代,则提供可被取代的相关内容的指导)。
- 当新内容准备取代课程时,我们将在课程通知中添加新材料的链接。到那时,我们将开始为期 30 天的“宽限期”,让每个人“总结”学习内容,并开始过渡到更新的材料。
我们还与我们的产品和工程团队合作,以其他方式确保没有人不知道某个课程正在被否决。随着我们共同发展我们的平台,期待更多关于这方面的公告。
最后,感谢您与我们一起踏上这一旅程。我们正在为云教育打造一个可持续的未来,您的反馈将对云专家的未来发展产生重大影响。在我们一起应对这些变化的过程中,如有任何问题,请随时联系 support@acloud.guru。
Terry Cox 是一位在 IT 行业工作了 20 年的老手。他创建了许多 Linux Academy 的第一批培训课程,现在是一位云计算大师的内容 SVP。
剖析 Travis CI 文件
原文:https://acloudguru.com/blog/engineering/anatomy-of-a-travis-ci-file
Travisfile 或. travis.yaml 文件是用于建立 Travis CI 平台的主要工具。在这篇文章中,我们将介绍 Travisfile,并对. travis.yml 文件提供的不同选项进行深入分析。
什么是特拉维斯 CI?
Travis CI 让我们能够自动化代码测试、集成、交付和部署的过程,让我们能够将 DevOps 和敏捷原则引入到从推送到生产部署的代码实践中。
Travis CI 是完全托管的,只需点击几下按钮即可使用,它与您现有的版本控制系统结合在一起,使您能够以最少的前期工作自动进行构建测试和更多工作——必须提供自己的测试基础架构的日子已经一去不复返了!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
什么是 Travisfile?
Travis CI 与我们现有的版本控制相结合,因此我们可以自动测试和部署我们的代码。但是为了让 Travis 在没有我们想要的规范的情况下工作,我们需要为它提供一个文件:.travis.yml
文件——也称为“Travisfile”。
Travisfile 包含了我们管理代码的测试和部署所需的所有指令。
我们在此文件中提供的信息将用于两个目的之一:
- 它可以是关于代码的一个事实,比如编程语言、版本或者需要的服务
- 或者实际构建阶段的一部分——构建、测试和部署代码的特定指令
最起码,我们需要告诉特拉维斯我们在用什么语言。事实上,下面这段代码很可能是一个成功的 Travisfile:
language: node_js
一旦 Travis 知道使用哪种语言,它就可以假定构建环境、语言版本、安装脚本、构建脚本和其他工作。这些是我们构建的基本“事实”。
| 参数 | env
|
| 构建环境;这是部署代码的环境 | language
|
| 编写代码所用的语言 | [language_name]
|
| 将语言名称指定为键,版本是提供特定版本的值 | services
|
| 在构建环境中启用服务,比如 Docker 或 MongoDB | install
|
| 准备构建环境的安装步骤 | script
|
| 构建应用程序的步骤 | jobs.include
|
| 并行构建和阶段的附加参数 | install
和script
也是阶段,阶段是 Travis 设置、构建、测试和潜在部署应用程序的步骤。 |
有 12 个构建阶段,只有install
和script
是强制的——尽管这些通常是在语言级别设置的,并且通常不需要手动提供。
也就是说,如果需要,我们可以为每个阶段提供我们自己的命令:
参数/相位
| apt.addons
| 添加 apt 源以安装软件包 |
| cache.components
| 在启用缓存时,安装缓存构建所需的组件 |
| before_install
| 命令在安装阶段之前运行 |
| install
| 安装命令 |
| before_script
| 在应用程序构建之前运行的命令 |
| script
| 构建脚本 |
| before_cache
| 缓存构建之前要运行的命令 |
| after_success/after_failure
| 生成成功或失败时运行的命令 |
| before_deploy
| 部署代码之前要运行的命令 |
| deploy
| 部署代码的方法 |
| after_deploy
| 成功部署后要运行的命令 |
| after_script
| 完成 Travis 运行之前要运行的最后命令 |
| 例如,一个更复杂的 Travisfile 可能如下所示: | 这将设置构建环境、语言和版本、所需的服务,并在设置部署到 GitHub 版本的方法之前运行两个定制脚本(一个在安装之前,另一个替换默认的 Node.js 安装命令)。 |
它还利用了一些有用的功能来构建我们的文件,例如定义所需的分支,如果正在工作的分支是“docker ”,它还提供了一个替代工作。
env: focal
language: node_js
node_js: 'lts/*'
services: rabbitmq
before_install: ./init.sh
install: ./install.sh
after_success: ./package.sh
jobs:
include:
- stage: docker
after_success: docker push "$DOCKER_USERNAME"/app
if: branch = docker
deploy:
provider: releases
api_key: "$GITHUB_TOKEN"
file: app.tar.gz
skip_cleanup: true
on:
branch: main
Travis CI 是一个方便的平台,可以轻松地测试、集成、交付和部署我们的代码,并且对所需的.travis.yml
文件有了很好的了解,我们可以根据需要为 Travis 设置所有的项目。
想要提升你的技术技能吗?查看 本月免费课程 (不需要信用卡!),包括【YAML 要领】GitHub Actions 深潜 ,以及Python 开发入门 。
了解有关 Travis CI 的更多信息
想了解更多关于 Travis CI 的信息吗?查看我的新课程与 Travis CI 一起构建持续集成管道。
本课程通过分解.travis.yaml
文件让您开始学习 Travis CI。通过分解这个文件,我们将使用它的结构来了解 Travis CI 在集成我们的应用程序时所采用的不同构建阶段。有了这些阶段的知识,我们就可以优化我们的 Travisfile 来执行许多工作,根据许多参数进行测试,并行和分阶段工作,并根据需要部署到尽可能多的端点。
通过在 上关注一位云大师来保持联系【脸书】在 YouTube 上订阅一位云大师 进行每周更新,并在 上加入对话 。您也可以查看我们本期的 免费课程 !**
This course gets you started with Travis CI by breaking down the .travis.yaml
file. By breaking down this file, we’ll use its structure to learn the different build phases Travis CI takes when integrating our application. With knowledge of these phases, we can then optimize our Travisfile to perform a number of jobs, test against a number of parameters, work in both parallel and in stages, and deploy to as many endpoints as we need.
Keep in touch by following A Cloud Guru on Twitter and Facebook, subscribe to A Cloud Guru on YouTube for weekly updates, and join the conversation on Discord. You can also check out our current crop of free courses!
AWS 的又一次中断:你应该运行其他云吗?
原文:https://acloudguru.com/blog/engineering/another-aws-outage-should-you-run-for-other-clouds
听过 AWS 正常运行时间的笑话吗?你可能已经听说过亚马逊网络服务(AWS) 在过去几周出现了一些广为人知的问题。
发生了什么事?在本帖中,我们将讨论最新的 AWS 故障,以及本周关于 AWS 的其他新闻。我们走吧!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
本月第二次 AWS 停机发生了什么?
官方状态更新称,该问题是由“AWS 主干部分和互联网服务提供商子集之间的网络冲突”引起的。
是什么导致了这种网络拥塞?
好吧,再一次,根据官方状态更新,它是“由 AWS 流量工程触发的,为了应对 AWS 网络外的拥塞而执行的。这使得 AWS 网络上的流量超出预期”,并随后影响了 AWS 主干网络和互联网目的地子集之间的连接。
因此,AWS 真的试图积极主动地为客户做正确的事情,不幸的是,在这种情况下,它适得其反。事实上,AWS 工程师总是在幕后做积极的事情,以保持服务高效运行,我们甚至没有注意到,因为事情就是这样。这次大修在本质上与12 月 7 日 AWS 大修有很大不同,我敢打赌,如果不是因为那次更早的事件,这次事件相对来说不会被注意到。
我们从本月的第二次 AWS 故障中学到了什么?
那么,我们该怎么办?奔向其他的云?让我们的数据中心起死回生?听着,每件事都会失败。不管是在云上、跨多个云还是在我们自己的数据中心。
根据 AWS 的报告,客户可能会受到长达 45 分钟的影响。在全年全天候服务的情况下,45 分钟仍超过 99.99%的正常运行时间。
当然,我仍然可以听到重复的话“但那是停机时间,我们不能承受停机时间。”
当然,然后您应该创建一个主动-主动多区域故障转移体系结构,并支付两倍于现在的费用。
那是什么?你不信任 AWS?那么,创建相同的主动-主动多区域体系结构,跨越多个云提供商,这些云提供商拥有多个供应商关系、多个支持合同和多个支持团队,负责一个现在复杂得多的解决方案。
这 45 分钟到底值多少钱?
了解如何像 SRE 人一样思考
观看这个免费点播的网络研讨会,了解 Nobl9 工厂可靠性工程总监 Alex Hidalgo 对 SRE 文化和工具的剖析。
雅加达的新 APAC 地区
除了所有的中断混乱之外,有一个声明比现有的大量“实例类型 X 现在在 y 区域可用”更有趣。
AWS 最近在位于印度尼西亚雅加达的亚太地区开设了一个新的数据中心。新数据中心命名为 ap-southeast-3,是全球亚太和 mainland China 地区的第 10 个 AWS 区域。
除了这个数据中心,AWS 还承诺在未来 15 年内发展其在印度尼西亚的业务,并创造超过 24,000 个就业岗位。这是一个很好的例子,说明 AWS 不只是在某个地方建立数据中心,而是真正投资于当地社区,改变生活,改善经济和社会未来。
跟上 AWS 的所有事情
想要跟上 AWS 的所有事情?在推特上关注 ACG和脸书,在 YouTube 上订阅云专家的每周 AWS 更新,并在 Discord 上加入对话。
想了解更多关于云和 AWS 的信息吗?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
Ansible 角色解释备忘单
原文:https://acloudguru.com/blog/engineering/ansible-roles-explained
角色是 Ansible 的一个强大特性,它有助于重用并进一步促进配置的模块化,但 Ansible 角色经常被忽略,而不是直接针对手头任务的剧本。好消息是,可行的角色很容易设置,并在必要时考虑到复杂性。请和我一起学习如何设置和部署一个简单的 Ansible 角色的基础知识。奖励:下载下面的角色备忘单!
对一个可能角色的剖析
可承担角色的概念很简单;它是一组存储在标准化文件结构中的变量、任务、文件和处理程序。角色最复杂的部分是回忆目录结构,但是有帮助。内置的 ansible-galaxy 命令有一个子命令,可以为我们创建角色框架。只需使用ansible-galaxy init <ROLE_NAME>
在当前工作目录中创建一个新角色。您将在这里看到在新角色中创建了几个目录和文件:
文件和目录的数量可能看起来吓人,但它们相当简单。大多数目录都包含一个 main.yml 文件;Ansible 使用这些文件中的每一个作为读取目录内容的入口点(文件、模板和测试除外)。您可以自由地将任务和变量分支到每个目录中的其他文件中。但是当你这样做的时候,你必须使用目录的 main.yml 中的include指令来让你的文件作为角色的一部分被利用。在简要概述了每个目录的用途后,我们将对此进行更深入的研究。defaults 目录是为优先级最低的变量默认值指定的。换句话说:如果一个变量没有在其他地方定义,将使用defaults/main . yml中给出的定义。 文件 和 模板 目录服务于类似的目的。它们分别包含在角色中使用的附属文件和 Ansible 模板。这些目录的美妙之处在于,Ansible 在使用该角色时不需要存储在其中的资源的路径。Ansible 首先检查它们。如果您想要引用角色之外的文件,您仍然可以使用完整路径,但是,最佳实践建议您将所有角色组件放在一起。handlers 目录用于存储 Ansible 处理程序。如果你不熟悉的话,Ansible 处理程序只是在游戏结束时运行的任务。根据您的角色需要,您可以拥有任意数量的处理程序。如果您选择在galaxy.ansible.com 上发布您的角色,元目录包含的作者身份信息会很有用。元目录也可以用于定义角色依赖性。正如您可能会怀疑的那样,角色依赖关系允许您要求在安装有问题的角色之前安装其他角色。 README.md 文件只是一个 markdown 格式的自述文件。这个文件对于发布到galaxy.ansible.com的角色来说是必不可少的,老实说,这个文件应该包括你的角色如何运作的一般描述,即使你没有公开它。 任务 目录是你大部分角色将被编写的地方。该目录包括您的角色将运行的所有任务。理想情况下,每个逻辑上相关的任务系列都将被放置在它们自己的文件中,并通过 main.yml 文件简单地包含在 tasks 目录中。 测试 目录包含一个样本库存和一个 test.yml 剧本。如果您有一个围绕您的角色构建的自动化测试过程,这可能是有用的。当你正在构建你的角色时,它也可以是方便的,但是它的使用不是强制性的。最后创建的目录是 vars 目录。这是您创建变量文件的地方,这些文件为您的角色定义了必要的变量。此目录中定义的变量仅供角色内部使用。将您的角色变量名命名为命名空间是一个好主意,以防止与您的角色之外的变量发生潜在的命名冲突。例如,如果您在基线剧本中需要一个名为config _ file的变量,您可能希望将您的变量命名为baseline _ config _ file,以避免与其他地方定义的另一个可能的config _ file变量冲突。
创建一个简单的角色
如前所述,可变角色可以根据您的需要而变得复杂或简单。有时,当您支持基本功能时,从简单的角色开始并迭代到更复杂的角色会很有帮助。让我们尝试一下,定义一个名为 base_httpd 的角色,用一个简单的配置和一个非常简单的网站安装 httpd。首先,我们需要创建我们的角色。我们可以手动创建每个目录和文件,但是让 ansible-galaxy 为我们完成繁重的工作要简单得多,只需运行ansible-galaxy init base_httpd
: 接下来,我们可以在 files 目录中创建我们的简单网页。出于学术目的,我们可以创建一个名为index.html的文件,其中包含一些可靠的示例文本:
我们将通过从新安装的 httpd 中复制一个现有的模板来创建我们的 httpd.conf 文件的模板。让我们借此机会定义我们角色中的几个默认变量。我们将使用默认监听端口 80 和默认警告日志级别。我们可以通过在 defaults/main.yml : 中添加一个条目来实现这一点。你会注意到模板文件的扩展名为 .j2 作为自定义,我已经使用 grep 突出显示了我们已经通过用 Ansible 变量替换 httpd.conf 中的默认值来自定义模板的位置。然后我展示了变量在 defaults/main.yml 中的定义位置。在这里使用默认值而不是变量是首选的,因为它允许以后的定制而不必改变实际的角色。现在我们有了简单的网站和配置,我们需要创建任务来激活我们的 web 服务器。为了举例,我将把我们的 httpd 设置隔离到它自己的 yaml 文件中,该文件位于 tasks/httpd.yml 中,然后将该文件包含到 tasks/main.yml : 中,我们使用 yum、template、copy 和 service 模块来安装、配置和启动我们的 web 服务器。这里值得注意的是,我引用了没有完整路径的 httpd.yml 、 httpd.conf.j2 和index.html文件,因为它们存储在角色中。
部署角色
当我们构建角色本身时,大部分艰苦的工作已经完成。相比之下,角色的部署很容易。我们只需要建立一个简单的剧本,并使用适当的关键字:引入角色,我们可以在角色部署之后轻松地添加典型的任务,或者我们也可以通过简单地将它们添加到列表中来部署额外的角色。此外,我们可以使用相同的变量名覆盖我们配置的默认变量,如下所示: Ansible roles 提供了一种健壮的方式来组织部署工件和任务,以便重用和共享。在 ansible-galaxy 中提供的工具使得建立一个新角色变得和以前一样简单。任何一个对编写可翻译剧本有基本了解的人都可以轻松地创建一个可翻译角色,下载下面的备忘单供将来参考。 要启动你的第一个免费的 Ansible 动手实验室,阅读这篇文章。关于 Ansible 的其他阅读材料,这里有一些有趣的帖子:
Ansible vs Puppet:哪个适合你?
原文:https://acloudguru.com/blog/engineering/ansible-vs-puppet-which-is-right-for-you
作为 DevOps 工程师、系统管理员和开发人员,我们经常需要在一致的、可重复的服务器上工作。特别是对于 DevOps 工程师和管理员来说,他们可能要管理数千台服务器,他们需要进行更改,并以一致的配置一次配置多台服务器,这是最重要的,而且我们基础架构的可靠性往往取决于此。
这个问题的答案以无数配置管理平台的形式出现,这些平台让我们定义我们想要的配置任务或最终状态,然后使用这些定义在运行它们的任何服务器上进行一致的更改。其中两个平台是 Ansible 和 Puppet 。
| 可回答的 | 木偶 | 写于 |
| 计算机编程语言 | Ruby,C++,Clojure | 架构 |
| 控制节点;SSH 上的无客户端 | 服务器/客户端,其中客户端必须得到服务器的批准 | 安装过程 |
| 仅安装在控制节点上 | 较长的安装过程;安装在服务器和客户端上的软件包 | 配置管理语言 |
| 亚姆 | PuppetDSL,带有 YAML 数据存储 | CM 语言风格 |
| 程序的 | 宣言的 | 易用性 |
| 现有 YAML 知识有帮助;剧本是以面向用户的方式编写的 | PuppetDSL 基于 Ruby,但却是自己的领域特定语言;Puppet 更面向系统 | 可扩展 |
| 是的,在任何可以输出 JSON 的语言中 | 是的,用红宝石 | 特性 |
| 资源调配、配置管理、应用部署、持续交付、流程编排、自动化 | 资源调配、配置管理、补救、协调、自动化、事件驱动的自动化、法规遵从性 | 一目了然 |
Ansible 是一个配置管理、云供应和应用程序部署工具,用 Python 编写,由 Red Hat 维护。对于配置管理,用户编写基于 YAML 的任务列表,称为“剧本”,描述配置服务器相关部分的步骤。
Ansible 不需要在我们配置的服务器上下载额外的包,只需要将 Ansible 安装在它的控制节点上——这是我们的 Ansible 剧本和模块的主要来源。
为了管理我们的基础设施,我们将创建清单文件,这是包含我们所需服务器的 DNS 或 IP 信息的简单列表,Ansible 使用 SSH 来访问这些服务器,并在我们的行动手册运行时进行更改。
Ansible 是可扩展的,用户也可以编写自己的模块,这些模块提供了可以在剧本中使用的功能。虽然 Python 是 Ansible 的母语,但为了使用方便,这些模块可以用任何支持 JSON 的语言编写。
Ansible 是开源的,虽然是一个企业产品,Ansible Tower,它增加了仪表板、基于角色的访问控制(RBAC)、作业调度、集成通知和图形化库存管理。
木偶一瞥
Puppet 是一个用 C++、Clojure 和 Ruby 编写的自动化和配置管理平台,由 Puppet,Inc. 维护。配置管理以声明的方式完成,其中用户通过基于 Ruby 的 PuppetDSL 描述所需的最终状态。
Puppet 是幂等的,manifests 可以写成跨平台的。这些结束状态描述然后被映射到运行“pupept-agent”服务的批准的服务器。
与 Ansible 不同,Puppet 使用客户机-服务器架构,您需要在 Puppet 管理的任何服务器上安装 Puppet 代理。然后,客户机服务器必须在 Puppet 服务器上被接受,Puppet 服务器是我们管理 Puppet(以及 Puppet 执行下的服务器)的主要服务器。
使用 Puppet 却不想自己编写模块?
尝试使用 Puppet Forge 的动手实验室,这是一个由 PuppetLabs 托管的在线存储库,存储在 Puppet 基础设施中使用的公共模块。
Puppet 也是可扩展的,尽管您将在 Ruby 中实现这一点。
Puppet 有一个开源产品,但是 Puppet Enterprise 增加了广泛的仪表板、RBAC、云供应和合规性。
比较 Puppet 和 Ansible:它们有什么不同?
哪种解决方案最适合您(如果有!)最终取决于你的目标。
易用性
Ansible 的设置很快,行动手册是用熟悉的用户友好语言 YAML 编写的。这意味着用户通常可以比 Puppet 更快地掌握它,PuppetDSL 使用了一种与 Ruby 相近的语言。由于其客户端-服务器架构,Puppet 的设置速度也较慢,并且需要花费时间来批准任何受管节点(或者自动批准节点)。
灵活性
但是速度和易用性并不是我们在选择配置管理平台时应该考虑的唯一方面。Puppet 的清单有一个 Ansible 的剧本所没有的优势:Ansible 的剧本本质上是一个必须按顺序运行的命令列表,Puppet 的清单和模块是可重用的部分,可以按任何顺序运行,并且可以模块化使用。
Puppet 还每 15 分钟运行一次“puppet apply ”(或您设置的任何时间),确保您的服务器全天处于强制执行状态。这有助于 Puppet 不仅作为一个合规性审计工具工作,而且作为一个合规性自动化工具工作。
平台成熟度
Puppet 也有成熟的好处:Puppet 比 Ansible 大七岁。然而,Ansible 有 Red Hat 的支持,而 Puppet 由它自己的私人公司所有——作为一个 Puppet 用户,我发现这是一件喜忧参半的事情。
Ansible 长期以来有一个明确的目标和精确的实现:在离开一段时间后重新投入 Ansible 并不困难。然而,有时候感觉就像是一个傀儡用户站在不断变化的地面上。我开始用木偶 3 和木偶 4 来玩木偶。回到 Puppet 6,没有使用过 Puppet 5,感觉就像从头开始重新学习 Puppet,这是我没有预料到的,也是其他配置管理平台没有的体验。
看看木偶 5.5 和木偶 6.22 之间的资源类型数量的差异就是证据——木偶 5.5 有 48 个,而木偶 6.22 和更高版本有 12 个。这并不意味着这些变化是不好的,但 Puppet 在其生命周期中已经发生了许多实质性的变化,人们可能会考虑到这些变化。
木偶和天使哪个更好?
Are you a Puppet pro? Get ready for the 206 Puppet Professional cert at ACG with 16 hands-on labs.
不可能说出哪个平台更好,您只能确定哪个平台更适合您的需求。除了考虑上述差异之外,在做出任何决定之前,一定要花时间亲自了解这两个平台。你也可以根据自己的需要考虑其他选择,比如厨师,盐,甚至 Terraform。
最终,这两个平台都是高度可扩展的,提供自动化和云供应功能,并提供广泛的企业产品和支持。Ansible 的入门门槛较低,而 Puppet 的 DSL 可能需要更多的时间来学习,以换取强大的声明性语言。在启动和运行您的配置管理时,这两者都是强有力的候选者。
Elle Krout 曾是多家公司的技术作家,在过渡到 DevOps 并成为技术培训师之前,技术作家不仅仅是写作。她已经在 DevOps 上编写并发布了超过 11 门课程,包括木偶、盐、YAML,以及她个人最喜欢的正则表达式深潜。
Elle Krout was a technical writer at various companies where technical writers do more than write before transitioning to DevOps and working as a technical trainer. She has written and released over eleven courses on DevOps, including Puppet, Salt, YAML, and her personal favorite, a regular expressions deep dive.
Ansible vs. Terraform:战斗!
原文:https://acloudguru.com/blog/engineering/ansible-vs-terraform-fight
什么是 Ansible 和 Terraform?
如果你在或者想要进入“DevOps”世界,Terraform 和 Ansible 将会是你经常听到的两个名字。这是有充分理由的!两者都是优秀的产品,用于将基础设施创建为可用于部署可重复环境的代码,以满足各种各样的复杂性需求。但是这两者有什么区别呢?为什么你应该选择一个而不是另一个…或者你应该?让我们再深入一点,谈谈这些应用程序的一些相似之处和不同之处。
配置管理与流程编排
对于那些读过我以前的文章(博客、指南等)的人来说。),你已经知道我非常喜欢类比、明喻、隐喻等。这一块也不会有什么不同!Ansible 和 Terraform 是两个非常相似的应用程序,但有一些关键的区别。其中一个关键区别涉及两个非常常见的 DevOps 概念:配置管理和编排。这些术语通常描述工具的类型。
Ansible 主要是一个配置管理工具,通常缩写为“CM”,Terraform 是一个编排工具。现在,要明白有重叠,这些术语不一定是相互排斥的。使用与其优势相匹配的工具会有所帮助,所以让我们来谈一谈每种类型的工具针对什么进行优化。好了,如我所承诺的,类比的时间到了!把这些工具想象成音乐家的管弦乐队。编排工具类似于指挥。指挥确保有正确数量的乐器,并且所有的乐器都能正确演奏。如果出现问题,编排工具通常会移除行为不当的乐器,并用另一个乐器替换它。编排工具通常关注最终结果,并有助于确保环境始终处于该“状态”。Terraform 是这样的。Terraform 将存储环境的状态,如果有任何东西出了问题或丢失,它将在再次运行时自动提供该资源。这对于需要非常稳定状态的环境来说是极好的。如果出现问题,另一个“Terraform Apply”将纠正问题!另一方面,配置管理工具更像是一个仪器维修人员。配置管理工具,如 Ansible,将配置每个仪器,以确保它是正确的,没有损坏,并正常工作。如果仪器有问题,CM 工具将修复问题,而不仅仅是更换整个仪器。请记住,Ansible 在这方面是一个混合体,能够替代基础设施并执行编排任务,但 Terraform 通常被认为是这方面的一个优秀产品,因为它具有更高级的状态管理功能。
通过 Terraform 认证展示你的 IaC 技能。
程序性与声明性
大多数 DevOps 工具都可以归为描述它们如何执行操作的两个类别之一。这些类别是“程序性的”和“声明性的”。现在,这些术语的定义非常简洁,但是工具之间有很大的重叠,并不总是完全符合其中一个或另一个的模型。Procedural 描述了一个应用程序,它需要在代码中安排确切的步骤。例如,如果您需要在您的环境中扩展 EC2 实例,您将指定需要创建多少实例。如果需要缩小,可以指定要删除的数字。回到我们的管弦乐队比喻,这就像一个指挥要求 5 个小号,却得到了 5 个以上的小号。声明性“声明”的正是需要什么,而不是实现结果的过程。因此,如果指挥需要 5 个小号,或者您需要 5 个 EC2 实例,这正是代码执行后您将拥有的数量。如果您有 10 个,而您需要 5 个,您只需指定计数为 5。在程序上,如果你有 10 个,而你需要 5 个,你必须指定 5 个被删除。 那么,我要带着这一切去哪里呢?Terraform 是严格声明性的。您将定义您的环境,如果该环境发生变化,将在下一次“Terraform Apply”中进行修正。另一方面,Ansible 是一个混合体。您可以执行允许过程式配置的特殊命令,或者使用大多数执行声明式配置的模块。请务必阅读您所阅读的任何可回答角色的文档,以确保您理解预期的行为,并知道您是否需要明确指出所需的资源,或者您是否需要增加或减少这些资源以获得正确的结果。
什么对我最合适?
我真希望能给你一个简单的答案。Ansible 和 Terraform 都把很多事情做得很好。我个人更喜欢使用 Terraform 进行编排,Ansible 进行配置管理。为什么?因为我发现 Terraform 在基础设施协调方面更加直观。编排是 Terraform 创建的目的,也是它的主要目的。Terraform 的所有更新都集中在编排上,而且看起来更加完美。此外,“地形图”是一个优秀的工具,它提供了比Ansible --dry-run
命令更多的有用信息。另一方面,Ansible 针对配置管理进行了优化。它可以执行编排任务,但这只是它工作的一部分。正如我在 Linux Academy 上的“使用 Terraform 和 Ansible 部署到 AWS”课程所证明的,我更喜欢使用最好的工具来完成任务。你可能会发现你更喜欢用一个工具做所有的事情,这是完全可以接受的!
边缘的人工智能:构建按需物联网技能
在这篇博文中,我们将谈论 AI 在边缘以及为什么它对开发者很重要;Azure 生态系统中支持应用人工智能和物联网的核心技术;以及如何开始了解微软 Azure 和物联网,并提高物联网应用人工智能的技能。
物联网技能需求量很大
物联网的全球市场正在呈指数级增长,从 2020 年的 2500 亿美元增长到 2025 年的 1.6 万亿美元。在物联网中使用人工智能是确定的增长趋势之一,对三种技能的需求不断增长:
- 处理大量物联网数据(MLOps、分析)
- 大规模集成基于云的智能(认知服务、物联网中心)
- 部署更多支持人工智能的物联网设备(物联网边缘)
作为开发人员,这对您意味着什么?这意味着需要具有人工智能经验和知识的物联网工程师——现在是提高技能的最佳时机。
在这篇博客文章中,我们将重点关注边缘人工智能的主题,并为您留下一些很好的资源来启动您的物联网探索,包括来自微软 Learn 的官方课程内容,以及可以帮助您获得 AZ-220 Azure 物联网开发人员认证的云专家资源。
这篇文章旨在帮助:
- 让每个人都知道相关资源
- 为物联网初学者开启物联网学习之旅
- 面向物联网从业者的物联网人工智能技术技能
让我们开始吧!
成为 Azure 物联网开发者
亲自动手了解 Azure 物联网解决方案基础设施,并与 ACG 一起准备微软 Azure 物联网开发人员(AZ-220)考试。
什么是边缘的人工智能?
边缘的人工智能是一个新兴领域,它结合了人工智能的最新突破和机器学习来驱动硬件解决方案,这些解决方案通常需要接近实时的关键任务洞察力,而不需要完全连接到互联网。
这些独立的解决方案通常由硬件加速器件驱动,但也可以在微型微控制器上使用。
人工智能在边缘的主题是#JulyOT 的主题之一,31 天的内容和项目旨在激励那些对物联网感兴趣的人在物联网领域追求个人项目,并与社区分享他们的学习成果以激励他人。(在微软物联网技术社区查看#JulyOT 帖子,了解更多信息。)
Azure Percept 的可视化指南
Azure Percept 是由微软的硬件、软件和服务组成的新兴家族,旨在加速在边缘使用物联网和人工智能的业务解决方案的创新和部署。
下面的视觉指南提供了 Azure Percept 核心组件(开发工具包、工作室和最佳实践)的摘要,并强调了其探索遥测之外的物联网场景的芯片到服务方法。
微软的 #JulyOT 内容涵盖了广泛的这些场景,特别关注来自微软的 Azure Percept DevKit ,使用由 NVIDIA 硬件支持的转移学习策略来增强机器学习模型,以及使用来自 Edge Impulse 的微控制器和机器学习解决方案开发的 AI 驱动的鼻子。
探索围绕“人工智能在边缘”的完整系列内容——从学习核心应用人工智能概念,到探索使用 Azure 服务的代码的全功能项目。
边缘的物联网和人工智能学习资源
30 天学会它:初学者友好型!
既然你已经意识到应用人工智能对于物联网的价值,那么让我们谈谈资源,让你作为一个绝对初学者开始你自己的物联网之旅。
我们希望通过 Azure 物联网开发者之旅挑战您,强化您对 Azure 物联网服务的了解,该旅程旨在指导学习者寻求成为认证的 Azure 物联网开发者。
需要进一步激励吗?试试“ 30 天学习 It 云技能挑战”,这是一个限时促销活动,挑战你通过完成来自微软在线学习平台的策划的一系列互动学习模块来学习和应用你的 Azure 物联网知识。
注册参加本次挑战,如果您在 30 天内完成指定的模块,您可能有资格获得 50%的折扣券,以参加官方 AZ-220 物联网开发人员认证考试 。
以下是你将在这个 Azure 物联网开发者集合 (18 个模块,15 个小时)中学习到的内容:
| 1.实现数字化转型–了解什么是数字化转型以及它如何帮助推动使用云、人工智能和物联网的商业解决方案。 |
| 2.微软 Azure 物联网战略和解决方案—了解更广阔的 Azure 物联网前景—它提供的工具和服务,以及如何使用它来构建和部署物联网解决方案。 |
| 3.Azure 物联网中心简介——了解如何使用 Azure 物联网中心和组件服务部署和管理大规模物联网解决方案。 |
| 4.了解如何作为 IT 管理员管理物联网设备——了解如何配置 Azure 物联网中心、注册和运行物联网设备——以及为您的组织管理物联网部署。 |
| 5.创建您的第一个 Azure IoT Central 应用–通过构建一个 Azure IoT Central 应用来监控和指挥冷藏车,获得实践学习机会–学习如何导航 Azure IoT 门户网站! |
| 6.Azure IoT Edge简介——了解 IoT Edge ,它的功能和组件,以及它解决的问题。了解何时以及如何在您的物联网解决方案中使用这一点。 |
| 7.lambda arch 实现简介。物联网解决方案—了解混合 lambda 物联网架构 —探索 Azure 存储服务选项(Blob、Data Lake、Cosmos DB)和分析(时序洞察)服务,并了解何时以及如何使用它们。 |
| 8.探索&利用时间序列洞察分析带时间戳的数据——了解如何收集、处理、存储、分析和查询—您的大规模物联网数据,利用该服务的洞察。 |
| 9.通过设备配置服务安全、大规模地自动配置物联网设备——创建一个设备配置服务(DPS) 来安全处理多个远程设备。 |
| 10.通过物联网中心将数据路由到 Azure Stream Analytics 中的内置 ML 模型来识别异常情况—创建一个模拟传送带振动的应用程序。用它来探索路由,异常检测。 |
| 11.用 Azure 物联网 Hub 远程监控设备——以“监控&控制奶酪洞里的温度/湿度”为场景,打造物联网 app(设备)+服务(云)。 |
| 12.通过 Azure 物联网中心实现物联网设备管理自动化——学习使用物联网中心简化复杂的物联网设备管理流程(例如,设备组的固件更新)等。 |
| 13.通过警报和指标管理您的 Azure 物联网中心——了解指标、警报、诊断和日志。使用振动遥测作为用例来创建物联网中心应用程序并测试警报&指标。 |
| 14.将预建模块部署到边缘设备——以预建温度模拟器模块为例,将其部署到物联网边缘设备(在容器中)并查看模拟数据(在门户中)。 |
| 15.设置物联网边缘网关–了解物联网网关提供的功能,并演示如何将物联网边缘设备配置为网关。 |
| 16.在 Azure IoT Central 中设置规则并对遥测数据采取行动——基于冷藏卡车示例(在#5 中),创建规则和行动以响应自动化的遥测输入。 |
| 17.使用 REST API 管理物联网中央应用–介绍如何以编程方式管理您的物联网应用–添加设备模板、创建设备、设置属性、发送命令… |
| 18.设置从 Azure IoT Central 到 Power BI 应用程序的连续数据导出–基于冷藏车示例(#5、#16)将连续数据导出添加到 Azure Blob 存储&活动中心。 |
处于边缘的人工智能:专业化道路
上述学习路径提供了一组精心策划的模块,以 Azure 驱动的技术启动您的物联网学习之旅。如果您已经对物联网生态系统有所了解,那么请探索本节中的模块,积累您在边缘应用人工智能方面的知识和经验。
该内容由微软与牛津大学合作创建,包括牛津大学官方人工智能:云和边缘实现课程中使用的模块。使用来自地球上最好的程序之一的材料学习一个复杂的主题——并把你对人工智能的兴趣带到下一个水平。
查看此集合,开始行动— 点击此链接,获得以下路线图的互动版本,更详细。
想要快速入门吗?探索下面确定的简介模块,以及将认知服务与物联网解决方案集成的两个选项——在后端(由 Azure 功能触发,在云中)或在物联网边缘设备上(在云上创建,部署到边缘)。
总结和后续步骤
物联网生态系统正在快速发展,物联网和人工智能/人工智能领域的开发人员技能对于支持下一代物联网部署和解决数据处理、认知服务集成和边缘智能领域的应用人工智能挑战至关重要。
想提高自己的技能为这次挑战做好准备吗?以下是您可以采取的一些措施:
请关注我们团队的下一篇博客文章,该文章专门关注“初学者、学生、教师和创客”,由一个惊人的 24 课课程和实践项目(以及 Seeed Studio 的相关工具包/捆绑包)组成。
下次见,黑客快乐!
关于作者
保罗·迪卡洛是微软资深云开发者,致力于物联网、操作系统、容器和 Kubernetes。Nitya Narasimhan 对此文亦有贡献。
Azure 您在云中的成功
获得认证,掌握现代技术技能,提升您的云计算职业生涯-无论您是新手还是经验丰富的专业人士。和 ACG 一起边做边学。
请教专家:10 大云迁移挑战(以及如何克服这些挑战)
原文:https://acloudguru.com/blog/engineering/ask-the-experts-10-cloud-migration-challenges
迁移到云可能是一个挑战。但是不要在迁移上孤注一掷。如果您正在开始或计划一个云迁移,有无数常见的云迁移挑战会让您的努力脱轨。
在实现云优势的过程中,您如何避免迁移失误?
在我们免费的点播式网络研讨会 云迁移:向专家提问 中,我们邀请了一组拥有 80 多年综合 IT 经验的云专家,与我们一起分解 10 个云迁移挑战,并分享他们用来克服这些挑战的成功策略。
该面板包括:
为了清晰和简洁起见,下面的引文经过了轻微的编辑。查看网上研讨会了解整个对话。
规划中面临哪些云迁移挑战?
Kacy Clarke: 规划迁移时最大的挑战之一是您要改变多少。
当你到达另一边时,你会尽快行动并收拾残局吗?是否要重构数据库以在 RDS 上运行?我们希望在多大程度上实现自动化,以便获得自动化的 CI/CD 管道?我们要把应用程序转移到容器上吗?有这么多不同的问题。
但是,这必须回到业务案例上来,即为什么您要移动?
难道只是我想从数据中心出来?或者,您现在是否希望解决应用程序中的一些限制?从你想做的事情的范围开始。
Andy Warzon: 除了你想改变多少之外,一个典型的挑战是:你有一个云迁移,你可能有一个开发运维转型。你想同时做这两件事。没有简单的答案。一次要改变太多,这会给你带来更多失败的可能性,以及试图一次改变太多的文化阻力。
但是,如果您不解决这种开发运维心态,您将无法在迁移过程中获得云的所有优势。最后,您可能会得到一个非常静态的环境,看起来与您的内部环境非常相似,而企业可能看不到这些预期的好处。弄清楚要先解决什么是件大事。
在运行安全云环境方面没有运营经验的组织如何确保他们受到保护?
Andy Warzon: 你必须从账户布局、认证和授权模型开始,这是组织的许可模型。这是关键的第一步。生产客户、非生产客户、潜在的共享服务客户,如果有微服务架构,您甚至可以考虑为单独的工作负载集提供单独的客户。因此,规划帐户结构,然后在此基础上建立权限模型。
会有使用 Active Directory 或其他 SSO 服务的单点登录吗?然后,你给开发者什么访问权限?谁有权生产?所有那些真正关键的问题都应该提前提出来。
然后,一个密切相关的事情,以解决前期是网络布局。特别是如果从本地迁移,并且您有一个现有的网络环境,那么在某个过渡时期,本地环境和云环境之间可能会有连接。那么,IP 空间、子网和局域网的布局以及回接到内部的连接是什么样的,这样您就不会有冲突,并且有增长的空间。
John Wright: 对我来说,在处理混合网络设置时,最重要的事情是在第一天就获得安全和网络,并说:“让我们进行一次真正的对话。这是必须的。”因为它是混合的,所以当他们在 AWS 中时,他们会想要他们可能不需要的长期保护。
询问保安关于升降和移位迁移的规则,或者什么是护栏?我发现,很多时候,这些组织可能会成为迁移的阻碍者,这并不是消极的,因为他们有一个建筑和项目要规划,但是让他们在房间里,给他们时间,让他们能够做出关于迁移的决策,是成功的一个重要关键。
Kacy Clarke: 我们通常会让客户尝试定义他们的最低可行云,包括安全框架、运营框架、自动化框架、核心客户结构和网络架构。
坦率地说,在安全框架中,我所做的工作至少有一半都与安全有关,即身份和访问管理。访问模式是什么?这些是全球客户吗?他们是通过互联网进来的吗?他们是通过应用程序进来的吗?您必须了解这些访问模式以及与之相关的威胁媒介。
约翰关于在开始时引入安全性的观点是绝对必要的。他们将不得不改变控制和政策。这是费用信息。根据那里的 PII 或数据的水平,我们需要升级我们的游戏。可能是数据丢失预防、威胁漏洞、我们对最终客户端做了什么。从安全的角度来看,它最终是对最低可行云的检查。
因为这是我们通常在云中比在数据中心添加更多的东西。我们已经习惯了数据中心内的边界。但是仅仅保护云中的边界是不够的。我们必须保护工作量。而且,坦白地说,我们必须保护每一层不受彼此影响,因此,加密所有传输中的数据,加密静态数据。
你如何管理和旋转密钥呢?你在对集装箱做什么?NET 平台有没有保护端点?那里有大量的工作要做。在运营方面也是如此:事件管理、变更管理,这些流程将如何工作,我们将如何为可用性或故障转移增加自动化?
阅读:7 个常见的云采用错误 三分之二的公司报告没有获得预期的云优势。 7 种常见的云采用错误电子书详细介绍了企业可能会犯的错误,这些错误可以让他们的云努力保持稳定。
您能否在迁移到云的同时转变到 DevOps 思维模式?
Forrest Brazeal: 我注意到,当你深入了解时,大多数技术考虑实际上都是业务考虑。我想这是我们很多人都错过的。但是事件和变更管理将我们带到了 CI/CD。无论我们的部署看起来如何,组织如何快速、安全、可靠地进行部署?我们有能力在短时间内过渡到 DevOps 思维框架吗?
约翰·赖特:对我来说,你完全可以让客户进入一种开发思维模式,即使是提升和转移。更重要的是他们是否有资源去做,去生活,去改变或重新搭建平台。假设我们知道。与此同时,我们可以在一旁进行培训,即使这不是我们转移工作负载的方式。因为也许移动这个应用程序的正确方式是用管道或任何你想用的东西将它部署到 AWS 中。
对我来说,如果客户拥有支持快速迁移和学习 DevOps 的资源,那么我认为没有理由不能两者兼得。这归结于时间和预算,但我试图确保我们在进行主要迁移的同时,也在培训云优先部署方面的人员,这样既有趣又令人兴奋,我们还能学到新东西。
**Kacy Clarke:**devo PS 思维模式也是开发人员和运营人员合作的方式——基础设施即代码。对我来说,云的最大优势不在于它是完全虚拟化的,并且您可以按需付费。最大的一个好处就是什么都有 API,所以现在什么都是软件。
DevOps 思维模式就是如何将自动化思维模式应用到您正在做的每件事情中?因此,您可以关闭不使用的东西,自动扩展是您工作的一部分,因此您可以将工作负载部署与您看到的实际工作负载相匹配。
这种协作使开发人员不只是把东西扔在墙上,运营人员也不会让东西以过高的配置率运行,这样您就可以管理成本,管理效率,这是真正利用云创新平台的核心。
自动化 AWS 成本优化
AWS 为您的企业提供了前所未有的价值,但经济高效地使用它可能是一项挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况。
在考虑架构时,您如何平衡成本和速度?
Forrest Brazeal: 转到围绕成本和速度的架构和策略,假设您正在处理大型 SQL 服务器的工作负载,这是一种传统的关系数据库,其中包含大量数据,并且其当前位置存在一些数据重力。鉴于周转时间很短,您认为重新搭建平台有意义吗?
Andy Warzon: 对于任何对业务至关重要的应用程序,我的默认方法是尝试提前寻找平台迁移的机会。有时候,如果你因为离截止日期还有几周或者有数百份申请而不得不跳过,那就这样吧。但是,如果您非常关注应用程序,您会希望寻找机会来重新构建平台,例如 RDS 或其他平台,管理负载平衡器或不同状态的存储服务。
最重要的是调查这些重新平台的机会,并找到最能平衡工作和成本的机会。找到几个成功的平台对于核心应用程序来说很关键,因为它有助于开始构建买入。当团队看到这些胜利时,他们开始看到云的好处。
John Wright: 我看到的大多数迁移都有一个与之相关的时间表,比如数据库可能会被拆分成 20 个数据库。或者在数据库层进行某种类型的解耦或重新平台化。
但是负载平衡器之类的东西几乎总是被转移到更本地的解决方案。即使是没有高可用性的应用程序和 web 服务器,您也可以通过将另一个应用程序和 web 服务器添加到另一个 AZ 来快速取胜。让我们做一个自动缩放证明。让我们用 Packer 之类的东西构建一些 AMIs 和一些 DevOps 工作,您甚至可以在提升和转移时完成这些工作。所以现在你已经创建了这个高度可用的应用程序。
但是从数据库来看,技术方面的东西通常不是做出决定的因素。这是时间表和你有什么许可协议。事实是,如果客户只有许可——我怎么强调“许可”这个词都不为过——如果他们有许可协议,并且他们想做 BYOL,这就是你的决定。那是一个很大的司机。这很难,因为技术上正确的事情并没有因为许可协议而完成。
KacyClarke:AWS 的数据迁移服务当然很有帮助,尤其是如果我们想重新搭建平台的话。但是 John 关于许可的观点很重要,让客户了解这一点也很重要。但是,如果您有 300 TB 的容量,即使您拆分了这些数据库,您也必须进行批量加载和增量同步,直到您准备好真正进行切换。
您必须考虑这将如何工作,它将如何影响您的客户,以及我们如何确保从开发到测试,再到 UAT,我们实际上是在与他们协调—我们正在验证数据是否适当地同步到我们要去的任何目标数据库。然后在 UAT 环境中测试转换,然后在我们准备就绪时进行最终转换。因此,在数据迁移方面需要做很多规划。
如果对您正在迁移的应用程序的工作方式缺乏了解或文档记录,该怎么办?
阿甘 布拉萨尔:我想带来一个意想不到的挑战。如果团队中没有人知道应用程序是如何工作的,并且许多关键功能没有记录下来,你会怎么做?也许它是由已经离开公司的人建造的。也许有一份六年前的文件和一些白板的照片。你在那里做什么?
John Wright: 探索工具的预算时间。如果你不想付钱,那就协商。有一些工具,如 RISC Networks、Cloudamize 等,它们基于或不基于代理,可以连接到您现有的服务器。他们连接 15-30 天的数据,绘制显示流量的架构图,他们将确定云服务器的规模,他们将告诉您 IOPS 要求,他们将向您展示正在运行的可执行文件,以及哪些文件正在触及其他内容。
如果没有这些,你就必须付钱给合作伙伴或你自己的人,让他们用传统的方式手动进行六个月的调查。您可以花更少的钱运行 30 天的发现工具,并获得您真正需要的 90%。
但是你也必须接受你不会把你所有的特征都记录下来。这可能是你迁移到云的原因之一——让你的应用现代化并变得更好。迁移后,您可能会学到更多东西。没办法什么都学。
安迪你可能不明白每段代码是做什么的,但是你有去理解数据是如何在节点和网络间移动的。
我讨厌看到人们不解决这个问题,然后把堡垒思维带到他们的网络设计中。他们只是开放一切,因为他们不知道什么在和什么说话。您需要考虑问题的这一方面,以便尽可能锁定安全组和网络访问。确保这部分能被理解。
另一件事是,不要试图理解每一部分代码在做什么,而是为迁移建立性能需求。你希望的关键结果是什么?这将指导您在应用程序中需要做什么样的发现。
Kacy Clarke: 发现工具非常重要和有用,但我会超越这一点,调用代码扫描工具——进入并了解正在发生的事情。
有多少存储过程与此相关联。对一些人来说,那是一个真正的困境。我经常会引入应用程序性能管理工具,比如 SignalFx 或 AppDynamics 或其他工具。发现所有不同的依赖关系,以及移动应用程序后对延迟和连接性的影响。这可能是你没有预料到的数据同步。可能是跨数据库的报告。或数据库链接。(天助我们。)
不仅仅是看申请。每个应用都是生态系统的一部分。并且能够跟踪所有的连接,以便您了解什么是生态系统的真正组成部分,因为您可能需要将许多不同的应用程序移动到一起才能工作。因此,发现工具是必不可少的,但不要止步于此。还有更多的问题要问。
约翰·赖特:别忘了你还在硬件上运行。某处有一个带磁盘的服务器。这些发现工具将观察像 IOPS 这样的东西。也许您目前的工作负载对延迟过于敏感,无法像现在这样移动。看 app 端,还要看硬件。您还必须从这些发现工具中了解这些情况,许多内部监控工具无法捕获足够多的关于云中内容的这类信息。
云 ROI:云技能如何产生实际回报我们分析了来自近 100 家公司的信息,以确定承诺对云成熟度的影响。在这份指南中,看看企业投资云技能和技术能获得多少价值。
是否有非技术角色也需要掌握云才能成功迁移?
Andy Warzon: 当谈到需要讲云的非技术角色时,我会从首席财务官和他们的团队说起。考虑财务方面真的很重要。通常,当您的团队以资本化和从资本支出转向运营支出的思维方式思考时,您会发现这是一个阻碍因素。与该团队合作,了解迁移的成本和总拥有成本带来的好处,节约来自哪里,成本弹性如何,以及我们将如何从业务模式的角度考虑这些问题。
他们还需要了解需要注意的事情。他们需要成为业务中的合作伙伴,并可能在诸如退款或考虑每个客户的成本等方面更先进。
雇佣云人才并向他们传授您的环境更快,还是提升内部工程师技能成为云工程师更快?
凯西 克拉克:你必须双管齐下。一个人将帮助移动针头,但最终你将不得不把每个人都带上。让他们了解云的设计和架构有何不同,运营有何不同,我们为什么要进行自动化部署和配置、自我修复和自动扩展等工作。对于开发人员和运营人员来说,这只是一个与数据中心非常不同的环境。
你需要了解应用程序的人来加速云的发展,你需要从外部进入的人能够了解你的应用程序。你需要让他们一起工作,弄清楚你要做什么,以及当你转向云计算时,你要重构多少。
对你的教育计划要非常积极主动。建立云研究所,奖励获得认证的人,并使其令人兴奋。
阅读:了解 ManTech 如何利用激励性挑战在 100 天内获得 312 个证书。
坦白地说,云迁移会吓到你的很多员工。我们无时无刻不在应对恐惧——人们认为自己会失业。它改变了一切,包括我们如何处理许可和协议。所以有很多人,而不仅仅是一个云的人要在这里有所作为。
约翰 莱特:也很难找到买得起的云人。实话实说吧。因此,最好不要着急,雇佣合适的人,比如组织的首席架构师或首席架构师。
但是,假设您的数据中心中有存储、计算和网络。如果你只雇佣 10 个人,说他们是云团队,其他人就会辞职。现在你将没有人支持你的迁移。你不想吓到任何人。对我来说,你雇佣的比例是 1:10。如果你有 10 个存储、网络和计算人员,你告诉他们,“你们现在是云团队,你们每个人都有自己的专长,学习云。”我们出发了。
我认为您应该提前告诉人们,您将雇用一些人来帮助迁移,但我们会将您转变为拥有自己专业知识的云人员。因为如果你把它们吓跑了,迁徙就结束了。然后它变得非常昂贵,因为你必须雇用承包商和顾问来做所有的事情。
你如何向云怀疑论者推销云?
阿甘 布拉瑟尔:让我们在这里再扔一把扳手。如果你有一个 CISO,他提出了关于云安全的担忧——也许他听说了一些关于 S3 违规的事情。
凯西·克拉克:你必须在旅途中带上它们。你必须与 CISO 讨论共同责任模式的最佳实践。他们是如何控制事情的?他们如何加密和保护数据?他们如何进行复制并使其安全?
他们需要做大量的工作来了解云,不要紧张,还要了解 web 应用防火墙和密钥轮换的频率。但你必须尽早开始,这样他们就可以在 AWS 中打开越来越多的服务,让开发者可以使用它们,并利用云中可能的创新——而不是从一开始就害怕和拒绝。
安迪·沃松:绝对是。我认为我们从来没有一次部署没有深入S3 的参与。我认为“S3 违约”这句话往往是一个关键的机会。人们通常有一种思维模式,他们想象一个零日,某种根本性的缺陷。有些教育真的能让他们大开眼界。
看点:云的状态 没人能预测未来,但我们还是请了一组非常聪明的云专家来试试。Jassy 升任亚马逊 CEO 对 AWS 来说意味着什么?今年是多云之年吗?在这个免费点播的网上研讨会中,我们生动活泼的小组发言。
你将如何影响一个技术架构师,他有一个传统的思维模式,但也负责编写新的托管策略?
John Wright: 如果你是一家财富 50 强的大公司,正在向云迁移,我会告诉你需要一个云优先的首席架构师。我不是说你必须解雇你的技术设计师。但是你几乎总是不得不雇佣一个首席架构师,他不会带着所有的包袱。随着时间的推移,他们可以帮助推动这种心态。
如果你找一个已经在组织中工作了 20 年的技术架构师,他们通常不是自己推动架构向云发展的合适人选。您需要一些额外的指导,可能是合作伙伴或 AWS。但我不会只是带他们去告诉他们,“自己去做吧。”我会训练他们,给他们一些帮助。
安迪 沃松:是的,你不能离开建筑师自己。但是如果你把他们和一个伙伴或其他专家配对,我们倾向于发现,如果你和他们在一起并努力赋予他们权力,他们就会出现。这些人会开始珍惜机会,并为此感到兴奋。如果你处于那个角色,你不能对新技术感到兴奋,那么也许它不适合你。我认为,假以时日,他们会成为一个巨大的倡导者。
凯西 克拉克:对云计算中的机会充满热情,对更多了解云计算和大数据和人工智能机器学习的职业机会充满热情。有一个技术专家在那里,你可以感到兴奋。你想利用他们对你公司的所有了解。
你见过的最大的云迁移错误是什么?
安迪并意识到停机时间或由此增加的额外时间带来的挑战。
约翰 莱特:没有把精力放在发现和计划上。除非您发现并正确规划,否则您无法进行迁移。
凯西 克拉克:把它当成一个数据中心。我的一个客户在我们进入开发并让它运行时,打开了他们生产所需的所有服务。下个月的账单上出现了 120 万美元。要有成本意识。除非你需要,否则不要让事情运转。
改变职业,改变企业。
学得快。动作快点。借助 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室,立即实现转型。
理解 Ansible 中的异步任务
原文:https://acloudguru.com/blog/engineering/asynchronous-tasks-in-ansible
Kinesis 数据流:使用 AWS Lambda 自动扩展
原文:https://acloudguru.com/blog/engineering/auto-scaling-kinesis-streams-with-aws-lambda
使用 Lambda 函数创建自动缩放 Kinesis 流的经济高效的解决方案的方法
在我的上一篇文章中,我们讨论了有效使用λ和 *Kinesis 的 3 个有用技巧。*现在让我们来看看如何使用 Lambda 作为自动缩放 Kinesis 流的经济高效的解决方案。
DynamoDB 和 Kinesis 的自动缩放是 AWS 最常被要求的两个功能——当我写这篇文章时,我确信 AWS 的人们正在努力实现它。在此之前,以下是您如何自己推出经济高效的解决方案。
从高层次来看,我们希望:
- 快速扩展 Kinesis 流以满足负载的增加
- 缩减未充分利用的 Kinesis 流以节省成本
自动缩放 Kinesis 数据流
反应时间对于扩大规模很重要。根据个人经验,我发现轮询 CloudWatch 指标是一个糟糕的解决方案。原因如下:
- 云观察指标通常会落后一分钟以上
- 根据轮询频率,反应时间甚至更慢
- 高轮询频率对成本的影响很小
在决定实施我们自己的解决方案之前,我用 AWS 实验室的 Kinesis 缩放工具进行了简单的实验。我发现它的扩展速度不够快,因为它使用了这种轮询方法,而且我在使用 dynamic-dynamodb 时也遇到过类似的问题。
相反,考虑使用基于推送的方法,使用 CloudWatch 警报。虽然 CloudWatch Alarms 不能作为 Lambda 功能的触发器,但您可以使用 SNS 作为代理:
- 添加一个 SNS 话题作为 CloudWatch 报警的通知目标
- 将 SNS 主题作为触发器添加到Lambda函数中,以放大触发警报的流
触发自动缩放的指标
您可以使用多个指标来触发缩放操作。这里有几个需要考虑的指标。
**WriteProvisionedThroughputExceeded**
(流)
最简单的方法是一旦你被限制住了就扩大规模。使用流级别度量,您只需为每个流设置一次警报,无需在每次缩放操作后调整阈值。然而,由于您正在重用同一个 CloudWatch 警报,您必须记得在扩大规模后将其状态设置为 OK 。
**IncomingBytes**
和/或**IncomingRecords**
(流)
您可以通过计算调配的吞吐量,然后将警报阈值设置为调配吞吐量的 80%,来抢先进行扩展(在您实际受到服务限制之前)。
毕竟,这正是我们在扩展 EC2 集群时要做的,同样的原则也适用于此——当您可以提前扩展时,为什么要等到受负载影响时再扩展呢?但是,我们需要管理 EC2 自动扩展服务中包含的一些额外的复杂性:
- 如果我们对
IncomingBytes
和IncomingRecords
都发出警报,那么如果两者几乎同时触发,就有可能扩大规模(影响成本)。这可以缓解,但我们有责任确保一次只能发生一个扩展操作,并且在每个扩展操作之后都有一个冷却过程 - 在每次扩展活动之后,我们需要重新计算调配的吞吐量并更新警报阈值
**WriteProvisionedThroughputExceeded**
(碎片)
**IncomingBytes**
和/或**IncomingRecords**
(碎片)
有了分片级别的指标,你就可以知道分片 ID(在 SNS 消息中)的好处,这样你就可以通过分割特定分片来更精确地向上扩展。缺点是你必须在每次缩放操作后添加或删除 CloudWatch 警报。
如何放大 Kinesis 流
要真正放大一个 Kinesis 流,你需要通过分割一个或多个现有碎片来增加活动碎片的数量。需要记住的一点是,一旦一个碎片被一分为二,它就不再是Active
——但它仍然可以被访问长达 7 天(取决于您的保留策略设置)。
概括地说,你有两种选择:
- 使用 UpdateShardCount 并让 Kinesis 找出如何做
- 选择一个或多个碎片,并使用 SplitShard 自行分割
选项 1 — UpdateShardCount — 要简单得多,但这种方法有一些沉重的负担:
- 因为它目前只支持
UNIFORM_SCALING
,这意味着这个动作会导致许多临时碎片被创建,除非你每次都加倍。 - 在大规模情况下,加倍可能非常昂贵,而且根据负载模式可能没有必要
- 另外,还有很多其他的限制
选项 2 —分割碎片— 使用碎片级别指标来仅分割已触发警报的碎片。一个简单的策略是按照散列范围对碎片进行排序,并首先分割最大的碎片。
如何缩小 Kinesis 流
要缩小 Kinesis 流,只需合并两个相邻的碎片。正如分割一个碎片会留下一个不活动的碎片,合并碎片会留下两个不活动的碎片。
由于缩减规模主要是为了节约成本,我强烈建议不要过于频繁地缩减规模。相反,如果你在缩小规模后很快又不得不扩大规模,你很容易就会增加成本——从而留下许多不活跃的碎片。
由于我们不想频繁地缩减规模,因此使用 cron 作业(即 CloudWatch 事件+λ)比使用 CloudWatch 警报更有意义。经过反复试验,我们决定每 36 小时缩减一次,这是我们 24 小时保留策略的 1.5 倍。
如何确定缩小哪个 Kinesis 流
当 cron 作业运行时,我们的 Lambda 函数将遍历所有的 Kinesis 流,对于每个流,我们将:
- 根据每秒字节数和每秒记录数计算其调配的吞吐量
- 获取过去 24 小时内的 5 分钟指标(
IncomingBytes
和IncomingRecords
) - 如果过去 24 小时内的所有数据点都低于调配吞吐量的 50%,则缩减数据流
我们采用 5 分钟指标的原因是因为这是 Kinesis 仪表板使用的粒度,允许我验证我的计算。请记住,您不会直接从 CloudWatch 获得bytes/s
和records/s
值,而是需要自己计算它们。
此外,我们要求过去 24 小时内的所有数据点低于 50%阈值。这有助于我们绝对确定利用率水平始终低于阈值,而不是可能由停机导致的暂时现象。
当考虑缩小 Kinesis 流的方法时,你会有与扩大相同的权衡——在使用 UpdateShardCount 和自己使用 MergeShards 之间。
包扎
为了设置一个流的初始 CloudWatch 警报,我们使用了一个 repo 来托管我们所有 Kinesis 流的配置。repo 包含一个脚本,用于使用 CloudFormation 模板创建任何丢失的流和相关的 CloudWatch 警报。
- 每个环境都有一个配置文件,详细说明需要创建的所有 Kinesis 流,以及每个环境的最小和最大碎片数。
- 还有一个 create-streams.js 脚本,可以运行该脚本来创建环境中任何缺少的流,并具有所需的碎片数量。
- 该脚本还将使用 CloudFormation 模板创建相关的 CloudWatch 警报。
- 配置文件还指定了每个 Kinesis 流的最小和最大碎片数。当 create-streams 脚本创建一个新的流时,它将使用指定的
desiredShards
数量的碎片来创建。
我希望你喜欢这篇文章——如果你正在做类似于自动缩放你的 Kinesis 流的事情,请分享你的经验,并在评论中告诉我!
想要更多 AWS good?看看这些:
利用 AWS 代码管道实现 CI/CD 自动化
原文:https://acloudguru.com/blog/engineering/automating-ci-cd-with-aws-codepipeline
谁不喜欢一个 CI/CD 管道?尤其是当你在 AWS 上争论基础设施的时候。我们今天的问题是:我们能使用 AWS 自己的代码管道服务来管理 AWS 基础设施的频繁部署吗?
嗯,首先……你知道什么是持续集成和持续部署管道吗?如果你有,那太好了。跳过下面斜体部分。如果没有,继续读下去。
持续集成和持续部署(CI/CD)管道用于自动化软件交付步骤,包括构建、测试和部署阶段。是的,这是一个安全的空间。尽情跳你的快乐之舞,不要害怕评判。
持续集成(CI)阶段包括构建和测试阶段。CI 确保构建的变更工件也可以安全部署。现在是一个很好的时机来说明,如果部署阶段是而不是完全自动化,那么 CD 也可能意味着持续交付。在本教程中,CD 意味着持续部署,因此所有的更改都被部署到生产环境中。紧张?尝试在生产环境之前部署到临时环境。
好了,开始了。在这篇博文中,我将带您浏览我为云简历挑战创建 CI/CD 管道时采取的步骤。这是我的 GitHub 知识库,用于云简历挑战赛的后端资源。如果你只是想跟着这个例子走,这里是我的 GitHub 库为这个教程。
第一步是拥有一个 AWS 账户。它是免费创建的,在最初的 12 个月里,你可以免费访问许多资源!(阅读有关 AWS 自由层的更多信息。)
您拥有 AWS 帐户。你在滚动。让我们开始…有趣的部分。在 AWS 控制台中,导航到代码管道。选择创建管道。在创建管道的这一点上,我感到很有信心。这是我最后一步。我想,这大约需要一个小时。是啊,没错。更像是五天(我真的投入了时间)。我不想让其他人花那么长时间。这篇文章只是为了帮助读者更快地完成这个过程。还给你,教程。
- 选择管道名称并创建新的服务角色。请记住,稍后可能需要编辑服务角色。(说真的。记住这个。许可对我来说是一个很大的障碍)。
下一个。配置源阶段。我使用了 AWS CodeCommit,它需要 CodeCommit 中的存储库。在创建 CodeCommit 存储库之前,我们有两个步骤要完成。
- 我们需要一个 S3 水桶。S3 桶是用来存放文物的。我使用 AWS CLI 创建了一个 bucket。请参见下面的命令。
- 创建云信息角色。在这个例子中,我创建了一个角色,将 CloudFormation 作为可信实体,并授予了 AWSLambdaExecute 权限。然后,我使用 JSON 选项卡将如下所示的内联策略附加到角色上。根据您的 SAM 应用程序,您可能需要不同的权限。
让我们建立我们的 CodeCommit 存储库。
- 在 AWS 控制台的新选项卡中打开 CodeCommit。
- 创建一个存储库来保存您的工件。
- 将存储库克隆到您的本地机器。
- 将所有需要的文件上传到本地文件夹,然后将它们推送到存储库。我的存储库包括一个 AWS SAM 应用程序所需的文件。
- 回到 AWS 控制台中的 CodePipeline,配置源阶段设置。这建立了我们的源代码控制服务(CodeCommit ),作为我们部署管道的第一步。
- 创建构建阶段。这是我们打包应用程序进行部署的地方。
下一个。我们必须创建一个项目。
- 选择创建项目并选择一个项目名称。我的下一步如下所示。
- 记下角色名。管道在首次部署后将会失败,因为角色需要更新。
下一个。是时候配置部署阶段了。我们很接近了。我保证。
- 我在部署阶段使用了可爱的云形。请记住,AWS SAM 只是 CloudFormation 的超集,因此您可以通过 CodePipeline 原生部署 SAM 应用程序!这只是与 AWS 服务深度集成的一个很酷的优势。
- 使用之前为部署阶段的角色创建的 CloudFormation 角色。
下一个。查看管线并创建管线。
请记住,更改将会失败,因为需要额外的权限。
- 将 AmazonS3FullAccess 策略附加到我们之前创建的管道角色。
- 请重试部署。
现在,这三个阶段都应该显示成功。现在我们需要做的就是添加一个执行变更阶段。就是这样!至少对管道来说是这样。
- 编辑管道,然后编辑部署阶段。
- 在底部选择添加动作组。
- 选择完成。然后救。然后发布变化。
- 包括您需要的特定测试。使用右边的片段来帮助。
- 按下保存。单击 collections,将集合导出到保存 SAM 应用程序的其他文件的同一位置。
- 更新 buildspec.yml 文件,然后在终端内部运行 newman 命令以确保它能够工作。
- 将文件推送到 CodeCommit 存储库。然后,您可以查看代码构建日志,以了解管道的状态。
它做了什么宝贝!!!我们完了!希望有帮助!如果你喜欢这个教程,请在 Twitter 上关注我,或者在 T2 的 LinkedIn 上联系我。在未来的日子里,我会有更多与 AWS 相关的教程。此外,请随时问我任何问题!如果可以的话,我非常乐意帮忙。
Brooke Mitchell 是 的一名云专家学习者和云开发者。
使用 Ansible Tower 自动进行滚动服务器更新
原文:https://acloudguru.com/blog/engineering/automating-rolling-server-updates-with-ansible-tower
Ansible Tower 是一个有用的工具,可以显著改善您的工作流程,并且可以根据您公司的流程进行定制。许多不同环境都有一个共同点,那就是需要从负载均衡器中移除 web 服务器,更新其软件,然后将其添加回负载均衡池。在这篇文章中,我将展示如何使用 Ansible 和 Ansible Tower 来实现这一点。
什么是 Ansible?什么是安西布尔塔?
Ansible 是一个很好的管理基础设施的工具,它允许你将基础设施定义为代码。从部署环境、管理软件到其他日常维护,您都可以使用 Ansible 来完成。Ansible Tower 将 Ansible 的所有功能整合到一个功能性的 web 界面中。
如何使用 Ansible 自动滚动服务器更新
您需要做的第一件事是为您的项目建立一个 git 存储库。我这里有我的:
https://github . com/Linux academy/content-ex 447-ansi ble-best-practice
我们将在这里使用的行动手册在 blog/manage_LB.yml 中
在 Ansible Tower 中创建您的项目:
我们将 SCM(源代码管理)类型设置为 Git,给出一个到我们的存储库的链接,并将项目命名为。
现在,我们可以创建作业模板来实际运行行动手册。
对于对服务器进行更改的剧本,我更喜欢将作业类型设置为“Check ”,这样意外的作业运行就不会进行我不期望的更改。选中“启动时提示”框将允许我在需要时更改它。
我们将库存设置为我们的生产库存,选择相关的项目和剧本,并设置我们的凭证。最后,我设置了一个“web”限制,因为我将整个生产库存发送到剧本,但是我只想在 web 服务器上运行这个剧本。
一旦我们在“检查”模式下运行该作业,并看到一切都按预期运行,我们就可以在“运行”模式下重新运行它。这是结果页面的外观:
正如您在这里看到的,从负载均衡器中删除服务器的第一个任务成功完成,运行了更新(大约需要 20 分钟),然后服务器被添加回负载均衡器。添加/删除的脚本编辑 nginx 配置文件并重新启动服务。这不是最完美的解决方案,但对于这个例子来说是可行的。
如你所见,使用 Tower 来管理任务既有用又简单。使用这种方法,您可以运行各种任务来修改和管理您的环境。如果需要,您甚至可以使用工作流来设置您的任务,以便更好地管理。
在这里,我们同步我们的项目,以确保我们拥有最新的行动手册信息,然后我们尝试从负载均衡器中删除一台服务器,如果它失败,就会发出失败警报。但是,如果成功了,我们就更新 web 服务器上的软件——同样,如果有问题,就会发出失败警报。最后,我们尝试将服务器重新添加到负载均衡器中,如果它不工作,这里只有一个警告,没有其他任务。
想知道更多关于安西布尔塔的事情吗?查看 ACG 的高级自动化红帽认证专家:Ansible 最佳实践(EX447)考试准备课程,我们将在其中涵盖这一内容及更多内容!
掌握最受欢迎的技能
无论您是云新手还是经验丰富的专家,云专家都可以让您轻松(而且非常棒)地提升您的云职业生涯。查看 ACG 目前的免费课程或立即开始免费试用。
对 PrivateLink、AppRunner 和欺诈检测器的更改
原文:https://acloudguru.com/blog/engineering/awesome-changes-to-privatelink-apprunner-and-fraud-detector
本周 AWS 怎么了?PrivateLink party 的规模有所扩大,AppRunner 获得了一个非常受欢迎的新功能,欺诈检测器开始意识到它的周围环境。另外,我会让你知道一个你会喜欢的全新系列。让我们开始吧!
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
PrivateLink 扩大支持
对 PrivateLink 的支持还在继续扩大……最近 AWS 宣布名单上又增加了一些服务,特别是事件管理器、亚马逊 elastic cache、亚马逊 MemoryDB for Redis 和亚马逊预测。
PrivateLink 是 AWS 对将某些 AWS 服务直接连接到您的 VPC 的能力的统称,避免了往返于这些服务的公共端点。大多数服务使用接口端点,而 S3 和 DynamoDB 使用网关端点。效果是一样的… PrivateLink 使您对这些服务的呼叫不通过公共互联网,而是使用 AWS 网络主干。这增加了隐私,并且在端点策略的帮助下,可以极大地提高安全性。
AppRunner 获得 VPC 访问权限
AppRunner 是 AWS 的交钥匙集装箱服务,有点像 Fargate 的小兄弟。
AppRunner 的目标是提供一种快速、简单的方法,使用容器范式部署和扩展 web 应用程序——但是所有其他复杂的部分都在幕后处理。虽然有意设计得很简单,但奇怪的是却没有访问 VPC 中的资源的能力。
现在,随着您宣布现在可以将 AppRunner 工作负载连接到现有的 VPC,这个限制就不复存在了。因此,您的 AppRunner 托管的应用程序和 API 现在可以返回到您的 VPC 子网,以访问这些 RDS 实例、Redis 缓存或您在其中运行的任何东西,前提是您将安全组配置为允许这样做。
另外,通过这个 VPC 连接,您还可以使用我们之前讨论过的 PrivateLink 从您的 AppRunner 应用程序私下连接到其他 AWS 服务。
欺诈检测器获取地理位置
上周,AWS 宣布亚马逊欺诈检测器现在将地理定位作为服务的一部分。
亚马逊欺诈检测器是一种托管的机器学习服务,你可以训练它来识别看起来不寻常的情况,因此可能表明一些邪恶的事情正在发生。借助这种新的地理位置丰富功能,欺诈检测器可以自动计算客户端的 IP 地址和物理位置(如送货地址和账单地址)之间的距离,并将其作为输入提供给欺诈检测模型。
现在,使用地理定位的欺诈检测服务已经存在了一段时间,但欺诈检测器最酷的部分是它从你的实际交易数据中学习,并不断学习。因此,如果地理上分散的交易是你的在线业务的正常部分,随着模型的学习和改进,它们可能不会被标记为不寻常。
但是等等,还有呢!
就在你认为事情不可能变得更好的时候,你会喜欢我们的新系列, Cloud Builder Live ,由我的朋友和同事 David Tucker 主演。在这个真人版系列中,您可以跟随 David 使用 AWS、Microsoft Azure 和 Google 云平台实时构建一个工作应用程序。它现在正在 YouTube 和 Twitch 上播放。
我的朋友们,这就是本周所有适合发表的 AWS 新闻。保持安全,互相照顾,并保持令人敬畏,云大师!
AWS 补充无代码堆:是工程师的末日吗?
原文:https://acloudguru.com/blog/engineering/aws-adds-to-the-no-code-pile-is-it-the-end-of-the-engineer
在 AWS re:Invent 2021 上,随着亚马逊 SageMaker Canvas 的发布,AWS 进一步进军无代码生态系统。SageMaker Canvas 将机器学习的高度技术性学科与无代码的低门槛结合在一起。AWS 当然希望这能扩大其客户群,包括无代码倡导者和缺乏专门数据科学团队的客户。
但是长期的影响是什么呢?
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
从机器学习的角度来看,以“黑盒”的形式提供如此强大的技术意味着用户将不会(或将被阻止)理解引擎盖下发生的事情。在无代码的环境中,可能会有整个云基础设施工程师群体怀疑他们的技能组合是否突然有了保质期。
首先,让我们来看看什么是无代码(和不是无代码)。
什么是无代码?
无代码是应用软件开发中一种较新的范例。顾名思义,No-code 避免通过编码/编程来创建逻辑,而是提供图形和交互式界面,允许用户以最少的配置和技术敏锐度创建完全成熟的软件应用程序。
尽管无代码在过去两年中已经出现了爆炸式的流行,但长期居住在互联网上的人可能熟悉像 IFTTT 这样的先驱服务,它们通过简单的用户界面提供模块化、可连接的自动化逻辑。
快进到今天,像 Integromat 和 Zapier 这样的工具提供了强大的自动化套件,而像 Webflow 和 Bubble 这样的服务使用户能够使用可视化界面创建全功能的交互式网站。
无代码的繁荣非常有意义:将一个想法转化为功能软件需要知道如何编码,或者与开发人员合作创建一个 MVP。现在,任何人都可以很快地将一个想法变成一个工作应用程序原型。
在我们当前快节奏的随需应变时代,快速迭代和传递想法的能力对潜在的企业家和创造者来说是一个福音。
显然,无代码赋予了小团队和个人创作者权力,但它如何与 AWS 服务产品相结合是一个有趣的问题。
无代码如何适应 AWS 的长期战略?
SageMaker Canvas 实际上是 AWS 提供的第一个无代码服务。
去年,AWS 推出了亚马逊 Honeycode,这是一个可视化的网络和移动应用程序构建器,它基于电子表格模型,这种模型因 T2 Airtable 等服务而流行。今年,AWS 还推出了 AWS Amplify Studio ,这是一个更全面的无代码/低代码可视化开发服务,允许用户创建整体应用堆栈,包括前端和后端组件。
尽管 AWS 已经简化了交付高可伸缩性高性能应用程序的许多技术方面,但大多数用户会告诉你,它仍然需要相当程度的能力,并且复杂的 AWS 架构通常由多名工程师组成的团队管理。
那么为什么 AWS 选择提供看起来根本不需要工程师的工具呢?
所有这一切的简单答案是一个术语,实际上来自销售和营销方面的房子:总可寻址市场(TAM)。TAM 基本上定义了给定产品或服务的所有潜在付费客户的超集。TAM 越大,潜在收入越大。
任何公司通常都希望他们的产品或服务有一个大的 TAM,对于 AWS 来说,他们希望它越大越好。然而,AWS(和其他云提供商)面临着技能缺口问题。
对专注于云计算的技术技能的需求如此之大,以至于许多职位空缺了几个月。这听起来可能是一件好事,但无法胜任关键角色的客户很可能会推迟或重新考虑基于云的项目,从而削弱前面提到的 TAM。差距如此之大,以至于亚马逊启动了一项计划,目标是到 2025 年培训 2900 万人掌握关键的云技术。
然而,创造新一代具备云能力的工程师并不是一夜之间就能发生的事情,AWS 产品团队希望在现在和未来增加收入。无代码生态系统非常适合扩展 TAM 的策略;AWS 可以利用整个非技术用户群体,否则他们可能不会考虑 AWS 和传统的云产品。
随着机器学习工具的增加,没有专门的数据科学或数据工程能力的客户现在可以用机器学习能力来增强他们的营销和分析团队。理想情况下,随着这些客户规模的扩大,他们也开始利用其他 AWS 服务,从而增加 AWS 收入。
但是那些已经是工程师的人呢?当 AWS 推出无代码分布式系统工具时会发生什么?或者一个无代码的 NoSQL 数据库?这些技能会过时吗?在机器学习和人工智能的背景下,另一个需要特别考虑的问题是:向没有经验的用户开放这种能力有什么潜在的道德陷阱?
观看:重述《发明 2021》
谁是 re:Invent 的大赢家和大输家?在这个免费点播的网上研讨会中,我们的 AWS 英雄小组回顾了所有最重要的公告,并讨论了它们对未来一年的意义。
工程师应该担心吗?每个人都应该吗?
如果科技行业有一个不变的因素,那就是变化。曾经保证职业回报的技能(有人知道吗?)几乎消失了,而一些巨大的技术甚至还不到十年。
如果变化是不变的,那么无代码只是持续技术进步的另一种进化。这并不意味着今天的工程师应该放弃他们的工作。这也不意味着我们作为一个技术社区不应该参与和理解这些新服务的能力。
不难假设,相当数量的云工程师拥有更传统、更传统的 It 角色背景。当云站稳脚跟时,这些工程师需要适应并学习一套新的技能。没有-代码不会有任何不同。
即使对于专注于基础设施和系统的工程师来说,无代码也提供了几个潜在的优势。基本的自动化堆栈,即使是最简单的,通常也需要几个小时的工作、测试和支持,现在可以轻松地设计和部署。
开发人员和非技术用户不再需要依赖基础架构团队来提供简单的自动化,从而将他们解放出来处理更有趣、更具挑战性的大规模技术问题。传统的基于代码的架构有可能与无代码的应用程序相结合,以创建技术和非技术团队都可以访问的混合系统。
无代码和机器学习给讨论增加了另一个难题。虽然机器学习和人工智能技术使曾经只为最具技术含量的从业者保留的领域民主化,但它也引发了大量的伦理问题:
iRobot 的云机器人研究科学家、AWS 无服务器英雄 Ben Kehoe 表面上提出了一个合理的担忧。在一项已经只能看到非常有限和高度专业化使用的技术中,让它“易于”为每个人使用意味着什么?用户的责任是什么,提供商的责任是什么?
未来一个非常有趣的问题是,AWS 是否会更新其共享责任模型,以包括负责任地使用和部署机器学习和人工智能技术。
无代码和未来
在可预见的未来,No-code 可能会成为技术中的一个固定设备,无论是作为一个通用开发平台,还是作为不断增长的 AWS 产品和服务组合的一部分。
看看 AWS 打算如何增加它的无代码产品,以及这对现代工程师/技术专家的理想技能矩阵有什么潜在的影响,这将是很有趣的。
像前几代 IT 工作者一样,那些适应并成长的人将对新一波角色有更好的定位,其中一些角色甚至可能还不存在。那些选择不这样做的人可能最终会发现自己落在了后面。
无代码机器学习/人工智能的含义似乎不太清楚,技术领域的每个人都可以而且应该密切关注。抛开伦理问题不谈,人们花更多的时间构建哪怕是最基本的解决方案,肯定会推动这个领域的发展,这对技术和整个社会都有更广泛的意义。
其他 AWS re:Invent 2021 亮点
关于作者
迈克·范布斯柯克是首席 DevOps 工程师和技术内容创作者。他曾与世界上一些最大的云计算、电子商务和 CDN 平台合作过。他目前的重点是云优先架构和无服务器基础设施。
获得痛苦的云词典
说云不一定要努力。我们分析了数百万份回复,找出了最容易让学生出错的术语和概念。在这个云指南中,你会发现一些最令人头疼的云术语的简洁定义。
AWS 旨在减少云障碍,扩大行业特定的关注点
AWS 首席执行官亚当·塞利普斯基(Adam Selipsky)发表了两个多小时的主题演讲,讲述了 AWS 的历史,以及他对未来扩展云的可用性和可访问性的愿景,从而开启了第一个全天的AWS re:Invent 2021。。。和佛罗伦萨·南丁格尔的历史。
这听起来有点奇怪,但它实际上以好的“吸引每个人”的基调的方式工作。
以下是今天早上从拉斯维加斯宣布的所有重大新闻的概要,包括 Graviton3、AWS SageMaker Canvas、私有 5G、无服务器和按需分析、AWS Lake Formation 的新安全功能等等。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
1.15 年来,AWS 的状态一直很好
随着 AWS re:Invent 庆祝其作为几乎是“云”同义词的服务 10 周年和亚马逊网络服务(AWS) 15 周年,Selipsky 以回顾过去和讨论该公司的发展方向作为开场白。
当天的新闻包括重点关注为各种行业专门打造的服务,以及让几乎没有或根本没有技术经验的人比以往更容易获得复杂的技术。
“云是一个重新想象一切的机会,”塞利普斯基说。"它提供了一条通往真正转变的道路."。
历史部分提醒每个人,云怀疑论者最近仍在否定云技术,从认为它只是一种时尚,只是企业组织的东西,到一些有用但肯定不是任务关键型工作负载的东西。
“你已经证明他们错了,”塞利普斯基说。
今天,S3 存储了超过 100 万亿个对象,AWS 提供了超过 200 个全功能服务和 81 个 AZ 和 25 个地区(肯定会有更多)。
塞利普斯基说:“尽管感觉像是大规模采用,但我们才刚刚开始”。“没有哪个行业没有被触及,也没有哪个行业不能被彻底颠覆。今天在座的每个人都是这场运动的一部分。”
这一天是塞利普斯基继亚马逊首席执行官安迪·雅西(Andy Jassy)之后第一次发表主题演讲。
2.亚马逊发布 Graviton3 处理器支持 C7g 实例
一开始,亚马逊就宣布了其下一代基于 ARM 的 Graivton3 处理器,性能提高了 25%,功耗降低了 60%,从而改善了碳足迹。
AWS 还声称,这些芯片将提供 2 倍的浮点和加密性能,以及 3 倍的机器学习工作负载性能。
由 Gravinton3 处理器支持的 C7g 实例目前在预览版中可用。
Honeycomb 的首席开发人员 Liz Fong-Jones 曾在之前的中谈到过Honeycomb 大量使用 Graviton2 来帮助降低成本和环境足迹,同时增加计算量。她在 Twitter 上谈论了她看到的结果:“我们已经尝试过了,对于我们的工作负载来说,它甚至好于 25%。”
3.深度学习培训的亚马逊 EC2 Trn1 实例正在预览中
AWS 宣布基于 AWS Trainium 的亚马逊 EC2 Trn1 实例正在预览中。
这些实例针对在云中训练深度学习模型进行了优化,为模型训练提供了 AWS 声称的最佳性价比,并提供了 800 Gbps 的网络带宽。
这些对于像语言处理或图像识别这样的用例是非常理想的。获取产品页面上的所有信息。
4.AWS 大型机现代化有助于迁移本地大型机工作负载
Selipsky 说,客户正试图摆脱大型机,并“通过迁移降低 70%或更多的成本。”一些人选择提升和移位,而另一些人决定重构。
AWS 认为这两者都不像客户希望的那么容易。解决办法?AWS 大型机现代化。
Selipsky 表示,该平台将帮助组织在 AWS 上迁移、现代化和运行大型机工作负载,将迁移时间缩短三分之二,分析和评估迁移准备情况,并帮助他们进行自动化重构或平台重建。
更多信息点击这里。
5.AWS Private 5G 让您拥有私人蜂窝网络
厌倦了糟糕的手机服务?也许是时候创建自己的 5G 网络了。奇怪的是,现在这是一种选择,AWS 私有 5G。
AWS Private 5G 允许企业设置和管理自己的专用网络,声称设置可以在几天内完成,而不是几个月。
为什么你可能想要一个专用的 5G 网络(除了让你害怕 5G 的邻居搬走)?
AWS 声称,专用 5G 网络可以帮助组织处理企业网络限制,方法是增强现有网络,为越来越多的设备提供高带宽、远程覆盖,同时保持专用网络的安全性和控制力。
AWS 提供您需要的东西(硬件、软件和 SIM 卡),您的员工插入 AWS 提供的 SIM 卡,网络就会自动配置。Selipsky 提供了一个大型园区、仓库或工厂作为潜在的使用案例。客户只为他们请求的容量和吞吐量付费。
6.SageMaker 画布:假人的 ML 模型?
人们想要访问很酷的机器学习系统。但这意味着依赖一个可能有更好的事情要做的数据科学团队。进入:亚马逊 SageMaker Canvas,现在是 GA。
SageMaker Canvas 旨在帮助业务用户和分析师使用可视化、无代码、点击式界面生成 ML 预测。创建模型后,用户可以发布结果并与其他人协作。
更多信息点击这里。
7.新的无服务器和按需分析选项
AWS 宣布,预览版中的红移、EMR、MSK 和 Kinesis 现已提供无服务器和按需选项。
无需配置或扩展集群或服务器。只要启动它们,服务就会在你忙的时候扩大规模,在你不忙的时候缩小规模。你只有在使用服务时才付费。
ACG 的 Stephen Sennett 对 T2 的 Kinesis 数据流按需的潜力感到特别兴奋:“Kinesis 数据流具有按需模式很有趣,可能会为那些不愿意以‘X 大小’提交的人打开许多用例——类似于按需 DynamoDB 如何向非常不频繁的用例或高度不可预测的工作负载打开东西。”
在围绕 Kinesis 数据流点播的公告中,Marcia Villalba 解释了一些潜在的用例。
“按需模式非常适合具有未知或可变工作负载的客户,或者只是不想处理容量管理的客户。按需模式最适合具有均匀分区键分布的工作负载。例如,您运行一款手机游戏,该游戏的流量在一周或一天中是可变的,因为客户大多在晚上或周末玩游戏。或者,你运营一个直播节目的流媒体平台,你会发现根据你拥有的嘉宾,需求会突然增加。”
您可以通过以下链接获得更多信息:
8.AWS Lake Formation 引入了 spalshy 新的安全功能
AWS 正在升级针对 AWS Lake Formation 的安全特性,增加了行和单元级别的安全和受管表,这些都是今天正式发布的。
受管表是一种新型的 S3 表,它使数据的接收和管理变得更加容易,支持允许用户并发地插入和删除数据的 ACID 事务。行级和单元级安全性确保数据只向特定行和列的授权用户公开。这适用于受治理的和传统的 S3 表。
正如 Selipsky 所说,这“将正确的数据交给正确的人,并且只交给正确的人。”
9.亚马逊 S3 冰川即时检索
AWS 围绕存储服务和功能发布了一小堆更新,包括 Amazon FSx for OpenZFS 和Amazon EBS snapshot s Archive存储层。
但是最突出的是亚马逊 S3 冰川即时检索存储类的公告,它看起来非常酷。(抱歉……)
AWS 声称,它将为很少访问的数据提供最低成本的存储(比 S3 标准-不频繁访问低 68%),同时提供毫秒级检索。
10.AWS 揭示面向工业和汽车垂直行业的物联网服务
在今天的重要主题演讲即将结束时,Selipsky 宣布 AWS IoT TwinMaker 和 AWS IoT Fleetwise 正在预览中。
AWS IoT TwinMaker 允许开发人员制作现实世界系统的数字双胞胎,如工厂、工业设备或产品线。
AWS IoT Fleetwise 旨在让汽车制造商更容易几乎实时地收集和分析数百万辆汽车产生的大量数据。这些数据可以用于从远程诊断到训练自动驾驶或辅助驾驶系统的机器学习模型的所有事情。
跟上 AWS 的一切:发明 2021
在推特上关注 ACG和脸书,以及在 YouTube 上订阅一位云专家来更新:发明 2021!查看 ACG 和 Pluralsight re:Invent 内容中心获取新闻和 AWS 资源。加入我们令人敬畏的 Discord 社区,与 AWS 培训架构师和其他志同道合的阴云密布的人一起接触数字。
AWS 宣布新的专业认证
原文:https://acloudguru.com/blog/engineering/aws-announces-new-sap-specialty-certification
本周 AWS 怎么了?引入了 Instance Scheduler 版本,Amazon Fraud Detector 占据了中心位置,CloudFormation 用户现在可以在 Systems Manager 中管理他们的应用程序,并且宣布了 AWS 的新专业认证。
想了解更多?详情请继续阅读!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
宣布 AWS 实例调度程序 2.0
本周早些时候,AWS 宣布了 Instance Scheduler 的 2.0 版本。Instance Scheduler 允许使用标记对实例进行分组来配置启动和停止计划,从而有助于控制实例的成本。
使用 SSM 自动化操作手册来启动和停止实例,调度程序允许您的实例在您知道您需要它们时启动,在您知道您不需要它们时停止。
2.0 版包括定制的 Systems Manager 文档,允许 Systems Manager 中的状态管理器关联能够启动和停止 EC2/RDS 实例。这与以前的版本不同,以前的版本使用 Lambda 来检索调度和实例状态,然后根据调度中设置的参数(如 enforced 或 override)来操作。
亚马逊欺诈检测器更新
诈骗侦查员,围过来!欺诈检测器有各种各样的更新。我向您介绍交易欺诈洞察模型!
低延迟模型专门设计用于更好地检测在线无卡交易欺诈。与之前的在线欺诈洞察模型相比,这种新模型可多检测 30%的欺诈交易,性能保持时间长达 6 倍。
欺诈检测器现在也有事件数据集存储!
这一新的存储功能将允许您直接在欺诈检测器中发送和存储您的欺诈数据。您还可以上传历史事件数据来训练机器学习模型,并让这些模型将历史背景应用于新事件,自动计算购买频率和帐户年龄等信息。
事件数据集会随着每个新的预测自动更新,因此您不需要为每个模型再训练上传新的数据集!
除了这些新功能,在线欺诈洞察欺诈预测的定价降低了 56%!使用等级允许您更快达到最高折扣等级。现在,每月只需 100,000 次欺诈预测,您就可以达到 75%的折扣等级,而不是以前要求的 120 万次!那就是huuuuge储蓄!
更多详情请点击查看。
对升级感兴趣,或者从开发和运营开始您的旅程?云专家的 AWS DevOps 学习路径提供适合初学者和高级专家的定制课程!
AWS 云信息应用管理器
CloudFormation 用户联合起来!我给你:应用经理!
现在,您可以查看运营数据、诊断并采取措施解决在云架构堆栈中启动的应用程序的问题。(我知道。太牛逼了。)
您可以从堆栈操作下拉菜单中的 CloudFormation 堆栈或系统管理器中直接查看应用管理器控制面板,您将在一个视图中获得包括漂移状态、应用类型、标签、状态、警报、操作项目、运行手册日志和应用洞察在内的信息概述。
新的 AWS SAP 专业认证
AWS 宣布一项新的 SAP on AWS 专业认证。
首先,你可能想知道什么是 SAP?(如果你和我一样,那么如果对你来说是新的,你会立即开始编造自己对缩略语的理解,所以让我们澄清一下。)SAP 代表“系统分析程序开发”,被简称为 SAP(我知道。。。缩略词不是我定的规则。)
该考试将重点验证在 AWS 上管理和部署 SAP 工作负载的技能。
该专业考试将有 220 分钟的时间回答 50 道选择题和多选题。
因此,请保存日期、标记您的日历并设置闹钟:新的 SAP on AWS–专业认证测试版考试将于 2021 年 10 月 26 日(星期二)开放注册。
已经紧张了?不要烦恼。可以查阅 AWS 提供的考试指南和样题来做准备。
跟上 AWS 的所有事情
别忘了加入我们令人敬畏的 Discord 社区,在这里你可以和所有你喜欢的 AWS 培训架构师和志同道合的人一起闲逛!你还可以在 YouTube 上订阅云专家的每周亚马逊新闻和 AWS 公告,比如 ACG 订阅脸书,在推特上关注我们。
别忘了我们在 ACG 这里有一个免费计划(不需要信用卡)。如果你是喜欢先试后买的人,这是完美的选择。我们每个月都会推出一系列新的免费课程。
这周就这些了。继续牛逼吧,云大师们!
看点:领导需要了解哪些关于云安全的知识
你的业务在云端安全吗?答案很大程度上取决于你。观看 Mark Nunnikhoven 的免费点播网络研讨会,他将解决云安全的关键问题。
Watch: What Leaders Need To Know About Cloud Security
Is your business safe in the cloud? The answer is largely up to you. Watch this free on-demand webinar with Mark Nunnikhoven as he tackles the keys to cloud security that sticks.
CloudFormation 支持物联网设备管理
本周 AWS 怎么了?本周,App Runner 现在支持 CDK 构建和部署应用程序,Step Functions 工作流现在支持 PrivateLink,CloudFormation 现在支持物联网设备管理!敬请关注本周 AWS 的完整报道!
请继续阅读所有细节!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
App Runner 支持 CDK
本周早些时候,AWS 宣布 App Runner now 支持使用 AWS 云开发套件(CDK) 来构建和部署您的应用。
AWS App Runner 是一个全面管理和自动扩展的服务,允许大规模快速部署容器化的 web 应用程序和 API。
AWS CDK 是使用 Python 和 Node.js 等语言的单一启动源。现在,您可以通过指定源代码位置(如亚马逊弹性容器注册中心(ECR) Public and Private,或 CDK 的服务构造中的 GitHub)来创建应用程序运行器资源。您还可以使用 CDK 来指定那些资源需要使用的 IAM 角色。
步骤功能工作流现在支持 PrivateLink
AWS 步骤功能的同步快速工作流现在支持 PrivateLink!
此更新现在允许您的工作流程从您的 VPC 开始,而无需穿越公共互联网空间。Step Functions 帮助您构建分布式应用程序、自动化流程并构建机器学习管道,快速响应,无需轮询其他服务或创建定制解决方案。
现在有了 PrivateLink 支持,您可以在 VPCs、AWS 服务和本地网络之间建立私有连接,并降低 DDoS 攻击或中间人攻击的风险。您将需要创建一个新的 VPC 端点来连接到 Synchronous Express 工作流*,但是*如果在 VPC 和 VPCe 中启用了私有 DNS 解析,则不需要对您的 SDK 配置进行任何代码更改。
在尝试实施这一新产品之前,请务必查看您的使用情形所支持地区的完整列表。
观看 re:Invent 2021: AWS Heroes 关于展会前应该知道的事情——关于我们期待什么和我们最期待的主题演讲的大赌注。
CloudFormation 现在支持物联网设备管理
物联网(IoT)用户,把耳朵借给我!物联网设备管理现在在 CloudFormation 上得到支持!
只需几次点击,您就可以使用 CloudFormation 模板来预配置和部署物联网车队管理基础设施!这意味着您的工作模板、车队指标和物联网日志记录设置现在可以实现标准化,并且可以跨地区和 AWS 客户复制。需要部署新的物联网车队管理资源?用一个 JSON 文件来做,瞧!简单的豌豆米饭和奶酪!您的资源使用 CloudFormation 进行部署。
在尝试使用这个新功能之前,一定要确保您的用例所需要的区域是受支持的。
AWS re:Invent 2021 的云专家
我们正在为从 11 月 29 日到 12 月 3 日的 AWS re: invent 2021 做准备!如果您在拉斯维加斯,请到我们的 1561 号展位来见见我和一些您最喜欢的培训建筑师,获得超酷的免费赠品,玩玩游戏,甚至可能与我们合影!
无论你是亲自去还是虚拟去,一定要看看我们的终极指南,重新发明 2021 。
如果你参加虚拟(或只是想 TL;本周事件的博士版本),你可以在推特上关注 ACG和脸书和在 YouTube 上订阅一位云专家的每日更新。你也可以加入我们令人敬畏的 Discord 社区,在那里你可以和所有你喜欢的 AWS 培训架构师和志同道合的人一起闲逛。
继续牛逼吧,云大师们,我们下次再见!
八月新闻综述:AWS 有什么新功能?
你好,云大师!想知道 AWS 这个月发生了什么变化,但还没有时间查看标题?我们已经写了一篇文章,提供了你需要知道的所有信息。
亚马逊海王星全球数据库
这个月,随着亚马逊海王星现在支持全球数据库,行星已经排成一行。
亚马逊的 managed graph 数据库服务已经支持在同一地区跨区域读取副本。虽然这对于本地化中断来说很好,但是跨区域弹性对于云架构师来说是一个越来越明显的话题。使用此功能,您可以在其他区域创建次级集群。
点击这里阅读亚马逊关于使用该功能的便捷指南,以及你需要考虑的事项。
CloudWatch 自定义指标提升
是否使用 CloudWatch 自定义指标?本月, AWS 提高了向 CloudWatch 发送指标的频率上限,将吞吐量提高了 150 倍!
现在,您可以在一次调用中发送 50 倍的指标,默认调用速率提高了三倍。他们还将单个指标中可以包含的维度数量增加了三倍,所以如果您一直保持跟踪,那么单个 API 调用中的数据量是原来的 450 倍!
这将允许用户更加灵活地批量定制度量,并最终减少 API 调用:节省带宽,最重要的是节省资金。
AWS 无服务器代码片段集合现已推出
你喜欢所有无服务器的东西吗?截至本月,无服务器土地网站现在包括代码片段!
每个代码片段都是由 AWS 开发者拥护者或社区中受信任的成员提供的。此处没有添加到 r/badcode 中。使用它很容易:您只需通过 AWS 服务或编程语言过滤掉示例,然后将代码复制到您的编辑器中。
AWS Lambda 转向分层定价
对于没有服务器的人群来说,还有一些更好的消息!如果你是一个使用 Lambda 做大量繁重工作的组织,从这个月开始,你将会节省更多的钱。
AWS Lambda 已转向分层定价模式,根据您的计算持续时间提供高达 20%的定价折扣。
这已经在除中国以外的所有地区实施。要了解更多信息,请查看这篇文章。
计算优化器适用于多个客户
这个月,AWS 组织和 AWS Compute Optimizer 走到了一起。您现在可以使用一个帐户从组织中的所有帐户收集计算优化器报告。
使用这一功能,您只需检查一个位置,就可以确定所有方法来正确调整您的服务器、存储桶和功能,这样您每个月都可以节省更多的资金,并提高运营效率。
AWS 让你可以打造自己的专用 5G 网络
如果你有拥有自己的个人移动网络的冲动,好消息是:AWS 本月公开了 AWS 私人 5G。
Private 5G 面向希望在设施内本地建立自己的私有安全移动网络的企业。这可以用来将手机以及其他物联网设备连接到一个安全、低延迟的网络,具有极其强大的安全性和访问控制。
通常情况下,这是非常复杂的设置,但 AWS 已经简化了它。你所要做的就是注册 AWS 控制台,请求你想要连接的设备数量,他们会给你邮寄一个迷你插件蜂窝无线电单元和连接它所需的 SIM 卡。
想了解最新的 AWS 新闻吗?
本周请务必遵守AWS!每周,我们的 ACG 技术讲师都会分享亚马逊网络服务领域的最新发展,以及他们有价值的见解,这样你就可以知道它对你有什么影响。
AWS 建立大型机桥,设置 DeepRacer 护栏
原文:https://acloudguru.com/blog/engineering/aws-builds-mainframe-bridges-sets-deepracer-guardrails
本周,我们得到了另一组精心策划的适合框架的 AWS 新闻!AWS 继续为大型机商店搭建桥梁,Amazon Lookout for Metrics 得到了一个后视镜,我们的小伙伴 DeepRacer 得到了一些护栏。让我们来看看本周所有有趣的 AWS 新闻。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
AWS 大型机现代化现已全面推出
你有多少次坐在会议室里想,“嘿,让我们把大型机迁移到 AWS 吧?”只要启动你的 3270 终端,让每个人从退休状态中醒来,开始复制粘贴。要是有那么简单就好了,对吧?
AWS 大型机现代化服务于 2021 年发布,现已全面上市。但是 AWS 对大型机了解多少呢?嗯,通过收购和与专门从事大型机迁移的公司合作,AWS 组建了一支相当不错的团队。AWS 去年收购的 Blu Age ,是他们给我们带来了在 Lambda 上运行 COBOL 的能力。AWS还与 Micro Focus 合作,后者提供一套大型机迁移工具。
但是工具本身并不能完成工作。大多数大型机商店在数万行 COBOL 或 PL/1 代码中嵌入了几十年的业务逻辑。我们在这里谈论的不是简单的提升和转移,而是一项重大的平台迁移工作。为此,AWS 还为大型机建立了迁移加速计划,并创建了大型机现代化合作伙伴资格。
但是…大型机真的还是一个东西吗?绝对的!尤其是在银行、保险和医疗保健行业。据路透社报道,约 80%的现场商务交易和 95%的 ATM 交易仍然依赖于运行在大型机上的 COBOL 代码。
亚马逊寻找更快工作的指标
亚马逊 Lookout 系列服务是一个完美的例子,它将一些复杂的机器学习过程抽象为易于获取的现实世界价值和交钥匙服务。
核心是,亚马逊 Lookout 服务使用异常检测算法来识别不寻常的事情,并让这些事情引起你的注意。
- Amazon Lookout for Equipment可以发现设备性能的细微变化,并进行更主动的维护。
- Lookout for Vision 可进行大规模视觉检测,并有助于质量保证。
- Amazon Lookout for Metrics 可以在 CloudWatch 中提供相同的异常,从我们开始覆盖的那一点开始。
这种回溯测试模式允许 Amazon Lookout for Metrics 及时回溯,以创建更准确的基线 —这对于有季节性波动或其他不一定是异常的涨落的组织来说非常有用。
DeepRacer 安装了护栏
意想不到的后果。我们可能都有过这样的经历。
例如,假设你在组织内发起了一个 DeepRacer League ,以此作为提高员工参与度和学习新技能的有趣方式。假设您的团队开始起步,应用程序开发团队和网络工程团队之间的竞争变得异常激烈。假设在月底,你接到应付账款人员打来的恐慌电话,询问为什么你的 AWS 账单比以往高出三倍。
我明白了。它发生了。
幸运的是,如果你愿意,你现在有一些护栏可以用在你的 DeepRacer 上。 AWS DeepRacer 多用户模式现在允许我们对参与者应用配额——帮助控制训练小时数、模型数量,甚至打开和关闭训练功能。毫无疑问,这一特性源自那些发现自己与我们完全假设的例子处于相同位置的组织。
自动化 AWS 成本优化
经济高效地使用 AWS 可能是一项挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况,如数据存储优化。
油炸机器人 Flippy
在我们结束之前,最后一个小花絮——你可能很快就会感谢 AWS 提高了你的快餐薯条的质量。机器人油炸站 Flippy 背后的公司 Miso Robotics 已经宣布与 AWS 合作,使用 AWS Robomaker 来大大加快他们的模拟和开发过程。Flippy 2 煎炸机器人已经被几家快餐连锁店订购了——他们更喜欢被这样称呼——包括我自己心虚的选择“白色城堡”。
就我个人而言,欢迎我们新的油炸机器人霸主,并提前感谢他们不知疲倦的服务。
想跟上 AWS 的一切? 在 YouTube 上订阅一位云大师 ,获取每周亚马逊新闻和 AWS 公告。你也可以像 ACG 上的一样,关注我们上的 推特 ,或者加入 不和谐 的对话!
Want to keep up with all things AWS? Subscribe to A Cloud Guru on YouTube for weekly Amazon news and AWS announcements. You can also like ACG on Facebook, follow us on* Twitter, or join the conversation on Discord*!**
新的 AWS 云从业者考试课程
原文:https://acloudguru.com/blog/news/aws-certified-cloud-practitioner-course-reimagined
根据您的反馈,我们最近对我们的亚马逊网络服务(AWS) 认证云从业者(CCP)课程和我们的 AWS 认证解决方案架构师助理(CSA-A)课程进行了一些重大修改,正如在本周早些时候的 ACG 社区峰会上宣布的。在本帖中,我们将深入探讨新的 CCP 课程,我们改变了什么,以及为什么。
当我开始对我们的 AWS 认证云从业者课程进行更新时,我知道它会很特别。我们有机会从课程背后的学习理念入手,重新构思最受欢迎的云计算大师课程之一。
我们听说您想要一种互动的学习体验,因此我们将您的反馈作为重新设计课程的基础。
今天,我想与大家分享我们对学习体验所做的改进,这些改进将帮助你成为一名高效的学习者,让积极参与学习过程。我敢打赌,您成为 AWS 认证云从业者的旅程将是一个令人难忘的旅程!
看点:解决“无经验”云招聘问题
没有工作就拿不到经验。没有经验不能录用。这是一个多云的第 22 条军规!观看这个关于云计算职业的免费点播网络研讨会,其中包括我们帮助数十人获得第一份云计算工作的挑战中的见解。
新的 AWS 认证云从业者(CCP)课程
AWS 云从业者考试面向技术方面的绝对初学者,以及业务专业人员——项目和产品经理、财务资源和高管——他们希望熟悉 AWS,并追求基础级别的 AWS 认证。
对我们的 AWS 认证云从业者课程的最新更新,提供了支持交互式和非线性学习旅程的增强体验。
这是什么意思?嗯,简而言之,不要再玩滑梯了!相反,每一课都以网页的形式呈现,你应该与之互动!
你可以在 CCP 课程中亲自看到这一点。。。或者你可以在这里先睹为快!
我认为您会喜欢这种体验,因为您能够:
- 滚动浏览主题。
- 点击了解更多信息。
- 直接跳转到你最关心的课程。
- 访问直接跳转到官方 AWS 文档的快速链接,这样您可以更深入地了解。
和往常一样,本课程有动手实验(这样你就可以边做边学)和部分测验来给你及时的反馈(这样你就知道哪里需要改进)。
那么,你怎样才能最好地体验新课程呢?嗯,这门课程旨在成为一种引人入胜的相关学习体验,既能满足你的需求,又能推动你更上一层楼。
如果您在观看课程时有时间限制,您可以像以前一样只观看视频课程。但是,如果您有更多的时间来探索和参与课程,您可以跟随我并使用课程的相关网页与每个课程进行互动。每个视频课程都有一个网页!
真正特别的是,网页充当了某种内置的学习指南。这意味着该网页可以在考试前用作快速复习。不需要再看课程视频了(除非你真的很喜欢我的声音)!
我们真的很开心跳出框框思考如何重新想象学习体验。因此,请查看新的 AWS 认证云从业者课程!我们希望你喜欢这种新的学习体验。请让我们知道你的想法!
还更新了:AWS 认证解决方案架构师助理(CSA-A)课程
下面是我们的新 AWS 认证解决方案架构师助理(CSA-A)课程中一些变化的简要概述。成千上万的学习者已经参加了 ACG 联合创始人 Ryan Kroonenburg 的 CSA-A 课程,为 AWS 云认证做准备。现在这门课越来越好了。
新课程引入了额外的动手实验,并以我们全新的挑战模式实验为特色。
AWS 认证解决方案架构师助理认证让您对 AWS 有一个全面的了解,并为您将来学习其他内容打下了坚实的基础。它连续多年成为薪酬最高的云认证薪酬是有原因的。
CSA-Associate 认证侧重于核心 AWS 服务,如身份和访问管理(IAM)、虚拟私有云(VPC)、S3 和 EC2。学习这些核心服务将让您很好地理解 AWS 如何处理安全性、网络、数据存储和计算能力。对于任何刚接触云计算的人,我们推荐我们的 AWS 解决方案架构师助理课程,作为您获得 AWS 云从业者认证后的下一个最佳选择。
已经注册了这些课程的现有版本?
我们现有的课程版本仍将为您的云认证考试做好充分准备。由你来决定是否愿意转到新课程。根据您当前的课程进度,我们建议您:
如果您刚刚开始学习这门课程(<课程已完成 20)
我们建议您转到新课程,以获得最佳的学习体验。如果你已经完成了
课程的 20%>,你不需要切换到更新的课程。自这些课程上次更新以来,AWS 尚未对其认证考试进行更新,因此现有课程仍将为您的考试做好充分准备。但是,请注意,本课程不会反映对 AWS 环境用户界面所做的更改(尽管 AWS 服务和功能保持不变)。
发展 AWS——和 ACG 一起学习一些 AWS 技能。
无论你是云新手还是经验丰富的专家,云专家都能让你轻松(也很棒)地提升自己的云职业生涯。查看 ACG 目前的免费课程或立即开始免费试用。
AWS 认证安全专业考试备考指南
原文:https://acloudguru.com/blog/engineering/aws-certified-security-speciality-exam-prep-guide
准备任何 AWS 认证考试都可能会很艰难!这需要时间,需要专注,而且当您从助理升级到专业和专业级证书时,需要对 AWS 服务以及它们如何协同工作有更深入的了解。在 Cloud Guru,我们设计认证课程来帮助您掌握通过考试所需了解的主题。但我们也发现,提前知道要期待什么可以帮助你学习一门课程,甚至可以给你更好的机会第一次通过考试。
在本帖中,我们将了解 AWS 认证安全专家考试,它涵盖的内容,您需要了解的内容,您可以在哪里找到其他资源,以及您实际参加考试时可以使用的策略。
在这篇博文中,我们将讨论:
- 考试的内容范围
- 如何解决那些烦人的选择题
- 帮助你提高学习技能的小贴士
- 非常有用的亚马逊资源
在我们开始之前,先简单说一下实践经验:它是无可替代的。我们是人类,我们在实践中学习。把它想象成学习烹饪,或者自己做康普茶。你可以观看所有的 YouTube 视频,但除非你走进厨房,感受一下如何使用食材,把一切都搞得一团糟,然后从另一边走出来,否则你不会掌握这些新技能。在实际的 AWS 环境中,你花越多的时间去应用、测试、破坏和修正你将要学习的技能,你在考试时就会做得越好。
获得认证之外的更多
加入云专家的行列,访问我们所有的课程、实验室、测验和新的学习路径,让您在所选的云领域逐步从新手成为专家。
获得 AWS 认证的大好时机
为什么要获得 AWS 认证?尽管听起来有些夸张,但这是进入 AWS 安全专业领域的最佳时机。对于新的 AWS 安全专家来说,市场已经完全成熟了!以下是为什么现在是获得这种认证的最佳时机的一些原因:
巨大的需求。云计算的需求不用我说也知道,公司都渴望找到有丰富云安全背景的 IT 专业人士。
巨大的技能差距。在亚马逊安全知识方面,全球存在巨大的技能缺口,这为那些获得认证的人提供了大量无限的机会。
地位的提升。获得认证表明您是 AWS 中首屈一指的云计算专家。这是一个在你自己的组织中引起注意的可靠方法,也是雇主和招聘人员寻找拥有这种高水平专业知识的工程师的方法。
更高的薪水。据福布斯报道,获得 AWS-cloud 认证的人的平均工资接近 15 万美元。因此,通过考试并在正确的时间展示你拥有正确的技能是值得的。
有用的资源
我们明白了。准备 AWS 安全专业考试的前景充满压力。但你不必单干。有大量的支持工具和资源,其中许多是免费的,可以补充你准备考试时所做的一切,例如使用工具、参加我们的课程以及磨练你的考试技巧。
以下是三个值得一试的优秀资源:
亚马逊的 白皮书 : 这些白皮书涵盖了 AWS 安全专业考试的方方面面。诚然,它们读起来就像番茄酱瓶子背面的成分一样有趣。但它们还是无价的。实际上,您会非常感谢花大量时间阅读这些白皮书。
**AWS re:发明视频:**你可以在 Youtube 上找到一堆这样的视频。很多都很短,你可以在午餐时间观看。如果你已经熟悉一个主题,你可以通过以双倍速度快速浏览来节省时间。
亚马逊的 常见问题解答 : 你可以找到一个丰富的常见问题解答列表,其中讨论了准备 AWS 安全专业考试所需熟悉的所有技术。
AWS 安全专业领域
AWS 考试分为 5 个内容领域或领域:
- 事故响应
- 记录和监控
- 基础设施安全
- 识别访问管理(IAM)
- 数据保护。
亚马逊没有给每个领域同等的权重——有些领域包含的问题比其他领域多——所以你要相应地分配你的学习时间。下面,你会在每个域名旁边看到一个百分比。这会让你知道每个主题分配了多少个问题。当然,您会想花更多的时间来研究百分比较高的领域。
领域 1:事故响应(12%)
该领域包括安全事件的检测、响应和恢复。您必须熟悉两个非常常见的安全问题:受损的 EC2 实例和暴露的访问和秘密访问密钥。让我们逐一深入研究一下:
- 受损的 EC2 实例 —本节介绍如果您的一个 EC2 实例受损该怎么办。(一些示例包括更改您的安全组、删除互联网访问,或者隔离受危害的 EC2 实例,使其无法危害其他任何东西。)
- 暴露的访问密钥和秘密访问密钥 —如果访问密钥意外暴露,你会怎么做?(你会惊讶有多少人慌慌张张给我打电话说这个问题。千万不要在 GitHub 上放访问键!)本节重点介绍禁用和删除访问键,使它们不能被用来对付您,以及其他有效的解决方案。
此外,您会想要熟悉这 6 种 Amazon 安全服务:
- AWS 配置(配置管理)
- AWS CloudTrail (IAM 审计)
- 亚马逊云观察(日志)
- 亚马逊守卫(威胁检测)
- 自动响应
- 亚马逊检查员(基础设施安全扫描)
→事件响应资源:
领域 2:记录和监控(20%)
在您的 AWS 帐户中有一个有效的日志记录和监控策略是非常重要的。对于这个领域,您需要知道如何设计一个策略,并使用它来有效地解决安全问题。您想要了解的主要服务有:
→测井&监控资源:
领域 3:基础设施安全 26%
这是最大的领域,所以一定要花大量的时间准备。它涵盖了 AWS 中安全网络的设计和故障排除。您是否已经完成了 AWS 认证解决方案架构师助理认证?如果是这样的话,你就有优势了,因为你已经了解了基础设施的安全性,以及如何在 AWS 中设置安全的网络和虚拟私有云(VPC)资源。将您的 AWS 游戏提升到新的高度,并获得 IT 领域最具挑战性和最受尊敬的认证之一, AWS 解决方案架构师专业认证。
对于该领域,您需要关注以下问题:
- 边缘安全性(考虑您网络的边界)
- EC2 实例的基于主机的安全性
- AWS 内的 DDoS 缓解
- 防范常见攻击,如跨站点脚本(XSS)和 SQL 注入
需要熟悉的主要服务包括:
- 网络应用防火墙
- 用于 DDoS 保护的 AWS 屏蔽
有许多其他服务可以保护您的应用程序免受 DDoS 攻击,并帮助您弹性地扩展以吸收攻击。它们包括:
- CloudFront 和 Route 53(这些有内置保护)
- 弹性负载平衡器(ELB)(VPC 的保护机制)
- EC2 自动扩展(通过扩展您的基础设施并防止攻击中断您的服务,吸收任何类型的 DDoS 攻击)
- VPC 和网络访问控制列表(NACL)和安全组(保护您的主机和 EC2 环境)
- 工件(向监管者证明您使用的 AWS 服务符合监管要求)
- [注意工件提供了各种有用的文档。例如,如果您在一个必须遵守支付卡行业数据安全标准(PCI DSS)的行业中工作,您可以登录到 Artifact 并下载证明您正在使用的 AWS 服务真正符合 PCI DSS 的文档和认证。]
- Macie(保护存储在 S3 存储桶中的任何文档中的个人身份信息(PII)。)
- [它实际上扫描你所有的文件,并会让你知道是否存在任何隐藏的 PII,可能需要加密。]
→基础设施安全资源:
- 白皮书—该领域有大量白皮书,如“VPC 连接选项”、“DDoS 最佳实践”、“AWS 安全最佳实践”、“架构良好的框架安全支柱”和“安全流程概述”
- 视频—“VPC 连接选项”、“DDoS 最佳实践”、“高级安全大师班”和“架构完善的框架安全支柱”。
- 常见问题解答— WAF、AWS Shield、CloudFront、Route 53、VPC、ELB、EC2 自动缩放、 Lambda 、直连、Artifact 和 Macie。
领域 4:身份和访问管理(IAM) (20%)
本节测试您在设计和排除身份验证和授权策略故障方面的知识。您将需要对该政策有一个坚实的把握,并能够翻译和故障排除。确保您熟悉这些服务:
- CloudTrail (IAM 审计)
- 多因素身份验证(MFA)(特别是对于根帐户)
- 活动目录联合(ADF)(包括联合对 AWS 资源的访问和内部活动目录安装)
→ IAM 管理资源:
- 白皮书—“安全流程概述”和“AWS 安全最佳实践”
- 视频—“IAM Policy Master”和“IAM Policy Ninja”(它们是相似的),“AWS 的 ID Federation”(观看很重要,因为我们中的许多人通常没有太多的 ADF 实践经验,并且很难在实验室环境中复制它)
- 常见问题—“IAM”、“Cognito”(用于 web 身份联合以及与 web ID 提供商(如脸书、谷歌和亚马逊)联合访问)、“CloudTrail”和“AWS Organizations”(关于如何在组织级别设置权限)。
领域 5:数据保护(22%)
为了在这个域上进行良好的测试,您需要知道如何使用加密来保护您的数据。这包括创建和管理密钥,控制各种 AWS 服务和应用程序中的加密使用,以及设计加密策略并进行故障排除。
**特别注意关键管理服务(KMS)!我怎么强调都不为过。**请务必了解静态加密和传输中加密的区别,以及加密数据所需的不同技术。值得重复的是:尽可能多地获得 KMS 的实践经验。通过加密数据、解密数据和重新加密数据来试验这些工具。
→数据保护资源:
- 白皮书—“KMS 最佳实践和静态数据加密”
- 视频—“KMS 最佳实践和加密深度探讨”(内容与白皮书相同。)
- 常见问题——“KMS”(值得读两遍!这是通过这个领域的关键。)特别注意 KMS 中涉及的不同类型的钥匙以及如何旋转不同的钥匙,例如何时使用自动或手动钥匙旋转。
用 3 个步骤解决棘手的问题
要击败这场考试和它的选择题,必须制定一个有效的考试策略。我们屡试不爽的策略包括 3 个简单的步骤:
- 弄清楚问题问的是什么
- 排除可能的错误答案
- 选择最佳答案
关于物流的一个重要提示:你需要准备一支铅笔和一些草稿纸来完成这个策略。你参加考试的考试中心应该给你提供这些(如果他们没有,问)。但是做最坏的打算也无妨,所以我们建议你带几张白纸和几支铅笔作为备用。
在我们进入第一步之前,快速浏览一下考试,回答你 100%有把握的问题。如果你不能马上确定答案,把问题标记出来,然后继续。这是一个很好的方法,可以在早期建立一些积极的动力,并确保你把时间留给更具挑战性的问题。
第一步:弄清楚问题问的是什么
现在,您已经准备好处理更多标记的问题。从第一个开始,找出似乎能触及问题根源的关键词,并写在你的便笺簿上。完成后,它可能是这样的:
第二步:排除可能的错误答案
接下来,排除看起来不对的答案。为此,在便笺簿上用列号 A、B、C、D 和 E 绘制一个网格,如下所示:
列标题 A、B、C、D 和 E 代表该问题的答案。看一看每个答案。也许其中一个看起来不正确或部分不正确,或者它没有解决所询问的问题。对于那些可疑的答案,你将做两件事情中的一件:如果答案看起来是错的,在你的格子上的答案信下面的一栏中打一个 X 。如果你不确定,就打个问号。如果你发现一个答案看起来很可能是正确的,请将该栏留空。
第三步:选择正确的答案
在理想的情况下,当你填写完网格中的列时,你应该有一列是空白的。如果是这样,这就是你的答案。如果没有一个答案是正确的,或者你留下了一大堆的问号,那么就把答案读一遍,选出一个看起来最能回答问题的答案。继续检查问题,直到你回答了考试中的每一个问题。
开始模拟你的考试
我们的考试模拟器可以让你进行所有你需要的练习,所以你可以带着不可否认的信心,甚至是一点点的狂妄自大去参加你真正的考试。
样题
让我们通过解决一个示例问题来实施这个策略。这个恼人的问题可能是数据保护领域的一部分:
看完问题,我们再写下一些关键词。
我写下“位于您的数据中心”,因为这似乎很重要。我喊出了“高度机密”,这告诉我,我们可能要加密数据。最后,考虑到频繁出现的崩溃,我选择了“网络不可靠”
接下来,我将绘制我的网格并添加我的列标题 A 到 e。
现在让我们看看可能的答案,并找出哪些可以消除。
- 使用一个 VPC 端点,这样数据永远不会离开亚马逊的网络
- 使用安全端口访问数据
- 通过直连连接在 VPC 和数据中心之间使用 VPN
- 在 VPC 和数据中心之间使用 VPN,并使用安全端口访问数据库
- 配置 VPC 和数据中心之间的直接连接
答:我认为这个似乎不对,因为数据在我们自己的数据中心,而不是在亚马逊的网络中,所以我要在 a 列标记一个 X 。
B:这个答案似乎只回答了问题的一部分,因为它没有考虑网络延迟问题,所以我也把它去掉了,并在 B 列放了一个 X 。
c:这个答案似乎很好,因为我们在 VPC 和数据中心之间使用 VPN,这意味着我们的链接将被加密,我们的敏感数据将得到保护。此外,我们正在使用直接连接,这将解决我们的网络不一致的问题。所以我会把 C 列留空。
d:我们使用的是 VPN,所以我们不会以明文和安全端口发送任何信息,所以我们的数据会得到很好的保护。然而,我们不能防止网络不一致,所以如果我们再次遇到网络问题,我们的应用程序仍然处于危险之中。所以我会在那一列放一个 X 。
e:这个答案确实解决了我们的网络不一致性问题,但它不会保护我们的敏感数据。因为是部分回答,所以得到一个 X 。
现在,当我们看我们的网格,最佳答案显然是 c。
学习小贴士
有许多小技巧可以用来改善你的学习习惯——以及你通过考试的机会。他们也可以帮助你弄清楚你是否真的准备好了。这会让你免去重考的痛苦。记住,我们的目标是帮助你第一次通过这个怪物。关于这些学习技巧,我还要再说一点:它们不仅能帮助你准备考试,还能帮助你日常生活。怎么会?因为它们旨在帮助你获得有价值的技能,如保持组织、做出正确的决定和加强回忆。
**→学习技巧资源:**我很喜欢托尼·布赞的书 学习技巧 ,推荐你买一本。发明思维导图的 Buzan 讨论了许多帮助你更高效和有效学习的技巧。
提示 1:使用思维导图
如果你没有使用过思维导图——或者你从来没有听说过它们——那你就有得吃了。思维导图是一种强大的、图形化的笔记工具,可以帮助你更好地记忆和分类信息。思维导图的美妙之处在于,在任何时候,你都可以瞥一眼你所创建的图表,并快速回顾你所研究的信息。这比翻阅一页又一页被黄色荧光笔覆盖的教科书要好。
思维导图包括绘制富有想象力的彩色图片来帮助你记住想法。别担心,你不必是一个艺术家来使用这个工具。同样,在你开始之前,你可能想看一个 YouTube 教程来学习思维导图的基础。
看看我为 AWS Lambda 课程创建的思维导图。首先,我在页面中央画了一幅 Lambda 的图像。接下来,我画出了分支,每个分支代表子标题故障排除、权限、无服务器、事件驱动源和功能。
你真的可以从这些事情中获得乐趣。您可以使用关键字、图像、颜色和符号来更详细地解释更广泛的概念。箭头有助于显示图表不同部分之间的关系。请记住,思维导图是一种个人体验,所以以一种对你有意义的方式来构建你的思维导图。记住,目的是帮助你记住信息——你在绘制地图时越有创造性(甚至是愚蠢的),效果越好。
提示 2:巩固你所学的知识
褪色的记忆是我们都容易受到影响的。事实上,研究表明,我们学完知识后很快就会忘记。根据一项研究,如果我们不复习信息,我们所学的 75%会在 24 小时内丢失!
然而,如果你坚持这个复习计划,你可以提高记忆力:在你学了新东西后,在 10 分钟内复习。然后 24 小时再复习一遍。一周后。然后 1 个月后,最后,此后每 3 到 6 个月。已经确定,如果你采取这些步骤,你可以保留 90%你所学的东西!
记住,巩固你所学的东西并不总是仅仅是复习。是的,你应该回顾你的笔记,重读白皮书,浏览视频。但是你也可以通过练习应试来挑战自己。
例如,您可以参加 AWS 安全考试的练习版。如果您是 ACG 会员,请查看我们的考试模拟器。和实物非常接近,是帮助你磨练学习技巧的绝佳工具。最后,您可以参加最近发布的考试准备培训,其中包括大量的考试问题示例。
技巧 3:设定一个目标
最后,通过设定何时参加 AWS 安全专业认证考试的目标来挑战自己。现实一点,但是不要安排的太远。请记住,这是获得 AWS 安全认证的大好时机!一旦你设定了目标,就报名参加考试。是的,这是一个难题,但是如果你使用这些提示和技巧,你第一次就有很大的机会通过。
AWS 认证解决方案架构师-专业认证更新
亚马逊网络服务世界有什么新的东西?AWS 认证解决方案架构师会有一些变化——专业认证,Redshift 推出了新的可序列化和快照隔离级别支持,Resilience Hub 也有一些新的更新。让我们开始吧!
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室,改变你的职业生涯..
AWS 认证解决方案架构师-专业考试更新
你准备好迎接这个大新闻了吗?AWS 解决方案架构师专业认证正在更新。cert 正在更新,以确保它与设计良好的框架保持一致。可以在考点考,也可以网上考。您将有 180 分钟的时间完成 75 道问题,包括多项选择和多项回答问题。
以下是一些需要记住的重要日期:
- 2022 年 10 月 18 日:新考试开始报名
- 2022 年 11 月 14 日:可以参加当前考试的最后一天
- 2022 年 11 月 15 日:可以参加更新考试的第一天
请记住,一旦您获得或重新认证了 Solutions Architect Pro,像 Solutions Architect Associate 这样的证书将会自动更新(假设您已经拥有它)。
先说一下亚马逊红移,亚马逊的数据仓库解决方案。它使用 SQL 来分析跨数据仓库、运营数据库和数据湖的结构化和半结构化数据,使用 AWS 设计的硬件和机器学习。这个解决方案现在有两个选项来序列化事务:可序列化和快照隔离。
Serializable 选项可用于实现严格的可序列化性,在这种情况下,如果结果不能映射到并发或重叠运行的事务的串行顺序,事务可能会失败。快照隔离将允许高并发性,对同一表中不同行的并发修改将成功完成。
这两个选项都允许事务继续在最新提交的数据库版本上操作。Serializable 是已配置集群的默认选项,无服务器数据仓库将使用快照隔离作为默认选项。这在有红移的 AWS 地区是可以的。
AWS 弹性中心更新
AWS 弹性中心有很多新的更新。弹性是指应用程序在特定时间和时间点(RTO 和 RPO)内保持可用性和从中断中恢复的能力。
Resilience Hub 提供了一个中心位置来定义、验证和跟踪您的应用程序的弹性,以防止由软件、基础架构或运营中断导致的任何停机。它现在还支持亚马逊的弹性容器服务(亚马逊 ECS)亚马逊 Route 53、 弹性灾难恢复(AWS DRS)AWS 备份,并且现在可以使用 Terraform 作为上传应用的来源。这意味着更多的应用程序将受到保护,不会出现中断。
弹性枢纽弹性得分也已更新。现在将计算分数,以反映操作建议和策略合规性的组合。如果这还不够,Resilience Hub 现在还可以自动对新应用程序进行日常评估。在任何现有的应用程序上手动激活此功能,并随时停用它。这些更新在每个提供弹性中心的地区都可用。
跟上 AWS 的一切
在 YouTube 上订阅一位云专家的每周 AWS 新闻(以及其他云提供商的新闻)。你也可以在脸书上喜欢我们,在推特上关注我们,或者在不和谐上加入对话!
AWS 云迁移和混沌工程
原文:https://acloudguru.com/blog/engineering/aws-cloud-migrations-chaos-engineering-and-custom-databases
本周 AWS 有什么新消息?
- AWS 迁移中心现在提供迁移策略建议
- 故障注入模拟器现在可以创建点中断
- AWS SAM Accelerate 提供了一些方便的新功能
- Amazon RDS Custom for Oracle 正式上市
请继续阅读了解更多信息!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
迁移中心和策略建议
当将我们的应用程序从传统的内部解决方案引入云中时,有一个屡试不爽的解决方案通常以默认结束:提升和转移。这很简单,也很有效,但是这远不是最理想的解决方案,并且不能让我们利用云的力量。那我们为什么还要继续做下去呢?
因为有如此多的其他选择,很难全部评估。
在他们关于将应用程序迁移到云的 6 种策略的博客文章中,AWS 提出了许多你的应用程序可以采用的不同途径。自从这个博客在 2016 年发布以来,AWS 现在有十几个工具和服务来帮助迁移您的应用程序。
云架构师的角色之一就是促进这些迁移并规划最佳策略。但是,评估每个应用程序、考虑 AWS 可用的工具以及平衡迁移的业务目标需要花费大量时间。这都是在实际进行试运行迁移和转移生产工作负载之前。
AWS Migration Hub 的战略建议使用发现工具来帮助规划您当前的系统,并根据您拥有的应用程序提供建议,说明如何使用 AWS 的服务将其迁移到云中。
还有很多工作要做——复杂的应用程序需要更多的考虑,它没有解决合规性或底层硬件解决方案等其他问题,而且它仍然只能与 AWS 为迁移提供的服务一样好。
但是,如果你正在开始云迁移,并且想要做的不仅仅是提升和转移,那就试试这项服务吧。另外,执行评估是免费的,所以这纯粹是时间投资。查看 AWS 的博客文章了解更多信息!
AWS 故障注入模拟器和现场中断
正如沃纳·威格尔所说,“任何事情都会失败。”当您使用 EC2 Spot 实例时,中断是服务的一部分。
如果你不熟悉 EC2 Spot 实例,它们是一种以巨大折扣价格购买 EC2 中一些未使用的计算能力的方式——高达按需价格的 90%!但是有一个权衡:当 EC2 的需求增加时,AWS 可能会关闭您的折扣现货实例。这对于数据处理等要求苛刻的可中断工作负载来说非常好,但对于关键基础设施来说却非常糟糕。
当我们构建在现场实例上运行的解决方案时,我们设计它们来承受这些中断。但是很难确切地知道实时发生的事情会如何发生,特别是因为现场实例中断的处理方式不同于正常的实例终止。
故障注入模拟器解决了这个问题,它让我们在解决方案中创建有意的故障,并观察它们如何响应。随着他们宣布故障注入模拟器现在支持点中断,我们可以在我们的工作负载中有意触发点中断,以查看我们的解决方案将如何响应。
如果您在您的生产环境中运行 Spot 实例,这将是值得运行的,以确认您的解决方案按计划工作。您的组织可能已经有了变更管理程序,所以在您按下按钮之前,一定要让人们知道。
故意打破东西会让决策者膝盖发软,所以如果每个人都不那么急切,不要惊讶。但是,作为早期混沌工程的一个好原则,最好是知道停机将要发生,以及它会做什么,而不是等着发现什么时候真正发生故障。
以前从未在现场被打断过?查看 AWS 的这篇文章,关于处理 EC2 现场实例中断的最佳实践。它非常深入,是一个很好的开始。
对升级感兴趣,或者从开发和运营开始您的旅程?云专家的 AWS DevOps 学习路径提供适合初学者和高级专家的定制课程!
AWS SAM 加速测试版
AWS SAM Accelerate 已经进入公开预览阶段。这个新的解决方案旨在通过支持增量构建和在 AWS 上运行测试来加速(我知道你在那里做了什么,AWS…)无服务器应用程序的部署速度。
对于上下文,AWS SAM 目前有能力在 Docker 容器中本地调用和测试 Lambda 函数。这是非常有用的,使得测试你的解决方案变得更加容易,而不需要把它们推向生产来看它们是否工作。另一方面,Docker 容器并不等同于运行 AWS 本身。
有了这个新功能,AWS SAM Accelerate 使在 AWS 中测试您的应用程序变得更加容易,因此您在测试中看到的将更有效地反映生产情况。随着最近 Docker 许可的变化,这对于那些希望摆脱应用程序或者至少降低许可成本的公司来说可能也是一个有用的特性。
增量构建的使用,直接通过 API 而不是 CloudFormation 堆栈工作,以及日志监控的集成,所有这些结合在一起,使 AWS 中无服务器应用程序的开发过程更加顺畅。
有趣的是,在如此渴望在云中开发之后,我们将测试买回本地机器,只是为了再次将它放回云中。
自动化 AWS 成本优化
AWS 为您的企业提供了前所未有的价值,但经济高效地使用它可能是一项挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况。
适用于 Oracle 的亚马逊 RDS 定制
在现代云原生数据库引擎的世界中,考虑到它可能带来的许多挑战,人们为什么仍然使用 Oracle 可能并不清楚。但它确实有很多强大的功能,比如处理交易的方式。就在几年前,当资源受到您购买的硬件的限制时,它的可定制程度是一个主要卖点。
挑战是在云的标准化世界中,高度定制的数据库通常不是本地兼容的,这意味着要么你需要改变你的数据库架构;这是一项非常昂贵且具有挑战性的任务,或者您必须自己在虚拟机上运行它。
随着 Amazon RDS Custom for Oracle 的推出,AWS 扩展了将定制引擎版本部署到 RDS 的选项,根据您对 Oracle 部署的需要而构建,为您提供了一些您可能需要的灵活性,同时无需管理另一个 EC2 实例。
尽管我喜欢贬低 Oracle 数据库,但这与 AWS 传统上运行 RDS 的方式有很大的不同。他们认识到,一些客户在一段时间内仍会使用 Oracle,而且许多人根本没有任何改变的计划。但是有了这个新特性,您不需要改变您的数据库架构来利用 RDS 的一些增值。
在定价上, RDS 定制版比你的典型 RDS 实例稍贵。在 us-east-1 按需运行标准 Oracle RDS 的 m5.4xlarge (16 个 vCPU,64GB RAM)每小时的价格为 1.368 美元,而 RDS Custom 的价格为 1.642 美元,高出约 20%。
如果您正在运行高度定制的 Oracle 数据库,这仍然是非常值得的,并且不要忘记:如果您需要运行一段时间,保留您的容量仍然可以提供巨大的折扣。此外,由于您需要自带许可,您还可以在那里协商折扣,并且可以降低总拥有成本,因为您不必在日常管理上花费太多时间。
保持最新状态!
云移动得如此之快。在撰写这篇博客后的一段时间里,另一个巨大的声明是由 Babelfish 为 Aurora PostgreSQL 发布的。AWS 今年已经发布了超过 1600 项服务公告,甚至在我们到达 re:Invent 2021 之前,很难跟上时代的步伐。
通过在 Twitter 和脸书、上关注我们来保持联系,在 YouTube 上订阅一位云专家的每周更新(包括本周的 AWS),并在 Discord 上加入对话。也可以看看我们的免费课程,每月更新!
现在,往前走,学习所有的东西。一如既往地保持敬畏,云大师们!
保护您的 AWS 环境 在这个免费的点播网络研讨会中,了解如何从零开始保护复杂的 AWS 环境,并学习如何正确审计和保护 AWS 帐户。
AWS 合规性和治理:3 个必须使用的工具
在本帖中,我们将讨论 AWS 中的治理和合规性,以及亚马逊提供的服务和工具,以简化 AWS 帐户和环境的设置和维护治理和合规性。
每天都有越来越多的企业采用 AWS 云作为其运营的一部分。为什么他们不会呢?从只需点击几下按钮即可使用代码部署基础设施,到自动扩展您的基础设施以满足流量需求,AWS 提供了数量惊人的使用案例和应用程序来简化业务运营。
随着向云的过渡的继续和技术世界的发展,保护您的数据和云基础架构变得越来越重要。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
Accelerate your career
我们都看过新闻故事、视频和社交媒体帖子,其中一家公司遭到黑客攻击,成千上万人的凭据或个人信息被泄露。
Get started with ACG and transform your career with courses and real hands-on labs in AWS, Microsoft Azure, Google Cloud, and beyond.
IT 行业的领导者、组织和法律法规已经建立了许多标准和合规性框架,以帮助提供有关如何保护您的云的指导方针,从而避免和降低此类情况的风险。
因此,这里有一个大问题:亚马逊提供了哪些服务和工具来简化设置和维护 AWS 帐户和环境的治理和合规性?
We’ve all seen the news stories, videos, and social media posts where a company has been hacked and thousands of people’s credentials or personal information has been leaked.
我的目标是在我的新AWS 课程的治理和遵从性介绍中回答这个问题(以及更多问题)!但与此同时,我想和你分享我学到的关于 AWS 的治理和合规性的三件事,你可能会发现它们是有益的。
Leaders, organizations, and legal legislation in the IT industry have established a number of standards and compliance frameworks to help provide guidelines on how to secure your cloud to avoid and reduce the risk of these kinds of situations.
这里有三个经验教训和三个必须使用的工具来帮助 AWS 上的合规性和治理。
相关资源
1.熟悉如何审查和调查您的 AWS 帐户中的变更
众所周知,如果您在 AWS 环境中工作,在某些时候您需要调查谁或什么对给定的 AWS 帐户进行了更改(无论是新员工还是恶意黑客。但愿是前者。。。)
这是一项非常重要的技能,首先想到的服务可能是 CloudTrail。
什么是 AWS CloudTrail?
AWS CloudTrail 是一项持续跟踪和记录用户活动的服务。从您在 shell 中运行的命令到 AWS 控制台中的点击,CloudTrail 都会记录下来!下图详细说明了这项有用的服务是如何工作的:
花絮:在 CloudTrail 之上,您还可以使用 AWS Config 来监控和查看资源上的配置变化,这些变化不会从 API 调用的细节中捕获。下面的图表有助于形象化配置的工作方式:
2.不要努力工作,聪明地与 AWS 组织合作
如果您只使用一个 AWS 帐户,管理该帐户可能非常简单,但现实是大多数企业(尤其是大型企业)都有许多 AWS 帐户。
1. Get comfortable with how to review and investigate changes in your AWS Accounts
保护和实施 50 多个帐户的政策是一项艰巨的任务,不适合胆小的人。不要让我开始账单混乱。好消息是有一种服务可以让你更容易处理这些事情。我说的是 AWS 组织。
It’s no secret that if you’re working on AWS environments, at some point you’re going to need to investigate who or what made changes on a given AWS account (and whether it’s the new hire or a malicious hacker. Fingers crossed it’s the former . . .)
This is a very important skill to have, and the first go-to service that would probably come to mind is CloudTrail.
观看:如何保护您的 AWS 环境
在这个免费点播网络研讨会中,您将了解如何将复杂的 AWS 环境从零保护到安全保护。
什么是 AWS 组织?
通过 AWS 组织,您可以将 AWS 帐户逻辑分组到组织单位(简称 ou)中。
AWS CloudTrail is a service that constantly tracks and logs user activity. From the commands you run from your shell to the clicks in the AWS console, CloudTrail logs it all! Below is a diagram that elaborates on how this useful service works:
假设这 50 个客户中有 10 个是发展客户。您可以创建一个开发 ou,并将这 10 个客户放在一个开发 OU 下。
Bonus Tidbit: On top of CloudTrail, you can also use AWS Config to monitor and view configuration changes on resources that wouldn’t be captured from the details of an API call. Here’s a diagram to help visualize how Config functions:
开发帐户和生产帐户之间的策略和限制很可能会有所不同。
2. Don’t work hard, work smart with AWS Organizations
对于一个开发帐户来说,不太可能需要运行像 U-9tb1 实例类型这样庞大的实例。事实上,大多数公司试图在开发账户上节省成本,并使用 t3.micro 这样的实例类型。
If you only work on a single AWS account, managing that account is probably pretty straightforward, but the reality is most businesses (especially large enterprises) have numerous AWS accounts.
使用如下所示的服务控制策略(SCP ),您可以将该策略附加到开发 ou,并限制所有开发帐户只能在单个变更上使用 t3.micro 实例:
Securing and implementing policies on 50+ accounts is a daunting task not for the faint of heart. And don’t get me started on the billing mayhem. Well, the good news is that there is a service that makes all of this easier for you to deal with. I’m talking about AWS Organizations.
别以为我会忘记账单的混乱。
我这么问你:当你和你的家人带着为每个人支付餐费的意图出去餐馆时,你没有要求服务员或女服务员分摊账单并用同一张卡为每个人付款,对吗?那么,为什么企业要为他们的云做同样的事情呢?
Watch: How to Secure Your AWS Environment
In this free, on-demand webinar, get a breakdown of taking complex AWS environments from zero to secure.
AWS Organizations 通过整合账单提供了完美的解决方案,可以轻松跟踪您的支出,通过合并您帐户的使用情况为您节省一点资金,最棒的是,这一切都在一张账单上。
3.利用 AWS 安全中心锁定安全性
什么是 AWS 安全中心?
当您谈论在您的环境中设置和管理安全性或合规性时,AWS Security Hub 是必备的服务之一。
What is AWS Organizations?
您可以启用安全中心服务中提供的几个标准。一旦您启用了所需的标准,Security Hub 就会执行繁重的安全检查,并从 Inspector、GuardDuty、Macie 等其他服务中提取信息,然后获取结果并在一个全面的视图中向您呈现结果。从那里,您将有一个您可以采取的行动列表,以更好地锁定和保护您的环境。
With AWS Organizations you can logically group AWS accounts into organizational units (or OUs for short).
还有许多其他的治理和法规遵从性服务。想了解关于 AWS 的治理和合规性的更多信息吗?来参加我的新AWS 治理和合规性简介课程,让我们开始学习吧!
So, let’s say out of those 50 accounts 10 are development accounts. You can create a development OU and place those 10 accounts under the one development OU.
免费提升您的云学习水平
The policies and restrictions you put in place will more than likely differ between a development account and a production account.
您知道吗,您可以免费访问每月一次的云专家课程集?现在你知道了!看看 ACG 有什么免费的。
For a development account, it’s highly unlikely that you would need to run a juggernaut of an instance like the U-9tb1 instance type. In fact, most companies try to be cost-efficient on development accounts and use instance types like the t3.micro.
注册 ACG 免费计划(不需要信用卡),今天就提升你的学习水平。
With a Service Control Policy (SCP) like the one below, you can attach the policy to the development OU and restrict all the development accounts to only be able to use t3.micro instances on a single change:
在 10 月份,你的免费帐户可以让你访问一系列安全相关的课程,包括 AWS 身份和访问管理(IAM)概念、云安全基础、 Kubernetes 安全,以及 Azure 安全简介
Don’t think for a second I forget about that billing mayhem either.
想跟上 AWS 的一切?在 YouTube 上订阅云专家的每周亚马逊新闻和 AWS 公告。你也可以在脸书上喜欢 ACG,在 Twitter 上关注我们,或者在 Discord 上加入对话!
Let me ask you this: when you go out to a restaurant with your family with the intention of paying for everyone’s meal, you don’t ask the waiter or waitress to split the bill and pay for each person with the same card, right? So why would a business do the same for their cloud?
AWS Organizations offers the perfect solution to this with consolidating billing that makes it easy to track your spend, save you a little money by combining usage across your accounts, and the best part, it’s all on one bill.
3. Lock down on security with AWS Security Hub
What is AWS Security Hub?
AWS Security Hub is one of the must-have services when you are talking about setting up and managing security or compliance in your environments.
There are several standards offered within the Security Hub service that you can enable. Once you have the standards you need enabled, Security Hub does the heavy lifting of running security checks and pulling information from other services like Inspector, GuardDuty, Macie, and much more, then takes the results and presents the findings to you in a single comprehensive view. From there, you will have your list of actions you can take to better lockdown and secure your environment.
There are many other services for governance and compliance. Want to learn more about governance and compliance on AWS? Come join me in my new introduction to Governance and Compliance on AWS course and let’s get to learning!
Level up your cloud learning for free
Did you know that you can access a monthly rotating collection of A Cloud Guru courses for free? Well, now you know! Check out what’s free at ACG.
Sign up for an ACG Free Plan (no credit card required) and level up your learning today.
In the month of October, your free account gets you access to a collection of security-related courses, including AWS Identity and Access Management (IAM) Concepts, Cloud Security Fundamentals, Kubernetes Security, and an Introduction to Azure Security
Want to keep up with all things AWS? Subscribe to A Cloud Guru on YouTube for weekly Amazon news and AWS announcements. You can also like ACG on Facebook, follow us on Twitter, or join the conversation on Discord!
AWS 成本优化深度探讨
原文:https://acloudguru.com/blog/engineering/aws-cost-optimization-deep-dive
嘿,大师们!先说一下云吧。我们知道它是什么,并且大多数企业已经或计划将其基础架构迁移到云。但是今天,我想谈谈云的一个重要方面:成本。俗话说,金钱万能。在本文中,我将介绍与 AWS 相关的成本类型,并向您介绍一些方便的 AWS 成本优化工具和服务,它们将帮助您优化成本!
什么是 AWS 中的成本优化?
让我们首先来了解一下成本优化的含义以及它的重要性。
成本优化就是让您的云支出实现最大价值。通过考虑我们需要从一个解决方案中获得什么样的商业价值,我们可以设计它来降低我们的成本,并不断地审查它,以找到随着时间的推移继续降低成本的方法。这可以降低我们每月的账单,也带来了新的投资机会!
If you’re like me, saving money on AWS means you could be putting money into other things. Like animal swag.
了解如何随着工作负载的变化削减成本并保持最佳成本是成本优化的关键。
AWS 自由层
大多数流行的 AWS 服务都有一个免费层,可以在你刚开始使用时使用。当您开始构建生产工作负载时,自由层通常足以为您提供相当多的缓冲。
AWS 定价计算器
一个很棒的 AWS 优化工具是 AWS 定价计算器,它可以在您开始产生费用之前帮助您估算成本。使用价格计算器时,请确保收集尽可能多的使用数据,以确保您的估计尽可能准确。如果你在几乎没有任何信息的情况下匆忙完成估算,你的成本最终可能会与你的估算相差很大,所以花时间做好你的尽职调查。
AWS 架构良好的框架
AWS 知道使用云是多么令人生畏,并有一个框架来帮助指导您如何构建自己的环境。这就是所谓的 AWS 架构良好的框架,它由六大支柱组成:卓越运营、安全性、可靠性、性能效率、成本优化和可持续性。每个支柱都有自己的设计原则,将它分解成易于理解的部分。
今天,为了与本文的主题保持一致,我们自然会将重点放在成本优化支柱上。让我们来看看这个支柱的五个设计原则。
这五个原则是:实践云财务管理、支出和使用意识、成本有效资源、管理需求和供应资源、随时间优化。这 5 条原则中的每一条都有自己的最佳实践要记住。
我们可以更深入地研究这五个原则。
准备好提升你的 AWS 技能了吗?无论你是刚刚起步还是经验丰富的云专家,云专家的边做边学方法都将帮助你掌握云技术并在职业生涯中取得进步。
实践云财务管理
从传统内部计算模式向云计算的部分过渡是从资本支出(CAPEX)转向运营支出(OPEX)。不是只买昂贵的硬件,尽可能多地使用它,任何东西都有成本。这意味着我们需要这样对待它,并重新定位我们对财务管理的看法。
这将包括预算、报告、量化业务价值,以及了解 AWS 中的更新。使用像 Cost Explorer 这样的服务有助于审查成本和使用情况,并获得两者的预测。使用这些信息来查看您的成本或使用情况的峰值可以帮助您转移您的关注点,以找到更具成本效益的方式来使用特定的服务或工作流。
在你的团队中有一种成本意识的文化有助于在你的组织中以一种可扩展的和有机的方式嵌入好的实践。您可以通过使用自动化和预测来进一步削减总体成本,并让您的团队专注于其他重要任务。
支出和使用意识
即使我们正在发生成本,也很难确切知道在哪里,以及发生了多少。当谈到优化 AWS 的成本时,拥有详细的意识是一个很大的难题。AWS 控制塔、组织和 IAM 管理控制访问,可以帮助您以整体和集中的方式整合和管理计费。
您还可以使用带有标签的实例调度器来启动和停止 EC2 和 RDS 实例,并解除资源。如果您知道 EC2 实例的高峰使用时间,可以考虑使用实例调度器来停止不使用的实例,以降低成本。如果您的使用量很高,但是您希望在实例运行时进行优化,那么可以考虑使用自动伸缩组来管理实例何时自动伸缩。
经济高效的资源
当考虑成本优化时,成本有效的资源是你的面包和黄油。
为了节省您的资源,您必须了解您的用例。评估你的需求是什么,然后探究相关的成本。您的用例可能会支持极其经济高效的无服务器解决方案,如 AWS Lambda ,或者使用 ECS 或 EKS 的基于容器的解决方案,而不是使用传统的虚拟机(我们甚至有一篇博文更详细地解释了无服务器与容器)。或者您可以更进一步,使用完全托管的解决方案,如 RDS,消除管理数据库服务器的需要。
从长远来看,了解如何优化 EC2 实例也将为您节省资金。存储可能是一个急需资金的庞然大物,但有效的 S3 使用有助于控制成本。在考虑资源成本时,了解特定服务的定价方式将大有帮助。在发生费用的地方,一定要做好尽职调查和研究。
了解数据的移动方式有助于您关注数据传输成本。数据传输成本经常被忽视。通过选择正确的服务并实施最适合您的使用案例的架构,优化您的数据传输网络成本。例如,需要跨不同区域传输的流量通常会产生数据传输费用。考虑一下这是否是你的企业真正需要的。
从这些 10 个有趣的动手项目开始构建你的云计算技能,学习 AWS 。
管理需求和供应资源
“管理需求和供应资源”原则侧重于了解如何接收和处理您的工作量。
节流和缓冲是实现不同需求风格的方法,各有利弊。了解您的使用案例,以及哪些资源可以用来为这些需求提供最佳供应基础,可以防止您的成本在事情没有按计划进行时变得难以承受。
对于某些间歇性工作负载,无服务器解决方案可能最适合您的需求,只在需要时执行。在其他情况下,您可能更喜欢使用自动缩放功能,如通过 AWS 自动缩放提供的功能来管理您的资源。
随着时间优化
随着时间的推移进行优化是您美味成本蛋糕上的糖霜。当你达到这一点时,祝贺你!你的基础和所有重要的部分都到位了,就像蛋糕里的海绵底层一样。但是,随着您的工作量随着时间的推移不断发展和变化,工作永远不会真正完成。CloudWatch、CloudTrail、Trusted Advisor 和 Config 等服务为您提供了持续审查和审计工作负载的可见性和工具,并帮助您保持最佳的支出状况。
例如,让我们说,你开始了一个名为飞熊公司的家庭企业。你的企业创造和销售世界各地的飞熊艺术品。突然之间,当你的一些作品出现在电影中时,生意就起飞了。您的资源需要扩展以处理新增加的请求,您可能需要考虑跨区域扩展这些资源,以允许世界各地的人们查看您的工作。
使用 CloudWatch 中的仪表盘可以帮助您了解您的使用量增长了多少,以及哪些资源的使用量最大,以便您可以制定计划来专门扩展该资源。使用 Config 保存和审核您的所有配置,以确保它们得到一致的使用,并且与启动的每个新资源所需的配置相匹配。
你的用例也可能随着时间而改变。使用带有按需定价的 EC2 实例最初可能很经济,但是随着负载的增加,您可能会选择开始使用保留实例或节省计划。同样,随着您的解决方案老化,用户变得不那么活跃,并且不需要经常扩展,切换回按需实例实际上可能会节省您的资金!
你是想开始你的 AWS 职业生涯还是想让你的技能更上一层楼?我们的 AWS 学习路径提供定制的路径,让您的云计算之旅更加精彩!
成本优化不一定代价高昂
驾驭云就像驾驭一片古老的森林一样充满挑战,云成本就像一头可怕的巨兽,随时准备抬起头来,让你大吃一惊。但不一定非要这样;AWS 的服务可以帮助您和您的团队为预期和意外成本做好准备,并提供最佳实践以避免后者。
本文仅仅触及了理解 AWS 成本优化原则所必需的所有内容的表面。因此,如果你想深入研究这些话题,请查看我的 AWS 成本优化深入研究课程。
使用动手实验在真实场景中练习课程中涉及的一些概念。在每一部分的最后,还有一些方便的小测验来测试你的知识。当你完成课程后,和我一起跳舞庆祝吧!
谢谢你今天陪我玩,大师。深呼吸,小步走,记得要保持牛逼!
自动气象站红移数据交换:Lambda 支持 IPv6
新的一年,新的 AWS 新闻!在这篇文章中,我们将讨论亚马逊红移的 AWS 数据交换,AWS Lambda 现在支持 IPv6 的入站连接,以及亚马逊翻译的新脏话屏蔽。这是本周 AWS 的新内容。我们走吧!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
亚马逊红移在 GA 的 AWS 数据交换
亚马逊的 AWS 数据交换红移于年现年全面上市。
如果您以前没有使用过 RedShift,它是一个数据仓库解决方案,允许您对存储在数据湖和数据库中的数据运行复杂的分析查询。
AWS 数据交换是一项服务,使您能够访问和使用第三方数据进行分析。比如路透社这样的公司的新闻数据。
这一新的声明意味着现在可以轻松地在数据交换中查找和订阅第三方数据,并使用 RedShift 直接查询数据,甚至将其与您自己的数据相结合。
Lambda 直接支持 IPv6 的入站连接
Lambda 现在直接支持互联网协议版本 6 ( IPv6)的入站连接。
这非常酷,因为这意味着你现在可以通过 IPv6 调用 Lambda 函数,而不必担心 IPv6 和 IPv4 之间的转换。
Lambda 的新双栈端点支持 IPv4 和 IPv6,使这一新功能成为可能。
因此,当客户端向双栈 Lambda 端点发出请求时,端点会根据客户端使用的协议解析为 IPv6 或 IPv4 地址。
亚马逊翻译补充?$ # @-使用亵渎屏蔽
亚马逊翻译现在包括亵渎屏蔽。如果你不熟悉 Translate,它是一种机器学习支持的服务,允许你将纯文本从一种语言翻译成另一种语言,使你能够轻松地构建支持多种语言的应用程序。
这个新的脏话屏蔽功能可以检测 AWS 归类为脏话的单词,并使用 Grawlix 字符串屏蔽该单词,如下所示:“?\(#@\)
别担心。此功能是可选的。如果你想使用它的话,这是你必须去做的事情。
跟上 AWS 的所有事情
想要跟上 AWS 的所有事情?在推特上关注 ACG和脸书,在 YouTube 上订阅云专家的每周 AWS 更新,并在 Discord 上加入对话。
想了解更多关于云和 AWS 的信息吗?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
了解如何像 SRE 人一样思考
观看这个免费点播的网络研讨会,了解 Nobl9 工厂可靠性工程总监 Alex Hidalgo 对 SRE 文化和工具的剖析。
AWS 首次推出 EC2 X2iezn 实例;EFS 支持复制
原文:https://acloudguru.com/blog/engineering/aws-debuts-ec2-x2iezn-instances-efs-supports-replication
本周 AWS 有什么新消息?亚马逊 EFS 现在支持复制,有一个新的 EC2 实例类型可用,GuardDuty 现在可以检测您的 EC2 实例凭据是否被泄露并被另一个 AWS 帐户使用。想要了解 AWS 最新新闻的完整内容吗?请继续阅读了解更多信息!
加速你的职业生涯
无论你是新手还是认证专家,云专家都能让你轻松(也很棒)地提升自己的职业生涯。查看 ACG 的免费课程或现在就开始免费试用。
亚马逊 EFS 现在支持复制
上周,亚马逊宣布 EFS 现在支持复制。
EFS 是什么?EFS 是一个完全托管的共享文件系统,使您能够使用 NFS 协议在数千个 EC2 实例之间安全地共享文件系统。
(说到 EFS,你可以观看我们的常驻美洲驼语者和 Azure 超级粉丝 Lars Klint 在这个视频挑战中尝试与 EFS 进行实验,看看如果你知道 Azure 是否容易学习 AWS。)
EFS 现在支持复制到同一区域或不同区域,这对于灾难恢复和业务连续性规划非常有用。
- 复制流量保留在 AWS 全球网络上
- 大多数更改应在 1 分钟内复制完成
- EFS 复制旨在满足 15 分钟的恢复点目标(RPO)
因此,副本文件系统中的数据永远不会过期超过 15 分钟。
专为 EDA 工作负载设计的灵活的新 X2iezn EC2 实例类型
AWS宣布有一个新的 EC2 实例类型可用,它被称为 X2iezn 。(好拗口!)
X2iezn 实例采用英特尔至强处理器,支持高达 4.5 GHz 的速度,AWS 声称这是云中最快的处理器。
这种新的实例类型支持多达 48 个这样的处理器,以及巨大的 1500 Gigs 内存。
X2iezn 实例非常适合高性能计算,尤其适合电子设计自动化(EDA)工作负载,即用于设计电路和微电子的自动化工具。
警卫加强了对泄密凭证的检测
本月早些时候,AWS 宣布 Amazon GuardDuty 现在能够检测你的 EC2 实例凭据是否被泄露,以及是否被另一个 AWS 帐户使用。
如果你以前没有使用过 Guard Duty,这是一种机器学习驱动的威胁检测服务,可以监控你的帐户是否有恶意活动。它甚至可以检测您的 EC2 实例是否被用于比特币挖掘。
如果您的 EC2 实例附加了 IAM 角色,则在该实例上运行的工作负载能够从您的实例元数据中访问临时安全凭证,从而允许它们与 AWS 服务进行交互,假设该角色允许的权限。
如果您的 EC2 实例遭到破坏,并且恶意参与者设法从实例元数据中访问这些凭证,那么您可能希望得到警告。守卫职责总是能做到这一点。。。如果请求来自 AWS 之外的 IP 地址。但这一新声明意味着,即使攻击来自另一个 AWS 账户——在 AWS 网络内部——警卫职责也应该能检测到。
更多信息请点击查看。
跟上 AWS
想要跟上 AWS 的所有事情?在推特上关注 ACG和脸书,在 YouTube 上订阅云专家的每周 AWS 更新,并在 Discord 上加入对话。
希望了解更多关于云和 AWS 的信息,或者在 2022 年开始您的云职业生涯?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
AWS 开发人员必备:ACG 动手实验室播放列表
原文:https://acloudguru.com/blog/engineering/aws-developer-essentials-the-acg-hands-on-labs-playlist
这篇文章重点介绍了实践实验室,它将帮助你获得建立 AWS 开发人员技能的实际经验。
手。它们是做折纸或开泡菜罐的最佳选择。但在学习云计算时,它们也很有用。怎么会?通过 ACG 的动手实验。我们的动手实验室是引导式练习,让您在安全的云环境中通过真实场景工作。
在本帖中,我们将涵盖一系列动手实验,这些实验将帮助您获得一些必要的工具,以学习成为 AWS 开发人员的基本知识,这些人可以编写、部署和维护基于 AWS 的应用程序。
所以系好安全带,手一直放在车里。我们开始吧!
限时优惠高达 89 美元
立即加入游戏。要获得 ACG 的金牌机会,请点击这里开始掌握推动你职业发展的技能。
查看我们的其他动手实验播放列表
AWS 开发人员基本信息播放列表
要开始下面的动手实验,您需要有一个 ACG 帐户。没有户口?不要烦恼! 开始免费试用 。并且,在有限的时间内,您可以在您的 ACG 会员资格上 节省高达 89 美元 !
技能等级:修炼者
4 实验室| 2 小时
建议的音乐配对
时长 : 45 分钟
目标:
- 在 AWS 控制台中创作 Node.js Lambda 函数
- 使用测试事件测试函数
- 查看 Lambda 的 CloudWatch 日志
描述:在这个动手实验中,你将编写一个 Node.js Lambda 函数,它检查一个 URL 并返回状态代码,表明网站是正常运行还是关闭。您将探索 Lambda 控制台、函数代码、执行角色、测试事件和执行结果。AWS Lambda 允许您编写简洁的函数,并且只需担心您的代码。
你已经是 ACG 会员了吗?在这里开始这个实验。
持续时间 : 15 分钟
目标:
- 创建社交网络话题
- 创建 Lambda 函数
- 将您的社交网络主题发送到多个端点
描述:在这个动手实验中,您将使用 AWS 简单通知服务(SNS),创建一个 SNS 主题,然后使用多个端点订阅该主题:SMS、电子邮件和 AWS Lambda。
登录到您的 ACG 帐户?在此动手。
观看:成为 AWS CloudFormation 超级用户 在这个免费的点播网络研讨会中,深入了解那些鲜为人知的功能,你可以用它们来提升你的 CloudFormation 游戏。
持续时间 : 30 分钟
目标:
- 创建一个 DynamoDB 表
- 向表格中添加项目
- 向表中添加全局二级索引
描述:在这个动手实验中,我们将创建一个 DynamoDB 表,作为我们存储宠物库存数据的场景的一部分。在本练习中,团队中的数据架构师需要一个表定义,其分区键为“pet_species ”,数据类型为“String ”,排序键为“pet_id ”,数据类型为“Number ”,并将该表命名为“PetInventory”。因为开发中的工作负载未知,所以应该使用“按需”配置。我们可以自由地用我们选择的任何方法(web 控制台、CLI/SDK、CloudFormation)创建表格。
已经是 ACG 会员了?试试这个实验室这里。
4。 云形成入门
持续时间 : 1 小时
目标:
- 创建云形成堆栈
- 更新 CloudFormation 堆栈
- 添加云形成堆栈
- 删除云形成堆栈
描述 : CloudFormation 是一个强大的 AWS 自动化服务,可用于创建简单或复杂的基础设施集。在这个动手实验中,你将得到一个关于云形成的温和介绍,使用它来创建和更新一些 S3 桶。本实验将让你熟悉 CloudFormation 的使用,并为你尝试自己的模板做好准备。
签约 ACG 了吗?在这里启动这个实验室。
看点:自动化 AWS 成本优化
经济高效地使用 AWS 可能是一个挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况,如数据存储优化。
学习 AWS 开发的建议后续步骤
相关资源
AWS 开发人员工具概述和代码提交备忘单
原文:https://acloudguru.com/blog/engineering/aws-developer-tools-overview-and-codecommit-cheat-sheet
什么是 AWS 开发者工具?AWS devo PS 专业认证考试最近进行了更新,并对 AWS 开发人员工具套件进行了新的强调。这可能会引起新 DevOps Pro 候选人的关注。你所说的“开发者套件”是什么?我该如何开始?我要花多长时间才能赶上这只野兽?显然,没有几个迷因参考,我们就不能开始工作。所以,拿着我的啤酒,在你读这篇博客的时候保持冷静,因为这些工具的升级可能会很快。首先,我们将清楚地定义 AWS 开发人员套件,然后一点一点地分解它。AWS 开发人员工具是一套服务,旨在帮助开发人员和 IT 运营专业人员快速、安全地交付软件。总之,这些服务有助于安全地存储和版本控制您的应用程序的源代码,并自动构建、测试和部署您的应用程序到 AWS 或您的内部环境。这里有很多以开发为中心的关键词和标语:“开发运维”、“快速安全地交付软件”、“源代码”、“构建、测试、部署”。因此,开发人员套件将帮助我们自动构建和部署我们的软件?听起来很有希望,但是我们如何开始呢?开发者工具简介AWS 开发者工具套件提供 6 种服务:
- AWS 云 9
- AWS CodeStar
- AWS X 射线
- AWS 代码提交
- AWS 代码构建
- AWS 代码部署
- AWS 代码管道
- Cloud9 是一个基于云的集成开发环境,而且是一个很好的集成开发环境。
- CodeStar 允许您将所有部署活动整合到一个地方,并将所有其他活动与这些工具联系在一起。
- X 射线允许您分析和调试您的生产应用。
因此,这些都是优秀的产品,我鼓励以后使用它们,但是为了快速提升,让我们把注意力放在其余的服务上。单独或一起使用的 AWS CodeCommit、CodeBuild、CodeDeploy 和 CodePipeline 构成了开发人员工具套件的核心服务。这些工具允许您端到端地管理应用程序的创建、构建和部署。在本系列的第一部分,我们将回顾 CodeCommit。CodeCommit 和 Git 携手并进 CodeCommit 是一个完全托管的源代码控制服务,托管安全的基于 Git 的存储库。所以关键字是完全受管理的,并且是基于 Git 的。如果你知道 Git,那么你已经在了解 CodeCommit 的路上了。不要低估完全管理的部分。可以将 RDS 视为完全托管服务的一个例子。AWS 管理 CodeCommit,为您省去许多“幕后”工作,例如为 CodeCommit 提供服务器。很好,但是这和 GIT 有什么关系呢?不熟悉 Git?查看 Git 术语解释。正如我们现在所知,CodeCommit 托管 Git 存储库,理解 Git 命令有助于使用 CodeCommit。现在,既然许多命令都是相同的,为什么不直接使用 Git 呢?CodeCommit 会带来哪些优势?记住,AWS 管理代码提交。CodeCommit 消除了管理您自己的源代码控制系统或扩展其基础设施的工作。没有人员来管理您的基础架构?没问题,AWS 会帮你做的。
让我们以备忘单的形式看看一些可以和 CodeCommit 一起使用的 Git 命令:配置变量
列出所有配置变量: git config --list
列出所有本地配置变量:
git config --local -l
列出系统配置变量:
git config --system -l
列出全局配置变量:
git config --global -l
远程存储库初始化本地存储库,准备将其连接到代码提交存储库:
git init
可用于在本地存储库和远程存储库之间建立连接:
git remote add remote-nameremote-url
通过在本地计算机上当前文件夹的指定子文件夹中的指定 URL 处制作 CodeCommit 存储库的副本来创建本地 repo:
git clone remote-urllocal-subfolder-name
显示了本地 repo 用于 CodeCommit 存储库的昵称:
git remote
显示了本地 repo 用于获取和推送至 CodeCommit 存储库的昵称和 URL:
git remote -v
使用本地 repo 为 CodeCommit 存储库和指定分支指定的昵称,将完成的提交从本地 repo 推送到 CodeCommit 存储库:
git push -u remote-namebranch-name
设置上游跟踪信息后,将完成的提交从本地 repo 推送到 CodeCommit 存储库:
git push
使用本地 repo 为 CodeCommit 存储库和指定分支指定的昵称,将完成的提交从 CodeCommit 存储库拉入本地 repo:
git pull remote-namebranch-name
提交显示已添加或未添加到本地存储库中的待定提交中的内容:
git status
显示本地存储库中待定提交和最新提交之间的更改:
git diff HEAD
将特定文件添加到本地存储库中的挂起提交中:
git add [file-name-1 file-name-2 file-name-N| file-pattern]
将所有新的、修改的和删除的文件添加到本地存储库中的挂起提交中:
git add
它开始在本地 repo 中完成挂起的提交,这将显示一个编辑器来提供提交消息。输入消息后,待定提交完成:
git commit
列出本地存储库中最近的提交:
git log
branches 列出本地存储库中的所有分支,在当前分支旁边显示一个星号(*):
git branch
将有关 CodeCommit 存储库中所有现有分支的信息提取到本地存储库:
git fetch
列出本地回购中的所有分支和本地回购中的远程跟踪分支:
git branch -a
仅列出本地回购中的远程跟踪分支:
git branch -r
使用指定的分支名称在本地存储库中创建新分支:
git branch new-branch-name
使用指定的分支名称切换到本地存储库中的另一个分支:
git checkout other-branch-name
使用指定的分支名称在本地存储库中创建新分支,然后切换到该分支:
git checkout -b new-branch-name
使用本地 repo 为 CodeCommit 存储库指定的昵称和指定的分支名称,将新分支从本地 repo 推送到 CodeCommit 存储库:
git push -u remote-name new-branch-name
使用指定的分支名称在本地存储库中创建新分支。然后使用本地 repo 为代码提交储存库指定的昵称和指定的分支名称,将本地 repo 中的新分支连接到代码提交储存库中的现有分支:
git branch --track new-branch-nameremote-name/remote-branch-name
将本地回购中另一个分支的更改合并到本地回购中的当前分支:
git merge from-other-branch-name
删除本地 repo 中的分支(除非它包含未合并的工作):
git branch -d branch-name
使用本地 repo 为 CodeCommit 存储库指定的昵称和指定的分支名称删除 CodeCommit 存储库中的分支:
git push remote-name :branch-name
标签列出本地存储库中的所有标签:
git tag
将所有标签从 CodeCommit 存储库中提取到本地存储库:
git fetch --tags
显示有关本地存储库中特定标记的信息:
git show tag-name
在这里了解更多关于 Git 的版本控制。 使用本地 repo 为 CodeCommit 存储库指定的昵称和指定的标签名称,将特定标签从本地 repo 推送到 CodeCommit 存储库:
git push remote-name tag-name
使用本地 repo 为 CodeCommit 存储库指定的昵称,将所有标签从本地 repo 推送到 CodeCommit 存储库:
git push remote-name --tags
总而言之,对 CodeCommit 的深入研究可以作为一个备忘单供您使用。(下载到这里 ) 但是 AWS 开发者工具还有很多内容要介绍,所以这是一个多部分系列的第一部分。
了解如何使用 AWS 开发、部署和调试无服务器应用程序,并通过 AWS 认证开发人员–助理考试。本课程面向中级水平的学生,从云计算基础概述开始。然后,它将带您深入了解在 AWS 上开发、部署和维护应用程序(尤其是无服务器应用程序)的课程。
AWS EC2 控制台获取全局视图;QuickSight Q in GA
本周 AWS 怎么了?相当多!以下是一些亮点:
- 随着 EC2 现在有了全局视图,AWS web 控制台得到了多年来最好的补充之一
- 亚马逊 QuickSight Q 现已正式上市
- Amazon Connect 获得了一些巧妙的更新
- 此外,亚马逊简单电子邮件服务现已在亚太(大阪)地区推出,有一个用于基因组学和生命科学的开源工具,EC2 可以获得微软 WIndows Server 2022 图像。
想了解更多?详情请继续阅读!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
1.亚马逊 EC2 现在提供全球视野
本周启动的是 AWS web 控制台的和长期以来最好的新增功能之一:Amazon EC2 Global View,在这里您可以查看您所有 AWS 区域的 AWS 资源,如实例、VPC、子网、安全组和卷。
任何使用过 EC2 的人肯定会告诉您,要知道哪个区域有 EC2 实例在运行,您通常必须登录到控制台并更改区域 21 次才能找到所有区域,或者编写自己的脚本使用 AWS CLI 或 API 找到所有区域。
好吧,那不再是必需的了!现在可以从 EC2 和 VPC 控制台访问全局视图。您甚至可以通过资源 ID 或标签搜索资源,还可以通过区域和类型过滤资源。
它现在可用于实例、VPC、子网、安全组和卷——AWS 有望很快将其扩展到更多的服务!
更多详情请点击。
保护您的 AWS 环境 在这个免费的点播网络研讨会中,了解如何从零开始保护复杂的 AWS 环境,并学习如何正确审计和保护 AWS 帐户。
2.亚马逊 QuickSight Q 是 GA
接下来,亚马逊 QuickSight Q 现已全面上市!
q 是一种机器学习驱动的自然语言功能,允许业务用户用日常语言询问有关他们数据的问题,并在几秒钟内获得答案。
例如,您可以简单地输入“我们的年增长率是多少?”QuickSight 会给你一个即时的可视化。这很酷。以前,当您无法从数据控制面板中找到问题的答案时,您将不得不提交临时请求,并且可能需要数周时间才能获得响应。
更多信息点击这里。
3.亚马逊连接智慧是 GA
本周,Amazon Connect Wisdom 也已全面上市。
这项服务允许代理在主动与客户交谈时访问解决客户问题所需的信息。
呼叫中心通常使用知识管理系统和文档库,这使得在与客户交谈时很难找到答案,从而导致糟糕的客户服务。Amazon Connect Wisdom 允许代理从他们的桌面搜索多个连接的存储库,以快速找到答案,当与用于 Amazon Connect 的隐形眼镜一起使用时,您甚至可以利用机器学习支持的语音分析来自动检测电话中的客户问题,并向代理实时推荐解决方案。太棒了!
此处显示的全部细节。
对升级感兴趣,或者从开发和运营开始您的旅程?云专家的 AWS DevOps 学习路径提供适合初学者和高级专家的定制课程!
4.AWS 新闻综述
最后,这里是 AWS 本周发生的其他事情的一些小更新。
Amazon Genomics CLI T1 现已全面上市。这是基因组学和生命科学客户在 AWS 上处理 Pb 级基因组学数据的开源工具。
最后,AWS 已经宣布在亚马逊 EC2 上提供微软 WIndows Server 2022 图像。
准备 AWS 系统操作管理员认证
在我们结束之前,我想提一下我们的 Sysops Admin cert prep 实时流现已推出。在本专题讲座中,我们的常驻专家将解答您在 AWS SysOps Admin 认证考试中可能会遇到的一系列考题。这对任何希望获得该认证的人来说都非常有用。
跟上 AWS 的所有事情
想跟上 AWS 的一切?在 YouTube 上订阅云专家的每周亚马逊新闻和 AWS 公告。你也可以在脸书上喜欢 ACG,在 Twitter 上关注我们,或者在 Discord 上加入对话!
希望提升您的 AWS 技能?注册一个 ACG 免费计划(不需要信用卡)来访问我们所有的其他网络系列,以及每月不同的免费课程和测验的循环综述。
这就是我这一周的全部!继续牛逼吧,云大师们!
AWS 扩展本地区域,庆祝 DynamoDB 10 周年
原文:https://acloudguru.com/blog/engineering/aws-expands-local-zones-celebrates-10-years-of-dynamodb
本周 AWS 怎么了?亚马逊 QuickSight 现在有了一个社区中心。AWS 备份获得新伙伴。我们见到了新的本地区域。最后,同样重要的是,我们祝 DynamoDB 生日快乐。我们走吧!
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
快速战斗机,集合!亚马逊 QuickSight 是一种无服务器的商业智能服务,允许每个人通过漂亮的交互式仪表盘、自然语言问题来查看和理解数据,并使用机器学习来发现数据中的模式和异常。T
大新闻?亚马逊宣布一个闪亮的、全新的社区中心!
这个社区中心将允许 QuickSight 一起开始,更深入地潜水,而不必在不同的地方筛选,以找到更多关于 QuickSight 的信息。
社区中心有三个部分:问答、学习中心和公告。可以通过 QuickSight UI 或底部的 QuickSight 概述页面访问社区。浏览社区不需要凭据,但需要登录才能在那里发帖。
S3 的 AWS 备份
AWS 备份是一项完全托管的服务,用于跨 AWS 管理和自动化多项服务的备份。创建带有策略的计划以确保定期进行备份,并设置生命周期以确保在需要时删除旧备份。
但是 AWS 备份有一个问题:它只适用于特定的服务。这让我想到了新闻!S3 现在也包括在这些服务中!
对于那些曾经需要修复他们的 S3 水桶或物品的人来说,这是一个好消息。只需几次点击或一次 API 调用,您就可以做到这一点。这一新功能不包括跨区域或跨帐户备份或冷存储的生命周期。地区是有限的,所以在向你的组织传播好消息之前,请确保你做了必要的工作。
更多的本地专区即将推出
本地区域是将区域扩展到云边缘的基础架构部署。这些非常适合任何需要超低延迟的应用,如实时游戏、实时视频流、虚拟现实等。全美 16 个本地区域的发布预计将提供个位数毫秒延迟性能。
新的本地区域将允许客户在本地使用核心 AWS 服务,同时保持与其余工作负载的连接。此次发布还意味着混合云迁移的简化。
对新区感到兴奋吗?他们还没完成。预计未来将在 26 个国家看到 32 个其他地方专区。我很高兴看到云的扩展,并为我们带来一个无缝、像黄油一样光滑的云未来。
庆祝动态模式 10 周年
最后,祝 DynamoDB 生日快乐!
2012 年 1 月 18 日,Jeff 和 Werner 宣布 Amazon DynamoDB 全面上市,这是一种完全托管的灵活的 NoSQL 数据库服务。
有趣的 DyanmoDB 事实:它诞生于 Dynamo(亚马逊最初的非关系数据库)和 Simple DB(亚马逊最初的 NoSQL 服务)的合并。
DynamoDB 的目标是可伸缩的,检索数据的延迟低,并且足够简单,您可以声明一个表,系统会处理低层次的复杂性。在其十年的生命周期中,DynamoDB 基于 AWS-er 的反馈进行了发展,导致了数百项改进。什么开始作为一个问题“我们为什么这样做?”变成了全球成千上万个云环境的主要拼图。3 月 1 日,与 AWS 一起庆祝这十年的创新。生日快乐 DynamoDB!
跟上 AWS 的所有事情
在 YouTube 上订阅一位云专家的每周 AWS 新闻(以及其他云提供商的新闻)。你也可以在脸书上喜欢我们,在推特上关注我们,或者在不和谐上加入对话!
AWS 物联网 Greengrass 提示-部署和故障排除
原文:https://acloudguru.com/blog/engineering/aws-greengrass-pro-tips
AWS 物联网 Greengrass 是一项了不起的技术:它将 AWS 云扩展到边缘,让我们能够构建跨云、边缘和本地计算的无服务器解决方案。
但是和任何新技术一样,它在某些方面仍然有点粗糙,而且不容易使用。虽然我们的 AWS 朋友们正在努力让它变得更加文明,但这里有 10 个提示来帮助您现在就充分利用 AWS Greengrass。快速参考:
- 固定您的开发设置
- Docker 中的 Greengrass:谨慎行事(用 5 个步骤让它运转起来)
- 基本故障排除提示—日志、部署和 lambda 位置等
- 检查连接
- Lambda 函数故障排除
- 进入 Lambda 容器
- 将您的 Lambda 命名为快乐故障排除
- 在本地绿草上快速修改 Lambda 代码
- Lambda 点播?λ长寿?都是!
- 使用系统管理绿草生命周期
这些都是专业建议,假设您对 AWS Greengrass 有基本的了解,包括一些实践经验。这些技巧最适合那些用 AWS 运行真实物联网项目的人。如果您是这项服务的新手,请将此加入书签,并在查看完 Greengrass 教程和 AWS Greengrass 故障排除后再回来。
AWS 物联网 Greengrass 的开发设置
有许多方法可以为不同的爱好建立一个开发环境——但是有些方法比其他方法更有效。对于第一个教程来说,通过 AWS web 控制台浏览绿草是不错的,但是在你订阅了几次之后,你会寻找更好的方法。
我更喜欢老式的本地开发,我对 GitOps 和基础设施即代码非常狂热。这影响了我的设置:
编辑器的选择,git,AWS CLI 与命名配置文件之间跳转测试和生产帐户-所有运行在我的 Mac 上。绿草核心软件安装在一个流浪的虚拟机上;所有的先决条件和安装都编在一个文件夹中。
我用 greengo.io 操作绿草群作为代码。Greengo 让我将整个组(核心、订阅、策略、资源等)定义为一个简单的 YAML。然后按照定义在 AWS 中创建它,负责从本地代码在 AWS 中创建 Lambda 函数。它下载证书和配置文件,由于助手脚本,我将它们直接放入 Greengrass VM。作为奖励,greengo
还知道清理一切!
有了这些,我可以用我最喜欢的编辑器方便地编辑 lambda 函数和 greengrass 定义。我做出改变,更新,部署,清洗,重复。我用vagrant ssh
跳转到 Greengrasss VM 上,通过日志检查 greengrass 的健康状况,启动/停止守护进程,探索它并使用下面描述的各种技巧。
所有的工作都以代码的形式被捕获,被 git 跟踪,直接从我的笔记本电脑上传到 GitHub,并且很容易复制。GitHub 上有一个完整的代码示例——一个经过整理的 AWS ML 推理教程——供您查看和复制:dz 亚胺/AWS-green grass-ML-推论。
这个设置很适合我,但这当然不是唯一的方法。你可以用 AWS 用三种常见的方法创建 Lambda 函数,并创造性地将它们扩展到你的 Greengrass 开发中。你可能会喜欢 AmazonVM 上的 Cloud9 + Greengrass,正如 Jan Metzner 在 re:Invent 2018 的 IOT402 Workshop 上演示的那样。
如果你是 CloudFormation 模板的大师,看看优雅的 GrassFormation 和随之而来的开发流程。无论你选择哪一个,先帮你自己一个忙——确定你的开发设置。
2019 年 3 月 18 日更新:AWS Greengrass 增加了对 CloudFormation 模板的支持。这很棒,现在你可以直接使用它,或者使用你选择的工具,比如无服务器框架或者 SAM CLI 。
AWS Greengrass in Docker:谨慎行事
我在 Docker 1.7 版正式支持之前管理 Greengrass,用了几个 Docker 的招数: devicemapper
存储驱动代替默认的 overlay2
,和 --privileged
标志。这很有效,而且对 Greengrass 的功能没有任何限制。
但是随着 Docker,Linux 内核,和 Greengrass 的更新版本,它逐渐停止工作。我放弃了这个案子,但是你总是在GitHub–dz 亚胺/aws-greengrass-docker 碰碰运气。
现在我们可以在 Docker 容器中正式运行 AWS 物联网 Greengrass。这是一个很大的便利,但仔细观察就会发现它更多的是一个变通办法。诚然,让 greengrass 容器在 docker 容器中运行很困难,而且不太可能适合生产。所以 AWS 引入了一个配置选项,在容器外运行 Lambdas,就像操作系统处理一样——基于每个 lambda 或每个组。
选择这个选项会带来限制:不支持连接器、本地资源访问和本地机器学习模型。嘿,损失不算大!连接器还处于起步阶段——就此而言,我更希望它们用于 Lambdas 和 StepFunctions。
当 lambdas 作为操作系统进程运行时,它们可以访问任何本地资源,因此不需要配置本地资源。一个本地 ML 栈可以很容易地定制成你喜欢的 Greengrass 图像。
设计考虑 这种方法的一个更大的问题是,总的来说,Lambdas的可选集装箱化,它嗅到了隐藏的依赖性——使东西变得脆弱。
物联网工作流是关于定义云中的部署,并将其推送到一系列设备。一些设备不支持容器化的 Lambdas:无论是在 Docker 中运行的 greengrass 还是在没有容器化的受限操作系统上。从 1.7 版开始,Greengrass 说“没问题,只要一个群体选择不进行容器化,它就会运行”。但是设备并不宣传它们的能力,也没有拒绝不受支持的群组部署的防护措施。关于在什么设备上运行什么组是安全的知识必须存在于系统之外,存在于设计者的头脑中——不可否认这不是最可靠的存储。
虽然为 Lambda 启用容器化在组定义中看似合理,但它可能会破坏部署或导致功能故障。更不用说使用和不使用容器化的运行代码在很多方面都有所不同——我确实遇到过只有在容器化时才会出现的奇怪的代码错误。
AWS 文档警告谨慎使用该选项,并规定了在没有容器化的情况下运行可能值得权衡的用例。如果你想在 Greengrass 中采用 Docker,我会推荐 goling:放弃容器化,在开发和生产中使用 Docker,使用相同的容器。
Docker 教程中的 AWS 温室
Docker 中 Greengrass 的 5 个步骤 如果上述限制没有阻止你使用这种方法,下面是如何用 5 个简单的步骤在 Docker 中运行 Greengrass:
1.从云前端获取包含 Dockefile 和其他工件的压缩报告。 为什么不是 GitHub?我可以把它克隆到我的 GitHub 上吗,或者说这是违反许可的吗?求 AWS 。目前,CloudFront:
curl https://d1onfpft10uf5o.cloudfront.net/greengrass-core/downloads/1.7.1/aws-greengrass-docker-1.7.1.tar.gz | tar -zx
2.用 docker-compose 构建 docker 图像
cd aws-greengrass-docker-1.7.1
PLATFORM=x86-64 GREENGRASS_VERSION=1.7.1 docker-compose build
3.使用greengo
创建组:将您的证书和配置放入/certs/
和/config
。或者死忠与 AWS 控制台,下载和整理的证书和配置。**注意:**部署必须让所有 Lambdas 选择出容器:或 API、CLI 或 greengo.yaml 定义中的pinned=True
。
4.与坞站一起运行坞站-组合:
PLATFORM=x86–64 GREENGRASS_VERSION=1.7.1 docker-compose up
5.利润。对于任何复杂的情况,比如需要 ARM 映像或不幸在 Windows 上运行——打开 README.md,享受详细的说明。
你可能会问“为什么不在开发设置中使用 Docker,而不是一个沉重的流浪虚拟机”?你可以:我有时自己做,就像开发的试验台。
但是对于生产就绪的物联网部署,我更喜欢最能代表目标部署的环境——GG Docker 限制并不总是这样。
AWS 温室故障排除提示
当出现问题时——很可能会出现——以下是需要检查的事项:
- 确认
**greengrassd**
已经启动。
查找输出中的任何错误。
/greengrass/ggc/core/greengrassd start
如果它没有启动,很可能错过了一些先决条件,您可以通过greengrass-dependency-checker
脚本快速检查。你可以从AWS-green grass-samples repo获得最新版本的检查器。
还有 AWS 设备测试器,这是一个较重的选项,通常由设备制造商用来认证他们的设备是否支持 Greengrass。
2。检查系统日志是否有错误。
看/greengrass/ggc/var/log/system/
下,从runtime.log
开始。AWS 文档中描述了 greengrass 功能各个方面的其他日志。我主要看runtime.log
:
tail /greengrass/ggc/var/log/system/runtime.log
这有助于将日志设置为DEBUG
级别(默认为INFO
)。它是通过 AWS 控制台、CLI、API 或greengo
在 Greengrass Group 级别设置的。必须成功部署组才能应用新的日志配置。
但是,如果我正在对初始部署中的故障进行故障排除,该怎么办呢?运气不好!有一个技巧是在本地伪造一个部署,其中只有一个日志配置,但这非常麻烦;在config.json
文件中设置会好很多。请加入我对 AWS 的提问:
3。检查部署 一旦您触发部署并达到“进行中”状态,当绿草握手、下载工件并重启子系统时,会在 runtime.log
中弹出一连串消息。部署工件本地存储在 /greengrass/ggc/deployment
:
group/group.json
–部署定义。自己探索:
cd /greengrass/ggc/deployment/group/
cat group.json | python -m json.tool
/greengrass/ggc/deployment/lambdas
–lambda 代码部署在这里。那里的内容是一个提取的 Lambda zip 包。就像在发布到 AWS 之前您的开发机器上有它一样。
**关键提示:**这些人工制品是本地绿草获取的输入。玩弄它们是创造性地摆弄绿草的好方法。
我热情地劝您在 Lambda 代码中编写一个深入的日志记录,并将系统和用户日志记录配置的日志级别设置为
DEBUG
。
检查温室部署和连接
绿草守护进程启动,但没有任何反应。部署永远停留在“进行中”状态。怎么了?很有可能是连接问题。
Greengrass 依靠 MQTT(端口 8883)进行消息传递,依靠 HTTPS(端口 443)下载部署工件。确保您的网络连接允许流量。
检查 HTTPS 是显而易见的,下面是如何测试您的 MQTT 连接( source ):
openssl s_client -connect \
YOUR_ENDPOINT.iot.eu-west-1.amazonaws.com:8883 \
-CAfile root.ca.pem \
-cert CERTIFICATE.pem \
-key CERTIFICATE.key
这不是违背了目的吗?绿草公司需要 HTTPS 拿到部署神器。如果没有办法关掉 8443,它应该如何工作?这个我没有实验过;如果您遭受过度安全的网络,请尝试并报告您的发现。
2019 年 3 月 10 日更新:AWS 发布了版本 1.8 ,上面有一个差异:现在你也可以配置 HTTPS 使用 443。而且很管用!就在这一天,我碰巧遇到了防火墙的问题,应用了这个补丁,它真的很神奇。万岁!
Lambda 函数故障排除
当部署成功,但似乎没有预期的事情发生时,就该看看 Lambdas 了。
检查 lambda 函数是否正在运行:
ps aux | grep lambda_runtime
查看 Lambda 日志:在/greengrass/ggc/var/log/user/...
下潜水,直到找到它们。
一个函数可能会在创建日志文件之前崩溃:例如,由于缺少依赖项或运行时配置错误等原因,核心甚至无法启动 Lambda。
尝试手动运行 lambda:现在您已经知道它在 greengrass 设备上的本地存储位置——是的,/greengrass/ggc/deployment/lambdas/...
—去那里运行它,观察结果。
进入 Lambda 容器
Greenness 在容器中运行 lambdas(除非你明确选择退出)。因此,有时会发生这样的情况,当你在设备上手动启动时运行良好的功能,在 greengrass 下运行时仍然会失败。
找出你的 lambda 的 PID,用nsenter:
进入容器
sudo nsenter -t $PID -m /bin/bash
现在,您处于 Lambda 函数的容器化环境中,可以看到和检查挂载的文件系统、对资源的访问、依赖性、环境变量——一切。
这个技巧对于固定的(长寿命的)函数来说很简单,但是常见的事件触发的 lambdas 不会长到可以跳到它们的容器中:你可能需要临时固定它们才能进入。
如果修改一个 Greengrass 组中的 lambda 定义,重新部署该组,并记住稍后切换回来感觉太麻烦,那么在设备上破解它:在/greengrass/ggc/deployment/group
下的group.json
的函数部分设置pinned=True
,并重启greengrassd
。下一次部署将重置您的本地黑客。
将您的 Lambda 命名为快乐故障排除
Lambda 函数和处理程序的命名约定是什么?我曾经调用我所有的 lambda 入口点handler
并把它放在function.py
文件中,就像这样:
# MyHelloWorldLambda/function.py
def handler():
return {'green': 'grass'}
但是对运行 Lambda 函数的检查产生了如下输出:
ps aux | grep lambda_runtime
20170 ? Ss 0:01 python2.7 /runtime/python2.7/lambda_runtime.py --handler=function.handler
20371 ? Ss 0:01 python2.7 /runtime/python2.7/lambda_runtime.py --handler=function.handler
信息不太丰富,嗯?相反,考虑用 Lambda 函数名来命名处理程序或函数入口点,以获得更有洞察力的输出和更容易的故障排除。然后,为 提示 5 中的招数寻找 Lambda 进程 PID 将是轻而易举的事情。
在 Greengrass 上快速修改 Lambda 代码
greengrass goes 的典型开发工作流程是什么?
- 对 Lambda 函数进行更改
- 在本地测试
- 将该功能部署到 AWS Lambda
- 更新/增加别名,并确保 greengrass lambda 定义指向这个别名
- 将群组部署到您的 greengrass 设备
完成这些步骤后,lambda 就可以被调用了。这在将最终产品代码部署到一组现场设备时非常有用。
但是在开发过程中,尤其是在调试过程中,我们经常需要尝试快速的代码更改,小到打印出一个值。整个工作流程感觉太长太麻烦了。当我们的 AWS 朋友满怀希望地致力于集成一个本地调试器时(为什么不呢?),下面是我使用的一个快速破解方法:
- 我
ssh
到我的流浪虚拟机与绿草核心 - 转到部署文件夹
- 找到有问题的 lambda,并对其进行适当的编辑
- 重启
greengrassd
,并测试变化
如果我不喜欢更新,下一次部署将恢复更改。如果我确实喜欢更新的,我会将功能代码复制到我的本地开发环境并进行部署。
这里 greengo.io 再次派上用场,处理繁琐的例程,如重新打包&上传 lambda,增加版本,更新别名,并将物联网 lambda 定义重新打印到正确的别名:所有这些都在一个简单的命令greengo update-lambda MY_FUNCTION
之后
Update and deploy Lambda with greengo — quick and easy.
Lambda 点播?λ长寿?都是!
AWS Greengrass 支持 Lambdas 的两种生命周期模型:“按需”和“长寿命”。
Lambda On-Demand 默认行为是“On-Demand ”,与云中的 Lambda 相同——这是函数被事件调用的地方。
要在 MQTT 事件上触发 Greengrass 的“按需”lambda,您需要在主题上配置一个订阅,将 lambda 函数作为目标。Greengrass 将在每个主题消息上生成函数执行,将消息作为参数传递给函数处理程序,然后函数处理程序运行不超过配置的超时时间并关闭。变量和执行上下文不会在调用之间保留。
当 Greengrass 守护进程启动时,一个“长期”的函数启动,这允许我们“锁定”一个函数,使它长期运行。这是许多用例的福音,比如视频流分析,或者协议代理,其中函数监听来自 BTLE 或 ZigBee 设备的信号,并通过 MQTT 传输它们。
保守得最好的秘密?你可以两者结合。是的,一个长寿命的函数可以按需触发。我可以用它来做好事,比如在调用之间在内存中保持一个非临界状态。
例如:我的函数用 PEWMA 算法对设备数据流运行异常检测。它必须保留几个先前的数据点来计算平均值。这些数据必须在由数据消息触发的函数执行之间保持。
要实现这一点,请将“长期”与“按需”结合起来:
- 配置一个订阅以在接收到设备数据时触发该函数:当消息到达时,greengrass 忠实地调用带有数据有效负载的处理程序
- 让函数长期存在:现在我可以在处理程序调用之间将状态保存在内存中。如果 Lambda 重新启动并释放状态,这没关系:算法会很快恢复,所以真正的持久性不值得麻烦。
完整的例子,请看一下我的 Greengrass IIoT 原型中的 AnomalyCatcher 函数代码。
记住,一旦 Lambda 被配置为“长期存在”,函数就不会并行运行:调用被排队,一次调用一个处理程序。检查它是否适合您的消息量,并注意您的处理程序代码,以免阻塞队列。
使用系统管理绿草生命周期
当你的 Greengrass 设备重启时,你会希望 greengrass 自动启动,不是吗?除非你让它成为现实。使用 systemd 管理 greengrass 守护进程的生命周期。
您需要将config.json,
中的useSystemd
标志修改为 true,并设置一个 systemd 脚本,就像这个简单示例中的那样:
[Unit]
Description=Greengrass Daemon
[Service]
Type=forking
PIDFile=/var/run/greengrassd.pid
Restart=on-failure
ExecStart=/greengrass/ggc/core/greengrassd start
ExecReload=/greengrass/ggc/core/greengrassd restart
ExecStop=/greengrass/ggc/core/greengrassd stop
[Install]
WantedBy=multi-user.target
这里是关于树莓派的详细步骤说明。如果你的 greengrass 设备支持另一个 init 系统——比如 upstart、SystemV 或 runit——查看手册并根据手册将greengrassd
配置为守护进程。
我希望你喜欢我的 10 个绿草秘诀,并在你的物联网项目中好好利用它们。我费了些力气才弄明白:你的拍手声👏会是最好的回报。请务必访问 AWS Greengrass 故障排除页面,并查看 AWS 物联网 Greengrass 论坛了解更多信息。
想要更多 AWS good?看看这些:
想让您的云技能和知识更上一层楼吗?从云专家的课程和学习路径开始您的学习之旅!
请在这里为我们其他人添加你自己的建议。想了解更多关于物联网、DevOps 和无服务器的故事和讨论,请在 Twitter 上关注我@ dz 亚胺。
AWS Greengrass API 教程和手册
原文:https://acloudguru.com/blog/engineering/aws-greengrass-the-missing-manual
Greengrass API 是一堆没有接线说明的备件,所以这里有一张地图、一个解释和一些代码:
AWS Greengrass 是一项伟大的技术。如果你正在读这篇文章,你可能也已经这样想了。如果你没有——看看 re:Invent keynote 和AWS green grass introduction,你会被说服并受到启发去做黑客。
要掌握教程之外的 Greengrass,以自动化、可靠、可重复的方式定义和部署设置,必须使用 AWS API 或 CLI——我们长期生活在光明的 DevOps 世界中。
这里有一个大问题:虽然 Greengrass 上的 AWS 文档列出了各个呼叫,但它没有给出从哪里开始的线索。没有地图显示如何将电话连接在一起。所有零件都在适当的位置,但是装配手册不见了。或者,是失踪的——直到这篇帖子。
AWS Greengrass 入门
我将从高层次开始:概念定义,模型图,一些关于事物如何工作的理论…但是我的千禧一代读者渴望通过实践来学习,所以让我们从一些工作代码开始。别担心,你仍然可以找到下面的地图和概念。
这是创建具有单个核心的 Greengrass 组的代码。
作为奖励,为了您的方便和即时满足,请将此代码记录在 Jupyter 笔记本中!
当你点击 AWS 控制台中的一个“创建组”按钮来创建 *Greengrass Core,*下面提供的代码是场景中发生的事情。相当多…跨 3 个 AWS 服务的 7 个调用— 5 个显式创建的实体,2 个隐式创建的实体。
创建群组只是开始,您还需要:
- 用 AWS Lambda 创建 Lambda 函数
- 通过 Lambda 定义将它们注册到 IoT
- 为您的 Lambdas 定义要访问的资源
- 配置记录器和注册设备
- 为每个点对点通信设置 MQTT 订阅
- 将整个 shebang 部署到绿草核心
顺便说一下,所有这些都必须正确安装和配置,携带正确的证书,并在您的边缘设备上运行。如果听起来有点复杂,那是因为它是有点复杂。是时候提升概念和定位了。
AWS Greengrass 操作流程
首先,让我们回顾一下绿草运营生命周期工作流程的步骤。
- 在 AWS IoT 中创建 Greengrass 组定义 —多次调用 AWS API 来创建和连接所有必要的实体。
- 设置 green grass core“on the edge”—配置一个 box Raspberry Pi 或其他兼容设备,或用于开发&测试的 VM / Docker。下载并安装正确版本的 greengrass,放置证书,调整“config.json ”,并启动 Greengrass 守护程序。
- 部署 —告诉 AWS 将 Greengrass 组定义推送到 Greengrass 核心运行时。
- 清理 —步骤 1-3 会产生一系列工件,如果不正确回收,会污染您的 AWS 帐户。
AWS 温室模型
接下来我们来了解一下模型。到目前为止,组定义(上面的步骤 1)是最复杂的。为了帮助你导航,我创建了一个“绿草实体地图”。虽然地图不是 AWS API 的拓扑精确表示,但它会帮助您掌握模型,不会迷路。
Greengrass 与其他 AWS 服务交织在一起,最明显的是 IoT、Lambda 和 IAM & security,它们在地图上以颜色编码。看一下地图。找出上面代码创建的对象。探索其余部分。尽情享受吧!
Please help make this map better — report errors and omissions on the map here.
为了减少混乱,LoggerDefinition 和 ResourceDefinition 块没有显示在地图上,因为它们相对简单,所以您可以在看到模式后进行推断。
绿草在概念上是 AWS 物联网的一部分,在视觉上是 AWS 控制台中物联网的一个板块。但在 API 级别,它是一种具有不同模型的独立服务——在概念、约定甚至命名方面都与物联网截然不同。
AWS Greengrass 实体
在 Greengrass 中,每个实体都是有版本的,不可变的。任何修改都是通过用新创建的版本更新实体来完成的。版本包含所有数据和对其他 AWS 服务的引用。
群组版本
团版 模特的焦点是团版。只有在创建了组版本后,AWS 控制台中才会显示组清单。但是要创建一个组版本,你必须首先创建一些其他实体并提供给[create_group_version](http://boto3.readthedocs.io/en/latest/reference/services/greengrass.html#Greengrass.Client.create_group_version)
调用。
绿草芯
green grass Core green grass Core具有双重性:在物联网端,它作为一个“东西”,或用于连接和通信的“设备”,在物联网注册表中由物联网“东西”表示,并附带证书、角色和策略。在 Greengrass 端,它被公开为一个 CoreDefinition/Version 。
λ函数和绿草
Lambda 函数 Lambda 函数首先在 AWS Lambda 中创建,通过function definition/Version链接到 Greengrass。它还添加了一些额外的特定于 Greengrass 的 Lambda 参数——比如让 Lambda 长期运行的pinned
标志、设备访问策略或额外的环境变量。
要被链接,Lambdas 必须被发布,并由一个合格的 ARN 推荐——一个有版本或别名的 ARN(推荐)。我希望 AWS API doc 告诉我这一点——没有,如果您提供一个不合格的 ARN 作为FunctionArn
,API 会抛出一个令人费解的“函数定义无效或损坏”消息。
绿草订阅
订阅 订阅简单明了,但太冗长,难以定义:我觉得这很烦人,因为要用一堆订阅来定义设备、lambdas 和云之间的所有通信。怎么处理?参见下面的“基于文件的 Greengrass 设置方法”。
AWS 物联网温室设备定义
设备定义 设备定义将连接到核心的设备表示为物联网事物的链接——这些事物必须在 AWS 物联网中设置。考虑使用 ELF 为您的开发环境快速模拟一个设备。 Logger 定义告诉 Greengrass core 本地记录什么,发送什么到 CloudWatch。资源定义用于定义集团范围内对 Greengrass 核心设备资源的 Lambda 访问,附属于 Lambda 功能定义。
哦,你有没有注意到 Greengrass AWS 控制台中的机器学习资源,现在 AWS ML 推理已经普遍可用了?
关于地图已经说得够多了:探索它,跟踪并找到相应的 AWS API 调用来创建和连接实体。我考虑过在地图上标出确切的方法,但决定偏向美学,给你留下一些空间和发现的乐趣。
部署 AWS Greengrass
最后,谈谈基于文件的 Greengrass 部署方法。当我玩 Greengrass 时,我想要——但错过了——我习惯于享受 Ansible、Terraform 或无服务器框架的三样东西:
- 基于文件的 Greengrass 组定义
- 创建、部署和清理的一个命令
- 简单、可表示、可重复的开发样板,带有虚拟机上的 Greengrass 核心(Docker?甚至更好!)
我错过了,所以我写了一个。有请greengo——一个简单的基于文件的 Greengrass 配置工具。
把它作为你的 Greengrass dev 样板文件——根据你的喜好调整greengo.yaml
,然后点击greengo create
。或者使用 is 作为一个备忘单,找出如何用正确的参数以正确的顺序调用正确的 boto3 方法,就像您在上面的地图上跟踪链一样。
**就这样。**我希望上面的地图、代码示例、解释和 greengo 工具/备忘单能够填补 AWS 文档中的空白,并帮助您以自动化、可重复的方式、DevOps 风格操作 Greengrass。
绿草如茵快乐!
想要更多的云好吗?看看这些:
想要扩展您的云技能和知识吗?查看云计算专家的云计算课程、实验室和学习途径!
如果你觉得这本手册有用或有趣,我会为你鼓掌👏给小费。请在这里的评论里分享你的想法,或者在 Twitter 上关注我*@ dz 亚胺 关于 IoT、DevOps、Serverless 的讨论和故事。*
AWS IAM:安全最佳实践
原文:https://acloudguru.com/blog/engineering/aws-iam-security-best-practices
如果你让任何人描述他们的团队或组织的 AWS 帐户中有什么,你可能会得到相当一致的答案。一些 S3 桶,一些 EC2 实例,一些 RDS 集群。然而,有一个每个人都在使用,但很少有人想到提及的关键服务:AWS 身份和访问管理(IAM)。请他们描述他们的 IAM 部署,您可能会得到各种各样的答案。一些人可能会耸耸肩,一些人可能会清楚地表达精心制定的安全策略,而一些人可能会给出所有的“* * *”。
可悲的是,尽管 IAM 是 AWS 云服务的一个基本部分,但在讨论 AWS 的使用时,它往往只是被顺便考虑一下。有时,混乱和违反直觉的行为会导致组织拥有复杂、难以管理的 IAM 基础设施。这给整个公司及其数字基础设施带来了明显的安全风险。
幸运的是,工程组织可以采取一些简单的步骤来确保他们的 IAM 架构具有更强的安全性。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
我是什么?
在我们深入 IAM 安全最佳实践之前,让我们快速回顾一下 IAM 实际上是什么,以及它如何适应 AWS 服务。如果您想更深入地了解 IAM 的基础知识,本课程为 IAM 概念提供了很好的介绍。
基本上, IAM 是一个基于角色的访问控制(RBAC)系统。几乎所有 AWS 服务的访问和授权都是通过 IAM 定义和发布的。与任何 RBAC 一样,IAM 基于角色或身份的概念授予访问权限。通过策略为角色分配权限,以执行各种任务和访问服务。
在 IAM 中,角色有三种主要形式:用户、角色和组。IAM 用户是 AWS 新用户首先会遇到的,因此从那里开始我们的最佳实践是有意义的。
IAM 安全最佳实践-基础
保护 IAM 不需要复杂的安全措施或复杂的监控系统。您可以立即采取一些基本步骤来显著改善您的 IAM 安全状况。
在上述基础课程的基础上,您可以利用中级 IAM 课程进一步了解 IAM 并学习更高级的用法。
IAM 根用户
IAM 根用户是首先要关注的事情之一。直接借用 AWS 指南:
我们强烈建议您不要在日常任务中使用 root 用户,即使是管理任务。相反,请遵循最佳实践,仅使用 root 用户来创建您的第一个 IAM 用户。然后安全地锁定根用户凭据,并使用它们来执行少量的帐户和服务管理任务。
root 用户是 AWS 帐户或组织中的顶级身份。它不仅可以完全访问所有服务,还可以控制计费和其他管理功能。将其用于常规任务会使其面临潜在的危害,这将是灾难性的,在多帐户部署中更是如此。
如果您当前使用的是 IAM root 用户,您应该立即:
- 为管理和技术工作创建一个单独的 IAM 用户。
- 禁用并删除 root 用户可能拥有的任何凭据对。
根用户与日常访问的进一步逻辑分离可以通过多个 AWS 帐户、AWS 组织和合并计费来实现。AWS 提供了关于使用多个帐户的最佳实践指南,但简单的第一步是在您的主帐户中创建一个 AWS 组织,并创建第二个帐户来存放正在使用的实际基础架构和托管服务。
第一个帐户将包含能够访问计费和顶级管理的关键功能的根用户。但是,它不包含基础设施或活动的服务端点,大大减少了潜在的攻击面。
第二个帐户将包含实际的基础架构,但是在出现妥协的情况下,您仍将保留对组织的顶级控制,并且可以与 AWS 支持合作来重新保护您的资源。
强制 MFA
遵循减少潜在威胁的主题,任何帐户的 IAM 用户都应该始终启用多因素身份验证(MFA)。 AWS 支持虚拟和硬件 MFA 令牌,为用户访问提供了关键的额外安全层。可以应用策略来防止在没有有效 MFA 身份验证的情况下访问任何资源,从而在帐户受到威胁的情况下限制爆炸半径。
最坏的情况是什么?
那么,如果这些措施没有实施,潜在的风险是什么?不对用户帐户实施 MFA 会使他们更容易受到攻击。如果其中一个用户帐户拥有管理员级别的权限,潜在的损害可能会很严重。
不采取措施保护根用户帐户可能会导致组织的整个 AWS 架构受到损害,这一事件几乎肯定会造成极大的财务和声誉损失。
IAM 安全最佳实践–高级
好了,我们已经了解了基本情况。现在,让我们来评估一些更高级的保护 IAM 的技术。如果您想了解更多,请查看我们在 IAM 上的高级深度课程。
利用 IAM 组
如果您的组织仍然使用 IAM 用户, IAM 组可以提供一种有用的机制来简化策略创建和分配。简化用户的权限和访问控制可以通过简化管理来提高安全性。可以将这些权限分配给一个“管理员”组,而不是将管理职位分别分配给每个管理员,只需凭借组成员资格就可以授予和撤销访问权限。
利用角色和角色假设
IAM 角色是 IAM 中最强大、最灵活的概念之一。他们与 IAM 用户非常相似,除了一个非常重要的例外,即一个角色可以由多个实体承担,甚至可以同时承担。这提供了一个很好的机制来发布更多临时的、短暂的访问授权,而不用担心长期的访问凭证。
如果像 IAM 用户这样的身份通过角色的信任策略被授予作为主体的权限,那么它就可以承担该角色。这使得访问模式更加安全,例如将 IAM 用户保持在具有最低权限的帐户中,并允许他们在单独的帐户中承担工作角色。
实施基于资源的策略
一些 AWS 资源,比如 S3 桶和 SQS 队列,有称为基于资源的策略的特殊策略。与基于身份的 IAM 策略不同,基于资源的策略侧重于底层资源本身。IAM 将同时评估基于身份的策略和基于资源的策略,允许比单独使用其中一种策略更细粒度的访问控制。
避免内嵌策略
内联策略是与给定 IAM 身份直接集成的唯一策略。它们有助于确保只有特定的身份拥有给定的策略,但在大多数情况下,这种情况很少发生。内联策略的广泛使用变得难以管理,并且妨碍了在大量身份之间强制实施同质策略配置和使用。
有效管理复杂的分布式系统的一个核心原则是能够集中变更管理,这通过使用附加到身份的传统托管策略变得容易得多。
使用条件值配置策略
IAM 策略的一个组成部分是条件。条件元素可以指定策略处于活动状态的一个(或多个)条件。乍一看,有人想要定义缺少安全策略的情况,这似乎是违反直觉的,但是在作为“默认拒绝”操作的策略评估的上下文中,它为进一步控制访问提供了有效的机制。
例如,IAM 管理员可以创建一个策略,授予对某些资源的访问权限,该策略将包含一个条件块,指定该策略仅在接下来的七天内有效。在七天结束时,该策略将不再适用,IAM 将拒绝对任何未在其他地方授予的资源的访问。这为经常与承包商和第三方合作的组织提供了一个非常有效的工具。
最坏的情况是什么?
这些准则侧重于更高级的配置,有助于简化 IAM 管理和策略管理。使用角色和角色假设大大降低了硬编码凭据被广泛访问的风险。不利用其他实践将最终导致 IAM 身份和策略的无序、不可管理的集合,从而使保持 AWS 基础设施安全的旅程更加艰难。
保护 IAM 对于 AWS 安全性至关重要
到目前为止,您已经知道,即使是最基本的步骤也可以显著提高 AWS 的安全性。随着越来越多的组织将其软件和数据转移到 AWS 等云平台,确保适当的安全措施和卫生措施比以往任何时候都更加重要。使用这些信息将有助于提高您的 IAM 技能,并提高贵组织的 AWS 安全性。
关于作者
Mike Vanbuskirk是一名首席 DevOps 工程师和技术内容创作者。他曾与世界上一些最大的云计算、电子商务和 CDN 平台合作过。他目前的重点是云优先架构和无服务器基础设施。
AWS 刚刚为初创公司、小型企业带来了一个游戏规则改变者
原文:https://acloudguru.com/blog/engineering/aws-just-dropped-a-game-changer-for-startups-small-business
亚马逊首席技术官沃纳·威格尔在 re:Invent 上的主题演讲不容错过。沃格尔斯在 re:Invent 2021 的主题演讲中涉及了很多内容——我们一会儿再来看公告。但是有一个的公告,我觉得将成为初创公司和小企业爱好者的游戏规则改变者:AWS Amplify 的最新改进。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
AWS Amplify Studio 是一项新服务,它可以帮助人们使用可视化界面快速构建功能丰富的应用程序,而无需了解如何编写代码。
这有什么大不了的?
由于从头开始编写应用程序的成本和困难,许多初创企业的战略家在将他们的想法变成最小可行产品的道路上面临挑战。这就是 AWS Amplify Studio 要解决的挑战。
正如 AWS 所说:AWS Amplify Studio 意味着“在几小时内而不是几周内构建和发布完整的网络和移动应用程序。”
以下是 AWS Amplify Studio 中的一些功能,这些功能将使您的应用程序更容易启动。
通过 AWS Amplify Studio,您现在可以设置您的后端、UI 组件,并将它们连接在一起。这包括数据库表的创建、文件存储和用户验证。
从前端的角度来看,所有的组件都是完全可定制的,这允许您使用自己选择的前端工具来定制自己喜欢的样式。
Amplify Studio 还将所有后端和前端工件导出到代码,这有助于具有更多编码经验和专业知识的开发人员使用标准编程概念进一步定制行为和设计。
该服务目前正在公开预览中。有关 AWS Amplify Studio 版本的更多信息,请访问 AWS 产品页面或公告。
沃纳·威格尔:发明 2021 主题演讲
在沃格尔斯的主题演讲中,他庆祝了亚马逊网络服务在云中的 15 年里程碑,以及重新发明的第 10 年。他还介绍了以下主要公告:
亚马逊 EC2 M1 Mac 实例——这是对去年 Mac EC2 实例发布的升级,其中包括苹果最新和最棒的 M1 芯片,供开发人员为 iPhone、iPad、Mac、Apple Watch 和 Apple TV 构建。
超过 30 个 AWS 本地区域的持续扩展,提供了破纪录的延迟,这是实时对话和媒体流服务的关键。这一扩张预计将于 2022 年推出,并将把本地区域扩展到欧洲、南美、非洲、亚洲和澳大利亚。
AWS 云广域网 —这种新的 AWS 服务允许客户建立、管理和监控全球广域网。
关于作者
Errol Hooper 是一家云计算专家的培训架构师,也是 AWS SysOps 管理员课程的合著者。 埃罗尔在云计算、工程和数据服务领域拥有超过十年的 IT 经验。作为一名企业数据仓库开发人员,Errol 开始了他的 IT 职业生涯,通过数据挖掘和提取、转换和加载(ETL)过程的实现,他获得了数据建模、数据架构和商业智能方面的专业知识。后来,他转变为软件工程师,在云计算、微服务架构和 API 开发方面获得了更多经验。Errol 随后在佐治亚理工学院担任首席平台工程师,领导云基础设施解决方案的工程设计。Errol 目前是一名 AWS 培训架构师,师从一位云计算大师。Errol 拥有萨凡纳州立大学的计算机科学技术学士学位。
无法获得足够的 AWS re:Invent 2021?
在 Twitter 上关注 ACG和脸书,在YouTube 上订阅一位云专家。查看 ACG 和 Pluralsight re:Invent 内容中心了解更多新闻和 AWS 资源。在 ACG 的不和谐社区上和思想不稳定的人聊天。
AWS 刚刚转向多云...这仅仅是一个开始
原文:https://acloudguru.com/blog/business/aws-just-went-multi-cloud-and-its-only-the-beginning
别忘了输入你的电子邮件地址,在你的收件箱里收到一份来自 ACG 的执行摘要!
啊,你们这些鬼鬼祟祟的魔鬼。
查看昨天宣布将于 2021 年发布的 EKS Anywhere 的常见问题,您会发现大量提到“内部部署”、裸机计算和 VSphere。AWS 声称扩大对其托管的 Kubernetes 服务的访问的理由完全是关于混合云,这在传统上意味着“您的旧服务器加上 AWS 的闪亮优点。”
但是等等……EKS 在哪里?这真的意味着任何地方吗?
它的意思是……天蓝色吗?
瞧,协议已经获得确认EKS Anywhere(从技术上来说是 ECS Anywhere,但让我们现实一点,如果你想在多个云提供商上运行,你可以使用 Kubernetes) 将支持在 Azure 和 GCP 以及私有数据中心上运行的工作负载。AWS 为您提供了单一平台,让您可以部署配置更新、仪器监控,并将其他应用服务连接到您选择的云上的容器工作负载。
没错:AWS 刚刚推出了一项多云端容器管理服务。
你现在有 30 秒时间把下巴抬离地板。
准备好升级您公司的云了吗?
创建云创新文化,通过大规模实践学习加速云成功。使用最全面、最新的学习库对 10 或 10,000 人进行升级或再升级。
AWS 这样做有什么收获?
这标志着…我们可以说…有点偏离了 AWS 经典的“一片云统治一切”的说辞。毕竟,在周二的 re:Invent 主题演讲中,安迪·雅西(Andy Jassy)对微软 SQL Server(Microsoft SQL Server)发起了正面攻击(T1),兴高采烈地抨击了宿敌变成出气筒的甲骨文(Oracle),发现 GCP 毫无威胁,以至于他结束了自己的演示,没有发表任何评论,而是用“谷歌”作为动词。
然而,Jassy 知道,云计算将会一直存在。
查看我最近的一篇文章“AWS Hearts Multi-Cloud”以获得为什么的完整分析,但这里是要点。 多云对企业来说是一种引力必然性 。ACG 最近的云学习报告发现,虽然大约 75%的云商店仍然使用 AWS 作为他们的主要云提供商,但同样的 75%也至少有一些工作负载在 Azure 或其他云上运行。可能是因为收购、服务嫉妒、两面下注,或者仅仅是缺乏协调,或者以上所有原因。现实是混乱的,而且越来越混乱。
AWS 在云行业的其他领域拥有巨大的领先优势,但 75%的人不会永远认为 AWS 是他们的“主要”云提供商。当有如此多的同类最佳服务可供选择时,无论是在其他云上还是在专注于 SaaS 的提供商(如雪花和数据狗)上,都是如此。当然,考虑到许多行业都有积极的动机避免与亚马逊旗下的云提供商深度整合,这一点就更不用说了。
需要您的团队适应 AWS 云环境吗?ACG 动手实验室是自定进度的实践实验室,将学习者置于模拟与 AWS 相关的真实世界云挑战的环境中。
因此,AWS 在云团队心中保持核心地位的机会有限。提供更高级的跨云管理工具是最简单的方法。其他云提供商当然明白这一点;Azure 并没有因为无法承认 AWS 工作负载的有效性而受到束缚,他们正在用 Arc 和 Sentinel 等工具冲进缺口。
这仅仅是开始
真的,令人惊讶的是 AWS 如此熟练地旋转“Anywhere”版本,并如此广泛地描述它们,以至于花了一天时间来确认多云确实是他们的意图。而且他们也不能再两面讨好了。他们需要向大客户发出信号,是的,他们知道 Azure 不会消失,他们将提供工具来继续获得首选云提供商的地位,即使他们不能成为唯一的云提供商。
如果你认为这是一个太远的桥梁,你没有注意到是什么让 AWS 滴答作响。我在结束我的上一篇多云文章时指出,AWS 创造了 ECS,因为他们有伟大的工程师;他们卖 EKS 是因为他们聪明。只要他们愿意为了追求客户价值而牺牲自己的产品,他们就很难被击败。
你瞧,杰西在他的主题演讲中重复了同样的主题。虽然他从未使用过“多云”这个词(还没有!),你可以肯定 EKS 任何地方都不是一次性的或偶然的。这是大规模战略转移的第一瞥。因为一旦你意识到昨天对“混合、开源”的强调真正意味着什么,很明显 AWS 的多云游戏才刚刚开始。
3 AWS Lambda 提示 Kinesis 流
原文:https://acloudguru.com/blog/engineering/aws-lambda-3-pro-tips-for-working-with-kinesis-streams
TL;DR:从我们的陷阱中吸取的教训包括考虑部分故障、使用死信队列和避免热点流
Yubl 是一款社交网络应用,其时间轴功能类似于 Twitter *。*开发团队利用了无服务器架构,其中 Lambda 和 Kinesis 成为我们设计的一个显著特征。
作为设计的一部分,我们试图记住定义处理 Kinesis 事件的系统的特征——对我来说,这些特征必须至少具有以下三个品质:
AWS Lambda and Kinesis sitting on a tree
- 系统应该是实时的— 如“几秒钟内”
- 系统应该重试失败的事件— ,但是重试不应该违反系统上的实时约束
- 系统应该能够检索无法处理的事件— 以便有人能够调查根本原因或提供人工干预
Yubl had around 170 Lambda functions running in production — gluing everything together
虽然我们使用λ和 Kinesis 的体验总体来说很棒,但在这个过程中我们也必须吸取一些教训。这里有 3 个有用的提示,可以帮助你避免我们陷入的一些陷阱,并加速你自己对和 Kinesis 的采用。
方案 1:考虑部分故障
AWS Lambda 轮询您的流并调用您的 Lambda 函数。因此,如果 Lambda 函数失败,AWS Lambda 会尝试处理出错的记录批,直到数据过期 …
由于重试 Lambda 函数的方式,如果您允许函数在部分失败时出错,那么默认行为是重试整个批处理,直到成功或者流中的数据过期。
为了决定这种默认行为是否适合你,你必须回答一些问题:
- 事件可以被多次处理吗?
- 如果那些部分失败是持久性的呢?也许是因为业务逻辑中的一个错误,不能很好地处理某些边缘情况?
- 处理每个事件直到成功比保持整个系统的实时性更重要吗?
在 Yubl, 的案例中,我们发现保持系统运行比暂停任何失败事件的处理更重要,即使是一分钟。
例如,当一个用户创建了一个新帖子时,我们会通过处理yubl-posted
事件将它分发给你所有的关注者。我们面临的两个基本选择是:
- 允许错误冒泡并使调用失败——我们给每个事件每个处理的机会;但是如果一些事件持续失败,那么没有人会在他们的提要中收到新的帖子,并且系统看起来不可用
- 捕捉并吞咽部分失败—失败的事件被丢弃,一些用户将错过一些帖子,但系统对用户来说似乎运行正常;甚至受影响的用户可能都没有意识到他们错过了一些帖子
当然也不一定非要二选一。对于我们稍后将讨论的部分故障,有足够的空间来添加更智能的处理。
When you create a new post in the Yubl app, your content is distributed to your followers’ feeds
Yubl’s architecture for distributing a user’s posts to his followers’ feeds
我们将这两种选择封装为工具的一部分,这样我们就可以获得可重用性的好处,开发者可以为他们创建的每一个 Kinesis 处理器做出明确的选择
根据你要解决的问题,你可以做出不同的选择。重要的是始终考虑局部故障会如何影响整个系统。
ProTip #2:使用死信队列(DLQ)
AWS 在 2016 年底宣布支持死信队列(DLQ) 。虽然 Lambda 对 DLQ 的支持扩展到了异步调用,如 SNS 和 S3 ,但它不支持基于轮询的调用,如 Kinesis 和 DynamoDB 流。在 AWS 更新 DLQ 功能之前,没有什么可以阻止你将这些概念应用到Kinesisstreams yourself。
首先,让我们回到没有λ的时候。那时,我们会使用长时间运行的应用程序来自己轮询 Kinesis 流。见鬼,我甚至写了我自己的生产者和消费者库,因为当 AWS 推出 Kinesis 时,他们完全忽略了任何不在 JVM 上运行的人!
Lambda 已经接管了很多职责——轮询、跟踪你在流中的位置、错误处理等等。—但是正如我们上面讨论过的,这并没有让你不再需要为自己考虑。在使用 Lambda 之前,我的长期运行的应用程序轮询 Kinesis 会:
- 事件的轮询驱动
- 通过将事件传递给委托函数(您的代码)来处理事件
- 失败的事件会重试 2 次
- 在 2 次重试用尽之后,它们被保存到一个 SQS 队列中
- 记录批处理的最后一个序列号,以便在主机虚拟机死亡或应用程序崩溃时不会丢失当前进度
- 另一个长时间运行的应用程序将轮询 SQS 队列中不能实时处理的事件
- 通过将失败的事件传递给与上面相同的委托函数来处理它们(您的代码)
- 在最大检索次数之后,事件被传递给 DLQ
- 这将触发 CloudWatch 警报,用户可以从 DLQ 手动检索事件进行调查
处理运动事件的λ函数还应该:
- 根据处理时间,重试失败事件 X 次
- 耗尽 X 次重试后,将失败的事件发送到 DLQ
由于 SNS 已经带有 DLQ 支持,你可以通过发送失败事件到 SNS 主题来简化你的设置。 Lambda 会再处理 3 次,然后把它传给指定的 DLQ。
Tip: Keep the functions that process Kinesis and SNS in the same service so they can share the same processing logic
保护 3:避免“热”流
我们发现,当一个 Kinesis 流有 5 个或更多 Lambda 函数订阅者时,我们会开始在 CloudWatch 中看到很多readprovisionedthroughputexceed错误。幸运的是,这些错误对我们来说是无声的,因为它们是由轮询流的服务处理的。
然而,我们偶尔会看到 GetRecords 中的峰值。迭代器度量,它告诉我们一个λ函数有时会落后。这种情况发生的频率不足以构成问题,但峰值是不可预测的,并且与流量峰值或传入的 Kinesis 事件数量无关。
增加流中碎片的数量会使事情变得更糟,readprovisionedthroughputexceed 的数量也会成比例地增加。
根据 Kinesis 文档 …每个 shard 每秒最多可支持 5 个事务用于读取 ,每秒最多可读取 2 MB 的总数据。
和 Lambda 文档 …如果你的流有 100 个活动分片,那么将有 100 个 Lambda 函数同时运行。然后, 每个 Lambda 函数按照事件到达的顺序处理 shard 上的事件。
人们会假设前面提到的每一个 Lambda 函数都会独立地轮询它的 shard。因为问题是有太多的函数轮询同一个碎片,所以添加新的碎片只会使问题进一步升级。
计算机科学中的所有问题都可以通过另一种间接方式来解决。—大卫·惠勒
在与 AWS 支持团队谈过这个问题后,我们收到的唯一建议是应用扇出模式——通过添加另一层λ函数,该函数将 Kinesis 事件分发给其他人。
Applying the “fan out” pattern with Lambda functions and Kinesis
虽然这很容易实现,但也有一些缺点:
- 这使得处理部分故障的逻辑变得非常复杂(见上文)
- 所有的函数现在都以最慢的函数的速度处理事件,潜在地破坏了系统的实时性
我们还考虑了其他几种选择,包括
- 每个订阅者有一个流——这有很大的成本影响,更重要的是,这意味着发布者需要在一个“事务”中将同一事件发布到多个 Kinesis 流,没有简单的方法在部分失败时回滚,因为你不能在 Kinesis 中取消发布事件
- 将多个订户逻辑整合为一个——这侵蚀了我们的服务边界,因为不同的子系统被捆绑在一起,从而人为地减少了订户的数量
最终,我们没有找到一个真正令人满意的解决方案,并决定根据具体情况重新考虑 Kinesis 是否是我们λ函数的正确选择。
对于不需要实时的子系统,使用 S3 作为源。我们所有的 Kinesis 事件都是通过 Kinesis 消防软管持续到 S3 的。然后,这些子系统可以使用功能处理得到的 S3 文件。例如,一个这样的子系统会将事件流式传输到用于 BI 的 Google BigQuery 。**
对于基于任务的工作(即顺序不重要),使用 SNS / SQS 作为来源。 SNS 由 Lambda 原生支持,我们实现了一个概念验证架构,通过递归 Lambda 函数处理 SQS 事件,具有弹性伸缩。现在 SNS 有了 DLQ 支持,如果它的并行度不会淹没和压倒下游系统,如数据库等,它肯定会是首选。
对于其他一切,继续使用 Kinesis 和应用扇出模式作为绝对的最后手段。
正在总结…
好了,这就是来自一群开发者的 3 个专业技巧,他们有幸与 Lambda 和 Kinesis 广泛合作。想要更多的云好吗?看看这些:
想要提高您的云技能和知识吗?查看云专家的课程库,实验室和学习路径!
AWS Lambda 赢了,但首先它得死
原文:https://acloudguru.com/blog/engineering/aws-lambda-is-winning-but-first-it-had-to-die
主要特性的变化已经成功地将 Lambda 工作负载推向了主流,即使 FaaS 纯粹主义者感觉被背叛了
无服务器赢了吗?
如果你问 AWS,他们会说肯定是。今年在亚马逊内部构建的所有新应用程序中,将近一半是运行在 Lambda T3 上的。Andy Jassy 在他的 re:Invent keynote 中花了一些时间来号召数千家现在在生产中运行 Lambda 工作负载的企业,但也许最有趣的是,今年新的无服务器功能发布升级到了 Jassy 的 keynote-这通常是为今年最闪亮、最具战略意义的揭示保留的位置。至少 AWS 明确认为,无服务器现在是其云的主要卖点之一。
(另一方面,有一篇奇怪的文章,它花了大部分篇幅展示 FaaS 的增长,但却被冠以“无服务器采用停滞”的标题,因为……Kubernetes 团队说他们没有使用同样多的 Lambda?在其他新闻中,猫报告吃更少的蔬菜。)
没有争议的是,Lambda 仍然是 900 磅重的 FaaS 大猩猩,今天看起来与 2015 年正式上市时有很大不同。早期购买无服务器系统的工程师总是对好的无服务器系统有非常具体的想法…最近,Lambda 一直在质疑他们的假设。
无服务器宣言的衰亡
FaaS 纯度的那些最初的理想不是凭空出现的。就在 2016 年,AWS 无服务器领导层还在谈论他们所谓的无服务器计算宣言。这是一个关于功能即服务应该如何运作的激进愿景。宣言出现在各种会谈中,包括 T2 在 ACG 的无服务器会议上。以下是它的主要原则:
《无服务器计算宣言》(约 2016)
- 功能是部署和扩展的单位
- 编程模型中没有可见的机器、虚拟机或容器
- 永久存储生活在别处
- 每个请求的规模;用户不能过度或不足配置容量
- 永远不要为闲置(无冷服务器/容器或其成本)付费
- 隐式容错,因为函数可以在任何地方运行
这个宣言为如何构建和部署软件形成了一个令人震惊的和高度反文化的蓝图。它吸引了一个人数不多但充满活力的真正信徒群体,以及一群人数更多、声音更大的怀疑论者。
但是回过头来看,无服务器计算宣言很难超越那个小而忙碌的核心。大胆的愿景只是遗漏了太多现有的遗留工作负载和团队。
因此,渐渐地,就像奥威尔的动物农场中的戒律一样, AWS 的无服务器计算的不可协商性开始改变。让我们浏览一下宣言的每一点,看看 Lambda 是否仍然坚持它。
功能是部署和扩展的单位?
算是吧,但不完全是。你可以部署多功能的 Lambda 层来管理大型二进制文件,或者(现在在预览版中)部署 Lambda 扩展来插入第三方代理,我被告知这些代理绝对不应该被认为是“Lambda 的旁门左道”。查看这篇关于将 flask 应用程序迁移到 AWS Lambda 的教程!
编程模型中没有可见的机器、虚拟机或容器?
*不再真实。*从 2020 年开始,Lambda 现在允许你自带容器,而不仅仅是运送一个 ZIP 文件的代码。
永久储存在别处的生命?
未必。Lambda 现在与 EFS 集成在一起,我猜从技术上来说是“在别处”,但并不比任何其他连接到服务器的 NFS 共享“在别处”更重要。它是安装在您计算机上的持久文件系统。
每个请求的秤?
*是的!*既然 Lambda 可以运行容器,我相信请求模型现在是 Lambda 和 AWS Fargate 之类的托管容器服务之间最大的概念差异。Lambda 为每个并发请求提供了一个新的执行环境,而类似 Fargate 的服务仍然会在同一个(长期)容器上处理多个并发请求。
用户不能过度配置或配置不足容量?
*不再真实。*满足供应的容量,这将您的冷启动问题转换为热成本问题。(我对此嗤之以鼻,但调配容量要比运行自己的 Lambda 预热工作好得多,很多人过去都是这样做的。)
从不为闲置(没有冷服务器/容器或其成本)买单?
*不再正确—*无论如何,如果您使用调配的容量或 EFS,情况就不会如此。
隐式容错是因为函数可以在任何地方运行?
*Ehhhh。*这是关于抽象出可用性区域,除了 Lambda(包括 Fargate!)现在做。也就是说,我们开始听到更多来自 AWS 的指导,实际上,你需要考虑的错误领域是区域。没错:区域是新的可用性区域,正如我们所说的,精明的 Lambda 开发人员正在开发他们自己的(非常不受管理的)多区域架构。
为了加强这一趋势,让我们来看看 Lambda 的另外两个定义性的早期特性:
有意的时空限制?
越来越不真实。功能磁盘大小、运行时间限制以及 CPU 和内存大小在过去 5 年中稳步增长。今天,你可以用 10 GB 的内存和 6 个 vCPUs 运行一个 Lambda 函数 15 分钟——这是一个足够大的计算量,足以让你认真考虑多线程、多用途函数和其他与 FaaS 的旧理想相悖的东西。
零信任网络?
如果你想要的话。在过去,Lambda 架构严重偏向于 IAM 安全,而不是使用 VPCs,这部分是出于意识形态的原因,但也因为将功能附加到自定义 Eni 会增加巨大的冷启动开销。今天,AWS 的创新使得客户管理的 VPC 与 Lambda 更加兼容。
所以我们现在有一个更新的宣言,看起来像这样:
《无服务器计算宣言》(大约 2020 年)
功能是单位的调配和伸缩编程模型中没有可见的机器、虚拟机或容器永久储存在别处的生命- 每个请求的规模;
用户不能超量或欠配容量 【从不为闲置买单(没有冷服务器/容器或其成本)隐式容错因为函数可以在任何地方运行有意的时间和空间约束零信任网络
我觉得自己就像巧克力工厂之旅结束时的威利·旺卡,环顾四周,看看孩子们都去了哪里。在所有这些意识形态原则中,那些沙上的线,每请求缩放是唯一剩下的东西。
当然,您仍然可以根据最初的无服务器宣言来构建。但是这项服务并不要求你这样做。
如果你必须将 Lambda 的修正价值主张浓缩成一句格言,动物农场- 风格,你会说什么?"所有工作负载都得到管理,但有些工作负载比其他工作负载更容易管理?
无人服务器的兴起
这似乎是澄清我最喜欢 Lambda 的补充的恰当时机。我认为它们是必要的,而且在许多情况下,是一种纯粹的好东西。
四年前我不会这么说。那时我更像是一个 FaaS 纯粹主义者。改变我想法的是多年来从工程团队那里听到的一种非常特殊的陈述,以不同的形式一遍又一遍地重复:
我喜欢使用 Lambda,如果它……【连接回我的本地 VPC,足够大以运行我的工作负载,让我使用与我的其他系统相同的语言或开发工具,总是温暖的,支持某种形式的共享存储,等等】
我对这些陈述的第一反应是:如果你不能或者不愿意接受无状态、无容器、规模到零的函数,为什么还要使用 Lambda 呢?这就是 Lambda 的整个点*。在我听来,这就像新的 Stack 调查中的那些 Kubernetes 猫,说他们真的很喜欢吃蔬菜,如果它们只含有更多的肉。*
但我后来明白了,这句话真正有力的部分是开头部分。这是渴望的表现。
我很乐意使用 Lambda,只要……
Lambda 和一般的无服务器计算是什么激发了这么多人的这种反应?为什么一种全新的婴儿计算范式会在各地引发如此强烈的兴趣,从小型创业公司到大型传统企业?
因为与任何具体的技术细节相比,无服务器计算是一种理念。用一句简单的话来表达一个想法:拥有更少,建造更多。所有的无服务器主义,所有的技术指导都归结于这个目标。Lambda 是一种令人向往的生活方式。
大约在 2016 年,Lambda 大大领先于其时代,在某种程度上仍然如此。但是由于新特性的增加,包括容器支持,使得更多的构建者比以前更容易获得拥有更少,构建更多的身份。
AWS 正在做的是,一个接一个地拿走,如果只有* s *的话。他们通过为需要的团队提供放心的选项(共享存储、调配容量)来消除对无服务器的本能异议。我喜欢用 Lambda!
指引未来
一些团队是否会出于困惑或惰性而使用这些特性,没有意识到他们可以构建一些更激进、更像宣言的东西?是的,我认为这是 AWS 可以提供更多帮助的领域。
看,Lambda 控制台一团糟——你知道,我知道,AWS 也知道。它比 2001 年的 VCR 有更多的附加功能蠕变和不连贯的 UX 路径。不管你怎么说基础设施即代码,控制台仍然是人们探索新服务的方式。这是他们如何形成他们想成为什么样的建设者的感觉。
控制台的重新设计是肯定需要的,但不仅仅是随意的翻新。我们需要一个支持原始宣言的 Lambda 特性的前景:代码级编程抽象、函数级部署。然后,当你挑战宣言的极限或你自己的组织约束时,仔细揭示渐进的复杂性。(有没有“回归复杂性”这种东西?因为那是当前的控制台。)
你想让建筑商在每次开始一个新项目时,面对更简单、更易于管理的选择。随着时间的推移,这改变了人们的看法。它不断地向他们呈现“无服务器方式”:嘿,我可以使用事件来构建它!我不需要把这个函数放在 VPC 里!违约很重要。我期待着看到 AWS 如何继续引导其客户走向成功。
与此同时,Lambda 最终获得了认真的采用,最终取得了胜利,因为它摆脱了标志着其早期的 FaaS 纯粹主义——而没有损害其真正的价值支柱,即拥有更少,建造更多的进步承诺。无服务器计算宣言必须消亡,这样无服务器的承诺才能最终实现。
通过真实生活场景了解 AWS Lambda 云专家
原文:https://acloudguru.com/blog/engineering/aws-lambda-tutorial
我很兴奋地开始工作,并在没有研究可用产品的情况下,就开始绘制一个粗略的架构图。图表完成后,我继续将网站迁移到 EC2。谈论一个项目的计划不足和计划过度。
然后生活发生了变化,我决定暂停这个项目,所以我努力地从 AWS S3 取下了所有的资产和资源,除了一个静态的“即将推出”页面什么也没留下。
作为一名软件工程师,我习惯于从代码、功能和产品发布的角度来考虑项目,这也是我为什么要去掉这些特性的原因。然而,我当时的方法论并没有考虑到幕后的基础设施。或者是网站的需求发生了巨大的变化。所以我保留了 EC2 实例类型和配置。
EC2 是给强者的
事实上,我不记得我是如何配置那个特定实例的,我不记得它是 t2.micro 还是 t2.small 实例,这表明我不应该摆弄 EC2。
然而,我清楚地记得当我看到银行对账单上列出了一笔相当大的 AWS 经常性费用时,我的困惑和惊讶。
我的困惑源于这个网站没有任何活跃的访问者。此外,我的 S3 桶几乎是空的。我以更低的成本托管了更复杂的网站,那么是什么导致了重复收费呢?
如果你是一个云计算专家,你可能已经知道 EC2 带来了很大的灵活性,而灵活性带来了更多的责任。使用 EC2 实例托管应用程序的开发人员需要对各种技术组件有深入的了解,例如:
- 如何为项目选择正确的实例类型和实例采购选项
- 如何扩展 EC2 以及如何平衡实例上的工作负载
- 如何与目标群体和应用程序负载平衡器合作
- 何时关闭实例以避免产生不必要的费用
不用说我当时的 AWS 云工具包里没有最后一个。一旦我把这些点联系起来,我意识到我完全用错了服务。
幸运的是,只需快速搜索一下,就能意识到使用 Lambda 对我的特殊需求来说是一个更好的选择。首先,我是在无服务器应用程序的“用铅笔涂鸦”版本和“在画布上水彩”版本之后。其次,我非常乐意失去细粒度的控制,将基础设施的控制权交给 AWS。我还发现,我可以轻松地将 Lambda 与 S3、AWS Amplify、亚马逊 API Gateway 和 DynamoDB 集成在一起,构建整个应用程序。
什么是 AWS Lambda?
Lambda 是一种云计算服务,运行事件驱动的架构,这意味着外部触发器调用代码来运行它。
- Lambda is a cloud computing service that runs an event-driven architecture, meaning that external triggers invoke the code to get it to run.
它提供了一种现收现付的模式。对于我的实验项目来说,按请求和持续时间收费比按 EC2 实例运行的每秒钟付费更有意义。
- Lambda 还提供了对底层资源的全面而抽象的控制,从而 AWS 可以管理与底层基础设施相关的一切(例如,扩展、运行安全补丁、操作系统配置等)。).
- Lambda 是一种功能即服务(Function as a Service,FaaS)——云计算的一个类别,它使您能够专注于构建、运行和测试响应功能(代码单元),以构建无服务器应用程序。除了抽象底层资源的供应,AWS 还负责自动扩展应用程序以满足需求。
- 这种抽象可能会妨碍您进行某些定制。但就我而言,我不需要定制的生态系统,也不想深入到集群的粒度细节。
在 Lambda 中配置内存和执行超时对于我的项目来说已经足够了。
对于应用程序的后端,我编写并托管了健壮的代码来使用 AWS Lambda 处理数据,设置 S3 来存储数据并上传必要的文件,并通过 CloudWatch 监视日志,Lambda 会自动将日志发送到 CloudWatch。
所以我只需要三个服务来构建、托管、测试和监控一个无服务器项目的后端。
要获得全面的教程,请查看本实践教程,了解如何构建一个无服务器的 web 应用程序,该应用程序使用 AWS Lambda 和 DynamoDB 作为后端,使用 AWS Amplify 托管静态网站,使用 Amazon API Gateway 处理用户请求。
不要过于戏剧化,但我在阅读 Lambda 文档时有一种西班牙舞者表情符号的感觉,特别是经历了在 AWS 上托管一个简单应用程序的痛苦。
但是我心中的怀疑者不太喜欢这个时刻,所以我开始思考这个陷阱。我想知道 Lambda 是否只支持一组专有的语言,或者它是否有一个陡峭的学习曲线。或者它比 EC2 慢得多。
AWS Lambda 好学吗?
Lambda 入门既简单又直接。然而,在编写非常适合 Lambda 执行环境的代码时,有一点学习曲线。作为开始,你可以试试这个 10 分钟的“你好,世界!”10 分钟教程教程自己判断。
Lambda 的简单性得益于它的关键特性,这些特性使你能够动态地编写、测试和执行代码。这些功能包括:
界面
您可以轻松快速地熟悉 Lambda,因为 Lambda 控制台提供了一个类似 IDE 的环境,类似于其他流行的 IDE 应用程序。GUI 有一个独特的部分用于编写和测试代码,一个选项卡用于配置应用程序,还有一个控制台用于打印结果。
功能蓝图和预构建的应用
Lambda 控制台提供了以下三种创建新功能的方法:
从头开始创作——顾名思义,使用这个选项,您可以从头开始创建函数
- 蓝图–AWS 提供的蓝图是现成的模板,预先构建了必要的配置。你也可以使用蓝图来了解如何将 Lambda 与其他 AWS 服务和第三方库集成。
- AWS 无服务器应用程序存储库–此选项允许您浏览以及共享预构建的应用程序。您可以公开共享应用程序,也可以与特定的 AWS 帐户私下共享。
- 支持的框架
Lambda 原生支持多种流行语言,包括 Java、Python、Node.js、C#。NET 和 PowerShell。Lambda 还提供了一个运行时 API 来支持任何额外的编程语言,并支持自定义运行时。
层
Lambda 层使您能够将外部库(以. zip 文件的形式)和其他依赖项导入到您的函数中。层可以是第三方库、附加代码、配置文件,甚至是定制的运行时。AWS 提供了自己的一套库,您可以立即使用。例如,他们有用于熊猫的 AWS SDK 层,您可以使用它将熊猫导入到您的函数中。
集成监控
默认情况下,所有 Lambda 函数都将日志导出到 AWS CloudWatch。因此,您可以使用 AWS CloudWatch Lambda Insight 指标对您的应用程序进行监控或故障排除。
Lambda 比 EC2 慢吗?
Lambda 比 EC2 慢,因为它不会立即响应事件。这种行为是固有的,因为无服务器模型只在需要时运行。然而,这种延迟不太可能导致问题,除非您正在处理一个非常关键的应用程序。
Lambda 函数总是可用的,但它们并不总是在运行。Lambda 只有在外部事件触发时才会运行。这样想吧,你可能整天都有空,但是你可能不会检查你的空闲 DMs,除非有外部事件(比如通知)提醒你这样做。
一旦被调用,Lambda 函数可能需要 100 毫秒来执行长达 15 分钟的代码。这是一个硬限制,所以如果您的功能绝对需要超过 15 分钟运行,那么考虑 EC2 或替代服务。
当需要创建和初始化新的函数实例时,Lambda 函数也可能承受额外的延迟(超过 1 秒)。“冷启动”是指启动一个新功能实例所需的时间。根据任务的类型和紧急程度,这可能是也可能不是问题。关于这方面的更多信息,请查看我们的博客如何保持 AWS Lambda 函数的温度。此外,请查看我们对《发明 2022》中介绍的 Lambda SnapStart 的总结。Lambda SnapStart 大大缩短了 Java 应用程序的冷启动时间。
现在我们对 AWS Lambda 有所了解,让我们回到我们的故事,我试图构建一个简单的无服务器应用程序。除了 AWS Lambda 满足了我作为开发人员的所有功能需求,Lambda 还非常适合我收集和处理数据的最终目标。
自动气象站λ和数据处理
数据处理就是将原始数据转化为有意义信息的过程。如果说数据是新的石油,那么数据处理就是新的炼油厂。我们不能在不深入数据湖的情况下谈论数据处理。组织使用数据湖和管道来存储和提炼数据。
数据湖是一个集中的存储库,包含所有原始格式的数据。它从各种数据源中提取数据。
数据可以是结构化的、半结构化的或非结构化的。数据服务于不同阶段的不同群体。数据科学家和工程师使用 Amazon Athena 等工具,在早期阶段将非管理数据用于分析目的。
之后,数据经过验证、清理和其他转换,以服务于业务用户并发布业务报告。
数据处理是一个总括术语,指的是管理数据的过程。但是这可以是从转换和压缩文件到验证、转换、丰富或过滤数据的任何事情。这就是 AWS Lambda 的用武之地。Lambda 非常适合预处理和处理数据管道中的数据。除了处理数据,Lambda 还可以提取和接收数据。有关这方面的更多信息,请查看这个使用 Lambda 构建 ETL(提取、转换和加载)管道的项目。更深入和复杂的例子,请观看 Nextdoor 的 2017 年 AWS re: Invent talk ,了解 Nextdoor 如何使用 AWS Lambda 来简化他们的 ETL 管道。
在一些情况下,您可以使用 Lambda 处理数据:
通过简单的转换来转换数据,例如,用特定的常数替换选定的值
- 转换和压缩文件,例如将 CSV 文件转换为 JSON 文件,反之亦然
- 简化压缩映像的流程,以提高性能并优化云成本。
- 结论
综上所述,您是否希望将更多精力放在运行时间少于 15 分钟的代码上?维护服务器的想法让你夜不能寐吗?你很难证明为空闲时间付钱是合理的吗?如果你对前面任何一个问题的回答是肯定的,你应该考虑 Lambda。请记住,您并不总是需要一个项目来修补 AWS 云计算产品。
如果你有兴趣了解更多关于 Lambda 的构建模块,请查看我的课程关于使用 AWS Lambda 处理无服务器数据。作为一名数据专业人员,本课程将教您如何利用 AWS Lambda 来满足您的业务需求。您将通过学习如何使用 Lambda 来转换数据并将其与其他 AWS 服务集成来构建简单的管道,从而解开 Lambda。
If you’re interested in learning more about Lambda’s building blocks, check out my course on Processing Serverless Data Using AWS Lambda. The course will teach you how to utilize AWS Lambda to serve your business needs as a data professional. You’ll unpack Lambda by learning how to use it to transform data and integrate it with other AWS services to build simple pipelines.
AWS Lambda 版本和别名
原文:https://acloudguru.com/blog/engineering/aws-lambda-versioning-and-aliases
正如我在之前的博文中所详述的,我将继续更新 Linux Academy AWS DevOps Pro 认证课程。该课程有三个新的部分(并且λ版本化和别名在λ部分起着重要的作用):
- 部署管线
- AWSλ和
- AWS API 网关
As well as six new hands-on, interactive Labs.AWS Lambda and Serverless ConceptsIn AWS, we work a lot with infrastructure: VPCs, EC2 instances, Auto Scaling Groups, Load Balancers (Elastic, Application, or Network). And of course, with CloudFormation we deal with that infrastructure as code. Those json or YAML templates are literally code. AWS Lambda is often used to work closely with CloudFormation as kind of a utility knife that can be used to perform tasks that are just not available out of the box with CloudFormation. Now to be clear, it is not Lambda’s sole purpose to work with CloudFormation, but it is certainly a common use case. Chances are that if you work in AWS long enough you will encounter use cases that call for the implementation of Lambda Functions. And the possibility exists that you may encounter environments that are completely serverless. In these cases, you provide your Lambda Functions to AWS and they worry about the rest. You can be sure that there are servers tucked away in the cloud somewhere running your Lambda Functions, but they are of no practical concern of yours. You are not charged for that infrastructure. You are only charged for how long your Lambda functions are running. So in a serverless environment, the infrastructure is completely removed from your equation. Again, the CloudFormation mantra is infrastructure as code. Well with Lambda, the infrastructure, for all intents and purposes, is removed and you are just left with code.Software Deployment Workflows and VersioningAs DevOps Engineers, we are required to wear several different hats. And if we are working with Lambda we need to be adept when we put on our Software development and deployment hats. So you’re going to follow software best practices and a typical development/deployment workflow would be to have development, beta, and production environments. There are no hard fast rules on this. You could for example also have a test environment. But the main point is that with different environments, you are going to have different versions of your Lambda functions deployed to these environments. Can we easily version our Lambda functions? Absolutely (in a Rocky Balboa voice).Lambda VersioningBy using versioning, we can better manage our in-production function code in AWS Lambda. When you use versioning in AWS Lambda, you can publish one or more versions of your Lambda function. A key point to all of this is that each version of your Lambda function has its own ARN, and most importantly, a published version of your Lambda function is immutable. In Layman’s terms, you can’t change a published Lambda function! On the surface that seems pretty restrictive. If I can’t change a published version, what hoops do I have to jump through to come up with another version that is only slightly different from my published version? Have no fear. There is one readily available version of your Lambda function that you can change and it is named Version $Latest. This is the most recent version of your function and you can make changes to it and publish a new version based on those changes that you make. And when you first create a Lambda function, this is the only version that you have:The screenshot above shows the Lambda management console with a newly created Lambda function. By clicking the ‘Qualifiers’ dropdown, we are presented with the Versions for our Lambda function and the Aliases (which we will talk about momentarily). Now if we want to publish a new version of our Lambda function, we would simply make the changes we want to the function, go to the ‘Actions’ dropdown and select ‘Publish new version’:Now at this point you might be thinking that the $Latest version and your new version (version 1) would be the same. You would be correct. But remember, only the $Latest version can be changed. So when you decide you need a second version, you would make changes to $Latest and then publish that new version (version 2). Your latest version will then match version 2 until you decide to make further changes to your $Latest version. In this way, you can create as many versions as you like and all your numbered versions will be different from each other. Let’s assume that version 3 is our Prod version. We have identified a change that needs to be made in our code. We would then make the updates to $Latest and publish a new version. This new version could initially be in our dev environment. We don’t want to dump it right out to prod and hope for the best. We could do some testing on it in dev, move it to beta, test some more, and then finally move it out to our prod environment.Lambda AliasesNow we also saw in the Lambda console that there is support for aliases. What can we do with aliases? AWS Lambda supports creating aliases for each of your Lambda function versions. The alias is simply a pointer to a specific Lambda function version. Each alias also has a unique ARN. One key difference between aliases and functions is that you can change aliases. You can change aliases to point to different versions of your functions. Think about the power at your hands with that capability! If you have a prod alias, for example, you can change that alias to point to a different version of your function. That function magically becomes your prod function just by pointing the prod alias to it. It’s a little more complicated than that, but not too much. Remember, all Lambda functions need an event source, whether it be an S3 bucket, an API, a DynamoDB table or any other event source. Let’s assume that we are working directly with our Lambda function. So in our event source (S3 bucket for example), you identify the Lambda function ARN that S3 can invoke (an example invocation would be uploading a file to S3 trigger Lambda function). The problem is that our Lambda function versions are immutable! So every time we promote a version to prod, we have to go to S3 and enter the new ARN. So how can we abstract the process of promoting Lambda functions, so that we don’t have to change our invocation settings in S3 every time? We can use aliases! In S3, we can enter the alias ARN for our prod alias. If we have a new version for our Lambda function that we want to be our prod version, so what! We can change our prod alias in Lambda to point to the new version. The configuration in S3 never has to be touched. Prod will always be prod. Whatever function we point our prod alias to will be our prod function.So that’s a look at how we can use Lambda function versions and aliases to simplify and streamline our function deployment process. The easier and more flexible this process, the less prone to error it becomes. I have been updating my AWS DevOps Professional Certification course and Lambda versioning and aliases is one of the new areas of focus. But there is much more that has been added and updated, so check out the updated AWS Certified DevOps Engineer – Professional Level course here!
无服务器对决:AWS Lambda vs Azure Functions vs Google Cloud Functions
TL;速度三角形定位法(dead reckoning)
说到时髦的流行语,“无服务器”可能是最受欢迎的。
无服务器模式的核心是功能即服务(FaaS)模型,这是一种服务类别,它使在云中运行代码变得非常简单,无需配置任何计算基础架构。
FaaS 确实是一个游戏规则改变者:它大大加快了部署复杂后端服务的能力,并使应用程序开发民主化。公司需要投入资本和资源将想法推向市场的日子已经一去不复返了。现在,你需要的只是一个想法、好的代码和一个主要云提供商的账户。几分钟之内,您的应用程序就可以在托管基础架构上运行,为数百万个请求提供服务,并(虚拟地)无限扩展。
本文将比较亚马逊网络服务(AWS)、微软 Azure 和谷歌云平台(GCP)的 FaaS 服务,并对现代云时代最具变革性的技术之一提供一些见解!
背景
任何应用程序的核心都是组成其逻辑和功能的代码。无论是最新的手机游戏,还是你典型的无聊的企业财务软件,都有一行行(有时几千行)的代码需要在某个地方运行。这个“某个地方”通常是一台服务器或几组服务器,CPU 周期在这里执行为这些应用程序提供动力的逻辑。
但是服务器,即使是虚拟云服务器,也很昂贵,维护起来也很麻烦,通常需要训练有素、经验丰富的管理员来保护和管理它们。此外,当没有用户在玩游戏或使用财务软件时,这些昂贵的服务器会无所事事,几乎是无所事事,等待新的“工作”到来。
传统的计算基础设施可能非常低效,这正是 FaaS 如此吸引人的原因。
FaaS 不用搭建复杂的基础设施(服务器、负载平衡器等),而是让你在一个托管的计算资源池上运行你的代码,同时只为执行的持续时间付费。
FaaS 函数是事件驱动的,这意味着它们响应某些事件而运行。虽然情况并非总是如此,但这些功能通常是短命的、短暂的、无状态的和单一目的的。
下表简要总结了 AWS、Azure 和 GCP 提供的 FaaS 服务:
| 服务 | GA 自 | 地区供货情况 |
| 自动气象站λ | 2014 年 11 月 | 全球的 |
| Azure 函数 | 2016 年 3 月 | 全球的 |
| 谷歌云功能 | 2016 年 2 月 | 全球的 |
定价
FaaS 受欢迎的主要原因之一是成本:它非常便宜,而且在许多情况下,几乎是免费的。也就是说,就像云中的其他东西一样,随着规模的扩大,价格标签可能会发生巨大变化。
FaaS 成本
FaaS 成本的两个主要来源是:
- 请求数量:通常每月每百万次请求进行计费
- 计算时间:这是对函数生命周期的持续时间和所提供的内存量的度量,以 GB 秒为单位(在相同的持续时间内,高内存执行的成本高于低内存执行)
此外,数据传输或存储成本等其他费用可能适用,但这些费用取决于具体的使用情形。
定价比较
所有三大提供商都有每月免费层配额,达到配额后会产生费用。如果您正在试验或构建一个概念验证,您很可能会被包含在免费层中。
下表比较了每个提供商提供的免费层配额,以及额外的使用成本。
| 供应商 | 每月免费时长(GB 秒) | 每月免费请求 | 每增加 100 万个请求的成本 | 每增加 1 GB 秒的成本 | 持续时间四舍五入到最接近的 |
| 自动警报系统 | 400,000 | 一百万 | $0.20 | $0.000016 | 1 毫秒 |
| 蔚蓝的 | 400,000 | 一百万 | $0.20 | $0.000016 | 1 毫秒 |
| GCP | 400,000 | 两百万 | $0.40 | $0.0000125 | 100 毫秒 |
要点:三家供应商的定价结构几乎相同。
AWS 和 Azure 有相同的定价和每月免费配额,而 GCP 每月提供额外的 100 万个免费请求,并对额外的请求有可比的定价。AWS 和 Azure 都将其持续时间四舍五入到最接近的 1 毫秒,而 GCP 四舍五入到最接近的 100 毫秒增量,这可能会增加规模的总成本。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
功能比较
语言支持
世界上的编程语言比《星球大战》续集、前传和衍生剧还要多。由于显而易见的原因,每种编程语言都有优点和缺点,所以需要为正确的工作选择正确的工具。大多数情况下,云提供商在其各自的 FaaS 产品中支持大多数流行语言。
可用运行时间
下表显示了 AWS、Azure 和 GCP 当前支持的 FaaS 运行时:
| 服务 | 支持的语言 |
| 自动气象站λ | C#,Go,Java,Node.js,PowerShell,Python,Ruby |
| Azure 函数 | C#、F#、Java、Node.js、PowerShell、Python、TypeScript |
| GCP 云函数 | C#,F#,Go,Java,Node.js,Python,Ruby,Visual Basic |
要点:三个主要提供商之间非常相似的语言支持,唯一明显的例外是 GCP 缺乏对 PowerShell 的支持,Azure 缺乏对 Go 的支持(考虑到 Go 是由 Google 开发的而 PowerShell 是由 Microsoft 开发的,这是一个相当有趣的观察结果!)
自定义运行时
如果您选择的语言没有在上面列出,仍然可以“自带运行时”,这允许您用任何编程语言实现提供商的 FaaS。有关当前对自定义运行时的支持,请参见下表。
| 供应商 | 支持自定义运行时间 |
| 自动气象站λ | 是的,使用定制部署包或 AWS Lambda 层 |
| Azure 函数 | 是的,使用 Azure 函数自定义处理程序 |
| GCP 云函数 | 是的,使用自定义 Docker 图像 |
可伸缩性、并发性和冷启动
在 FaaS 时代的早期,最常见的用例是在转向更成熟的解决方案之前“试一试”或“模仿一下”。那些日子已经一去不复返了,今天发现全球规模的生产应用完全运行在 FaaS 后端并不罕见。
为了实现这一点,了解云提供商如何扩展 FaaS 工作负载以应对不断增长的需求,以及他们如何处理并发请求非常重要。
可量测性
如前所述,FaaS 函数是事件驱动的,因此当接收到一个事件时,该函数的一个实例就会启动并处理请求。该实例保持活动状态以处理后续事件,如果在特定时间范围内没有接收到任何事件,它将被回收。
所有这三个提供商都宣传几乎无限制的自动扩展,尽管这里可能还有其他因素在起作用,这些因素将在下面讨论。
并发
当一个 FaaS 实例正在处理一个请求,并且收到另一个请求时,第二个实例会加速处理这个额外的请求(实例一次只处理一个请求。)并发性是在任何给定时间可以同时运行的功能的数量。
| 服务 | 并发 |
| 自动气象站λ | 标准:每个地区 1000(软限制)
保留:变化
供应:变化 |
| Azure 函数 | 没有公布的并发限制 |
| GCP 云函数 | 没有公布的并发限制 |
AWS 是唯一一个提供高度定制的并发管理选项的提供商,而 Azure 和 GCP 在如何处理并发执行方面有点模糊。
冷启动
鉴于 FaaS 作为一项技术相对年轻,它有许多诋毁者和反对者。到目前为止,他们最喜欢的批评是“冷启动”的概念。
那么,什么是冷启动呢?
想象一下这个熟悉的动作电影场景:我们的英雄以每小时 120 英里的速度在高速公路上行驶,可能是在拯救一些生命的路上,当他在休息时,看着报纸,从一名毫无防备的高速公路巡警身边飞驰而过。当骑警摸索着启动引擎,并以高速追赶时,我们的英雄已经在数英里之外了,骑警需要一些时间才能赶上。
同样,处于非活动状态的 FaaS 实例将需要一些额外的时间来响应请求。这种最初的延迟被称为冷启动。
与已经处于活动状态并接收到请求的 FaaS 实例相比,在这种情况下,没有初始延迟,实例几乎可以立即开始处理请求。以我们的例子来说,这就好比一名高速公路巡警在高速公路上以正常速度行驶时被一名超速行驶的司机超过。在这种情况下,士兵可以非常迅速地加速并在几秒钟内追上去。
虽然云提供商不公布他们的冷启动统计数据,但下表显示了行业分析师观察到的估计平均值:
| 服务 | 平均冷启动时间(秒) |
| 自动气象站λ | <1 |
| Azure Functions | > 5 |
| GCP 云函数 | 0.5 – 2 |
冷启动可能会影响对延迟非常敏感的 FaaS 工作负载的性能,但有一些方法可以减轻这种影响,并且它对 Azure 平台的影响似乎比它的两个竞争对手更大。此外,AWS 现在提供“供应并发”作为一种方法来消除 Lambda 的冷启动。我们将在本文后面更详细地讨论这个特性。
自动化 AWS 成本优化
AWS 为您的企业提供了前所未有的价值,但经济高效地使用它可能是一项挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况。
配置和性能
并非所有功能都是相同的,因此不同的工作负载可能需要不同的设置来优化性能。
记忆
根据代码对资源的需求程度,必须相应地调整内存。如果分配的内存太低,一个函数将需要更长的时间来执行,并可能超时,但如果内存设置得太高,您可能会为未使用的资源付出过多的代价。
云提供商提供不同的最大内存配置,而 CPU 能力是根据所选内存量线性自动配置的。
| 服务 | 内存 |
| 自动气象站λ | 128 MB–10240 MB |
| Azure 函数 | 128 MB–1500 MB(消费计划)
128 MB–14000 MB(高级和专用计划) |
| GCP 云函数 | 128 MB–4096 MB(128 MB 的倍数) |
值得注意的是 GCP 云功能可以配置的最大内存:4096 MB,这个限制比 AWS 和 Azure 提供的要低得多。
执行时间
FaaS 的另一个可配置方面是最大执行时间。虽然大多数功能只需几秒钟(或更短时间)即可执行,但一些密集型工作负载可能需要更长时间,大约几分钟甚至几小时(例如,密集型机器学习或数据分析工作负载)。
下表显示了每个云提供商提供的最大超时时间:
| 服务 | 最大超时 |
| 自动气象站λ | 15 分钟 |
| Azure 函数 | 5 分钟(消费计划)
30 分钟(高级和专用计划) |
| GCP 云函数 | 9 分钟 |
需要注意的是,增加超时时间并不总是解决问题的办法,应该结合调整内存来考虑。
后 COVID DevOps:加速未来 COVID 如何影响——甚至加速——工程团队的 DevOps 最佳实践?观看这个免费的点播网络研讨会与 DevOps 领导者进行小组讨论,我们将在后 COVID 时代探索 DevOps。
管弦乐编曲
如前所述,部署在 FaaS 上的功能本质上是无状态的。换句话说,函数不知道其他函数或其他函数的执行结果。
甚至同一个函数的调用也是完全相互独立的。这种无状态范式使得 FaaS 如此可扩展和易于配置。
虽然无状态方法对于执行大量短期和单一用途的功能(例如,网站上的联系人表单)来说非常优秀,但它使得构建任何有意义的复杂应用程序(通常需要某种状态管理)变得非常困难。意识到这一点,云提供商构建了编排服务,将这些功能作为工作流中的“步骤”进行集成,其中一个步骤的输出可以作为输入传递给另一个步骤。这使得在完全无服务器的方法中构建相当复杂的工作流成为可能!
下表列出了每个提供商提供的业务流程服务。这些服务通常也非常具有可伸缩性,并且具有许多超出本文范围的特性:
| 供应商 | 编排服务 |
| 自动警报系统 | AWS 阶跃函数 |
| 蔚蓝的 | 持久的 Azure 功能 |
| GCP | GCP 工作流程 |
HTTP 集成
FaaS 服务的强大之处在于它们是事件驱动的,这意味着某些“有趣的事件”可以触发函数的执行。
“有哪些有趣的事件?”你可能会问。
从简单的 cron 计划(例如:每天午夜运行该功能)到云提供商生态系统中的其他服务(例如,当文件上传到云存储时运行该功能)。但是最流行的场景之一是将 FaaS 与 HTTP 端点集成在一起。
具有集成 FaaS 后端的静态 web 前端(即 HTML/CSS/JavaScript)是构建无服务器 web 应用程序非常常见和流行的架构模式。
虽然这三个提供商都支持 HTTP 集成,但 AWS 需要提供和配置单独的资源 API Gateway,这也是单独计费的。Azure 和 GCP 有一个更加精简的 HTTP 集成。
| 服务 | HTTP 集成支持 |
| 自动气象站λ | 是,需要 API 网关(单独计费) |
| Azure 函数 | 是的,开箱即用 |
| GCP 云函数 | 是的,开箱即用 |
托管计划
如前所述,考虑到可用性和延迟方面的各种需求,云提供商通过在其 FaaS 产品中提供不同级别的可用性来应对。
AWS Lambda 在历史上是作为一个基本的托管计划出现的,但最近 AWS 开始提供供应的并发性,这可以确保函数被初始化并准备好响应事件,将可怕的冷启动时间缩短到仅仅几毫秒。Azure 提供了更复杂的托管选择,而 GCP 只是提供了一个通用的方案。
| 服务 | 托管计划 |
| 自动气象站λ | 常规
供应并发 |
| Azure 函数 | 消费
溢价
专用 |
| GCP 云函数 | 一般 |
底线
当谈到比较三大云提供商的 FaaS 产品时,有一点是非常明显的:它们在功能和成本方面极其相似和可比。
虽然 AWS Lambda 是三者中更成熟和最受欢迎的,但 Azure Functions 似乎有一些非常相似的功能,在某些方面,有更多的选项来适应边缘情况。GCP 云函数少了一些花里胡哨的东西,但仍然可以与其他两个相媲美。
俗话说,细节决定成败。在比较这三种 FaaS 服务时,很可能还有其他因素需要考虑。但无论是哪种情况,这里的关键要点是,FaaS 将继续存在,它是一种真正的变革性技术,只会继续获得采用,所以如果你还没有,请确保你正在利用它!
提升您的云计算生涯
希望获得认证或提升您的云计算职业生涯?通过 ACG 的课程、实验室、学习路径和沙盒软件学习按需云技能。
AWS 推出新的 DL1 EC2 实例类型
原文:https://acloudguru.com/blog/engineering/aws-launches-new-dl1-ec2-deep-learning-instance-type
AWS 已经发布了一个令人兴奋的新 EC2 实例类型,称为 DL1 实例。亚马逊 EC2 DL1 实例 s 旨在以低得多的成本训练深度学习模型。
与当前一代基于 GPU 的实例相比,DL1 实例为训练深度学习模型提供了高达 40%的性价比。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
这些对于训练自然语言处理、对象检测和图像识别用例的深度学习模型来说将是非常棒的。
但这些新实例类型真正酷的事情是,它们由来自 Habana Labs 训练处理器的高迪人工智能驱动,而不是 GPU,它们是从头开始设计的,旨在优化人工智能性能。他们还支持机器学习 (ML)框架,如 TensorFlow 和 PyTorch。
以下是 AWS 博客提供的 dl 1.24 x 大型实例的规格:
- 高迪加速器–每个实例配备 8 个高迪加速器,共有 256 GB 高带宽(HBM2)加速器内存和加速器之间的高速 RDMA 通信
- 系统内存–768 GB 的系统内存,足以在内存中保存非常大的训练数据集,这是我们的客户经常要求的
- 本地存储–4tb 的本地 NVMe 存储,配置为四个 1 TB 的卷
- 处理器–带有 96 个 vCPUs 的英特尔 Cascade Lake 处理器
- 网络–400 Gbps 的网络吞吐量
想了解更多关于在 AWS 上设计和部署机器学习解决方案的信息吗?云专家的 AWS 机器学习学习路径提供适合初学者和高级专家的定制课程!
新的 DL1 实例目前在美国西部(俄勒冈州)和美国东部(N. Virginia)地区按需提供和现货提供;您还可以购买保留的实例和储蓄计划。点击此处了解更多详情。
这些实例是由安迪·杰西在 re:Invent 2020 上宣布的,所以看到这些实例类型现在普遍可用是非常令人兴奋的。
准备好迎接 re:发明 2021
说或回答:发明。。。回复:发明 2021 就在眼前!
11 月 17 日周三,请加入我们,我们将现场直播 re:Invent 2021 预告: re:Invent 2021: AWS 英雄们在 节目开始前要知道什么。AWS 的英雄们本·凯霍、瑞安·克鲁宁堡、马特·路易斯、马克·努恩尼克霍文、凯莎·威廉姆斯和德鲁·弗曼特将对未来进行预测,并分享他们最期待的主题演讲。
此外,不要忘了查看我们的re:Invent 2021终极指南,了解您需要了解的关于云领域最大会议之一的所有信息。
跟上 AWS 的所有事情
想要跟上 AWS 的所有事情?在推特上关注 ACG和脸书,在 YouTube 上订阅云专家的每周 AWS 更新,并在 Discord 上加入对话。也可以看看我们的免费课程,每月更新!
本周 AWS 还发生了什么?查看下面的视频,了解有关 Babelfish for Aurora PostgreSQL 和 EC2 支持访问 Red Hat 知识库的详细信息。继续牛逼吧,云大师们!
自动气象站云形成和 IOT 更新 2021
AWS 有什么新功能?在本帖中,我们将报道最近的 AWS 新闻,包括 CloudFormation 模板调试变得更加容易,AWS 的物联网套件推出了一些方便的新功能,以及我们现在如何将自己的小部件添加到 CloudWatch 仪表盘中。
想了解更多?请继续阅读!
云的形成变得更加容易
调试云构造模板总是让我想起希腊神话中的一个故事,一个人试图把巨石推上山,结果却让它滚了下来。即使我的模板的前 20 步成功完成,第 21 步的失败也会使一切归零。
好吧,谢天谢地,我们现在有一个选项来禁用自动回滚,并保持所有那些成功创建的资源不变,同时我们找出步骤 21 出错的地方。
我们甚至可以改变我们的模板和参数,然后从故障点再次尝试,这是一个非常受欢迎的特性。
现在,所有云计算专家都可以冷嘲热讽地向初级云工程师抱怨,在我的时代,模板在失败时不得不一路回滚。你喜欢它是因为它本来就是这样!
Watch:成为 AWS CloudFormation 高级用户 Watch 这款免费的点播网站 r 深入了解鲜为人知的功能,您可以使用它成为 CloudFormation 高级用户。
CloudWatch 添加自定义小部件
由于我们现在可以添加自己定制的小部件,仪表盘变得更加灵活。
我们可以从 AWS 之外的数据源添加我们自己的图形或图表,我们甚至可以创建按钮和其他启动事物的控件。
例如,如果我们的仪表盘显示有问题,我们可以提供操作手册或自动补救流程的链接。我们甚至可以创建一个按钮,询问我们是否已经关闭并再次打开它。
为了让我们开始,AWS 提供了一些示例定制小部件,包括一个 RSS 阅读器和一个带有 EC2 重启按钮的小部件。(你可能认为我只是开个玩笑,把它关掉,然后再打开。)
AWS 物联网获得新功能
AWS 物联网用户本周欢迎该套件的一些新功能。green grass2.4 版引入了为设备提供声明证书的功能,并允许我们为设备上的每个进程设置内存和 CPU 限制。
物联网设备管理现在有一个名为“车队指标”的功能,让我们可以将聚合的设备信息发送到 CloudWatch 以监控趋势。
此外,IoT Core 现在支持 MQTT 主题的保留消息。在处理只能间歇性连接的物联网设备时,这是一个很小但很重要的功能。保留的消息现在会挂在主题“就绪”上,等待设备再次连接。如果设备没有这个功能,要么会完全错过消息,要么当设备在线时我们不得不撤销。
对升级或开始云架构之旅感兴趣吗?云专家的 AWS 架构师学习路径提供适合初学者和高级专家的定制课程!
说到物联网,请关注即将发布的 ACG 项目,该项目让我可以深入了解 AWS 物联网 Greengrass v2。我将向您展示如何构建一个远程任务的离网图像和数据收集站。为了这个,我甚至拿出了旧烙铁。
好了,我的朋友们,这就是我本周所有的 AWS 新闻。保持安全,互相照顾,并保持令人敬畏,云大师。
想跟上万物云?在 YouTube 上订阅云专家的每周亚马逊新闻和 AWS 服务公告。您也可以在脸书上喜欢我们,在 Twitter 上关注我们,或者在 Discord 上加入对话!
在云中开启更好的职业生涯
学得更快。动作快点。从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
Redshift 的数据交换,新的 AWS 解决方案
本周 AWS 有什么新消息?对于 Redshift,第三方数据访问变得更加容易,我们有一些漂亮的新 AWS 解决方案可以使用,现在终于到了迁移那些 EC2 发布配置的时候了。
我是 Scott Pletcher,幸运的是,AWS 认证流程认为我适合继续担任三年的 AWS 认证解决方案架构师专家!虽然我已经重新认证过几次,但这是我第一次体验远程监考。你可以阅读关于我的 AWS 再认证经历的全部内容,这是一个关于阴谋和恐慌的悲惨故事。
关于我已经说得够多了。请继续阅读新闻!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
亚马逊红移的 AWS 数据交换
近日,AWS 公布了亚马逊红移的 AWS 数据交换公开预览。
AWS 数据交换是一项服务,允许那些拥有有用数据的人通过 AWS 市场共享这些数据,有时是免费的或订阅的。在此版本之前,几乎所有的数据集都可以通过 S3 获得。您可以使用 Athena 或红移光谱来获取这些数据,但从性能角度来看,这并不理想。
或者,您可以使用一些 batch ETL 过程将数据导入到您现有的红移仓库中。
RedShift 数据交换的预览版旨在解决性能挑战,并通过允许客户直接查询和发布其他基于 Redshift 的数据集来消除 ETL 步骤。
因为您实际上是在访问数据提供者的红移实例,所以数据总是最新的,并且比基于 S3 的数据集的性能高得多。在其他数据集新闻中,AWS 已经向他们的开放数据注册中心添加了一些新的公共数据集。
新的 AWS 解决方案
对于那些有抱负的云架构师来说,AWS 解决方案可能是你从未听说过的最棒的资源。
把 AWS Solutions(AWS 解决方案)想象成一个巨大的食谱数据库,但是它们不是帮助你做一顿美味的饭,而是帮助你创建一个同样美味的基于云的应用。它们通常由 CloudFormation 模板和部署指南组成,将多个 AWS 服务缝合成一个完整的解决方案。通常,只需点击一下鼠标就可以部署该解决方案。
这些解决方案由专业的 AWS 架构师审查,因此它们倾向于遵循最佳实践,并且可能是非常有用的学习工具。
最近,AWS 宣布了一些新的和改进的 AWS 解决方案,可能值得一看。有一个分布式负载测试解决方案可以帮助您找到应用程序中的弱点和漏洞。我们现在也有了一个 Q & A 聊天机器人解决方案,以及一个更新版本的AWS Perspectives——一个帮助清点和可视化记录您现有的 AWS 环境的解决方案。
如果您还没有探索过 AWS 解决方案,一定要看看!
对升级感兴趣,或者从开发和运营开始您的旅程?云专家的 AWS DevOps 学习路径提供适合初学者和高级专家的定制课程!
是时候迁移那些 EC2 发布配置了
只是一个友好的 EC2 服务提醒,如果您仍在使用 EC2 自动扩展组的启动配置,现在是时候将这些配置迁移到启动模板了。
AWS 最近宣布,他们将不再在发布配置中构建新功能,而是专注于发布模板。现在您确实有一些时间,因为 AWS 预计所有客户将在 2022 年底前完成迁移,但是拜托,发布配置是在所以 2010 年。
我的重新认证经历可能会紧张,但你不必如此。请于 10 月 26 日星期三美国东部时间 5:30 在我们的 Discord 服务器上访问我们的认证办公室。Mattias Anderson、Lars Klint 和我会在附近准备回答问题,分享考试策略,或谈论任何你想到的事情。任何时候我们三个人聚在一起,你可以确信愚蠢会接踵而至。
跟上 AWS 的所有事情
别忘了我们在 ACG 这里有一个免费计划(不需要信用卡)。如果你是喜欢先试后买的人,这是完美的选择。我们每个月都会推出一系列新的免费课程。
我的朋友们,这就是本周 AWS 所有适合印刷的新闻。保持安全,互相照顾,并保持令人敬畏,云大师!
在 YouTube 上订阅云专家的每周亚马逊新闻和 AWS 公告,就像 ACG 订阅脸书,在推特上关注我们。
保护您的 AWS 环境 在这个免费的点播网络研讨会中,了解如何从零开始保护复杂的 AWS 环境,并学习如何正确审计和保护 AWS 帐户。
Securing Your AWS Environment In this free, on-demand webinar, see how to take complex AWS environments from zero to secure and learn how to properly audit and secure an AWS account.
我们从在线 AWS 证书考试中学到了什么
原文:https://acloudguru.com/blog/engineering/aws-online-cert-exam-tips
如果你想在家参加 AWS 认证考试,你可能会有几个问题。最近在家里参加了 AWS 高级网络专业认证考试。以下是所发生的事情,我所学到的,以及一些帮助你完成远程测试任务的技巧。
当你在线测试时会遇到什么情况
自从 AWS 宣布可以在线参加所有认证后,许多人都想知道它是如何工作的,以及它与传统的现场监考考试有何不同。无论你是打算自己参加在线证书考试,还是对考试结果感到好奇,这里有一个七步走的演示,给你远程证书体验的要点。
但首先我们要绕过一个非常重要的问题。你为什么想获得在线认证?首先,这可能是你唯一的选择。点击此处查看您附近的皮尔森 VUE 考试中心。但是还有一些其他的优势。最大的好处之一是你可以很快地从学习到参加考试。如果有空的话,你甚至可以把考试安排在同一天。上午补习,下午考试!又是奖金?研究你将在哪里考试(例如,在你的桌子上做这两件事)可能使以后回忆信息更容易。科学!
1.安排您的考试
要安排考试,您将使用 AWS 认证门户。如果你以前参加过 AWS 考试,这应该很熟悉。对于远程测试,您需要选择“皮尔逊 VUE”作为供应商,并选择“在我家或办公室”选项。选择一个适合你的时间表的日期和时间,付钱,然后嘣——你被安排参加考试了。
2.确保您的系统符合标准
对于 AWS 在线证书考试,您将安装 OnVUE 软件。这是管理考试的界面和环境。为了确保你的机器可以运行软件,你需要运行一个系统测试。您将希望使用您计划在测试时使用的相同设备和互联网连接来运行此测试。该检查将检查您的连接、摄像头、麦克风和键盘输入功能,以确保您的计算机可以成功运行 OnVUE 软件,并且您的监考人可以在您考试期间对您进行数字监控。
**Pro 提示:**不要等到最后一刻才安装 OnVUE 软件并运行测试。在考试开始前几个小时或几天做。系统测试、系统要求、一大堆常见问题以及安排考试的链接都可以在皮尔森在线网站上找到。
3.清理你的桌子(和你的房间)
确保您的工作站环境干净整洁。这意味着你可能需要重新考虑你打算在哪里参加考试。
确保记事本、便利贴、纸张、钢笔和铅笔等物品放在触手可及的地方。更好的办法是,将它们一起从工作区中删除。书籍、动作玩偶、武士刀、喷气背包——你桌子上所有对考试不重要的东西都应该放好。点心和饮料也是如此。(抱歉,考试期间不准吃零食,不准喝酒。)
必须拔掉并关闭附加的外部显示器和计算机,并且必须移除并关闭所有智能附件和设备。
专业提示:使用笔记本电脑进行测试。但是与其把你的手机藏在另一个房间里,不如考虑让它保持安静,藏在你看不见的地方,而是和你在同一个房间里。如果你有技术问题,监考人可以打电话给你。
墙上有文字的物品,如白板,将被检查。如果您的工作区没有通过房间扫描,您将不能参加考试。
说明要求您在考试前 30 分钟到达并登录,以便给检查员足够的时间来评估您的工作区域。你可以点击智能手机上的一个链接,上传五张不同的照片,包括面向工作站的照片,以及右边、左边和后面的照片。你还需要通过提供有效驾照或政府颁发的身份证来验证你的身份。照片上传并通过验证后,您将被重定向到开始考试。
专业提示:如果你对自己的工作环境有任何不确定,请务必查看皮尔森 VUE 网站底部的政策和常见问题。
4.远离干扰
确保你的家人、朋友、宠物、机器人吸尘器和 Alexa 设备知道你会忙上几个小时。在任何情况下,他们都不应该进入你的工作区域或分散你的注意力。你不想给监考人任何理由来取消你的考试!
5.放下笔,闭上嘴
一旦考试开始,这个过程就非常类似于传统的现场监考。主要的区别是,你会有一个监考人监视和监听你的一举一动。他们真的在倾听。即使是最轻微的喃喃自语也会引起注意。在低声喃喃自语了一个考试问题后,我通过 OnVUE 软件接到电话,监考人告诉我不要说话,并警告我不要喃喃自语。
至于记笔记,你不能有任何手写笔记,但 OnVUE 软件确实提供了一个内置于环境中的白板功能。这有点像 MS Paint,而且(不幸的是)与真正的铅笔和纸相比几乎毫无价值。
专业提示:考试一开始,打开白板,打出你认为考试中需要记住的重要笔记。考试期间,您可以随时查阅白板。对我来说,我记下了各种 CIDR 范围和地址空间。
6.当自然召唤时
如果你在网上考试的时候需要去洗手间会怎么样?您的里程可能会有所不同。AWS 和 Pearson 的政策规定,“离开你的座位将终止你的考试,并使你的分数无效。”但是我的实际经历让这看起来更加模糊。在我的疗程开始时,我问我的监考老师,如果需要的话,我是否可以去一下洗手间。他们说可以,但是我没有测试这个。
外卖?这可能取决于你的监考老师——或者可能只是他们允许上厕所,但没有宣布,以确保人们不会计划利用镜头外的时间作弊。所以,为了安全起见,也许在你考试前不要喝一加仑咖啡。
如果你认为不停地参加考试不适合你,你可以试着联系皮尔森 VUE 公司,请求安排或讨论你的选择。或者你可以等待现场考试结束。测试中心确实允许上厕所,但是他们会检查你的口袋和裤腿下的笔记。他们还让你脱下夹克、帽子等等——基本上确保如果你去洗手间,你带着笔记的唯一方式是你把它们藏得很好,很好。(不要那样。或许可以考虑温习一些学习技巧来代替。)
7.结果出来了
考试结束后,你的成绩会立即显示出来。嗯,几乎…带着极高的期望,在你沉浸在考试的辉煌中之前,你必须完成一项调查——就像传统的现场 AWS 认证一样。加油 AWS,给我看看结果就好!
几乎就像真的一样
总的来说,这次经历对我来说是一次顺利而成功的旅程。我在使用 OnVUE 软件、上传我的工作空间、考试环境的图片以及获取我的成绩时几乎没有遇到任何问题。对了,我确实考过了,这总是好事!
现在是时候好好利用在自己家里获得 AWS 认证的机会了。只要按照上面的提示和暗示去做,你就应该准备好进行一次成功的测试。
AWS 是一个不断发展的云计算平台,提供广泛的服务选择,可以推动创新,实现可扩展性,并帮助您的组织最大限度地利用其 IT 支出。通过 AWS 云从业者认证并获得认证将有助于营销、销售、法律和财务专业人员更好地与从事 AWS 相关项目的开发人员和其他 IT 专业人员互动。获得这一证书也是迈向更具技术性的 AWS 助理级认证的第一步。看看我们从参加 aws 云从业者考试 中学到了什么
还有问题吗?AWS 和 Pearson OnVUE 有更多的细节和其他资源的链接。
注意:这篇文章是在 5 月 4 日根据评论者的反馈更新的,这些评论者认为随身携带一部手机可以帮助监考人员解决任何技术问题。
提升你的 AWS 技能
无论你从哪里学习,我们无与伦比的 AWS 培训都是让你的云游戏更上一层楼的绝佳选择。从新手入门到高级证书,ACG 可以教你成功所需的 AWS 技能。
AWS 质子的奇怪案例:康威的法律即服务?
原文:https://acloudguru.com/blog/engineering/aws-proton-is-conways-law-as-a-service
这是好事吗?总之…不一样了
AWS Proton 上周在预览版中大张旗鼓地推出,引起了更大的混乱。
“容器和无服务器部署的自动化管理,”AWS marketing说。这是一款专门用于部署无服务器应用的工具,比如 Stackery 或 Amplify?没有。我认为他们宣传 Proton 作为“容器和无服务器”解决方案的原因是,所提供的两个示例模板包分别用于 Lambda CRUD 应用程序和负载平衡的 Fargate 服务。尽管构建自己的模板似乎令人沮丧,对于质子可以帮助你部署的应用种类,没有技术上的限制。
Proton 本身是“无服务器的”,而 CloudFormation 是无服务器的:它是一项托管服务。那么质子是一种新的改进的云形成吗?不,它使用的云模板都标有 Jinja ,但它的操作水平比这更高。
我花了一段时间点击,但质子不只是另一个半生不熟的 AWS 开发工具。它正在做一些我认为 AWS 以前从未尝试过的事情。
Proton 的创新之处在于,它在技术设计中构建了关于您的组织的明确假设。
质子是康威的法律即服务。
有兴趣升级或开始您的 DevOps 之旅吗?云专家的 AWS DevOps 学习路径提供适合初学者和高级专家的定制课程!
宝腾假设一个平台团队
这些年来,我已经谈了很多关于中央云团队的现象(以及越来越多的病理):处于云优先组织中心的 Terraform 书呆子,他们为其他所有人,尤其是产品开发人员,创建工具和标准。在您的公司中,这个团队可能被称为“平台团队”、“基础架构团队”,或者只是“云团队”。这在大型组织中是非常一致的模式,即使它是最终次优。
事实上,“一个平台团队支持多个产品开发团队”的模式如此普遍,以至于 AWS,在真正的客户困扰模式下,现在已经从 it 逆向推理到设计 Proton。Proton 是平台团队打包环境和基础设施服务的一种规定方式,然后将它们扔给开发团队使用。Proton 在基础设施的自动化和应用程序代码的开发之间划出了一条线,就像普通企业一样。
这意味着,如果你没有一个中央平台团队和多个开发团队——比方说,如果你是一个 10 人的初创公司——Proton 不适合你,至少现在不适合,即使你有许多容器和无服务器应用要部署。这不是因为许多 AWS 服务不适合你——因为它们以你无法承受的成本解决了你没有的技术问题——而是因为 Proton 解决应用部署问题的方式与你的组织结构不兼容。
我实在想不出另一个这样构建的 AWS 服务。甚至像 CodePipeline 这样的服务也采用了 AWS 自己的组织理念——我在想它不愿意支持基于分支的工作流——这样做是隐含的,并带有变通办法。质子是为企业型组织。句号。
这不是批评!AWS 绝对应该发布考虑到特定客户工作流的服务。见鬼,这些年来,我已经亲自实现了至少三个 AWS Proton 的定制版本,在中央云团队工作的许多其他人也是如此。困难的部分总是中央团队应该做什么和开发团队应该做什么之间的职责分离,以及如何在分离线上获得支持,无论你最终在哪里绘制它。我甚至在这篇 2019 年的文章中写了一个 janky Service Catalog-y 解决方案,回想起来像是在呼救。
Proton 是说明性的*,因为它为你提供了一个协调应用交付的预烤模式,但是描述性的,因为这个模式并不是作为一个任意的“最佳实践”而构想出来的——它只是 AWS 看到的客户已经在做的事情的一个典范。这样,它让我想起了我们经常看到的由 AWS 解决方案架构师和合作伙伴开源的参考架构,而不是典型的顶级服务。*
但是质子是一个好主意吗?
Proton 已经在 preview 中发布,还没有完全成熟,所以我不会在这里提供具体的技术挑剔,但我想解决一个我已经从中央云团队听到很多的批评:“Proton 没有简化创建部署基础架构的过程,几乎没有帮助!”
去年,我指出了我的“实用的 CI/CD 设计”的合理性,尽管它涉及复杂的模板,但这种复杂性主要分布在你想要的地方:平台团队的肩上。(他们的工作是 YAML!他们能处理好的!)质子做了同样的计算,并在相同的地方画了分离线。他们将原始的、有些劳动密集型的控制交给平台团队,以便向应用程序开发团队呈现一个简化的部署工作流,将所有讨厌的基础架构抽象掉。(也许这是质子被称为“无服务器”的第二个原因开发团队没有服务器自动化?)
我担心质子实际上可能过于简单,而不是太复杂。因为在企业层面上,几乎不可能创建足够通用的部署模板来为多样化的应用程序团队开箱即用。当然,您将拥有一组“快乐之路”团队,您的模板非常好地支持这些团队。但是也有边缘情况,团队需要你不支持的服务或者你不能适应的工作流。如何防止他们陷入阴影 IT …或者更糟,将每个模板膨胀成一堆不可用的一百万个参数?
这些团队可能应该建立一些他们自己的基础设施,他们应该有更少的集中指令和更多的分散执行。这就是我今年早些时候在博客中呼吁的 org - > CI/CD 表达的“伞”模式,读起来就像是质子设计会议中失去的几分钟。这是我看到越来越多具有前瞻性思维的组织采用的模式——那些与中央云团队一起运行足够长时间以意识到其局限性的组织。
中央云团队是瓶颈,即使 80%的组织还没有成熟到能够解决这个问题。这就引出了最令人好奇的问题:足够复杂到需要质子的团队最终会变得过于复杂到无法使用质子吗?
这还有待观察,但我确实希望随着 Proton 的发展,它将引导其客户走向可持续的最佳实践,而不是将过去的组织错误产品化。顾客的痴迷是伟大的,但正如安迪·雅西在上周的主题演讲中所说——有时你必须给他们所需要的,而不是他们所要求的。
re:Invent: AWS 让机器学习变得可访问、包容
原文:https://acloudguru.com/blog/engineering/aws-pushes-to-make-machine-learning-accessible-inclusive
作为一名 AWS 机器学习英雄,我迫不及待地观看了 Swami Sivasubramanian 在 AWS re:Invent 2021 上的主题演讲,以了解更多关于正在推出的新机器学习服务的信息。我必须说,我没有失望!看到 AWS 致力于让机器学习变得更容易获得和更具包容性,我感到兴奋和鼓舞。
以下是 AWS re:Invent 2021 上推出的一些服务和程序,它们将改变机器学习的面貌。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
亚马逊 SageMaker Studio Lab 是 ML 初学者的免费学习方式
亚马逊 SageMaker Studio Lab (目前处于预览阶段)是一项免费的机器学习服务,允许你快速旋转 Jupyter 笔记本,并且不需要复杂的配置就可以开始。
该服务的目标受众是希望学习和尝试机器学习的开发人员、学者和数据科学家。
让我强调一下,这项服务是免费的,是一种很棒的学习方式!我知道我下次在讲授机器学习实践课程时会用到这项服务。
Amazon SageMaker Canvas 是一种构建 ML 模型的无代码方式
亚马逊 SageMaker Canvas 是一个可视化的无代码服务,允许任何人建立机器学习模型。该服务的目标受众是业务分析师和非技术角色。
用户界面易于导航,并允许您快速访问和准备用于机器学习的数据。SageMaker Canvas 根据您的数据集确定最佳模型,并为您完成所有繁重的工作。让我强调一下,这项服务根本不需要任何编码技能。
如果你对机器学习的工作方式很好奇,这是一个很好的开始方式。
AWS DeepRacer 学生消除 ML 学习障碍
AWS DeepRacer Student 通过消除学生经常面临的机器学习实验障碍,建立在 AWS DeepRacer 服务成功的基础上。
这个项目的目标受众是全球高中和大学的学生。该计划为学生提供免费培训,每月 10 小时的培训和 5gb 的模型存储。甚至还会有 AWS DeepRacer 学生联盟!
AWS AI & ML 奖学金计划将颁发 1000 万美元的奖学金
AWS AI(T2)ML 奖学金项目(T1)将向那些自认为属于科技领域服务不足或代表性不足群体的学生提供 1000 万美元的奖学金。该项目不仅包括奖学金,还包括职业指导和免费教育内容。
对于所有想从事人工智能和人工智能的学生来说,这是一个很棒的项目!
为什么这些服务和项目如此重要?
在 AWS 上学习和探索机器学习的成本一直具有挑战性,机器学习可能会让那些没有编码经验的人望而生畏。
我对这些服务和项目感到非常兴奋,因为它们将为许多人打开大门。我记得在开始我的机器学习之旅后,当我收到我的第一份 AWS 账单时,我差点晕倒——我那个月的账单比我每月的汽车付款还多!我很高兴时代在改变!
跟上 re:发明 2021
在推特上关注 ACG、T2、脸书和 T4,在 YouTube 上订阅一位云专家。查看 ACG 和 Pluralsight re:Invent 内容中心了解更多新闻和 AWS 资源。在 ACG 的不和谐社区上和思想不稳定的人聊天。
AWS re:Invent 2021 day 1: Top 3 公告
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2021-day-1-top-3-announcements
AWS re:Invent 2021 来了!以下是 re:Invent 第一天发布的几个最重要的公告,以及我们为什么认为它们很棒。
1.亚马逊检查员获得重新启动待遇
亚马逊宣布重新推出亚马逊检查员,这可以追溯到 2015 年。该服务可用于自动化安全评估和管理,并可帮助组织满足部署到 AWS 的工作负载的安全性和合规性要求。
我们对新改进的亚马逊检查员的看法?
这很酷,但可能有点笨重。看起来他们基本上是把 Inspector(现在是 Inspector Classic)打回了原形,然后从零开始想出了一个新的来做人们在企业环境中真正需要的事情,而不会产生额外的摩擦。
有三件事非常突出:
- 支持容器图像 —不仅限于 EC2)
- 它使用 AWS SSM 代理——不需要安装额外的客户端
- 自动扫描 —能够自动检测并部署到符合条件的目标上
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
2. 亚马逊弹性容器注册中心(ECR)拉通缓存
周一,亚马逊宣布 在亚马逊弹性容器注册中心(ECR)中通过缓存仓库支持。
这解决了企业中的另一个安全摩擦点。许多大客户都有严格的规则,比如“你不能使用我们私有系统之外的代码!”因为告诉你的安全团队“安静下来,面对现实!”也许不是最明智的做法,AWS 已经提出了一个容器图像的解决方案。AWS 现在不需要编写脚本并管理它们来更新公共图像的副本,而是自动神奇地做到了这一点。还不错!
另外,AWS 运行起来可能真的不需要任何成本,因为毫无疑问会有数百个nginx:latest
副本,而他们只需要存储一个。
3。AWS 物联网 Greengrass 集成 SSM
去年,AWS 推出了 AWS 物联网 Greengrass 2.0,该公司将其描述为“一种开源的边缘运行时和云服务,用于构建、部署和管理设备软件和应用程序。”现在,AWS 已经推出了使用 AWS 系统管理器(SSM)安全管理您的 Greengrass edge 设备的能力。
这是一个非常基本的命题:物联网很难管理,所以 AWS 做了 Greengrass。物联网更难大规模管理,因此 AWS 将其与 SSM 集成在一起。
理论上,现在您可以使用相同的工具大规模管理您的服务器和物联网设备。相当牛逼!你已经可以通过各种定制方式做到这一点,但 AWS 再次简化和精简了流程——让客户专注于“让事情做起来很酷”,而不是无差别的繁重工作。
跟上 AWS 的一切:发明 2021
查看 ACG 和 Pluralsight re:Invent 内容中心以了解 re:Invent 2021 的所有信息。
你也可以在推特上关注 ACG,在 T2 关注脸书,在 YouTube 上订阅云专家,了解你能掌握的所有关于 2021 年的更新。
加入我们令人敬畏的 Discord 社区,与 AWS 培训架构师和其他志趣相投的阴云密布的人进行数字交流。
AWS re:Invent 2021:最大的公告
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2021-the-biggest-announcements
随着 AWS re:Invent 2021 接近尾声,云工程师们的云工具箱里有了太多的新工具。错过活动或寻找 TL;AWS 宣布了什么?以下是我们团队从《re:Invent 2021》中挑选出来的最重要的公告。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
AWS Private 5G 让您可以构建自己的私人蜂窝网络
AWS Private 5G 将让你建立自己的私人 5G 蜂窝网络。这项服务在美国处于预览阶段,非常适合仓库或大型校园等使用案例,在这些情况下,您希望帮助增加越来越多设备的带宽和覆盖范围,同时保持私有网络的安全性和控制力。
AWS 为您提供所需的一切,包括 SIM 卡。而且没有前期或每台设备的成本。客户只需为他们请求的网络容量和吞吐量付费。
SageMaker Canvas 提供无代码 ML 模型构建
今年有很多关于数据和机器学习的讨论,从 SageMaker 开始,它有几个新的公告。从…开始
SageMaker Canvas 现已上市。Canvas 旨在帮助商业用户使用可视化的无代码界面生成 ML 预测。这使得像商业分析师这样可能很少或没有 ML 经验的人可以进入并从数据中获得有价值的见解。
SageMaker Ground Truth Plus 旨在简化 ML 缩放
SageMaker 地面真相加,也在 GA。这项全新的统包式服务让您可以利用专家团队来创建训练数据集,而无需自行构建和管理标签应用程序。
您提供数据和标注要求,并为您设置和管理数据标注工作流。亚马逊声称这可以降低高达 40%的成本。还不错!
亚马逊 SageMaker 无服务器推理正在预览中
AWS 公布亚马逊 SageMaker 无服务器推断。这使您可以轻松部署机器学习模型进行推理,而无需配置或管理底层基础架构。
这对于具有间歇或不可预测流量的应用程序来说是理想的——您只需为运行推理代码的持续时间和处理的数据量付费,而不必为空闲时间付费。
pagemaker studio 实验室帮助 ml 学习者
AWS 宣布 SageMaker 工作室实验室,目前正在预览中。这项免费服务旨在帮助任何人学习和体验 ML,而不需要 AWS 帐户、信用卡或云配置知识。
ML 学习曲线可能会很陡,因此有了一个可预测和可控的环境来托管您的 Jupyter 笔记本电脑,您就可以确保在您尝试学习时不会累积巨额账单。
适用于 ML 型号的 Trn1 芯片
从 SageMaker 开始,AWS 宣布基于 AWS Trainium 的亚马逊 EC2 Trn1 实例正在预览中。这些实例针对在云中训练深度学习模型进行了优化,为模型训练和 800 Gbps 网络带宽提供了最佳性价比。这些对于像语言处理或图像识别这样的用例是非常理想的。
亚马逊开发团队 RDS 专家帮助解决极光相关问题
亚马逊宣布推出 RDS 的亚马逊 DevOps Guru。DevOps Guru 的这一新功能使开发人员能够更容易地检测、诊断和解决 Aurora 中的问题,并且在 DevOps Guru 可用的所有地区都可用。
是的,AWS 知道它有很多服务(但这里还有几个)
要了解 AWS 增长了多少(不只是在 15 年,而是在过去的一年),请考虑可用的服务数量。它变得越来越大…
支持 C7g 实例的全新 Graviton3 处理器
亚马逊宣布其下一代基于 ARM 的 Graivton3 处理器,号称性能提升 25%,功耗降低 60%。这些芯片将支持新的亚马逊 EC2 C7g 实例,这些实例目前处于预览阶段,非常适合计算密集型工作负载,如高性能计算、科学建模和基于 CPU 的机器学习推理。
宣布 EC2 M1 Mac 实例用于构建苹果应用
去年,亚马逊宣布了 EC2 Mac 实例。今年,他们宣布了新的 EC2 M1 Mac 实例的预览。这次升级包括苹果最新和最棒的 M1 芯片,对于为 iPhone、iPad、Apple Watch 和 Apple TV 开发的开发者来说非常棒。
AWS Amplify Studio 提供低代码开发
本周我们已经看到了几个低代码和无代码服务的发布。除此之外,AWS Amplify 工作室也宣布成立。这项服务可以帮助您在几个小时内,而不是几周内,使用一个几乎不需要任何代码编写知识的可视化界面,可视化地构建功能丰富的应用程序。Amplify Studio 将允许开发人员设置后端,创建 UI 组件,并将它们连接在一起。该服务目前正在预览中。
AWS 增加了无服务器和按需分析选项
AWS 宣布的无服务器和按需选项现已在预览版中提供给红移、 EMR 、 MSK 和驱动。这意味着不配置或扩展集群或服务器。只需在您忙的时候启动它们,服务就会扩展;不忙的时候,服务就会缩减。您仅在使用服务时付费。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
AWS 推出开源 Kubernetes autoscaler Karpenter
为了帮助简化 Kubernetes 基础设施,AWS 宣布了kar penter——以“K”开头……因为,你知道,Kubernetes。这个开源的自动伸缩工具旨在提高应用程序可用性和集群效率。当应用程序负载发生变化时,Karpenter 会自动启动所需的计算资源。这对许多人来说应该是个好消息,因为 AWS 表示,大约一半的 Kubernetes 客户报告 Kubernetes Cluster Autoscaler 具有挑战性和限制性。
大量的 S3 更新
回复:Invent 2021 给了我们一系列 S3 更新,包括 AWS 备份在预览中支持 S3, S3 事件通知与 EventBridge ,以及几个新功能简化了存储在 S3 的数据的访问管理。
但其中一个突出的宣布是新的亚马逊 S3 冰川即时检索存储类。这一新类别将为很少访问的数据提供最低成本的存储(比 S3 标准-不频繁访问低 68%),同时提供毫秒级检索,非常适合媒体归档或医学图像等使用情形。
现有的亚马逊 S3 冰川存储类现已更名为 S3 冰川灵活检索,并在 5 至 12 小时内提供免费的批量检索,并且所有地区的存储价格都降低了 10 %!
新的 DynamoDB 标准-不频繁访问表类
如何在 DynamoDB 上节省 60%的成本?嗯,DynamoDB 的新的标准非频繁访问表类旨在让您做到这一点。
DynamoDB Standard-IA 非常适合不经常访问的长期存储数据,如应用程序日志或电子商务订单历史。该表类旨在降低存储成本,同时提供相同的性能、耐用性和可扩展性。DynamoDB Standard-IA 现已在除中国和 AWS GovCloud(美国)以外的所有地区推出。欲了解更多关于定价的信息,请点击此处。
亚马逊检查员获得重新启动
亚马逊宣布重新推出 2015 年首次亮相的亚马逊检查员。该服务可用于自动化安全评估和管理,以帮助组织满足部署到 AWS 的工作负载的安全性和合规性要求。在过去的六年里,漏洞管理发生了很大的变化,因此 AWS 从头开始构建了 Amazon Inspector,在没有额外摩擦的情况下,在企业环境中做人们实际需要的事情。
AWS 旨在减少云障碍,扩大特定行业的关注点
AWS 首席执行官亚当·塞利普斯基(Adam Selipsky)讲述了 AWS 如何通过易于使用和特定行业的工具来消除用户和企业的云障碍。
ECR 拉通缓存
亚马逊宣布在亚马逊弹性容器注册表中支持拉通缓存存储库。这解决了企业中的另一个安全摩擦点。
许多大客户对使用外部或私有系统的代码有严格的规定,所以 AWS 想出了一个容器映像的解决方案。AWS 现在不需要编写脚本并管理它们来更新公共图像的副本,而是自动完成这项工作。
绿草与 SSM 融为一体
去年,AWS 推出了 AWS 物联网 Greengrass 2.0,这是一种开源的 edge 运行时和云服务,用于构建、部署和管理设备软件和应用程序。现在,AWS 已经推出了使用 AWS 系统管理器安全管理您的 Greengrass edge 设备的能力。
这是有道理的。物联网很难管理,所以 AWS 做了绿草。物联网更难大规模管理,因此他们将其与 SSM 集成在一起。
现在,您可以使用相同的工具大规模管理您的服务器和物联网设备。您已经可以通过各种定制方式来实现这一点,但是 AWS 简化了流程,因此您可以专注于有趣的事情,而不是千篇一律的繁重工作。
AWS 云广域网正在预览中
AWS 宣布了 AWS Cloud WAN 的预览版,这是一种新的服务,允许客户建立、管理和监控全球广域网。它包括一个用于监控网络健康、安全和性能的仪表板。
Ryan 和 Faye 的顶级 re:发明 2021 精选
好的。那是许多新闻。但是,最大的一个声明是《re:Invent 2021》吗?
这有待商榷…但无论如何,以下是 ACG 联合创始人瑞安·克鲁宁堡和 ACG 首席培训建筑师法耶·埃利斯的最佳选择。
“我最喜欢的 AWS re:Invent 2021 公告必须是所有新的无服务器产品——像亚马逊 EMR 无服务器,亚马逊红移无服务器,以及亚马逊 MSK 无服务器(Kafka 的托管流媒体),”Ryan 说。“这对初创公司来说尤其酷。我们使用无服务器技术构建了一个云专家,因此它将永远在我心中占据特殊的位置。”
“对我来说,这绝对是 SageMaker 画布——用于构建机器学习模型的拖放——和 SageMaker 工作室实验室,”Faye 说。“我只是觉得 AWS 正在民主化机器学习,让每个人都更容易加入,这太酷了,我期待着与这两者一起玩。”
跟上云的所有事物
在 Twitter 上关注 ACG和脸书,在YouTube 上订阅一位云专家来了解最新的云新闻。去看看令人敬畏的 ACG Discord 社区 吧,在那里你可以和思想模糊的人以及 ACG 培训建筑师聊天。
AWS re:Invent 2021:周二的 6 大要点
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2021-tuesdays-top-6-takeaways
要跟上 AWS re:Invent 发布的大量新服务和新技术,感觉就像从消防水管里喝水一样。为了帮助我们以更容易理解的速度满足对 AWS 新闻的渴望,我们求助于云专家开发者传道者 Mattias Andersson 和 CTO 顾问兼 Pluralsight 作者 David Tucker。
这两种动态云一起提供了一个 TL;DW(太长了,没看)新闻导读出 AWS re:Invent 2021 days 1 和 2。请继续阅读他们迄今为止的 6 大要点。(更喜欢完整的事实?点击这里查看所有公告的摘要。)
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
为了清晰、简洁和总体美观,这段对话已经过编辑。任何错误都可能是编辑的失误。(那家伙有什么问题?他只有一份工作!)
David: 我想说的第一个消息是听到他们在芯片方面的进步是多么令人惊讶。随之而来的是两件不同的事情。
首先是我们有了新的 Graviton3 芯片,所以我们将会看到它的巨大性能提升。它将使人们能够以更具成本效益的方式运行更多的工作负载。他们甚至谈到了碳足迹的影响,这也是我们最近经常听到谷歌和微软谈论的话题。
另一件大事是 AWS 之前宣布的 Tranium 芯片现在可以使用了。因为我们知道,在机器学习的战斗中,有两个方面:软件和硬件。所以我们看到了这方面的巨大进步。你最喜欢的公告是什么,马蒂亚斯?
Mattias: 这可能不是我最喜欢的公告,但我不得不说大型机现代化公告是。。。等等,大卫在给我侧目!这里有一些有趣的价值。让人们有机会减少三分之二的项目时间?每个项目都要快三分之二!你不相信我,大卫?
大卫:我只是好奇。它到底在做什么?
马蒂亚斯:我不知道。
大卫:如果它上面有主机标签,就可以用了?
马蒂亚斯:是的,我想是主机制造商的人。。。我确定这是和他们的合作关系。
大卫:他们有主机贴纸可以贴在你的应用程序上吗?
Mattias :它就像一个贴在前面的“主机内部”的小标签。
大卫:嗯,如果它能让你的项目时间减少三分之二,那就完全值得了。
马蒂亚斯:好的。另一件让你印象深刻的事是什么?
大卫:这几乎是我在这里提到的第一件事的延续,但是,机器学习。围绕 ML 肯定有一股推动力,因为你看到他们在主题演讲中花时间重申了他们帮助人们进行机器学习的所有不同方式。然后,他们推出了一个名为 SageMaker Canvas 的新解决方案,它是为那些实际上对数据科学没有任何了解的人设计的,这样他们就可以进入数据并从中获得有价值的见解。这实际上是我们在 SageMaker 自动驾驶仪上看到的扩展。
马蒂亚斯:你甚至都没有编码。你正在使用拖放来组装机器学习管道。它让这项技术更加贴近人们。这就是需要发生的事情。AWS 在堆栈的所有不同层都有这样做的历史。这只是其中的一个。
大卫:绝对是。如果你去查看一下AWS 关于这个的博客文章,它会告诉你它实际上会如何查看数据,并告诉你应该再次使用什么算法,而你不必知道什么算法解决了什么数据问题。
马蒂亚斯:即使是这方面的专家,他们也会花很多时间试图弄清楚这些。但是如果你能有一个真正能帮你解决问题的服务,那就是利用 AWS。这就是我们在这里的原因。
大卫:没错。那么,你还从主题演讲中听到了什么让你兴奋的事情?
Mattias :我总是对无服务器公告感到兴奋。因此,看到现在有了一系列分析工具的无服务器和按需服务,这是非常酷的。特别是,我们有红移无服务器、亚马逊 EMR 无服务器、亚马逊 MSK 无服务器——因此 Kafka 的管理流。我们还有 Kinesis 数据流点播。那很酷。
例如,使用 Redshift 无服务器,当您的红移集群(他们仍在幕后为您管理)空闲时,您根本不需要付费。你正在加载数据,当你停下来的时候,你就停止付费。然后,您可以稍后开始查询,并根据您加载和查询的时间再次开始付费。那真是太棒了。
大卫:这绝对让分析变得更容易,尤其是对那些新手来说。
我想强调的另一件事是——因为对我来说——这是整个主题演讲中最意想不到的宣布,即 AWS 现在有一个私有 5G 产品, AWS 私有 5G 。
这样,他们将打包组织在仓库、工厂等地方部署 5G 所需的一切。我真的很想知道客户将来会如何使用 AWS。
对于希望进行大量物联网工作的组织来说,有时有太多的传感器,传统的通信方法并不理想,这对他们来说可能是一项改变游戏规则的服务,它将简化他们进入 5G 的方式。我们必须拭目以待,但我认为这可能会带来一些令人兴奋的事情。
说到这里,请务必保持关注,因为本周会有所以更多的公告发布,您可以在这里找到您需要的一切。
马蒂亚斯:你可以在推特和脸书上关注 ACG,在上订阅 YouTube 上的云专家来更新 2021 年的发明。你也可以顺便访问我们的 Discord 社区,与 AWS 培训架构师和作者联系,并结识各种其他令人敬畏的阴云密布的人。但最重要的是,保持敬畏,云大师们!
终极 re:Invent 2022 发布阵容!
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022-biggest-announcements
re:Invent 是云计算日历上最大的事件,汇集了来自全球各地的云专业人士,听取亚马逊网络服务的最新主要发布,一周内总共超过 120 个公告!
我们在这里与您分享 AWS re:Invent 2022 最具影响力新闻的最终列表!为了帮助您更深入地了解新闻,我们将分享一些 AWS 社区成员撰写的精彩文章的链接,包括 AWS Heroes、AWS 社区建设者等。
用 SnapStart 解决 Java 的 Lambda 冷启动
冷启动是无服务器计算的一大缺陷。当第一次调用 Lambda 函数时,AWS 将提供一个运行时容器来加载您的代码,并执行该函数。当容器启动并运行时,它可以很快返回响应!但是第一次调用通常要慢得多,从几百毫秒到几秒不等。
Lambda SnapStart 旨在通过简化一些初始启动过程来解决这个问题。它不是从头开始构建一切,而是在“初始化”阶段结束时保存内存和磁盘状态的快照,该快照可以重复使用。它目前支持使用 Coretto 的 Java,但由于它使用鞭炮的原生快照功能,我们可能会看到这种扩展在未来,并将是一个巨大的福音运行时喜欢。网!
我们已经在我们的博客上写了一份详细的摘要,地址是 Lambda SnapStart:我们从 re:Invent 2022 中了解到的内容,还有一个由 Jeff Barr 自己写的很棒的博客,题为用 Lambda SnapStart 加速你的 Lambda 函数。最后,来自 Datadog 的 AWS 社区构建者 AJ Stuyvenberg 发布了一篇名为介绍 Lambda SnapShot 的精彩社区博文,他在文中反思了对无服务器开发人员的启示。如果您想了解更多信息,这两者都是很好的资源!
阶跃函数分布式映射的极端并行化
云计算最大的范式转变之一是我们处理并行化的方式——同时做许多事情。我们可以把一项任务分成 100 份,并行运行,用几乎相同的成本在一个小时内完成,而不是花 100 个小时。
Step Functions 已经支持多达 40 个并发执行,但是有了新的分布式映射流,Step Functions 现在支持多达 10,000 个并发执行。这是如此之高,以至于你不得不提高你的 AWS Lambda 服务限制来使用它。
AWS 首席开发人员支持者 Sébastien Stormacq 写了一篇很棒的博文,他在博文中演示了新流程的使用,并就Step Functions Distributed Map——大规模并行数据处理的无服务器解决方案中的理想用例提供了一些建议。
使用 EventBridge 管道删除粘附代码
当云服务相互交互以创造真正的价值时,它们的最大威力就显现出来了。在处理不同的服务时,我们经常需要编写将两者集成在一起的代码;我们通常称之为“胶水”。例如,我们可能将消息接收到 SQS 队列中,在我们过滤掉必要的消息之后,我们希望由阶跃函数状态机来处理该队列。到目前为止,我们不得不编写一个额外的 Lambda 函数来进行集成。
输入 EventBridge 管道;它的名字来源于我们在脚本语言中经常使用的管道(|
)来在命令之间传递信息。有了 EventBridge Pipes,我们可以抛弃大量杂乱的粘合代码,在事件的生产者和消费者服务之间配置点对点集成,包括过滤和丰富数据的内置功能!
这是 re:Invent 2022 最有趣的版本之一,AWS 首席开发人员 Donnie Prakoso 撰写的文章New——使用亚马逊 EventBridge 管道在事件生产者和消费者之间创建点对点集成涵盖了其工作方式的完整示例。参与这项服务的 AWS 首席工程师 Nik Pinski 也在他的 Twitter 帖子 EventBridge Pipes 中分享了他的想法。
使用 AWS 应用程序编辑器进行可视化构建
无服务器解决方案令人望而生畏,因为涉及到许多移动部件,以及它们相互作用的方式。尤其是因为当您以敏捷的速度跨分布式团队构建解决方案时,以一种可访问的方式记录所有这些信息不是一件容易的事,更不用说构建基础设施作为其背后的代码解决方案了。
AWS Application Composer 提供了一个可视化设计器,允许您通过拖放界面构建无服务器应用程序,该界面显示了各个组件以及资源之间的链接。通过生成 CloudFormation SAM 模板,您的架构图可以主动跟上代码的变化。如果这听起来像 Stackery,那也不是巧合!
构建开发人员体验,使采用无服务器解决方案变得更容易是一个巨大的优势,AWS 首席专家解决方案架构师 Luca Mezzalira 的博客文章标题为使用 AWS Application Composer 可视化和创建您的无服务器工作负载是一个很好的起点。AWS 社区构建者 Danielle Heberling 也在她的博客文章中写了一篇很棒的文章, AWS Application Composer,我们需要的应用构建未来。
用 Amazon Inspector 对 Lambda 函数进行漏洞扫描
您知道代码中运行的所有依赖项吗?如果您曾经见过 node_modules 目录的总大小,您可能会三思而行。去年的 Log4j 漏洞应该让我们所有人警惕我们的软件在深深的依赖关系中的潜在漏洞。Amazon Inspector 多年来一直是一个方便的选择,现在它包括与 AWS Lambda 函数的集成。
一旦你启用了 Amazon Inspector,它就可以开始扫描你的 Lambda 函数中已知的漏洞,从而更容易找到并修复最大的问题。亚马逊检查员去年看到了巨大的提升,这是一个非常受欢迎的补充。如果您还没有针对 Lambda 函数的源代码漏洞管理解决方案,那么一定要看看这个,即使是为了找出您可能不知道的已经存在的东西。
AWS 首席开发人员 Marcia Villalba 的官方博客文章名为Amazon Inspector Now Scans AWS Lambda Functions for vulnerability给出了该功能及其关键点的可靠概述,您可能也想看看 AWS 无服务器英雄 Jones Zachariah Noel 的博客文章Amazon Inspector Now can scan AWS Lambda Functions,他分享了他的经历!
使用 Amazon CodeCatalyst 简化开发(预览版)
当开始一个新项目时,总有时间花在准备工作上。源代码存储库、文件夹结构、CI/CD 管道、问题跟踪器、文档等等。CodeCatalyst 使您能够创建新的项目,构建和准备您直接开始编写代码所需的一切。CodeCatalyst 提供了许多现成的蓝图,它们都是非常可定制的,并且允许您以标准的方式构建项目。
这实际上是去除一些无差别的繁重工作,并提供了无需努力工作就能获得更大一致性的机会。这填补了与五年前发布的 AWS CodeStar 非常相似的空白,但似乎从未走得很远。我计划在一个即将到来的项目中试用 CodeCatalyst,但它在未来如何工作,时间会证明一切!
AWS 高级开发人员 Steve Roberts 在博客文章中介绍了 CodeCatalyst 中的许多不同功能,该文章宣布了 Amazon CodeCatalyst,这是一种统一的软件开发服务(预览版)。AWS 社区构建者 Jatin Mehrotra 也探索了这个工具,在他的博客文章中展示了使用 AWS CodeCatalyst 构建项目的过程:我创建并部署了一个 React SPA #reinvent 。
使用 Amazon OpenSearch 无服务器灵活配置(预览版)
OpenSearch Serverless 现在在 Public Preview 中可用,这消除了管理特定集群的需要,而是根据需要创建您的集合,并让 AWS 为您处理供应和扩展,如果您正在处理大型动态工作负载,这将非常有用。
编辑观点:我不喜欢这种被称为“无服务器”的服务,因为它仍然是按照计算单元的持续时间来定价的,而不是按照请求或类似的弹性合适的工作单元来定价。这项最低水平的服务目前每月花费 700 多美元,这可不便宜。相反,将其描述为自动伸缩更好,对于那些非常大且不可预测的工作负载非常有用。该服务仍处于预览阶段,可能会发生变化。同样值得称赞的是,服务团队的成员一直积极参与社交媒体对此的讨论,并承认这种观点是存在的。
如果您正在运行这种类型的大型动态工作负载,那么值得看看 AWS 首席开发人员 Channy Yun 的博客文章,他是Preview:Amazon open Search server less-Run Search and Analytics Workloads without Managing Clusters的作者。
用亚马逊 VPC 点阵抽象网络复杂性(预览版)
网络是我们在现代计算中构建的一切的基础,现代云也不例外。网络工程师需要能够控制和扩展他们的网络,同时开发人员也在不断地构建网络。VPC Lattice 引入了一个新的抽象层,称为服务网络,简化了跨 VPC 和帐户的连接,使构建跨复杂网络拓扑的服务变得更加容易。
对抽象的自然关注是它会导致粒度控制的丧失。在 Dave Brown(AWS Amazon EC2 副总裁)的会议上,他重申了网络管理员仍然保留他们习惯的工具(如安全组、流量日志和流量镜像)是多么重要。虽然这仍然只是在一个地区(俄勒冈州/美国西部-2)的私人预览,我们还需要一段时间才能看到它被广泛使用,但它有一些有趣的前景。
AWS Chief 首席布道者 Danilo Poccia 在他的文章介绍 VPC Lattice——简化服务对服务通信的网络(预览)中给出了一个使用 VPC Lattice 构建混合的有服务器/无服务器服务的演示。如果你正在与网络复杂性作斗争,这是一个值得一看的。
利用亚马逊数据区进行跨边界分析
每个现代组织都依赖于数据。旧的模式是,您可能有一个或多个特定的团队来处理整个数据生命周期中的所有数据,但事实是,现在整个组织都在生成、维护和使用数据。不相信我?问你的市场部。
Amazon DataZone 已在一次私人预览中宣布为即将推出的解决方案,使您的数据生产者能够共享他们所拥有的内容,并将他们与您的数据消费者连接起来,以与您的业务相关的方式访问数据,并且在您的数据治理控制的范围内。
亚马逊数据区的 AWS 产品负责人什卡·维尔马在数据和机器学习主题演讲(在 1:05:38 到 1:14:35 之间)期间,给出了一个组织内部用例以及新工具演示的精彩示例,我强烈推荐这个示例。AWS 无服务器英雄和 DataEngBytes 会议组织者 Peter Hanssens 将其描述为数据工程领域的任何人的最大的 re:Invent 2022 公告,因此它绝对是一个值得观看的!
机器学习的治理解决方案
很容易忘记机器学习和算法在多大程度上驱动了我们的世界。AWS 让我们可以使用非常强大的工具,并且很容易忽略我们正在构建的东西的影响。作为建设者和技术领导者,我们需要知道我们如何使用机器学习,并且我们正在有效地、负责任地这样做。
亚马逊 SageMaker 的新 ML 治理工具为我们提供了一系列工具来帮助治理我们的 SageMaker 解决方案及其使用。我们还有新的 AWS 人工智能服务卡,它为我们提供了如何利用 Rekognition 和 Textract 等服务实现最大责任效率的指导方针。
AWS 首席开发者倡导者 Antje Barth 的博客介绍了Amazon SageMaker 的新 ML 治理工具——简化访问控制并提高 ML 项目的透明度涵盖了这些新的解决方案,为您提供了一个了解这些新工具的地方
10,000 英尺视图,带 SageMaker 地理空间(预览)
当亚马逊位置服务去年发布时,我们没有与 AWS 机器学习功能的强大套件进行更多集成,这令人感到奇怪。在这里,AWS 正在为此打开大门,亚马逊 SageMaker 地理空间正在向公众发布预览。
能够使用云移除、地理镶嵌和不同的统计函数等解决方案来处理影像,它将许多方法结合在一起,以增加一些已经存在的数据,再加上矢量丰富选项,如反向地理编码。根据我自己作为 GIS 操作员在应急管理部门的经验,这些有一些非常方便的可能性。看看 AWS 打算如何通过此服务增强我们的选项,以及它将如何与 Esri 的 ArcGIS 等 GIS 解决方案进行比较,这将是一件有趣的事情。
通过 AWS 博客文章预览查看一些现在可用的功能:使用 Amazon SageMaker 来构建、训练和部署使用地理空间数据的 ML 模型。
利用亚马逊供应链增强物流
理解、处理和分析你的供应链是任何企业的关键职能。正如这十年所显示的,全球供应链极其脆弱,能够识别我们的风险是管理它们的第一步。随着亚马逊成为世界上最大的零售商,他们利用 AWS 技术来支持他们的物流运营就不足为奇了,现在您也可以这样做了!
亚马逊供应链与您现有的 ERP 和供应链解决方案协同工作,统一信息并提供由 AWS 的机器学习服务和见解支持的覆盖。它仍在预览中,看看它如何发展会很有趣。查看 AWS 供应链服务页面上的信息,了解更多信息。
gameloft anywhere 全球多人游戏
多人游戏开发者总是与一个敌人作战。技术术语是延迟,但游戏玩家最熟悉的是“滞后”,以及沮丧的最终尖叫。GameLift 提供了通过 AWS 部署和自动扩展多人游戏服务器的能力,但开发人员也希望能够在自己的硬件上部署服务器(想象一下测试您的最新补丁!).
Amazon GameLift Anywhere 提供了在您自己的硬件上运行 GameLift 服务器的能力。这有可能被利用来运行在离你的玩家市场更近的其他云提供商上,但是这需要更多的定制工程。关于介绍 Amazon Game lift Anywhere——在您自己的基础设施上运行您的游戏服务器的博客文章涵盖了许多新功能。
利用 SimSpace Weaver 进行大规模仿真
现实世界非常复杂,试图在计算机中模拟它需要大量的计算。SimSpace Weaver 是一种新的解决方案,可以直接插入到常用的引擎中,如 Unreal Engine 5 和 Unity,以缩放、编排和同步一组 EC2 实例,从而在巨大的规模上运行您的模拟。
这项服务实际上是针对需要模拟大规模的数百万实体的特定用户群,例如模拟整个城市的交通流量、模拟灾难或数百万人的移动。一些突出的用例以及如何开始的示例在新的博客文章中有所涉及,新的 AWS SimSpace Weaver–在云中运行大规模空间模拟。
亚马逊组学生物信息学
基因组学给计算带来了一些独特的挑战,主要是因为涉及到大量的数据。尝试以有意义的方式存储、访问和处理数据是云计算带来独特机遇的地方,尽管它仍然非常复杂。Amazon Omics 提供了一个句柄,并处理这些信息以生成有价值的见解。
通过像 Amazon Athena 或 Amazon Sagemaker 这样的解决方案简化数 Pb 基因组数据的处理带来了许多机会。如果你正在寻找这个领域的解决方案,AWS 在上发布的介绍亚马逊组学的博客文章是一个很好的起点,亚马逊组学是一种专门用于存储、查询和分析大规模基因组和生物数据的服务。
AWS re:Invent 2022 day 1:摆脱 Lambda 冷启动,EBS 改进
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022-day-1-overview
AWS re:Invent 2022 来了!根据我们在现场的团队,以下是我们对 re:Invent 第一天的印象以及您需要知道的内容。
这一切都是为了优化性能
在 re:Invent 的第一天主题演讲中,你不太可能听到任何重大宣布,但在效用计算 AWS 高级副总裁 Peter DeSantis 的演讲中,仍然有许多令人兴奋的东西。主题是关于基础设施和提高现有服务的性能,但也解释了幕后发生的事情。
Mattias Andersson 说:“这是一个非常有趣的主题,因为它不仅展示了他们提供的产品,还展示了他们提供产品的方式。“这有助于人们更多地了解系统的功能,因此我们可以有更多的想法来了解如何不被系统绊倒,并利用这些更高的性能特性。”
偷秀者?实际上消除了 Lambda 冷启动
到目前为止,最大的新闻是 AWS 在幕后神奇地消除了 Lambda 引导的启动部分,减少了 90%。这使得它几乎等同于热启动!
David Blocher 说:“他们把这个问题留到了主题演讲的最后,差点就把领先优势给埋没了。”。“这非常令人兴奋,因为它消除了人们转向 Lambda 的最大难点和阻碍因素。”
为了做到这一点,AWS 使用鞭炮作为平台,而不是下面的普通虚拟机,所以他们可以超级快速地启动实例。它不仅因为这些更小的实例而启动快,而且在 Lambda 实例启动的中途拍快照。这意味着它会做你通常会做的事情,让 Lambda 运行,记住这一点,为其他 Lambda 启动。AWS 将此称为 Lambda SnapStart ,这是一个相当时髦的名字(完全是双关语)。
“有几件事你需要做,以确保当你从一个快照回来,你没有任何安全问题的软件,”马蒂亚斯说。“但这是巨大的,因为 Lambda 最大的优势之一是尖峰工作负载,这是 Lambda 真正擅长的,但被冷启动影响拖累了。现在有了 SnapStart,他们可以避免这种情况,使之成为这些工作负载的理想使用情形。”
AWS 使用 SRD 提高 EBS 性能
“在主题演讲中,AWS 宣布它正在使用 SRD(可扩展可靠数据报)来显著提升 EBS io2 卷和弹性网络适配器的性能,”Faye Ellis 说。
“这一切都是为了实现更低的延迟和更高的吞吐量,对于在云中运行延迟敏感型工作负载的客户来说,这将是一件好事。”
第一天的最佳分组会议
在 re:Invent 上有很多分组会议,你可以和专家一起深入探讨。以下是一些突出的例子。
极光无服务器 V2
“Aurora Serverless v2 是 AWS 的首要关系数据库服务,因此了解它们的幕后工作方式非常酷。它现在仍在开发中,而且是无服务器的,但它已经走了很长一段路,非常令人兴奋。对于关系型应用来说,这是一个非常好的选择。
基于云的人才管理战略
" Drew Firment 的环节真的很有意思。它谈到了云技能差距,但领导力差距是一个更基本的问题。人们只是不知道他们的东西,但领导有能力解决自己员工的技能差距,所以这是一个首要的领导问题。~马蒂亚斯·安德森
“我能够赶上德鲁·费明特的会议,这太棒了。关于关键岗位上未经培训的员工数量,所展示的统计数据非常令人震惊。云培训不会很快消失,这在某种程度上是确定无疑的!”安德鲁·埃斯蒂斯
AWS 全球加速器
“AWS Global Accelerator 是一个聪明的联网工具,你可以直接跳到离最终用户更近的终端上,遍历 AWS 内部网,而不是公共内部网。有很多很酷的理论,关于它如何在长距离上获得更好的正常运行时间,而不是端到端地停留在传统的互联网上。大部分距离是在 AWS 的超级优化的互联网上,这是我学到最多的会议。”~大卫·布洛彻。
再发明的地面印象
“除了非常棒的展位设置——比如我需要尝试的 AMD VR 展位——老实说,再次看到大量的人见面并面对面交谈真是太棒了。我非常期待我预定的许多网络和安全会议!我绝对迫不及待地想把它们融入我的训练中。”~安德鲁·埃斯蒂斯
“我花了一天的大部分时间与人交谈,与老朋友和新朋友叙旧!一个意想不到的亮点当然是遇到一个打扮成巨大的 S3 水桶的人,这只是通常只发生在 reinvention 的另一件事!我非常期待亚当·塞利普斯基的主题演讲,期待有很多惊喜!”~菲伊·埃利斯
“我今天看到的最好的东西是世博大厅里所有的互动和身临其境的小玩意。像奥尼察在 Rackspace 的展位有一个绿色屏幕。另一个摊位有一个带镜子的通道。还有 VR 游戏!当然,深度赛车区今年也很棒。我认为身临其境的效果将有助于与会者记住他们在每家公司的经历,也将提供一份不错的 AWS——有些时候我们都呆在外面。”杰斯·阿尔瓦雷斯
“我认为《可再生能源:发明》的第一天是基础性的。我期待着爆炸性的消息。老实说,我不知道会发生什么,但不管接下来会发生什么,我都很兴奋!”~大卫·布洛彻
“一整天都很充实,就像在 re:Invent 的每一天一样,而且总是很棒!我期待着一切,从主题演讲到会议,与其他人联系,重播聚会,你能想到的都有。”~马蒂亚斯·安德森
跟上 AWS 的一切:发明 2022
查看 ACG 和 Pluralsight re:Invent 内容中心以了解 re:Invent 2022 的所有信息。
你也可以在推特和上关注 ACG和【脸书】上关注,在 YouTube 上订阅云专家上所有你能处理的关于 re:Invent 2022 的更新!
加入我们令人敬畏的 Discord 社区,与 AWS 培训架构师和其他志趣相投的阴云密布的人进行数字交流。
AWS re:Invent 2022 Swag Review
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022-swag-review
有没有用一件赃物写博客帖子?我现在就是!在今年世界上最大的云会议 AWS re:Invent 上有很多战利品。
这是我的第五篇 re:Invent(点击查看2019201820172016),之前也收集过一二。如果你没有看到你公司提供的东西,那不是因为我讨厌你,而是因为我可能已经做过了,或者我只是没有时间去找你。如果你想给我发一张你的赃物的照片,我会很乐意把它加在这里!
今年我差点被打败了,因为展位太多了。我知道我没有做到,但我尽了最大努力,在几个朋友的帮助下,我会尽量给你这个疯狂事件最完整的评论。
但是,在我们开始之前,我们需要回到 2021 年。
2021 年,我飞不出澳大利亚。这个世界仍然是一个有点疯狂的地方,但一个小得多的重新发明仍然发生了。这是 re:Invent 的第 10 个年头,有一件非常特别的礼物是我最棒的朋友 Mattias 设法为我搞到的,那就是 re:Invent 10 年夹克:
马蒂亚斯为我保存了一年,并于本周给了我。非常感谢他,我认为它看起来棒极了,你可能已经看到我今年戴着它了!
哦,他还送了我去年的球衣,太酷了!
好了,现在这就不碍事了,让我们看看 2022 年吧!
亚马逊
我们每年都从帽衫和瓶子开始。
在 2019 年我们有一件漂亮的蓝色帽衫,在此之前还有几件黑色帽衫。我不得不说:绝对不是今年帽衫的粉丝。
标签
我喜欢这个想法,乍一看觉得很酷,但是如果你在亚马逊营销团队,你肯定可以找到一些技术人员来帮助你写你使用的“techy”标签。为什么要有右方括号?第一个在哪里?这是什么语言?我可以把你介绍给 T4 吗?
厚度 很棒的材质,很棒的厚度,活动期间外面冷得要命,所以一点抱怨都没有。2016 年最好,2017 年太瘦。
颜色
大部分是黑色。兜帽里面有一点蓝色。它一点也不显眼,我真的认为这是我见过的最少磨损的帽衫。多年来,整个帽衫都是蓝色的,拉斯维加斯大道上站满了穿浅蓝色衣服的人,你可以很容易地认出他们并与之交谈。
请注意:如果这真的是你的意图,做一些技术人员会在活动结束后穿的衣服,那么让它融入我们单调的衣柜可能是一个不错的主意。但对我来说,这并不像是一件特别的重新发明的帽衫。把它弄亮!将颜色加粗!如果你在 AWS 工作,并且认识设计团队,请向他们展示我用 photoshop 花了 10 分钟假装对设计有所了解:
夹杂图钉 不是赃物,但绝对值得称赞。AWS 提供包容胸针来展示他们的多样性和包容性文化,允许您显示您的代词、从属关系和您如何沟通。红色/黄色/绿色大头针有一个可移动的指针,显示你是否愿意交谈,或者更喜欢只是看看,而不是被接近。
AWS 村位于展馆的中间,在这里你可以和 AWS 工程师谈论他们提供的任何产品。一些摊位上有不同的商品出售,今年主要是可以用优惠券兑换的衬衫,你必须拿回礼品柜台才能获得。
我设法偷了几件这样的衬衫和一个内置磁杯的漂亮瓶子。
走廊 推出了新的服务,热门提示:他们有时会在走廊里分发这些东西!在服务宣布两小时后,我就拿到了新的 AWS CodeCatalyst 衬衫
一周以 re:Play 结束,re:Play 永远有衬衫!今年只有一个选择,尽管我觉得很奇怪,日期是 1 月 12 日😛
我认为这很酷,口香糖显示了人们去过多少次重新发明。我有我的浅绿色的!
AWS 现代应用和开源区 在威尼斯人酒店的三层,这个小区域有一个抓爪机和 DDR 街机,整个星期都在娱乐人们。我回去了几次,试图赢得 kindle,并大喊朱莉运行爪机!他们有袜子、发光太阳镜、AWS 保温杯、发光腕带、插座、亚马逊 echo 设备和无服务器 SAM plushies!我当然设法得到了其中的大部分..除了 kindle。😢哦,他们还有一百万张贴纸!
不可能的毯子/披肩
赃物柜台上有一条毯子/披肩。这是红移品牌。它看起来毛绒绒的,柔软舒适。尽管我们联系了多名 AWS 员工,甚至 Red Shift 产品经理,但尽管我们尽了最大努力,还是无法找到申领这一特殊商品所需的凭证。如果有人能给我一个,请告诉我😉
社区建设者 我是一名 AWS 社区建设者在我们的年度聚会上,我们都得到了一个非常棒的杯子。这东西太大了。你要喝多少咖啡?!感谢杰森·邓恩领导这个来自世界各地的令人惊叹的社区。
用户组领导人 我也是 AWS 用户组领导人,我们还在 re:Invent 开了一次会和交流会。这个活动太棒了,我们都带了一些很酷的纪念品回家!有一个背包,衬衫,鼹鼠皮笔记本,甚至还有一个花盆!想尝尝这个超赞的东西吗?在你的地区建立一个本地用户组!
认证休息室 AWS 认证休息室对任何获得认证的人开放。他们总是有好的食物,好的东西,这是一个认识很棒的人的好地方。今年他们有了一件很棒的 t 恤和一个自己搭建的乐高雕像架!
参加 re:Invent 慈善 5000 米跑是每年的传统。45 美元的报名费将捐给弗雷德·哈钦森癌症中心,该中心将创新研究和富有同情心的护理结合起来,以预防和消除癌症和传染病。
包容、多元化和公平小组 AWS Jam Lounge 每天都有许多不同的迷你摊位在营业,当我参观时,所有这些精彩的内部包容、多元化和公平小组都在展示。前台有我见过的最闪亮的笔记本,还有展台周围其他小组分发的许多东西。
如果这些还不够的话,AWS 几周前推出了一家 merch store 。虽然有一个网上商店,但也有一个在世博会大厅的实体存在。其实每次走过都超级受欢迎。当然,我抓住了飞行员夹克。看起来太牛逼了!
我相信这是所有严格 AWS 的赃物,但如果我发现更多,我一定会添加它!
和往常一样,我总是选择一些我认为绝对最好的物品,或者是独特的,或者仅仅是捐赠它们的组织的慷慨。我认为,从我刚刚拍摄的这张照片中可以很明显地看出,哪件物品是我的最爱之一:
由launch crystallybooth 发布的 Keychron K7 键盘简直太棒了。我们演示了他们的产品,随后进行了快速抽奖,并带走了这些令人敬畏的键盘。感谢黑暗发射!我现在正在用它写我的赃物评论😉哦,他们还有衬衫、贴纸和袜子!
我的另一个赢家是 Veeam !在活动期间 Anthony Spiteri 邀请 AWS 英雄和社区建设者参观他们的展位,我们带走了一个便携式按摩器!非常牛逼!
另一个很棒的抢手货,非常感谢 Pluralsight 提供了极其罕见且难以获得的毯子/毛巾,看起来棒极了。迫不及待地想让这个东西下周回到澳大利亚的夏天!除了贴纸、帽子和衬衫之外,Pluralsight 还通过一周的时间为他们定制的 crocs 和巨大的乐高套装进行了一系列抽奖。
我今年的最后一个奖品是由 NetApp 的 Spot 定制的喷枪帽子,它的独特性和简单而又令人敬畏。他们看起来太棒了!
特别提及
只有 12 件这样的衬衫,我很高兴收到一件来自 getampt.com 的最热门的新创业衬衫!谢谢杰里米和艾姆拉。
展台运行
好了,是时候去看看其他的摊位了。这里没有优先顺序,也没有最喜欢或最不喜欢的摊位。每个摊位的工作人员都很好交谈,他们都非常努力,工作出色。我做过摊位工作,这是有史以来最累人的事情之一,所以谢谢大家!让我们看看提供什么..
今年 Salesforce 有了自己的房间,提供一些袜子和贴纸(可能还有其他东西,抱歉我看得不够久!)
Veeam 有很多小玩意,比如电动银行和可折叠水瓶。
Informatica 有一个旋转的转盘,上面有很多奖品。
Dynatrace 也有一个旋转轮子的东西,我不认为线变短了。当我经过时,它总是很大。有很多衬衫。任天堂交换机,anker 电源银行,DJI 无人机,手提袋和水瓶。巨大和令人敬畏的各种各样的东西!
Apptio 有一个吃豆人风格的游戏,你可以玩,并得到一个黏糊糊的蓝色花花公子。我玩了..拿到了高分!不知道这之后有没有人打我…
有几件很棒的衬衫,并且有能力赢得 3 年的特斯拉租约或 25,000 美元!这是个超赞的奖品。哦,还有一套很棒的 F1 乐高玩具!
雪花有一个提供很多奖品的滑雪机游戏。
加特林有帽子,帽衫,贴纸和扑克筹码。
Weka 正在分发超棒的乐高玩具、头盔和高尔夫球压力球。
Stromasys 有一个巨大的任天堂乐高套装和一个鞋拔/挠背组合!
uptycs 赢得了 oculus 耳机和一个巨大的乐高 AT-AT!
CloudBees 有一个装满好吃的东西的抓爪机。
Solace 有那些罂粟地面的东西和一个可爱的小 plushy,你可以赢得一辆电动滑板车!
Modus Create,Inc. 有饮料瓶、钥匙圈和包。
Megaport 有糖果、星巴克礼品卡、充电线和任天堂开关可以分发。
Ubuntu 有一只机器狗(!!!)和贴纸!
InfluxData 有最可爱的贴纸、乐高助推机器人和超棒的袜子!他们还有一个咖啡摊,任何人都可以免费使用。
《星爆》有一些很棒的星球大战主题的帽子和衬衫,还有闪亮的贴纸!
Segment 我们赠送了一把 Fender 吉他,还在他们的展位上安排了一台激光雕刻机来定制您的水瓶!
你总能分辨出谁拜访了克里布尔,因为他们总是从背包里掏出一把轻型军刀!他们也有一些衬衫和贴纸。
蟑螂实验室以你的名义捐赠,并且有贴纸和别针!
Qantiphi 在捐树!
Dreamio 有最可爱的 Gnarwall Gnar Wars swag!
Tamr 有贴纸、布、笔和 push pop 坐立不安玩具。
Qlik 有袜子,眼镜和其他一些好东西。
etleap 有贴纸和最可爱的青蛙。
SingleStore 有一个魔术师,正在分发卡片、薄荷糖和扑克筹码。
Domo 有一个巨大的饮料冷却器,并分发 coozies 和许多可怕的雪人设备。
汇合赢得了一台 iPad mini,以及迷你手机支架!
数据砖有开瓶器和贴纸!
IBM Cloud Stories 有蜜蜂、帽子和瓶子。
Navisite 有一个西瓜冰站,袜子,笔,巧克力和眼镜..还是个宇航员!
JFrog 有一件很棒的衬衫、贴纸、笔,当然还有一只青蛙!
Pagerduty 有他们的奖励轮,有许多东西可以赢取。
孔有最可爱的绒毛,别针,t 恤和贴纸!
炫耀他们最新的衬衫(他们总是有很棒的衬衫)。
Fosfor 有一个 huuuuuge 乐高套装,鸡尾酒套装,贴纸和其他一些好东西。
Presido 有充电线、笔记本和笔。
Harness 有这么多马里奥乐高!太棒了,我都想要。
Mend 有一些瓶子、开瓶器和笔。
Sisense 有一些非常好的袜子和手提袋!
Cloudfix 不仅有一整柜令人惊叹的东西:
..但我随后被邀请参加他们在凯撒宫套房的“赠品之夜”,就在 re:Play 之前,他们给了我们一些产品演示,甚至还有更多赠品!你可以从一大堆雪人瓶子、礼品卡、杯子和一个很棒的米兔旅行包中选择,这是我挑的!
奎利有最可爱的奎利..抱歉,考拉压力玩具和迷你玩具飞机和纸牌。
BigID 有魔方和贴纸。
拥有最漂亮的云袜子和贴纸的 Skyflow。
科利布拉有高尔夫球、笔记本和帽子!
Couchbase 有一个漂亮的手提袋,还有可重复使用的吸管和一堆科里·奎因的贴纸。
泰克系统公司有袜子、魔方和黏糊糊的云状物。
艾文有袜子和贴纸,你可以赢得一辆很棒的电动滑板车。
德鲁瓦有一个旋转赢得袜子,可折叠 coozies,一个 xbox 和雪人杯!
logz.io 有一件很棒的圣诞毛衣,我差一点就错过了。
Stacklet 有辆好车和饮料瓶。
Virtasant 有我见过的最鲜艳的袜子,一个很棒的水瓶和一个 USB 保温杯!
Caylent 有最可爱的贴纸、唇膏、糖果和兰德尔·亨特!
颗粒有一个很棒的篮球主题,有压力球和袜子。
Moogsoft AIOps 拥有最可爱的奶牛和与奶牛相关的配件。
Netapp 有一顶无檐帽、powerbank、可爱的大象和一些袜子
这可能不是赃物,但德勤有一只波士顿动力公司的狗。
MongoDB 一如既往地有很棒的袜子,一些贴纸,润唇膏和一整个奖品亭,在那里你必须抓住树叶并把它们推过小槽。我用脸抓的比用手抓的多。许多奖品可以从手提袋、腰包和烦躁玩具中获得(还有一些很难赢得的耳机!)
Mission 为抽奖准备了一些很棒的东西,包括定制的 xbox、airpods、oura 戒指和一整辆电动自行车。
火弩箭有我见过的最整洁的摆满了衬衫、帽子、汽车、袜子和杯子的货摊。
现在我知道我在这里评论的是赠品,而不是实际的展位,但 Wiz 在展会上有最好看的展位。一个++给你的设计师。他们也有很棒的袜子和笔记本。
Rapid7 还推出了一款踏板车,还有黏糊糊的云和小机器人。
红帽魔方不会出错,他们每天都在抽奖中赠送 AirPods Max。
F5 每天都有无人机赠品,还有他们的衬衫。
克卢米奥有一个定制 t 恤丝网印刷站!
Rackspace 的奥尼察有无人机和贴纸。
TD Synnex 有一些很棒的可折叠水瓶和笔记本。
印孚瑟斯钴有这些手工制作的小雕像,据说可以带走你所有的负面情绪。我抓了一个,实际上现在感觉非常好,所以我相信它们非常棒!
Rockset 的人很喜欢聊天,他们赠送了 PS5、贴纸和一个很棒的威士忌酒杯!
波特沃克斯有一些非常好的袜子、贴纸和笔。
N2WS 有乐高兰花!
Snk 的抓爪机里有这些可爱的小绒毛。
唷!对我来说就这些了,如果你还醒着的话,谢谢你滚动到这里!
正如我在博文开头所说的,我知道我没有去每个展位,我非常乐意把你们公司的赠品添加到帖子中。如果我在展会上错过了你,请联系 Twitter 或 LinkedIn 。
如果你感兴趣的不仅仅是赃物,还想了解今年 re:Invent 发布的更多信息,请继续关注 re:Invent re:Caps!即将出现在你身边的屏幕上。
2023 年见!尼克
AWS re:Invent 2022 Sawmi 主题演讲
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022-swami-keynote
随着 AWS 数据库、分析和机器学习副总裁 Swami Sivasubramanian 博士上台宣布自己的几项声明,我们轰轰烈烈地开始了第三天的活动。我们的实地专家有一些想法:
David Blocher
“Swami Sivasubramanian 博士的主题演讲是关于数据和机器学习的。他讲了很多关于建立 AWS 的结缔组织。看起来所有的构建模块都已经就绪,AWS 正在努力让所有的东西都互联起来,以便在 AWS 上使用多种不同的数据服务。他还宣布了 S3 和红移的集成,专注于 AWS Glue 数据质量的数据质量,并讨论了新的机器学习计划。我特别感兴趣的是 ML No Code 解决方案是如何工作的,以及如何在整个组织中使用它。”
杰斯·阿尔瓦雷斯
“对我来说,数据通常是个枯燥的话题。所以对今天的事情感到兴奋对我来说是件大事。我非常喜欢演示,今天我们有两个演示。有一个关于 SageMaker 的新地理空间功能的超级酷的功能。然后是亚马逊数据区,这真的很棒。她经历这一切的速度令人难以置信。然后,当然,红移中的多 AZ 让我大声喊着‘终于!’"
Jeremy mor gan
“Swami 博士谈到了工具,走进了性能,然后用安全性结束了它。除了所有的声明和功能之外,对我来说最突出的事情之一是他们使用该技术的一些方式。他们围绕它创造了引人注目的故事。作为应对自然灾害的第一响应者,地理空间功能真的很酷。我看着那部电影,觉得这是对科技的惊人运用。一些演示也给我留下了深刻的印象。AWS 似乎在为每个人减少摩擦。”
Mattias Andersson
“今天早上关于数据和机器学习的主题演讲非常有趣。它从谈论组织需要如何架构他们的数据框架开始,这样他们就不会随着时间的推移而重新架构它们。“数据战胜直觉”是一句有用的名言。然后,他们确实回到了无差别的繁重工作中,为了我们的缘故,他们将要承担这些工作。他们继续发布了一系列关于安全性和不同治理特性的有趣公告。他们在主题演讲的最后强调了教育和缩小技能差距,以确保使用这些东西的人能够有效地使用它们。”
Andru Estes
“一些外卖食品确实吸引了我的眼球和耳朵。前两个与技术相关。首先是 AppFlow 的 50 多个连接器,我认为这将极大地帮助从第三方供应商获取数据。下一个是 Amazon Redshift 多 AZ 部署,如果您使用 Redshift,您就会知道这将是多大的救命稻草。
我听到的最后一件事是关于美国 54,000 名计算机科学学位毕业生的声明,然后显然是大量的工作即将到来。一开始我觉得这很令人兴奋。但现在我想知道,是否因为像 Pluralsight 和 Cloud Guru 这样的平台,学位毕业生越来越少了,在这些平台上,学生可以进行自学,获得实践经验,学习他们在现实世界场景中需要的所有东西。"
跟随所有关于“重新发明 2022”的报道
查看 ACG 和 Pluralsight re:Invent 内容中心以了解 re:Invent 2022 的所有信息。
你也可以在推特和上关注 ACG和【脸书】上关注,在 YouTube 上订阅云专家上所有你能处理的关于 re:Invent 2022 的更新!
加入我们令人敬畏的 Discord 社区,与 AWS 培训架构师和其他志趣相投的阴云密布的人进行数字交流。
AWS re:Invent 2022:周二的 7 大要点
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022-tuesdays-top-7-takeaways
这是 AWS re:Invent 2022 的第二天,它没有让人失望!正如昨天的文章所预测的,今天有很多新的公告,事件还远没有结束。我们在每日更新中为您总结了最有趣的 AWS 新闻。
亚马逊数据区简介:大规模处理企业数据
AWS 在 re:Invent 大会上推出了亚马逊数据区,这是一种新的数据管理服务,可以帮助你大规模共享、搜索和发现数据。现在,无论数据存储在何处,您都可以获得洞察力并访问数据。这意味着能够跨组织边界查看和管理数据,以实现与其他团队的快速协作。
根据 AWS 的说法,这意味着帮助监管组织数据资产的管理员和数据管家管理对数据的访问,以便“在正确的上下文中以正确的权限级别访问数据”
AWS 宣布“如今,组织收集分布在多个部门、服务、内部数据库和第三方来源(如合作伙伴解决方案和公共数据集)的数 Pb 甚至数 EB 的数据。
“组织必须平衡控制需求(以确保数据安全)和访问需求(以推动新的见解),但实施考虑到整个组织中各种数据、部门和使用情形的治理策略是一项挑战。
亚马逊安全湖首次亮相
亚马逊安全湖(Amazon Security Lake)是一项新服务——目前处于预览阶段——将所有与安全相关的数据汇集到一个数据湖中。它从诸如 CloudTrail、VPC 流日志、GuardDuty 和 Inspector 等 AWS 服务获取信息。但它也通过安全合作伙伴连接到内部数据。
亚马逊安全湖的预览版现已在美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(悉尼)、亚太地区(东京)、欧洲(法兰克福)和欧洲(爱尔兰)地区推出。
全面的 Apache Spark 与红移集成
扔掉那些第三方连接器!开发人员现在可以轻松地为 Redshift 构建 Apache spark 应用程序,无论他们是在 Sagemaker、AWS Glue 还是类似的服务中工作。
要开始使用,您可以访问 AWS analytics 和 ML services,并在 Spark 作业或笔记本中使用数据框或 Spark SQL 代码来连接亚马逊红移数据仓库。您需要首先设置 AWS IAM 认证。
哦,还有一件小事:Opensearch 现在是无服务器的
无服务器的粉丝们欢呼吧!好吧,澄清一下,我们现在有了“亚马逊开放搜索服务的新无服务器选项的预览版”。因此,您可以使用 OpenSearch,而无需管理集群大小或实例类型或任何类似的东西。好多了!
带 Q 的最大似然预测
不是《星际迷航》里的 Q,但是如果你可以用它来预测未来,它还是很强大的。带 Q 的 ML Powered forecasting 是一种新的用于分析商业数据的自然语言查询。用户现在可以快速方便地查看业务绩效预测。它允许不是分析师或数据科学家的人获取他们需要的信息。
simscape weaver 进入大楼
借助新的 SimSpace Weaver 服务,您可以使用 EC2 实例运行大规模模拟。运营规划人员通常会对灾难响应、活动期间的交通控制以及许多其他应用进行模拟。
传统上,这些模拟是在单台机器上运行的,但是 SimSpace Weaver 可以在多个 EC2 实例上运行,并且可以快速扩展。
具有 AWS 保护功能的容器液位检测
守卫职责将很快提供集装箱级别的运行时威胁检测。虽然守卫职责已经保护了 EKS,但它现在将更深入到容器级别,以确保您的应用程序尽可能安全地运行。
下雨时,倾盆大雨
这是一大堆公告!还有大量新的 EC2 实例类型可用,比如 Graviton 实例——太多了,无法在此列出!请继续关注我们的报道,并一如既往地成为令人敬畏的云大师!
跟上 AWS 的一切:发明 2022
查看 ACG 和 Pluralsight re:Invent 内容中心以了解 re:Invent 2022 的所有信息。
你也可以在推特和上关注 ACG和【脸书】上关注,在 YouTube 上订阅云专家上所有你能处理的关于 re:Invent 2022 的更新!
加入我们令人敬畏的 Discord 社区,与 AWS 培训架构师和其他志趣相投的阴云密布的人进行数字交流。
AWS re:Invent 2022:周三的顶级外卖
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022-wednesdays-top-takeaways
周一,我们得到了令人兴奋的消息,λ寒冷开始成为过去,周二发布了一大堆公告。那么周三要带什么呢?以下是你需要知道的关于 re:Invent 2022 第三天发生的事情!
关于机器学习还有很多要学
今天,AWS 负责数据库、分析和机器学习的副总裁 Swami Sivasubramanian 博士走上了舞台。在首席执行官亚当·塞利普斯基昨天的主题演讲之后,我们迫不及待地想听听他要说些什么!
Sivasubramanian 博士首先谈到我们如何需要一个面向未来的数据基础,一个我们不需要不断重新架构的数据基础。他强调,没有为明天构建的战略,企业将失去竞争优势,并重申我们应该让 AWS“移除无差别的重担”。他的演讲还呼吁在我们的组织中编织结缔组织,并通过工具和教育使数据民主化。
主题演讲的主题是“数据是极其强大的”,他用几种富有诗意的方式将这一理念贯穿于他的主题演讲中。用蜘蛛侠的话说,权力越大,责任越大,这意味着安全。那么,让我们开始宣布吧。
新的 pagemaker ml 治理功能
融入这个责任主题的是新的 SageMaker ML 治理特性,它帮助你掌控你的机器学习模型。其中包括亚马逊 SageMaker 角色管理器、亚马逊 SageMaker 模型卡和亚马逊 SageMaker 模型仪表板。“亚马逊 SageMaker”命名真多!
除了 AWS GovCloud 和 AWS 中国地区,所有这些现在都可以在亚马逊 SageMaker 可用的所有 AWS 地区免费获得。
现在,您可以使用 Data Wrangler 从更多数据源中提取数据
说到 SageMaker,SageMaker Data Wrangler 现在支持超过 40 个数据源。它使用与 AppFlow 集成的机器学习数据源。这意味着现在从 40 多个第三方 SaaS 应用来源(包括 Salesforce 和 Google Analytics)聚合数据比以往任何时候都更容易,所以你最好开始争论吧!
Amazon Athena for Apache Spark 现已上市
雅典娜很酷——服务和希腊神都很酷——如果你不知道前者,你应该阅读诺琳·哈桑关于服务的优秀介绍文章(如果你需要了解后者,请查看维基百科)。现在,你可以使用 Jupyter 笔记本作为接口运行 Apache Spark 工作负载。您可以在 Athena 上执行数据处理,并使用 Athena APIs 与 spark 应用程序进行交互。
亚马逊红移现在支持从 S3 自动复制
转向零 ETL(即:提取、转换、加载),Amazon Redshift 的新的 S3 自动复制功能将肯定有助于实现我们知道 AWS 正在努力实现的零 ETL。
加入预览:粘合数据质量,验证访问
预览是伟大的,这里有两个值得一试: AWS 胶水数据质量和 AWS 验证访问。
AWS Glue Data Quality 是一款自动测量和监控您的数据湖、分析您的数据并收集统计数据的工具。然后,它会推荐数据质量规则,您也可以添加自己的规则。这有助于防止您污染数据湖,将它变成数据沼泽。
AWS 验证访问是一种保护企业应用程序网络访问安全的无 VPN 方式。这是为了实现“零信任”网络——有时也被称为 beyond corp——这项服务似乎是亚马逊对谷歌身份感知代理的回应。
Amazon AppFlow 的更多连接器
我感觉到了一种联系,这种联系就是与 AppFlow 的联系。亚马逊 AppFlow 宣布发布 22 个新的数据连接器,现在 AppFlow 支持超过 50 个应用。这使您可以在 SaaS 应用程序和亚马逊 S3 和红移之间安全地传输数据。你现在可以为脸书广告、Mailchimp、微软团队等等建立数据流。
amazon pagemaker 现在支持地理空间 ml
是的,你听到了。这意味着使用地理空间数据轻松构建、训练和部署机器学习模型。它还包括内置的 3D 可视化和神经地图!
第三天到此为止!
请继续关注《re:Invent 2022》的更多新闻。一如既往地保持敬畏,云大师们!
跟随所有关于“重新发明 2022”的报道
查看 ACG 和 Pluralsight re:Invent 内容中心以了解 re:Invent 2022 的所有信息。
你也可以在推特和上关注 ACG和【脸书】上关注,在 YouTube 上订阅云专家上所有你能处理的关于 re:Invent 2022 的更新!
加入我们令人敬畏的 Discord 社区,与 AWS 培训架构师和其他志趣相投的阴云密布的人进行数字交流。
AWS re:发明 2022:来自沃纳·威格尔主题演讲的第一个想法
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022-werner-vogels
AWS re:Invent 2022 roundup
原文:https://acloudguru.com/blog/engineering/aws-reinvent-2022
努力跟上所有事情 AWS re:Invent 2022 ?我们已经整理了我们所有的 re:Invent 报道,因此您可以一站式了解 AWS 今年最大的会议现场发生的一切。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
重新发明 2022 的终极指南
Mark Nunnikhoven 编写本指南的目的很简单:帮助您充分利用 AWS re:Invent。他的年度指南开始时只有一些小技巧,但是随着节目的发展(越来越发展……),指南也在发展。在拉斯维加斯的整整一周在任何时候都是棘手的。在一个有数百场会议和大量新知识要学的会议上?这是真正的挑战!在他的重新发明 2022 终极指南中获得所有关于在哪里、做什么以及如何做的八卦!
第一次参加?
在这个为期 5 天的会议上,有很多东西需要了解——如此之多,以至于可能会让人不知所措,尤其是如果你以前从未去过的话。凯莎·威廉姆斯挑选了一些会议建议,以确保你有机会探索所有提供的学习和社交机会。查看她的指南如何解决 AWS re:Invent 如果你是第一次!
演出前你需要知道的一切
我们在朋友的帮助下度过了难关!还有谁能比 AWS 的英雄们(也是经常飞行的人)Mattias Andersson 和 David Tucker 更好地帮助我们呢?他们正在讨论2022 年 AWS re:Invent 大会..
请收听更多关于 AWS re:Invent 2022 的顶级技巧:
- 带上舒适的鞋子,保持水分。
- 尽可能靠近威尼斯人;这是会议的中心。
- 如果你已经有了 AWS 认证,AWS 认证休息室是一个很好的去处。
- 在主题演讲期间检查会议时间表,查看 AWS 是否在新公告后增加或更改了会议。
- 灵活一点!使用 AWS re:Invent 与其他与会者建立联系。
你能在哪里找到我们
Pluralsight booth
我们已经准备了大量的超酷礼品、技术赠品和一个 CloudQuest 游戏来测试您的 AWS 知识。请到 1245 号展位来看我们:
周一下午 4 点至 7 点
- 星期二和星期三上午 10 点至下午 6 点
- 周四上午 10 点至下午 4 点
- 我们还将在 AWS Marketplace 展馆的 3525-14 号展位:
周一下午 4 点至 7 点
- 星期二上午 10 点至下午 6 点
- 请来 1245 号展位看我们吧!
我们已经准备了大量的超酷礼品、技术赠品和一个 CloudQuest 游戏来测试你的 AWS 知识。
见面打招呼
一直想认识一下我们自己的云专家,瑞安·克鲁尼伯格和法耶·埃利斯?他们会穿过池塘去交际!
与 Pluralsight 和云专家团队一起狂欢!
太平洋标准时间周二晚上(11 月 29 日)6-8 点,Pluralsight、MongoDB 和 Vercel 将举办玩家天堂酒吧爬行活动,在这里,你可以玩街机、棋盘和视频游戏。现在就回复并展示你的(游戏、网络或泡吧)技能。
每日更新
今年不能参加?让我们为你跑腿吧!我们将前往所有的主题演讲、分组会议和展位,然后在这里亲手向您传递重点内容。
这出戏,日复一日
请查看每日新闻,了解此次活动发布的所有最佳公告!我们正在调查所有的头条新闻,所以你不必这么做!
基调深潜
没错,主题演讲将会上传到 AWS 的官方频道,但是如果你没有时间观看呢?查看这里的 cliffnotes,以及 Werner 为我们准备的所有令人兴奋的东西。
True, the keynotes will be uploaded to AWS’s official channels, but what if you don’t have the time to watch them (yet)? Check here for the cliffnotes, and all the exciting things Werner has in store for us.
AWS re:Invent:第一次参加?下面是要做的事情!
原文:https://acloudguru.com/blog/engineering/aws-reinvent-first-time-attending-heres-what-to-do
你好!我是凯莎·威廉姆斯,AWS 大使,AWS 机器学习英雄,Alexa 冠军。我目前还是 Slalom 的 AWS Cloud Residency 项目的项目总监,这是一个面向云工程师的职业加速器。
AWS re:Invent 即将到来,这是一个学习最佳实践、与他人交流、聆听鼓舞人心的客户成功故事的激动人心的时刻。今年,你会发现分组会议、训练营、粉笔讲座、研讨会、建造者会议、领导会议、实验室,甚至闪电讲座——咻!
有了这样一份清单,知道从哪里开始会有点不知所措,尤其是如果你是第一次参加活动的话。别担心,我会掩护你的!在本文中,我选择了一些会议建议,以确保您有机会探索所有提供的学习和社交机会。
维加斯见!
1.加速器:简化无服务器及其他领域的开发
我特别期待 Slalom 的这个闪电演讲,因为它分享了我们如何通过创建无服务器加速器来帮助加快项目启动和减少返工!
2.体育的未来:Riot Games 如何重塑远程电子竞技广播
我喜欢听客户成功的故事!这个分组会议探索 Riot Games 的电子竞技之旅,以建立首款云原生远程广播操作!
3.云的状态:从消费者到创造者的转变
云计算将会长期存在!由 Pluralsight 赞助的本次互动休息会议重点介绍了保持领先的方法,以保持云技能最新并加速云的采用!
4.使用 AWS AI/ML 服务解决常见的业务问题
如果你对机器学习在现实世界中的使用感到好奇,请查看这个突出人工智能如何用于解决商业问题的分组会议。AWS ML 英雄推荐!
5.你的架构有你想的那么有弹性吗?
我喜欢在 AWS 上动手构建。在这个构建者会议中,您将学习如何测试您的架构,以确定它是否能够承受中断。别忘了你的笔记本电脑!
6.设计和交付云优化的 Java 应用
Java 是我最喜欢的编程语言!这个激动人心的演讲讨论了开发云原生 Java 应用程序的最佳实践!我们在前排见!
7.采用 AWS AppSync 的 API 优先无功能应用程序架构
比起 REST APIs,我更喜欢 GraphQL APIs。我特别期待这个粉笔演讲,强调使用 GraphQL 和 AWS AppSync 来提高开发速度和降低运营开销。
8.数据工程师的一天
扮演一天数据工程师的角色!这个有趣的实验室让你负责一个组织的数据工程实践。您负责架构、安全性、性能和成本。
9.用对话式人工智能构建类似人类的客户体验
亚马逊连接是我最喜欢的服务之一!我迫不及待地希望这个工作坊能够构建强大的对话式人工智能体验!别忘了你的笔记本电脑。
10.构建事件驱动的架构
大多数组织需要构建事件驱动的架构,而 AWS 让这变得很容易。该研讨会涵盖事件驱动的设计和支持它的核心服务。再说一次,别忘了带你的笔记本电脑!
正式发布的 AWS 弹性中心;AWS 备份支持扩展
AWS 这个星期发生了什么事?有许多更新必须与保持您的服务良好运行有关(并在服务不佳时进行恢复)。AWS 弹性中心现已正式推出,AWS Systems Manager 事件管理器在七个新地区推出,AWS Backup 支持一些新服务。
请继续阅读所有细节!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
AWS 弹性中心现已正式上市
本周开始, AWS 弹性中枢现已正式上市。Resilience Hub 是一项新服务,它为您提供了一个单一位置来定义、验证和跟踪您的应用程序的弹性,以便您可以避免因软件或基础架构中断而导致的停机。
您可以定义恢复时间目标和恢复点目标,并在部署之前帮助验证这些目标是否可以实现。
它还会自动评估和识别弹性弱点,并为您的基础架构提供推荐的解决方案。它现在在许多不同的地区都有售,你可以免费试用六个月,最多可试用三个应用程序。之后,每个应用程序每月只需 15 美元。
AWS Systems Manager 事件管理器将在新地区推出
接下来,AWS Systems Manager 的 AWS Incident Manager 现已在另外七个地区推出,具体包括:孟买、首尔、加拿大中部、伦敦、巴黎、圣保罗和北加州。
事件管理器通过自动响应计划帮助您为事件做好准备。事件可以是 CloudWatch 警报中的任何警报,如 CPU 使用率警报、存储容量警报等。事件管理器控制台提供了一个统一的界面来查看来自多个 AWS 服务的运行数据,并跟踪事件更新、警报状态变化和响应计划进度。
随着这些额外的地区,它现在在 16 个地区可用,所以如果你想看看,肯定有一个离你很近!
对 Amazon DocumentDB、MongoDB、Amazon Neptune 的 AWS 备份支持
最后,本周, AWS Backup 增加了对 Amazon Document DB 的支持,它与 MongoDB 兼容,以及 Amazon Neptune ,一个图形数据库。
AWS 备份使您能够跨 AWS 服务集中和自动化您的数据保护策略。有了这些新增功能,您可以使用单个数据保护策略来跨 AWS 区域和客户自动创建 DocumentDB 和 Amazon Neptune 集群的快照。它甚至让您只需点击一下鼠标就能恢复这些集群。非常酷!
好了,这是一些可以让您的基础架构保持良好运行的东西,以及一些在发生任何事故时帮助恢复它们的选项。这就是我这周的全部。继续牛逼吧,云大师们,我们下次再见。
跟上 AWS 的所有事情
想要跟上 AWS 的所有事情?在推特上关注 ACG和脸书,在 YouTube 上订阅云专家的每周 AWS 更新,并在 Discord 上加入对话。也可以看看我们的免费课程,每月更新!
继续牛逼吧,云大师们!
AWS S3 和 CLI 命令备忘单
原文:https://acloudguru.com/blog/engineering/aws-s3-cheat-sheet
AWS 简单存储服务可能是开箱即用的更容易使用的 AWS 产品之一,但这并不意味着我们有时不需要命令行的快速参考。尤其是如果你是 AWS CLI(命令行界面)的新手,或者需要在大型 CSA 考试前记住一些 S3 的功能,你需要一些参考资料。这就是为什么,对于第一个 AWS 主题的小抄,我们把重点放在 S3。点击下面的图片获得完整的大小,并开始学习!
AWS CLI 命令
安装 CLI: pip 安装 awscli
配置 CLI: aws 配置
列表时段:aws s3 ls
列表桶内容:aws s3 ls s3://
制作桶:aws s3 mb s3://
移除空桶:aws s3 rb s3://
同步对象:aws s3 同步
s3://bucket 复制到时段:aws s3 s3://
从存储桶复制:aws s3 cp s3://
/ 移动对象:aws s3 mv s3://
/ 移除对象:aws s3 rm s3://
/* 在桶或目录之间同步对象:aws s3 sync s3:// AWS S3 仓储服务公司
S3 标准报
S3 标准为定期访问的记录提供了过度的持久性、可用性和总体性能项目存储。因为 S3 标准提供了低延迟和高吞吐量,所以它适用于大量的用例,例如云应用、动态网站、内容分发、移动和游戏应用以及大型数据分析。
S3 智能分层
亚马逊 S3 智能分层(S3 智能分层)是唯一一种云存储类别,一旦访问模式发生变化,它就会通过在四个访问层之间移动对象来自动节省成本。S3 智能分层存储类别旨在通过自动将信息移动到最经济高效的访问层来优化支出,而无需运营开销。它的工作原理是将对象存储在四个访问层中:2 个针对频繁和偶尔访问进行了优化的低延迟访问层,以及两个针对异步访问进行了优化的可选归档访问层。
S3 标准-IA
S3 标准-IA 适用于访问频率较低的数据,但在需要时要求快速访问。S3 标准-IA 提供了 S3 标准的高耐用性、高吞吐量和低延迟,每 GB 存储成本较低,并符合 GB 检索费用。这种低成本和高整体性能的结合使 S3 Standard-IA 非常适合长期存储、备份以及作为灾难恢复文件的数据存储。
S3 一区-IA
S3 One Zone-IA 适用于访问频率较低但在需要时需要快速访问的数据。与其他 S3 存储类别(数据存储在至少三个可用区(AZ)中)相比,S3 One Zone-IA 将数据存储在一个可用区中,成本比 S3 Standard-IA 低 20%。S3 One Zone-IA 非常适合那些希望以较低成本获得不频繁访问的数据,但又不需要 S3 标准或 S3 标准-IA 的可用性和弹性的客户。这是存储本地数据或只是重新创建的数据的辅助备份的好选择。
S3 冰川
S3 冰川是一种经济、耐用、安全的数据存档存储产品。您可以可靠地存储任意数量的数据,而成本却比本地解决方案更具竞争力或更低。为了降低成本,但满足不同的需求,S3 冰川提供了三种恢复选项,从几分钟到几小时不等:你可以直接将对象上传到 S3 冰川,或使用 S3 生命周期政策在 S3 活动数据存储类别之间传输数据。
S3 冰川深层档案
S3 冰川深层存档是亚马逊 S3 最实惠的存储类别,支持数据的长期保留和数字保留,每年可访问一次或两次。它面向客户,尤其是金融服务、医疗保健和公共事业部门等高度管控行业中的客户,这些客户需要将记录保留 7 至 10 年或更长时间,以满足法规遵从性要求。S3 冰川深层归档还可用于备份和灾难恢复使用案例,无论是本地图书馆还是外部服务,它都是磁带系统的经济高效且易于管理的替代方案。
S3 前哨
Amazon S3 on outpost 在您的内部 AWS Outposts 环境中提供对象存储。使用今天在 AWS 区域可用的 S3 API 和功能,前哨站上的 S3 使在前哨站中存储和检索数据变得容易,并且保护您的数据。控制访问,标记并报告。S3 on outpost 提供了一个名为 S3 outpost 的单一亚马逊 S3 存储类,它使用 S3 API,并在其 outpost 的多个设备和服务器上永久和冗余地存储数据。
寻找更多 AWS 善良?看看这些:
阶跃函数的 SDK 访问,更新的 SQS Lambda 触发器
本周 AWS 怎么了?我们已经收集了一系列 AWS 新闻,包括交叉帐户 SQSλ触发器,云控制 API 向世界发布,以及阶跃函数大幅提升。
想了解更多?详情请继续阅读!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
在不同的帐户中从 SQS 触发 Lambda
最近,AWS 宣布现在客户可以通过其他 AWS 账户中的 SQS 队列触发 Lambda 函数。
以前,我们只能从同一个帐户的 SQS 队列中触发 Lambda 函数,或者您必须执行一些复杂的把戏来将队列消息从帐户 A 发送到帐户 b
这种跨帐户访问是一个受欢迎的特性,因为 AWS 上最重要的组织有许多帐户,可能有数百个帐户。
由于消息队列设计模式对各种集成都非常有用,这个新特性应该会为更高效、无缝的跨帐户信息流打开大门。
当然,您仍然需要为 Lambda 函数授予跨帐户权限以到达外部队列,但是一旦完成,您只需要为远程帐户中的队列提供 ARN。
保护您的 AWS 环境 在这个免费的点播网络研讨会中,了解如何从零开始保护复杂的 AWS 环境,并学习如何正确审计和保护 AWS 帐户。
云计算控制 API 现已正式发布
AWS 云控制 API 现已正式发布。云控制 API 是一组通用的 API,它允许我们以一种通用的方式以编程方式管理 AWS 服务。
我知道你在说什么,“我们已经有了所有这些的 AWS SDK。我们为什么需要这个云控制 API?”
好吧,你说这有点多余是对的,但是随着所有 AWS 服务的成长,SDK 中它们各自部分的一致性似乎从来没有优先考虑过。因此,不同的服务对于基本的 CRUD 操作有不同的语法——创建、读取、更新、删除,有时还有列表。
云控制 API 旨在通过一组通用的动词、输入参数、输出和错误类型来提供更高效的开发人员体验。
此外,云控制 API 还通过相同的统一语法支持一些第三方产品和服务,AWS 承诺新发布的服务将在发布时提供云控制 API 支持。
对升级感兴趣,或者从开发和运营开始您的旅程?云专家的 AWS DevOps 学习路径提供适合初学者和高级专家的定制课程!
步进函数解锁 AWS SDK
AWS Step Functions 开发者现在可以访问 AWS SDK,将支持的服务数量从 17 个扩展到 200 多个 AWS 服务。
以前,如果你想对一个不支持的服务做些什么,你必须构建一个自定义的 Lambda 函数,并将其整合到你的工作流中。
现在,您可以在 Workflow Studio 中或通过云开发工具包或 Amazon States 语言访问 SDK 支持的几乎所有服务,如果您喜欢这类事情的话。如果你需要的话,你甚至可以访问像地面站、Braket 和机械土耳其人这样的利基服务。这确实创造了一些非常有趣的低代码可能性…
使用 ARM 上的 Lambda 节省大量成本
最后,我们现在可以选择在 AWS 基于 ARM 的 Graviton2 处理器上运行 Lambda 函数,而不是传统的 x86 处理器。
如果您的代码使用支持基于 ARM 的处理器的运行时,您可能能够节省高达 34%的计算成本。
免费和 ACG 一起学习
说到节省大笔费用,您知道吗,您可以完全免费地访问每月一次的云专家课程集?看看 ACG 有什么免费的。
报名参加 ACG 免费计划(无需信用卡),今天就提升你的学习水平。
在 10 月份,你的免费账户可以让你访问一系列安全相关的课程,包括 AWS 身份和访问管理(IAM)概念、云安全基础、 Kubernetes 安全,以及 Azure 安全介绍(如果你对其他云中的生活感兴趣的话)。
跟上 AWS 的所有事情
想跟上 AWS 的一切?在 YouTube 上订阅云专家的每周亚马逊新闻和 AWS 公告。你也可以在脸书上喜欢 ACG,在 Twitter 上关注我们,或者在 Discord 上加入对话!
朋友们,这就是本周 AWS 的全部新闻。保持安全,互相照顾,并保持令人敬畏,云大师!
AWS 解决方案架构师助理考试蓝图:需要掌握的 6 个领域
是时候深入学习新的 AWS 认证解决方案架构师助理认证课程了吗?简答:有!
我们最近在一家云专家推出了一个新的亚马逊网络服务(AWS)认证解决方案架构师——助理认证跟踪**。**现在,也许你在想,“我可以参加认证课程,为什么还要参加认证课程?”
我们新推出的 AWS 认证解决方案架构师助理认证课程**–**将为您提供通过最新发布和更新的 AWS 认证解决方案架构师助理 和(奖金)所需的知识和技能,为您在现实世界中担任解决方案架构师做好准备。(这是一个巨大的优势,因为 AWS 认证解决方案架构师助理证书是薪酬最高的云认证之一。)
助理 AWS 解决方案架构师需要掌握的 6 个基本领域
AWS 助理 AWS 解决方案架构师认证课程设计有六门辅助课程,帮助您充分准备 AWS 认证解决方案架构师助理考试,并踏上成为解决方案架构师的道路。每门辅助课程都建立在下一门课程的基础上,它们的设计使您可以独立地学习它们。这里有六门课程,涵盖了你将要掌握的六个基本领域。
获得认证和获得现实世界的技能
如果你希望开始你的云计算生涯,请记住认证只是拼图的一部分。了解这六个方面将帮助你获得 SAA-C02 和的高分,为你成为一名成功的解决方案架构师奠定基础。
随着我们完成认证方向的支持课程,我们将增加您的技能和信心,涵盖 AWS 理论、提供实践演示和提供动手实验室,以便您可以准备最新更新的 SAA-C02 认证考试,同时获得真实的实践经验。这是双赢。
顺便说一下,如果您目前正在学习解决方案架构师助理考试,请参加 ACG 大学的 Ryan Kroonenburg、Mattias Andersson 和 Scott Pletcher 的实时学习时间,他们将在 12 月 7 日星期一下午 3 点(美国东部时间)练习一些示例问题。
1.设计弹性架构
准备好开始了吗?这是你的第一步。第一个支持课程, 为 AWS 解决方案架构师助理 设计弹性架构,涵盖 AWS 基础知识,包括 AWS 客户、IAM、组织和考试所需了解的核心服务。掌握这些基础知识对新生来说至关重要,对所有高级工程师来说也是如此。
2.网络和计算
接下来,我们进入第二个支持课程:AWS 解决方案架构师助理 的网络和计算。最新更新的 SAA C02 考试大量采用网络和计算机问题,所以这门课程将确保你为考试中更难的问题做好准备。当我参加 beta 测试时,网络问题比 SAA C01 更难。我看到了对理解高可用性以及如何在您的设计中实现它的强烈关注。
还有一些关于如何保护多层架构的问题,以及一些关于高性能计算的基于场景的问题。我还看到了有关 VPN 和 Direct Connect 的问题,这些问题不仅涉及高可用性,还涉及了解各自的性能以及如何调配这两者。
此外,在 VPC 端点上有更多的深度,所以了解接口端点和网关端点之间的差异以及如何在设计中使用这两者很重要。
我在资源访问管理器(RAM)的测试中也有一个问题,所以请确保您了解 RAM 是什么,它的共享是如何工作的,以及它的局限性。还有一个关于 PrivateLink 和 AWS 全球加速器的问题,这是我以前在 SAA-C01 考试中没有见过的。
3.存储、数据库和迁移
接下来,我们继续学习第三个支持课程:AWS 解决方案架构师助理的存储、数据库和迁移 。最新更新的 SAA C02 考试有更多的 S3 问题,所以请确保你知道 S3 存储类以及每一个如何在特定场景下最有效。在我的测试版考试中,我有更多的 S3 性能问题和 S3 加密——这很有意义,因为更新后的考试更加注重安全性。我的测试版考试也有关于 S3 事件和 FSx 的问题,这是我在 SAA-C01 考试中没有看到的,所以对 FSx 是什么以及何时使用它有一个坚实的理解是很重要的。
在本课程中,我们将探讨如何构建区域性与全球性的高可用性。关于这个设计,我在考试中有几个场景问题。对于全球高可用性,我们可以使用 S3 传输加速、跨区域复制或 S3 CloudFront。
就数据库问题而言,我发现在我的 beta 测试中,Aurora 问题的数量与以前的 SAA-C01 考试相比有了巨大的变化。这一转变主要围绕 Aurora 无服务器以及 Aurora 和 Aurora 无服务器提供的高可用性。确保您理解 RDS 数据库实例和 Aurora 数据库实例背后的不同架构。我还注意到有更多关于 DynamoDB 性能和 DynamoDB 流的问题。
最后,有几个关于数据库迁移服务(DMS)的问题,以及一个关于 AWS 数据同步的问题。
4.高可用性和可扩展性
接下来是第四个支持课程:AWS 解决方案架构师助理的高可用性和可扩展性 。考试经过重新设计,突出了 AWS 服务和资源的体系结构和实施,而不是关于 AWS 资源和服务的具体数字和事实。
更新后的考试问题更加侧重于弹性负载平衡、CloudFront 和 Route 53,因此请确保您了解每一项的内容及其工作原理。此外,了解 Route 53 如何与其他服务集成以及 Route 53 路由的延迟也很重要。
5.应用服务程序
第五个支持课程,AWS 解决方案架构师助理应用服务 ,探讨 AWS 中的部署和混合环境。在更新的认证考试上,我没有看到这一类别有很大的变化。确保你在高层次上理解 SQS,并且知道 SQS 非常适合去耦架构(意味着你的设计不相互依赖)。我有一个关于 SQS vs. Kinesis 的棘手问题,所以了解两者以及它们如何协同工作很重要。我还有一个关于亚马逊 MQ 的基于场景的问题,它被添加到了 SAA-C02 中。
6.日志记录和安全性
认证方向的最后一门支持课程是针对 AWS 解决方案架构师助理 的 日志记录和安全性。在我参加的 beta 测试中,问题更多地集中在成本优化、安全性、Aurora、FSx 和 AWS 架构上。AWS 中的安全性是一个重要的特性,并且安全性覆盖似乎更多地集中在 WAF (web 应用程序防火墙)上。肯定有更多的 AWS 密钥管理系统(KMS),所以了解 KMS 及其合规水平。从 SAA-C01 考试到 SAA-C02 考试,我没有看到 IAM 有太大的变化,但我确实认为 AWS 组织和 Cognito 更有特色。
成本优化是关键
在该认证方向的所有六门支持课程中,我们将重点关注 AWS 成本优化。我的测试重点是成本优化的各个方面以及如何设计成本优化的架构,所以一定要花一些时间来了解哪些 AWS 服务可以帮助您使用经济高效的资源。
准备 SAA-C02 考试
总的来说,我确实看到了问题设计的转变,以及更新后的 AWS SAA-C02 认证考试的关注点。但是,在这一新认证方向的帮助下,您将在参加认证考试时做好充分准备。
除了这一认证课程,我们还有一门扎实的课程,即 AWS 认证解决方案架构师助理考试、一门 AWS 成本优化深度课程(顺便说一下,这是我们12 月的免费特色课程之一)、 AWS 安全课程以及其他 AWS 服务深度课程!
为什么您应该获得 AWS 认证解决方案架构师助理认证
那么,既然有如此多的其他课程可供您选择,您为什么还要选择这些辅助课程和认证方向呢?您为什么要获得 AWS 认证解决方案架构师助理认证呢?
AWS 说:
"AWS 认证解决方案架构师助理认证验证在满足客户要求的 AWS 上设计和部署架构良好的解决方案的能力。这个新的考试版本(SAA-C02)包括所有领域的更新内容,以及与数据库、成本优化和安全性等类别的 AWS 平台创新一致的新目标。AWS 认证定期更新这一考试,以反映 AWS 平台上的快速创新步伐和 AWS 云架构的最新最佳实践。
如果你和我一样是学生,想学所有的东西,来加入我吧!作为一名以前和现在的学生,我也很高兴能帮助其他人准备最新的 SAA CO2 认证考试。
与 ACG 一起驾驶 SAA-C02 赛车
准备 AWS 认证解决方案架构师助理认证考试?我们新的认证方向可以帮助您为考试(以及您未来的云计算职业生涯)做好准备。
关于这位云大师
我最初是一家政府机构的承包商,担任基础设施团队的行政助理。在这个职位上,我不断获得分配给我的 SharePoint 任务。我以前没有 IT 经验,所以我开始参加课程来学习更多关于 SharePoint 的知识。。。这让我意识到我没有任何基础知识。所以我暂停了 SharePoint 课程,开始为我的 A+认证学习。
A+认证之后,我又重新拿起了 SharePoint 的课程。然后,我工作的政府机构决定开始向云迁移。为了帮助和了解我的团队在做什么,我买了一个云专家的 AWS CSA SAA-C01 课程,并爱上了 AWS。在我完成课程的过程中,我仍然在努力学习基础知识。这就是为什么我在这个认证方向增加了一个更大的基础课程——因为基础很重要,你需要有一个坚实的基础。
在我的 81 人团队中,我是第四个获得 AWS 认证解决方案架构师认证的成员,从那时起,我就一直坚持下去。现在,我拥有全部三个 AWS 助理认证,两个 AWS 专业认证( AWS 认证解决方案架构师-专业和 AWS 认证 DevOps 工程师-专业),以及两个 AWS 专业认证:高级网络和安全专业。
我的希望是,我不仅能帮助像我一样的人,还能为更有经验的学生提供复习,并为所有人提供更深入的探索。
请让我知道您对这个新认证方向和支持课程的看法。让我知道:你是像我一样的新手,还是比我年长?我们云专家的团队以学习所有的东西为荣。无论你在学习旅途的哪个地方,都来加入我们学习所有的东西吧!
AWS 峰会季强势开场,所有东西无服务器
原文:https://acloudguru.com/blog/engineering/aws-summit-season-starts-strong-with-serverless
本周 AWS 有什么新消息?AWS 以强大的无服务器焦点拉开了 2022 年 AWS 峰会季的序幕,包括亚马逊 Aurora 无服务器版本 2,AWS Amplify Studio 使全栈 AWS 更易访问,以及 SageMaker 无服务器见解进入 GA。此外,Amazon devo PS Guru Proactive Insights 宣布推出无服务器应用程序。让我们开始吧!
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
亚马逊极光无服务器版本 2
在旧金山的 AWS 峰会上,发布了下一版本的 Aurora 无服务器产品。Amazon Aurora 是 AWS 的完全托管关系数据库服务,Aurora Serverless 旨在最大限度地提高 Aurora 数据库的可扩展性。
随着 Amazon Aurora Serverless v2 的发布,您现在可以在不到一秒的时间内将工作负载扩展到数十万个事务,细粒度的增量使您的关系数据库扩展比以往任何时候都更快、更高效。
Aurora 无服务器版本 2 目前适用于 Amazon Aurora 的 MySQL 8.0 和 PostgreSQL 13 兼容版本。
使用 AWS Amplify Studio 进行设计和构建
AWS Amplify 于 2017 年宣布,旨在使全栈 AWS 更易于前端开发人员使用。Amplify 已经提供了一套丰富的工具来将后端 AWS 服务与您的移动和 web 应用程序集成,包括 AWS Cognito 的身份验证和 S3 的存储。本周,AWS 宣布备受期待的 AWS Amplify Studio 正式上市,它利用流行的设计工具 Figma 将设计的 UI 组件转换为可重用的 React 组件。
对于在 AWS Amplify 生态系统中工作的应用程序开发和设计团队来说,这是一个极其强大的低代码解决方案,有可能为前端开发人员节省数千行 AWS Amplify 应用程序代码。
如果你想看看 Amplify 的实际应用,你可以看看上周 Pluralsight 的技术技能日活动中凯莎·威廉姆斯的演讲!
AWS 机器学习无需服务器
接下来在 AWS 新闻中,我们得到了全面可用的 Amazon SageMaker 无服务器推理,这是一种完全管理的、可扩展的机器学习模型部署策略。
当您为机器学习模型选择无服务器推理时,您只需根据收到的推理请求支付必要的计算资源。在幕后,这是由 AWS Lambda 编排的,因为它自 re:Invent 2021 以来一直在预览中,所以它已经在 SageMaker Python SDK 中得到完全支持。
AWS 还将并发调用限制从预览版的 50 个提高到了 200 个。
对于那些希望利用机器学习,但不想配置底层计算资源的人来说,这一产品非常棒。
亚马逊 DevOps Guru 支持无服务器应用
Amazon DevOps Guru 使用机器学习来分析您的应用程序资源,并主动识别可能影响您应用程序未来性能的操作限制。在 AWS 峰会上,宣布了这项服务的扩展,以包括基于 lambda 的无服务器应用。
这个新功能可以帮助您预测和避免常见的无服务器瓶颈,比如达到 lambda 并发限制,或者超过 DynamoDB 表上的读写能力。
DevOps Guru 不仅会自动检测您的无服务器瓶颈,还会为您提供修复问题和避免潜在用户影响的步骤。目前 DevOps Guru 在 9 个 AWS 地区提供。
跟上 AWS 的一切
在 YouTube 上订阅一位云专家的每周 AWS 新闻(以及其他云提供商的新闻)。你也可以在脸书上喜欢我们,在推特上关注我们,或者在不和谐上加入对话!
AWS 可持续发展推动:云能在 2022 年走向绿色吗?
原文:https://acloudguru.com/blog/engineering/aws-sustainability-push-can-cloud-go-green-in-2022
在本帖中,我们将谈论亚马逊网络服务(AWS) 对可持续发展的推动,AWS 认为可持续发展责任应该在 AWS 和建筑商之间划分,以及这对 2022 年及以后的云和开发可能意味着什么。
地球:这是我们唯一拥有的星球。这也是已知宇宙中唯一有披萨的地方。因此,毫不奇怪,云提供商正在推动可持续发展,这样我们就可以让整个现有的偶尔吃披萨的聚会持续更长时间。
在 re:Invent 2021 大会上,AWS 宣布将加大其披萨保鲜可持续发展努力,在 AWS 精心设计的框架中增加一个新的可持续发展支柱,并开发 AWS 客户碳足迹工具,作为鼓励开发者将可持续发展作为核心考虑因素的两个关键组成部分。这些举措能否帮助开发人员和组织在未来几年实现云绿色化?
在这篇文章中,ACG 的 Jess Alvarez 和 Stephen Sennett 分享了对这条新闻的一些想法,以及这对云计算的未来意味着什么。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
谁对可持续发展负责:你还是 AWS?
谈论可持续性是一回事。(AWS 有大约十几页吹嘘他们迄今为止和未来的绿色倡议。)但是谁将会做出真正改变:开发者和他们的组织还是 AWS?
AWS 表示,答案是“以上都有。”
在 re:Invent 2021 上,AWS 推出了其“可持续发展的共同责任模型”,该模型本质上是说 AWS 将负责云的可持续发展**,而客户负责云的可持续发展。**
注意:这与 AWS 共享责任模型不同(因为科技公司在命名事物方面很棒)。
下面的图表基于 Amazon.com 首席技术官沃纳·沃格尔在 re:Invent 2021 上的主题演讲,如果这个简洁的总结不能满足你的需求,那么它就很好地涵盖了这个问题。(你可以在这里完整观看的主题演讲。)
AWS 可持续发展的共同责任模式
AWS 职责 | 客户责任 |
---|---|
浪费 | 平台部署和扩展 |
数据中心 | 软件应用设计 |
冷却 | 数据设计和使用 |
电源 | 数据存储 |
服务器 | 码效率 |
水 | 利用率和扩展 |
建筑材料 | “数据中心的典型利用率是 12-15%,”沃格尔斯说。“这基本上意味着你正在使用的 85%的能量都被浪费了——毫无用处。” |
根据由 451 Research 撰写的 2019 年 10 月报告(由 AWS 委托),将内部工作负载迁移到 AWS 可以降低 88%的碳足迹。
报告还发现,AWS 基础设施的能效是普通企业数据中心的 3.6 倍,这一优势主要归功于更节能的服务器和更高的服务器利用率。
沃格尔斯补充说,无服务器服务可以真正产生影响,因为它们可以被设计为远高于一般组织所能实现的高效率。
AWS 最初承诺到 2030 年将使用 100%的可再生能源,但现在预测到 2025 年,它将完全可持续,全球发电能力为 12GW。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
计算您组织的碳足迹
对于希望了解其碳足迹的组织来说,这个过程可能会很困难。
正如 AWS 社区构建者 Stephen Sennett 在中写道的那样,“衡量贵组织的气候影响极具挑战性,更不用说当你的技术在地球另一端你永远看不到的神秘黑匣子上运行时。。。虽然 AWS 的规模经济绝对意味着逐字节,但您的工作负载的碳影响将低于传统数据中心,如果您不知道您的足迹如何,这是不够的。”
为了帮助解决这一问题,AWS(最终)推出了 AWS 客户碳足迹工具,该公司表示该工具“即将推出”该工具将提供关于您在应用中使用多少碳的明确指标,并说明 AWS 对可再生能源的使用。
这一声明标志着 AWS 宣布一些不可用的东西的罕见时刻之一,因此希望这表明他们对这一点的重视程度,以及他们对未来将在开发过程中应用这一点的坚定信念。
可持续发展成为智能云架构的一部分
开发人员会考虑优化安全性、可靠性、成本和性能。这些“支柱”构成了 AWS 良好架构框架的核心,该框架(现在)涵盖以下六个领域:
卓越运营
- 安全性
- 可靠性
- 性能效率
- 成本优化
- 可持续性
- AWS 架构良好的框架是一组 AWS 资源,旨在帮助构建者充分利用 AWS,于 2015 年首次亮相。(更多信息,请查看 Mark Nunnikohven 的课程掌握 AWS 良好架构的框架。)
挑战“永远在线”的咒语
新的可持续发展支柱专注于客户方面的扩展和设计,提供了更环保和节省公司资金的潜力。因为也许你的公司不太关心环保,但他们几乎肯定关心节约环保。而且能源并不便宜。
“我们可以尽自己的一份力量,确保我们的代码和设计在构建时考虑到效率。这也将与成本密切相关,”ACG 的杰斯·阿尔瓦雷斯说。“您的代码和设计越高效,您看到的额外工作量就越少——工作量越少意味着成本越低。”
最绿色的能源
在一篇关于他对 2022 年的预测的文章中,沃格尔斯预测我们将开始看到开发者更多地考虑关闭资源。
“‘永远在线’是许多人的口头禅,但这是有代价的。当考虑“永不停机”架构所需的闲置资源时,我们可能会开始看到一个新的口号,即“最绿色的能源是我们不使用的能源”这并不意味着我们不为高可用性而设计;这只是意味着在我们的建筑决策中更加注重可持续发展,”沃格尔斯写道。
AWS 可持续设计原则和最佳实践
新的 AWS 可持续发展支柱将重点放在帮助组织学习、测量和改善其工作负载,以满足云计算的环境最佳实践。
新的支柱有几个设计原则和最佳实践,就像它的五个合作伙伴支柱一样。
该框架的可持续性设计原则包括:
了解您的影响
- 建立可持续发展目标
- 最大化利用率
- 预测并采用新的更高效的硬件和软件产品
- 使用托管服务
- 减少云工作负载的下游影响
- 该框架的可持续发展最佳实践包括:
区域选择
- 用户行为模式
- 软件和架构模式
- 数据模式
- 硬件模式
- 开发和部署流程
- 您可以在上面的链接中阅读所有的设计原则和最佳实践。
绿色建议总是好建议吗?
新的可持续发展支柱将根据 AWS 自身的最佳实践和观察结果提供指导。其中大部分似乎都是很好的建议。
“只需点击一个按钮,您就可以扩大规模。但用同样的按钮,你也可以缩小,”沃格尔斯说。"每一种你没有使用的资源都是你能想到的最绿色的资源."
但正如 Stephen 指出的,新的可持续发展支柱中的一些观点可能会感觉违反直觉,比如说只有在很难重新创建数据时才备份数据。
“真正的问题是备份数据时是否有值。旧垃圾场?大概不会。核心客户数据?肯定会的,”他写道。但在某些情况下,比如复杂的视频渲染或机器学习模型,存储数据可能比重新创建数据更有效。
幸运的是,AWS 表示,随着公司在构建更可持续的应用程序方面获得更多见解,该支柱将不断更新。
可持续性问题依然存在
不管你是兴奋还是怀疑,这里仍然有一些问题。
AWS 什么时候发布碳足迹工具?可持续发展工作将如何影响未来的 AWS 认证考试?如果可持续发展真的会像 AWS 所说的那样受到关注,它将需要成为刚刚开始云职业生涯的新人的云学习之旅的一部分。
我们将不得不看看 2022 年和未来几年等待我们的是什么——以及我们获得披萨的途径。
AWS re:发明 2021 亮点
保持在云的顶端
在 Twitter 上关注 ACG和脸书,在YouTube 上订阅一个云专家来获取你能处理的所有云更新!此外,加入我们令人敬畏的 Discord 社区,与训练有素的架构师和其他志同道合的阴云密布的人进行数字交流。
Follow ACG on Twitter and Facebook, and subscribe to A Cloud Guru on YouTube for all the cloudy updates you can handle! Plus, join our awesome Discord Community to rub digital elbows with Training Architects and other like-minded cloudy people.
AWS SysOps 管理员助理 SOA-C02 证书考试准备
努力获得 AWS SysOps 管理员助理认证,想知道如何准备新的 SOA-C02 考试?听说过该认证中引入的新考试实验室形式吗?不要慌!我们是来帮忙的。
在本帖中,我们将为您提供一些信息,帮助您为 SysOps 管理员助理做准备。我们将按照 AWS 认证系统运行管理员–助理考试的方式,回答一些考试问题,并提供一些 AWS 考试的应试技巧和窍门。
加速您的职业发展
通过 AWS、Azure、Google Cloud 等领域的课程和动手实验室转变您的职业生涯。查看我们的免费课程或现在就开始 7 天试用。
什么是 SOA-C02?
SOA-C02 是当前获得 AWS 认证系统管理员助理资格所需的考试。这是第一次 AWS 认证考试,允许考生通过考试实验室展示技能。
AWS 认证系统管理员助理证书在 AWS 认证环境中处于什么位置?
想知道哪种 AWS 认证适合你?好吧,你应该知道系统管理员助理不是一个初学者资格。是中级认证。
在参加本考试之前,我们建议您参加 AWS 解决方案架构师助理考试,或者至少有一年使用和操作 AWS 的实践经验。
获得 SysOps 管理员助理认证后,您有几个不同的选择。
不确定哪种认证适合你?查看我们的 AWS 认证指南。(可以看或者读!活着是多么美好的时光啊!)
新旧 AWS 认证系统运行管理员助理考试有什么区别?
之前的考试叫 SOA-C01。这是一个没有部分评分的多项选择和多项回答的考试,这意味着如果你的答案部分正确,你就没有学分。
- 对于新的考试,SOA-C02,你也可以得到多项选择/多项回答的问题。但是实践考试实验室现在被引入其中。考试实验室给你部分评分。最终结果是一个问题更少的测试。耶!
- SOA-C02 考试有多少个问题和实验?
考试由大约 50 个问题组成。这包括 15 个未打分的问题,这些问题不会计入你的分数,但是 AWS 正在尝试和测试。(未评分的问题对 AWS 考试来说并不陌生,但它是一个新的补充,可以了解将被评分的问题的数量。)
这些未评分的问题可能会让人觉得超出了范围。不要让他们扰乱你的头脑!如果你看到一个你完全没有准备好的问题,很有可能是其中之一。。。也就是说,假设你真的为考试做好了准备!但你会没事的,对吧?对吗???
有哪些实践考试实验室?
除了问题之外,您还有三个实践考试实验室,在那里您有一个在 AWS 控制台中完成的任务。或者,如果您熟悉命令行工具,也可以这样做。这些考试实验室可能是像配置 S3 桶或生命周期规则这样的事情。
考试实验室现在占你总成绩的 20%。及格分数是 1000 分中的 720 分。
新的实践考试实验室有多难?
鉴于 AWS 控制台的直观性,很容易就能清楚地找到您需要做的事情。即使你以前从未做过,你也有很大的机会。我们打赌大多数人会更喜欢实践考试实验室而不是问题。
你需要多长时间完成 SOA-C02 考试?
你有三个小时来完成考试。(有趣事实:总测试时间与 AWS CSA-Pro 的测试时间一样长。)
建议您为每个考试实验室保留 20 分钟,这样您就有足够的时间完成这些实验。
如果你提前结束,你就不能从头开始复习你的问题。因为考试分为两部分,一旦你提交了其中的一部分,你就不能回头再复习了。
AWS 系统操作员助理考试有多难?
这将取决于你的背景。如果你一直从事 Unix 或 Linux 支持或 SysOps 类型的工作,SysOps 考试对你来说会很容易,因为你会明白这项工作需要什么。如果不是,那么,你来对地方了。
如果您已经参加了 AWS 解决方案架构师助理和开发人员助理考试,那么系统运行管理员助理的难度有多大?
如果您已经参加了 AWS 解决方案架构师助理考试,那么您已经熟悉了 SysOps 考试中将要看到的大多数服务。
开发人员助理更多的是关于 DevOps 工具,在 SysOps 考试中你不会看到太多。
SysOps 更多的是具有生产支持的心态:如何支持这些系统,如何解决何时出现问题,如何监控一切,以及如何确保灾难恢复正常进行,再加上一些成本优化。
现在所有的 AWS 考试都有模拟考试实验室吗?
还没有。但我们不会惊讶地看到这些考试被推广到其他考试中,特别是在开发人员助理、机器学习专业和安全等领域。但是还没有宣布任何事情。
最好的 AWS 认证考试应试策略是什么?
有些问题会让人感到困惑。这足以让你发疯。你学习过。你知道这个!但是一个问题出现了,把一切都搞砸了。
以下是要遵循的流程:
从阅读问题开始,确定问题到底在问什么。通常有很多你并不真正需要考虑的场景信息。
- 然后,检查答案,排除明显不正确的答案。
- 最后,最后一次阅读问题,从剩下的可能答案中选择你认为可能是最佳答案的答案。
- 这在现实生活中是怎样的呢?在下一节中,我们将浏览几个 AWS SysOps 管理员助理认证考试问题示例,并向您展示我们建议的提高您获得该证书的可能性的思考过程。
获取 AWS 云痛苦字典
说云不一定要硬。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 AWS 中一些最痛苦术语的简洁定义。
样本 AWS 认证系统运行管理员-助理 SOA-C02 考试问题
这些问题与你将在 SOA-C02 考试中看到的问题类型相似。有时候考试的题目会比这些更啰嗦,但内容应该差不多。最重要的是,你应该遵循的思维过程是正确的。
样题 1
对于所有 EC2 实例,您需要集中收集应用程序日志(如/var/log/httpd/access_log)和操作系统日志(如/var/log/messages)。你如何实现这一点?
A.从 CloudWatch 控制台,为每个实例启用日志收集。
- B.在 EC2 实例上安装 CloudWatch 代理,并将其配置为向 CloudWatch 发送所需的日志。
- C.从 EC2 控制台,为所有实例启用日志收集。
- D.在 EC2 实例上配置日志代理,将所需的日志发送到 CloudWatch。
- 看这个问题的时候,先考虑你需要重点关注的重点。在这种情况下,它是“集中”、“日志”和“EC2 实例”
很快,您应该知道不可能从 CloudWatch 控制台中启用日志收集。所以这是一个直接的否定。
- 对于 B,您可以使用 CloudWatch 代理将应用程序日志发送到 CloudWatch,所以这是一个可能的问题。现在,让我们考虑这种可能性,但看看其他答案。
- 对于 C,不可能从 EC2 控制台启用它,所以答案是否定的。
- 对于 D,有有没有日志代理可以发送日志到 CloudWatch。它不存在于 EC2 实例中。这是一个很大的不。
- 因此,我们知道答案 B 是正确答案。
考试专家提示*:AWS 的实际操作经验对本次考试至关重要。*
样题 2
2。您将使用 CloudFormation 在两个不同的 AWS 区域部署 EC2 实例。CloudFormation 模板的哪个部分允许您根据您要部署到的区域来定义使用哪个 AMI ID?
A.输出
- B.地区
- C.映射
- D.资源
- 同样,让我们首先关注我们需要考虑的关键因素。
云形成模板
- AMI ID
- 地区
- 考试亲提示 :对一道题没有把握?只需在那里扔一个答案,并标记为后续跟进。回答错误不会受到惩罚。不如碰碰运气。
要通过 AWS 认证考试,你不需要掌握所有的知识。你只需要知道足够多的信息就能达到及格标准。你可以通过学习如何阅读问题并找出哪些不合适来增加你的机会。上面的问题就是一个很好的例子。
如果我们在考虑云形成模板的事情,我们会考虑我们对这些的了解。
首先,我们知道(A)输出是我们吐出东西的方式,所以我们不打算在输出部分定义任何区域。让我们把它标出来。
- 接下来,(B)地区。也许吧?我们没有听说过区域是云形成模板的一部分,但也许我们只是忘记了它。让我们先把这个问题放一放。
- 接下来,(C)映射。我们知道在 CloudFormation 模板中肯定有 Mappings 部分,所以这是一个可能的答案。
- 最后,(D)资源。嗯,这些只是我们在 CloudFormation 模板中设置的东西,所以我们可以排除这种可能性。
- 这就给我们留下了 B 或 C 作为可能的答案。这至少把你的机会缩小到 50/50。
如果我知道肯定有 Mappings 部分,但我不记得 Regions 部分,那么我将抓住机会使用 Mappings(这是正确答案)。
如果你对任何问题都不太自信,你可以把它标记出来,以后再来。有时,考试中后面的问题可能会唤起你对某些事情的记忆。
考试专家提示:你经常可以在两个明显不正确的答案中剔除。AWS 在考试中放干扰物是出了名的。他们通常会在响应中插入一个您并不使用的服务。利用这一点,缩小你的选择范围。
样题 3
3。您的私有 EC2 实例需要访问一个 S3 桶来读写文件。然而,安全架构师已经告诉您,在任何情况下,这种流量都不能离开 AWS 网络。以下哪一项是经济高效且安全的解决方案,可确保 EC2 实例能够安全地访问 S3 存储桶?
配置一个 VPN 网关,并通过 VPN 将所有流量路由到 S3 桶。
- 配置 NAT 网关,并通过 NAT 网关将所有流量路由到 S3 桶。
- 配置直连连接以安全地路由流量。
- 将 VPC 端点配置到 S3 存储桶。将端点指定为路由表中路由的目标。
- 让我们再次关注这里的关键点:
私人的
- S3
- 流量不能离开 AWS 网络
- 以下是我们如何找到答案的方法。
从 A 开始:VPN 在您的内部系统和 VPC 之间提供安全连接,因此它不能用于在 EC2 和 S3 之间提供私有连接。因此,我们可以排除它。
- 对于 B,NAT 网关将通过互联网发送流量,这在这种情况下是不允许的。把那个划掉。
- 对于 C,不可能以这种方式使用直接连接。直接连接提供了使用互联网的替代方法,但它用于从您自己的数据中心连接到 VPC 中的实例。它不能让你进入 S3。
- 最后,剩下 D,这是正确的答案。VPC 端点确实允许您在不使用互联网的情况下将 VPC 中的实例私下连接到 S3 存储桶。它实际上使用了 AWS PrivateLink,因此流量永远不会离开亚马逊的网络。
- 考试 pro 提示 :有时候只要剔除错误的就能找到正确答案。
准备 AWS 认证系统管理员助理考试
新的考试带来了全新的 ACG 课程。与云专家一起准备下一代云认证考试。
我们彻底改革了我们的 AWS 认证系统管理员助理课程,包括我们全新的挑战实验室和新的考试模拟器。
通过一些准备工作和对如何不接近考试的理解,你应该对参加 SOA-C02 考试没有问题。
**有问题吗?我们(大概)有答案了!**加入与 ACG 导师关于不和的对话。你也可以在 YouTube 上订阅一位云专家的每周更新和各种精彩内容,比如在脸书上关注我们,在推特上关注我们。但是无论你做什么:继续保持威严,云大师们!
看点:解决“无经验”的云招聘问题
需要经验才能得到工作,但需要工作才能得到经验。这是一个多云的第 22 条军规!观看免费点播的网络研讨会,了解帮助数十人获得第一份云计算工作的 ACG 挑战赛。
WATCH: Solving The “No Experience” Cloud Hiring Problem
Need experience to get a job, but need a job to get experience. It’s a cloudy Catch-22! Watch this free, on-demand webinar with insights from the ACG challenge that helped dozens get their first cloud job.
面向 AWS Systems Manager 的出站 webhooks
原文:https://acloudguru.com/blog/engineering/aws-systems-manager-gets-outbound-webhooks
你好,大师们!斯科特·普莱彻带来了本周的另一个 AWS 下载好消息。本周,Kendra 获得了一种查询语言,在 AWS 上扩展 SAP 工作负载变得更加容易,System Manager 获得了出站 webhooks。我们开始吧!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
亚马逊肯德拉学习语言
通过对查询语言的新支持,Amazon Kendra 最近变得更容易使用了。亚马逊 Kendra 是一个支持机器学习的托管搜索服务。你可以将它指向像 S3 水桶、ServiceNow、Salesforce 和 Sharepoint 这样的资源,它会将这些资源编入索引,以便快速方便地进行搜索。
有了这个查询语言声明,您现在可以使用 AND、OR 和 NOT 以及字段级搜索和范围运算符,如大于或小于。
Kendra pro 提示:您可以使用 Kendra 来索引几乎任何 URL,这可能是让 Kendra 抓取您自己的面向公众的网站的好时机。你可能会对你的发现感到惊讶,这可能会让你的公司远离新闻,如果你明白我的意思。
在你对抓取你自己网站以外的网站有任何好主意之前,一定要知道这违反了 AWS 的可接受使用政策。
系统经理获得出站网络挂钩
AWS 最近为系统管理器宣布了一个漂亮的新功能——出站 webhooks!
Webhooks 是为基于事件的活动集成各种应用程序和平台的常用方法。像 Slack、吉拉和 ServiceNow 这样的流行应用程序提供了触发事件或采取某些行动的 webhooks。
现在,从 Systems Manager 中,我们可以在其他应用程序中进行操作。例如,我们可以在 Systems Manager 中构建一个 runbook,用于自动故障转移测试。在测试开始之前,我们可以自动地在我们的内部网站点上添加一个通知,然后随着测试的进行,在一个团队 Slack 频道上发布更新。我已经可以看到所有那些自动化极客都在关注可能性。
在 AWS 上扩展 SAP 工作负载变得更加容易
在进入云领域之前,我在 SAP 生态系统中呆了很多年。SAP 是一家大型软件公司,拥有广泛的应用程序和服务组合,帮助许多组织高效地运营其业务。不久前,SAP 全力以赴开发了一款名为 HANA 的内存数据库。HANA 开启了许多其他创新的大门,例如打破了交易和分析系统必须分离的传统观念。借助 HANA,同一个数据库可以同时用于事务和分析,这意味着更高的实时灵活性和更少的数据重复。
HANA 作为企业数据存储的警告是,你需要足够的内存来保存你的数据——这可能是 TB 级的。现在,回到过去,对于除了最大的组织之外的所有人来说,购买一个具有足够 RAM 的系统可能成本过高,但是云使竞争环境变得公平。现收现付模式使许多公司能够试验 HANA,展示业务价值,然后在没有巨额资本投资的情况下快速投入生产。
多年来,所有主要的云提供商都在讨好 SAP,认证他们的平台来运行 SAP 生产工作负载,甚至创建特定于 SAP 的技能认证,例如新的 SAP on AWS 专业考试。
让 2022 年成为您提升云计算职业生涯的一年
因为这是我新年的第一篇文章,祝所有人新年快乐,包括那些庆祝农历新年的人。如果你已经有了一些关于学习和认证的新年决心,并且正在寻找一些志同道合的责任伙伴,为什么不去我们的 Discord 服务器呢?你会发现许多人和你一样,想要提升他们的技能。事实上,我们将在 1 月 26 日星期三东部时间下午 7 点/太平洋时间下午 4 点在 Discord 主持另一次办公时间会议。
《我的朋友们》是 AWS 本周所有适合刊登的新闻。保持安全,互相照顾,保持敬畏,大师们。
想跟上 AWS 的一切?在推特上关注 ACG和脸书,在 YouTube 上订阅云专家的每周 AWS 更新,并在 Discord 上加入对话。想了解更多关于云和 AWS 的信息吗?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
了解如何像 SRE 人一样思考
观看这个免费点播的网络研讨会,了解 Nobl9 工厂可靠性工程总监 Alex Hidalgo 对 SRE 文化和工具的剖析。
AWS 更新 Secrets Manager,Step Functions
原文:https://acloudguru.com/blog/engineering/aws-updates-sagemaker-secrets-manager-and-step-functions
本周 AWS 怎么了?在本帖中,我们将为您带来最精彩的 AWS 新闻,包括:
- pagemaker 获得了大量的更新
- 机密管理器现在支持旋转窗口
- 局部阶跃函数引入了模拟响应
- 亚马逊欺诈检测器现在包括预测解释
- Amazon Lex 支持交替转录
想知道全部细节吗?请继续阅读了解更多信息!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
SageMaker 更新综述
SageMaker 仍然是 AWS 的主要关注领域,本周发布了几个更新。
SageMaker Autopilot 有助于构建、训练和调整您的模型,它已经有了一些更新。Autopilot 现在支持 Apache Parquet 文件,数据集的最大大小从10GB 增加到 100GB。您还可以向 AWS 支持提出请求,通过 Autopilot 使用更大的数据集。
SageMaker Data Wrangler 有助于简化机器学习的数据处理,它还增加了对流行的 JSON 和 ORC 数据格式的支持,以及一些新的转换功能。
SageMaker JumpStart 将您连接到流行的机器学习模型集合,现在可以将他们的端点部署到定制的 VPC 中,并使用定制的 KMS 设置加密他们的数据。对于拥有复杂架构的大型企业客户来说,这些是非常重要的考虑因素。
AWS Secrets Manager 增加了对旋转窗口的支持
AWS Secrets Manager 现在支持其管理的机密的旋转窗口。
轮换机密对于确保我们的应用程序保持安全至关重要。即使由 Secrets Manager 这样的服务来管理,仍然有妥协的机会。挑战在于,当我们轮换秘密时,并非所有事情都在同一时间发生。使用这些密码的应用程序可能会在短时间内不匹配,从而导致呼叫在轮换期间被拒绝。
轮换窗口允许我们设置特定的时间,以便在预期的维护窗口期间轮换我们的秘密。这意味着如果我们在短时间内确实有问题,我们可以确保它不会影响很多用户。
如果您的解决方案支持,在轮换策略中使用交替密码可以确保更高的可靠性。但是对于只使用一个秘密的解决方案,有一个旋转窗口可以帮助使你的解决方案更可靠。
模拟对 AWS 步骤函数的支持
在过去的几个月里,Step 函数得到了很多人的喜爱,现在我们有了最新的更新,发布了对 Step 函数本地模拟的服务集成响应。
去年,AWS 升级了 Step 函数,以支持 200 多种 AWS 服务和数千种 API 操作。在本地测试期间模拟来自这些服务集成的响应的能力意味着您可以在本地开发环境中更全面地测试您的 Step 函数。
模拟响应允许我们模拟与服务集成的交互。现在,这些只能让我们到此为止,而且还有一些限制(比如 Step 函数 Local 不验证模拟响应的格式)。但这确实解决了使用阶跃函数进行开发时存在的差距,总的来说,我希望阶跃函数随着时间的推移只会变得更加强大和流行。
亚马逊欺诈检测器预测解释
欺诈检测器收到了一个非常有趣的更新,增加了新的预测解释。
像许多机器学习产品一样,欺诈检测器为您提供了一个结果列表,显示潜在欺诈活动的风险。这很酷,但没有真正的方法来真正理解。。。为什么它被认定为欺诈。这相当于机器问某人一个问题,然后他们回答,“我就是知道。”
包含新的预测解释有助于提供影响预测的特定变量的详细信息。了解预测背后的潜在因素既有助于分析师评估索赔,也有助于架构师制定更主动的对策。这只是亚马逊继续投资于他们的托管机器学习服务的更多证据。
2021 年 6 月 30 日之后生成的车型已经可以使用该功能。如果您的模型是在此之前生成的,您将需要重新训练您的模型以访问此功能。如果你有兴趣探索亚马逊欺诈探测器,请查看 AWS re:Invent 2020 的演示。
亚马逊 Lex 多个副本
亚马逊 Lex 发布了一个新功能,它允许对用户的语音输入进行多种转录和信心评分。
我们都有过令人不快的语音界面体验,你说一件事,系统却把它解释成另一件事。
对于构建这些系统的人和使用它们的人来说,这几乎同样令人沮丧。Amazon Lex 的这一新功能的美妙之处在于,它将提供如何转录它的多种建议,以及信心评分。
有了信心评分和替代解释,你可以让你的对话界面更加健壮——或者在不确定的时候要求澄清,或者选择一个更有可能的替代解释。
任何时候你在使用语音界面的时候,花时间改进它以获得更流畅的用户体验总是值得的。如果您使用 Lex 进行语音输入,这可能是一个值得探索的改进。
跟上 AWS 的所有事情
想要跟上 AWS 的所有事情?在推特上关注 ACG和脸书,在 YouTube 上订阅云专家的每周 AWS 更新,并在 Discord 上加入对话。
现在,往前走,学习所有的东西。(为此,请查看我们的免费课程——不需要信用卡!)而且一如既往,继续牛逼,云大师们!
AWS 升级 CodeGuru Reviewer
原文:https://acloudguru.com/blog/engineering/aws-upgrades-codeguru-reviewer-efs-waf-and-aws-budgets
你好,云大师们!我是斯蒂芬·塞尼特,为您带来本周最精彩的 AWS 新闻!这一次,我们对 CodeGuru Reviewer 进行了新的安全更新(即日志注入缺陷的检测器),以及 EFS 的新性能特性、Web 应用程序防火墙的新安全特性和 aws 预算的新自动调整特性。请继续阅读所有细节。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
CodeGuru Reviewer 安全更新
亚马逊的 CodeGuru Reviewer 最近有了两个有趣的更新,宣布了新的检测器库,以及针对日志注入漏洞的新的安全检测器。
我们只需要回想一下去年 12 月,当时阿里云的安全研究人员在流行的 Java 日志工具 Log4J 中发布了现在臭名昭著的 Log4Shell 漏洞。这场混乱影响了从推特到《我的世界》再到联网烤面包机的一切。任何参与发现和补救这个问题的人(举手)都会知道这是一个多么大的挑战。
这种新的检测器可以更容易地防止伪造或恶意的条目进入我们正在开发的应用程序。诚然,这不会解决所有问题,但它让我们更近了一步。新的检测器库包含 CodeGuru 使用的所有不同安全和质量检测器的信息,包括代码示例、合规性指标和其他信息,以帮助您更深入地了解他们的发现。
此外,如果你仍然不完全熟悉 Log4Shell 漏洞,我们在 Pluralsight 的团队整理了一个很酷的博客帖子进一步解释它,并且有一个网络研讨会讨论后果和剩余的问题。
EFS 支持亚毫秒级读取延迟
亚马逊弹性文件系统现在支持亚毫秒级读取延迟用于通用存储。EFS 的分布式特性意味着它在跨系统处理文件时会产生一些延迟。虽然许多应用可能能够忍受这种延迟,但高性能解决方案需要更低的效率。第一个字节到达的时间有很大的不同:将延迟降低到 600 微秒就可以将延迟减半。
通用 EFS 的写操作仍然处于较低的个位数毫秒范围内,尽管 EFS 最大 I/O 延迟仍然较高,但在许多情况下,吞吐量的权衡仍然非常值得。要了解全部细节,请查看关于 EFS 性能的 AWS 文档。此功能现在在 EFS 可用的所有地区都可用,不需要任何更改即可生效。
晶圆欺诈控制
新的 AWS Web 应用防火墙欺诈控制–防止帐户盗用(ATP) 解决方案(phew)已经发布,旨在帮助保护您的 Web 应用登录页面免受一系列攻击。“帐户接管预防”会查看尝试的登录活动,并记录任何可能表明尝试的异常行为,例如:
- 凭据填充,攻击者试图使用从以前的数据泄露中窃取的各种凭据,或者
- 暴力破解,只需在登录页面上输入随机密码,直到成功
到目前为止,该功能仅在少数地区可用,激活该功能需要额外支付费用。每月的订阅费和每千次登录尝试 1 美元的费用,肯定不便宜。但是对于大型企业来说,这是一笔很小的成本。由于它是 WAF 的一部分,并在网络边缘阻止攻击,我希望暴力攻击在产生巨大成本之前被关闭。
如果你运行的是自己的登录解决方案,还没有包含这种保护,那么查看一下可能是值得的。
自动调整预算
AWS Budgets 现在支持自动调整预算,可以根据您的使用情况动态更新预算限额。除了固定预算和计划预算之外,自动调整预算还会跟踪上一个预算期间的平均支出,并使用该数字来设置新的基准,并向任何预算订阅者发送警报。
为了解决房间里的大象,是的,这是 AWS 采取了旨在限制您的支出的服务,并增加了旨在增加您的支出的功能。
Corey Quinn 对此进行了精彩的总结,他在推特上解释道,“AWS 的预算到了。”
组织在云账单方面面临的挑战之一是,他们的财务管理通常仅次于构建材料。这意味着当您新部署的数据库集群开始每月运行额外的 20,000 美元时,它有时不会在预算报告中考虑。警报被触发,只是变成白噪音,直到有人将预算重新调整到新的水平——通常是在首次做出改变后的几周或几个月。这就是自动调整预算的目的。
组织需要有可靠的管理实践来了解他们的云成本。没有 it,您绝对无法发展成熟的云组织。否则,组织会因为预算太难而完全忽略它,我认为这是一个方便的特性——如果使用时绝对小心的话。
我们会持续更新
想要跟上 AWS 的所有事情?在 YouTube 上订阅一位云专家的每周云新闻。你也可以在脸书上喜欢我们,在推特上关注我们,或者在 Discord 上加入对话。
本周新闻到此结束!直到下一次,勇往直前,学习所有的东西。一如既往地保持敬畏,云大师们!
人工智能和机器学习:AWS vs Azure vs GCP
我们的云提供商比较系列中的这篇文章进入了云提供商的超级动态空间——人工智能和机器学习。人工智能(AI)和机器学习(ML)将海量数据处理与几乎无限的计算能力和按需付费的经济模式相结合。要了解 AWS、Azure 和 GCP 的人工智能和人工智能服务,请继续阅读。
启动你的职业发展
从 ACG 开始,通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来启动您的机器学习生涯。(你将开发的智能没有半点虚假!)
AI 和 ML 是一回事吗?
主流媒体经常交替使用人工智能和机器学习。但它们不是一回事。人工智能是我们对以自动化方式模拟人类思维和决策的追求。正如 Arthur Samuel(他在 1959 年创造了这个术语)解释的那样,ML 是“在没有明确编程的情况下赋予计算机学习能力的研究领域。”换句话说,ML 是我们可以用来尝试实现人工智能的一种方法。
机器学习的成分是什么?
那么,让一个 ML 系统运转起来需要哪些核心要素呢?
简而言之:
- 大量数据。
- 对数据应用计算或算法方法。
- 知识(知道自己在做什么)。
不太久以前,机器学习的能力是高度专业化的,而且非常昂贵。只有政府和几所大学负担得起。
但是云计算已经成功地将这些工具带到了任何有网络连接的人的身边。今天,您可以使用云提供商开发的点击式工具来管理海量数据并利用巨大的计算能力。最棒的是,您只需为您需要的特定部分付费。云提供商也创造了一些交钥匙服务,让我们通过一个简单的 API 调用就可以利用非常强大的 ML 技术。
我们将在三个不同的领域比较 AWS、Azure 和 GCP 的 AI 和 ML 产品:机器学习构建模块服务、机器学习平台和机器学习基础设施。
机器学习构建模块服务
机器学习构建模块是您可以使用的服务,而无需首先了解很多关于机器学习的知识。大多数人从机器学习积木开始,因为进入的门槛太低了。
这些块可以通过 API 调用或使用云提供商的 SDK 获得。我们将在下面讨论的所有提供者都为他们的机器学习服务提供 rest APIs。
让我们看看他们各自带来了什么:
语音到文本和文本到语音
对于语音转文本,AWS 有一项名为亚马逊转录的服务。Azure 和 GCP 都将他们的产品命名为(或许很明显)语音转文本。
对于将文本转换为语音,AWS 服务名称是 Amazon Polly ,而 Azure 和 GCP 有文本到语音。
聊天机器人
不管你喜不喜欢,聊天机器人作为客户支持的第一线已经变得司空见惯。云提供商正在通过创建服务来支持和改进聊天机器人,从而帮助聊天机器人提供更好的体验(或者至少不那么令人失望)。
AWS 称其 chatbox 服务为 Amazon Lex ,Azure 有语言理解,GCP 提供 Dialogflow 。
翻译
值得庆幸的是,翻译服务已经走过了漫长的道路。).它们现在是非常标准的产品。云提供商翻译服务的名字非常简单:AWS 有亚马逊翻译,Azure 包括翻译器,GCP 提供翻译。
文本分析
文本分析服务采用自然语言(我们经常相互交谈的方式),并从中提取某些主题、话题和情感。AWS 的文本分析服务是亚马逊理解,Azure 的是文本分析,而 GCP 的是自然语言。
文件分析
文本分析的发展是文档分析。在文档分析中,机器学习用于总结文章或检测表格中的信息。AWS 产品名为 Amazon Textract ,Azure 有文本分析和表单识别器用于数据提取,GCP 有文档 AI 。
图像和视频分析
这些服务可以识别图像中的物体和人物,绘制人脸地图,或者检测潜在的不良内容。
AWS 在其 Rekognition 产品下捆绑了图像和视频分析。与此同时,Azure 提供计算机视觉和 Azure Face 索引器服务。GCP 分别称他们的图像和视频服务为视觉服务和视频服务。
异常检测
计算机非常擅长检测异常情况,但通常你必须告诉它们要注意什么。云提供商使用机器学习来创建服务,这些服务可以观察一系列事件或数据,并找出数据集中的不同之处。这个过程称为异常检测。
你会在 AWS 中通过 Amazon Lookout 系列服务和欺诈检测器找到这一功能。在 Azure 上,这个服务是异常检测器和度量顾问,GCP 的版本是云推理。
个性化
推荐引擎正在成为电子商务网站的一个流行补充。难怪云提供商试图在这方面做一些繁重的工作。
AWS 基于他们为其商业网站开发的相同技术为亚马逊提供个性化服务。同时,Azure 有个性化器,GCP 有推荐 AI 。
有一点要记住:你的建议只有在你能把数据输入到你的系统中的时候才是好的。
事实上,上述所有服务都是如此。如果您的源数据是粗略的,最终结果可能会非常令人失望!
机器学习平台
当我们谈论机器学习平台时,我们指的是 ML 从业者使用的工作台和工具。这类似于开发人员使用 IDE 和一些库来编写代码。
对于机器学习来说, Jupyter Notebook 是数据科学家事实上的工作台。不出所料,所有三家云提供商都提供 Jupyter 笔记本电脑或一些稍微更名的版本作为其平台的一部分。
另一个全面的一致性是支持主要的机器学习框架,包括 TensorFlow、MXNet、Keras、PyTorch、Chainer、SciKit Learn 等。云提供商在其平台中集成了安全性、协作和数据管理等功能。
指导模型开发
对于那些刚刚开始 ML 之旅的人来说,云提供商已经投资了一些温和的介绍。比如 AWS 的“刚刚入门”服务叫做 SageMaker Autopilot ,Azure 有 Automated ML 和一个叫做Azure Machine Learning designer的拖拽工具,GCP 有一系列指导模型创建工具,他们称之为 AutoML 。
全 ML 工作台
如果你是一个经验丰富的专业人士,不需要训练轮,AWS 提供 SageMaker Studio ,Azure 有机器学习笔记本,GCP 提供 AI 平台。
MLOps
另一个最近得到很多关注的功能是 MLOps,相当于机器学习的 DevOps。AWS 把他们的叫做 SageMaker MLOps ,Azure 的简单来说就是 MLOps ,GCP 有管道。
增强人工智能
AWS 还拥有增强人工智能(亚马逊 A2I) ,这是我们在其他平台上还没有看到的东西(尽管这肯定只是时间问题)。增强人工智能是一种利用真实、活生生、会呼吸的人类的力量来帮助改善机器学习服务的方式。
这里有一个非常实用的例子:
比方说,你已经确定你的机器学习模型在识别愤怒的雪貂的图像方面大约有 95%的准确性,但你需要有 100%的准确性。对于 ML 模型的可信度低的情况,你可以把有问题的雪貂图片交给一个活生生的人,他可以判断雪貂是否生气。
【添加 Scott 的《ACG 计划》剧集中愤怒的雪貂形象?]
机器学习基础设施
所有的云提供商都非常喜欢各自机器学习平台的容器,这是有充分理由的。集装箱相对较轻,便于携带,可以方便地搬运。
这三个提供者都为特定版本的 ML 框架提供了按钮式容器部署,并针对训练、验证和推理进行了优化。如果你更喜欢 DIY,所有的提供商都有针对所有主要框架的平台优化虚拟机。后者是大多数人使用的,如果他们已经有一个在内部训练的模型。
五金器具
机器学习有点像云提供商的军备竞赛。这三家公司都倾向于优化硬件,每家提供商都声称具有卓越的性能和经济性。所有提供商都提供不同级别的 CPU 和 GPU 虚拟机类型。此外,一些公司还投资了专用集成电路(ASIC)和现场可编程门阵列(FPGA)形式的专用硬件。
像往常一样,这里有一个权衡。这些专门的硬件平台确实擅长机器学习任务,但从经济角度来说,它们对其他任何事情都不太有用。基于 CPU 和 GPU 的机器更加灵活,并且通常是人们在开发和改进他们的 ML 模型时首先使用的。
机器学习的可解释性和偏见
尽管其固有的承诺和机会,开发高质量的 ML 模型确实很难。如果你碰巧做错了,那么 ML 产生的决定可能会从稍微尴尬到完全不道德,既有道德原因,有时也有监管原因。
我们需要能够解释我们的 ML 模型如何做出决策。从业者称之为可解释性,幸运的是,云提供商有工具来帮助解决这个问题:
更多 ACG ML 培训资源
机器学习是一个快速发展和迭代的空间,云甚至加速了这一过程。如果你刚刚开始你的人工智能之旅,请在 ACG 平台上查看机器学习简介(由你真正的)。
然后,在你有了基本的东西之后,选择你的云并深入研究。我们在 AWS、Azure 和 GCP 有很多关于 ML 产品的课程和动手实验。
The AWS Certified Machine Learning Specialty is one of the most valuable certs out there. ACG Training Architect Scott Pletcher shares his tips and tricks on how to get certified (and re-certified).
您也可以开始您的 ACG 免费试用或查看本月的免费云培训。在 YouTube 上订阅云专家的每周云新闻,在脸书上关注我们,在 Twitter 上关注我们,在 Discord 上加入对话。
最佳云数据库:AWS vs Azure vs GCP
原文:https://acloudguru.com/blog/engineering/aws-vs-azure-vs-gcp-cloud-comparison-databases
在本帖中,我们来看看不同云提供商的数据库。我们将看看 AWS、Azure 和 GCP 之间的相似之处、不同之处和值得关注的地方。
啊,数据库。这些惊人且非常有用的服务是创建和部署应用程序和系统的核心促成因素。云允许这一领域的大量创新。
但是 AWS 、 Azure 、 Google 云平台的数据库服务对比如何?答案就在这份云提供商比较指南中!
AWS vs Azure vs GCP:云提供商比较
在云的世界里,并不都是苹果对苹果。以下是其他一些云比较指南。
内容
云数据库的基本概念
在我们深入研究之前,有几个关于数据库的基本概念值得了解。
什么是数据库伸缩?
缩放可以是垂直的,也可以是水平的。
- 垂直扩展 —垂直扩展是指单个数据库实例通过添加更多计算、内存和/或存储来增长,以便能够处理更多流量。
水平扩展 —水平扩展是指添加多个数据库实例,使访问数据库的流量分布在这些实例中。这可以比垂直扩展更大,但很难做到,因为它要求数据要么在实例之间确定地拆分,要么在这些实例之间保持同步,这两者都会在数据、结构、一致性和原子性等方面产生复杂性。
读取副本 —一些数据库服务将允许您通过读取副本水平扩展只读操作。在这里,数据在多个实例之间出于只读目的进行同步,但是您仍然有一个用于写操作的主实例。
什么是数据库可用性?
下一个要理解的概念是可用性。可用性是指云提供商就数据库在给定时间段内启动并运行多长时间以接收请求提供服务级别协议(SLA)。
- 如果一个数据库的可用性 SLA 为 99.9%,那么它在一个月内可能会有 44 分钟的停机时间。然而,如果一个数据库的 SLA 为 99.999%(也称为五个九),那么它一个月可能会有 26 秒的停机时间。
云提供商应用高可用性架构来允许跨各种故障模式子集的容错。根据您的具体需求,您需要平衡可用性、成本和功能,以决定哪种服务最适合您。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
有哪些不同类型的数据库?
最后,理解有不同类型的数据库是很重要的。也许你有 SQL 和 NoSQL 数据库。但是当你深入挖掘的时候,你会发现实际上有很多种类型的数据库。
在本文中,我们将比较最常见的数据库类型:关系数据库(通常称为 SQL 数据库)和 NoSQL 数据库—具体来说就是密钥值数据库和文档数据库。对于关系数据库,我们将涵盖三种不同的子类型:基础架构即服务(或 IaaS)、平台即服务(或 PasS)和云本地 PaaS。
为了给你一个有价值的深入比较,我们将把重点放在最流行的通用数据库服务上,我们不会涉及 SQL 数据仓库或其他类型的 NoSQL 数据库,如图形、内存、时间序列、分类帐和列数据库。
SQL(关系)数据库
关系数据库的特点是表中的数据行具有列和关系,可以使用结构化查询语言(或 SQL)进行查询。
这些是一些最古老的通用数据库,至今仍是最常用的。
IaaS SQL 数据库
我们将从 IaaS SQL 数据库开始。这是您负责跨一个或多个 IaaS 虚拟机部署数据库服务器的地方。
有两个主要的专有数据库— Microsoft SQL Server 和 Oracle 数据库—和三个主要的开源数据库— MySQL、PostgreSQL 和 Maria DB。
为什么要使用 IaaS 数据库?
说到数据库服务,IaaS 是迄今为止最需要构建和维护的工作,尤其是如果您想要实现高度可靠或高性能的设计。那么,你为什么要使用这个选项呢?
很大程度上,这归结于灵活性和控制。当您需要抬起和移动或者对特定细节进行明确控制时,这可能是一个不错的选择。但是反过来,担心配置、修补、备份等等是你的责任。
IaaS 数据库服务比较:AWS vs Azure vs GCP
云提供商之间的主要区别在于是否允许您在云的虚拟机管理程序上许可数据库引擎,以及是否提供任何额外的建议、服务或功能,如自动修补。
Microsoft SQL Server
我们先来看一下微软 SQL Server 。AWS、Azure 和 GCP 都提供了很好的支持,都提供了全面的部署指导。
当涉及到许可时,情况就有点不同了。如果你有现有的软件保障许可,你可以用它来降低你在 Azure 和 AWS 上的成本,但 GCP 不行。
Azure 还提供混合优势来进一步降低您的成本,并且它具有自动修补和自动备份功能。
Oracle 数据库
就 Oracle 而言,AWS 和 Azure 提供了全面的指导。但是由于许可限制,除非部署到昂贵、复杂的裸机服务器上,否则不可能在 GCP 上运行 Oracle。
Azure 在与甲骨文合作的一些地区提供了一个额外的功能,以提供到甲骨文云环境的低延迟连接。这是运行 Oracle 数据库的一流环境。
开源数据库
当谈到开源数据库时,支持就不那么全面了。官方指导在所有云平台上都很少或不存在。
现在网上有很多关于在服务器上运行这些数据库引擎的指导,但是对于如何为给定的云提供商和数据库组合实现复杂、高可用性或高性能的部署,您可能会缺乏具体的指导。
云可用性:AWS vs Azure vs GCP
就可用性而言,如果您跨可用性区域部署,云提供商都提供 99.99%的 SLA,而对于单个服务器部署,则提供较低的 SLA。
值得指出的是,所有三家云提供商都有一个市场,其中包含一系列关于虚拟机部署的现成数据库,这些数据库的复杂程度和自动化程度各不相同,您可以单击一个按钮进行部署,然后从您的云账单中收取费用。
PaaS SQL 数据库:AWS vs Azure vs GCP
接下来,让我们看看 PaaS SQL 选项。这是云提供商负责为您自动化虚拟机、运行补丁和配置操作系统和数据库引擎的地方。
PaaS SQL 数据库比较:AWS vs Azure vs GCP
在 AWS 中,历史悠久的 PasS 数据库服务被称为亚马逊关系数据库服务(或 RDS) 。
- 在 Azure 中,它被称为 SQL Server 的 Azure SQL 数据库托管实例和 MySQL、PostgreSQL 或 Maria DB 的 Azure SQL 数据库。
- 而在 GCP,它被称为云 SQL 。
- Amazon RDS 是唯一直接支持托管 PaaS Oracle 数据库的提供商。GCP 是唯一没有 PaaS Maria DB 服务的云提供商。
- 值得指出的是,Azure SQL 数据库托管实例的模型与其他服务略有不同。它提供了一个总是打补丁的 SQL Server 的常青版本,而不是选择您想要托管的数据库版本。
- PaaS Microsoft SQL Server —监控和可用性
这三家提供商都提供原生云监控解决方案以及性能见解和建议。
- Azure 在可用性方面略微领先,具有更高的 SLA 和自动跨区域故障转移。
- 所有提供商都有自动备份解决方案,但 Azure 的是最全面的。
- GCP 的默认备份保留可以配置更长的时间,但 Azure 具有针对 SQL Server 的可选长期保留功能。
- 这三者都提供了时间点恢复选项,当您需要从意外数据丢失中恢复时,这很方便,但在 GCP 使用起来就比较笨重,保留期也较短。
- PaaS Microsoft SQL Server —可扩展性
垂直扩展是 GCP 的闪光点。您可以扩展到一个庞大的数据库,并且减少了维护工作,因为它会跨所有数据库引擎自动增加您的存储。
- Azure 在横向扩展方面表现突出,为所有数据库引擎提供跨区域读取副本,并在 SQL 托管实例的业务关键层提供读写副本。
- PaaS Microsoft SQL Server —安全性
所有提供商都通过防火墙和虚拟网络、传输中和静态加密以及审计日志记录提供强大的安全性。
关键区别在于 RDS 没有内置的客户端加密,Azure 没有基于角色的本地访问控制——尽管它内置了一些更高级的咨询功能。
自动化 AWS 成本优化
经济高效地使用 AWS 可能是一项挑战。在这个免费点播的网络研讨会中,您将了解 AWS 成本优化工具和策略的概况,如数据存储优化。
云原生平台即服务:AWS vs Azure vs GCP
接下来,让我们看看云原生 PaaS SQL 选项。
通过原生为云构建数据库解决方案,提供商获得了具有更高级功能的 SQL 服务,如主动地理复制、更快更广的纵向和横向扩展、更高的可用性以及无服务器定价。
云原生 PaaS SQL 数据库比较:AWS vs Azure vs GCP
AWS 有 Aurora ,一个 MySQL 和 PostgreSQL 兼容的引擎,在相同的硬件上拥有更高的吞吐量。
- Azure 拥有 Azure SQL 数据库,这是一个常青树 SQL server 引擎,具有各种操作模式,包括通用、业务关键、弹性池、超大规模和无服务器。
- 谷歌有云扳手,这是一个拥有一些令人印象深刻的属性的专有数据库。
- 云原生 PaaS SQL 数据库—监控和可用性
从监控的角度来看,所有的提供商都提供了良好的覆盖,尤其是 Azure,提供了一系列全面的性能洞察工具。
所有产品都有相似的基本 SLA。Azure 通过其业务关键层进一步提升了这一点。它也是唯一一个有恢复点目标和恢复时间目标的产品。
但最令人印象深刻的是 GCP 的云扳手,具有 99.999%的多区域配置可用性。明确地说,这是每月 26 秒的允许停机时间。
所有提供商都有自动区域内故障转移和快速跨区域故障转移,这在 Azure 和 GCP 是自动的。
云原生 PaaS SQL 数据库—备份
从备份的角度来看,所有三个提供商都有时间点恢复,AWS 和 Azure 有更长的恢复窗口和自动化备份。Azure 在时间点恢复之外有一个长期保留选项。
Cloud Spanner 只有手动备份,但它确实有能力执行陈旧读取来外科手术式地查询意外删除的数据,这真的很酷。
云原生 PaaS SQL 数据库—可扩展性
在扩展方面,GCP 云扳手没有垂直扩展的概念,因为它是完全水平扩展的。所有节点大小相同。
比较 Azure 和 AWS: Azure 的业务关键层有一个绝对巨大的最大垂直规模。
对于存储,GCP 实际上是无限的,因为它将存储绑定到其水平扩展的节点,每个节点有一个最大存储。有默认的节点配额,您可以请求增加这些配额。所以实际上,限额是基于你的信用卡。
Amazon Aurora 的最大存储量和自动增长令人印象深刻。而 Azure 相对缺乏,最大存储量小得多,没有自动增长。尽管超大规模层拥有令人印象深刻的最大存储。
从横向规模的角度来看,所有三个提供商都有一套令人印象深刻的能力。它们都提供跨区域读取副本、分片功能和读写副本选项。不过最突出的是 Cloud Spanner,它具有自动分片和可水平伸缩的读写功能。
Azure 和 AWS 都提供无服务器定价,包括自动扩展、自动暂停和自动恢复功能,以及按使用付费的定价,这非常适合间歇性和非生产性工作负载。
云原生 PaaS SQL 数据库—安全性
从安全角度来看,这与我们讨论的 PaaS SQL 数据库非常相似,只是 Cloud Spanner 没有客户端加密。
NoSQL 数据库(键值和文档数据库)
好吧。让我们换个话题,深入到 NoSQL 的世界,更具体地说,是键值和文档数据库。
成年人的 NoSQL:DynamoDB 单表建模与里克·霍利汉 在这个免费的点播网络研讨会中,里克·霍利汉,AWS 的高级实践经理和单表 DynamoDB 设计的发明者,展示了他在 dynamo db 中建模复杂数据访问模式的技巧。
什么是键值数据库?
键值数据库很简单。您存储数据,值,根据一个键查找。您通常可以存储大量数据,同时保持快速的查找时间。存储的值通常由一组不同数据类型的不同属性组成。
什么是文档数据库?
文档数据库与键-值数据库的相似之处在于,您存储一组值(一个文档)和一个键(文档 ID ),但是这些数据库对存储更复杂的值提供了完善的支持,包括数组和子对象,以及基于这些文档结构的事务、索引和查询。
云原生 NoSQL 数据库的历史
云原生的 NoSQL 键值和文档数据库服务有一个共同的主题,即它们与后来被弃用的遗留服务有很长的历史。
例如,AWS 在 2007 年 12 月推出了 SimpleDB,一个简单的键值存储,然后在 2012 年 12 月推出了具有一系列更好特性的 DynamoDB ,包括文档支持。它还有一个更新的服务叫做 DocumentDB,与 MongoDB 兼容。
- Azure 在 2008 年 10 月引入了表存储,一个简单的键值存储。随后,他们在 2014 年 8 月推出了 DocumentDB,这是一个文档数据库,随后他们在 2017 年 5 月发布了 Cosmos DB,这是一个支持关键值文档图和分栏存储的多范例数据库。
- GCP 在 2014 年 8 月推出了他们的键值数据库 Cloud Bigtable ,该数据库自 2005 年开始在内部使用。然后,他们在 2008 年 10 月推出了他们的第一个文档数据库数据存储,该数据库与 Firebase 实时数据库相结合,随后由 2017 年 10 月发布的 Cloud Firestore 进行了改进。
- NoSQL 数据库:AWS vs Azure vs GCP
在这一节中,我们将比较以下旗舰键值和文档数据库:Amazon DynamoDB、Azure Cosmos DB、Google Cloud Bigtable 和 Firestore。
让我们先来看看消费定价模型和独特的功能。
NoSQL 数据库消费
因为这些数据库通常是专有的,所以云提供商给你的使用它们的机制很重要。
所有服务都提供命令行界面(CLI ),除了 Bigtable 之外,所有服务都至少有一个用户界面。
- 所有提供者都有一个本地模拟器,这样您就可以运行数据库的本地实例来进行开发和测试活动,而不需要互联网连接。
- 正如您所料,所有服务都有大量的 SDK 可供选择,只是支持的语言略有不同。
- NoSQL 数据库的定价模式和独特功能
看看定价模型,Amazon DynamoDB 和 Azure Cosmos DB 为您提供了可选性,支持供应和无服务器定价模型。
- GCP 的 Bigtable 只支持 provisioned,Firestore 只支持 serverless。
- 看看独特的功能,DynamoDB 集成了一个内存缓存来加快读取速度。
- Cosmos DB 有一个内置的 JavaScript 引擎来提供存储过程、触发器、用户定义函数和合并过程的事务一致性执行。它还支持核心键值和文档 API 之上的一系列附加 API,包括 Mongo DB、Cassandra 和 Gremlin。
- Bigtable 有一个内置的 Apache HBase API,Firestore 有一些基于文件的路由的独特属性,这使它非常适合直接针对它构建 web 和移动应用程序,包括离线同步和 CDN 数据包。
- NoSQL 数据库的主要功能
NoSQL 数据库在处理存储在其中的数据方面有一组关键的功能。
如果我们从查看每个服务使用的数据模型开始,我们可以看到 Cosmo DB 提供了一个额外的父级,称为数据库帐户。
- Cosmos DB、Bigtable 和 Firestore 都支持数据库级结构。
- 所有服务都有一个表或集合概念,其中包含行或文档,这些行或文档都有属性值。
- DynamoDB 和 Cosmos DB 有显式的分区键,允许对行进行分片和分组。
- Bigtable 有一个独特的属性,其中对各个单元格的值进行了版本控制,因此您可以获得值的历史记录。
- Firestore 有一个强大的功能,您可以在一个文档中定义嵌套集合。
- 除了 Bigtable 将所有值都视为二进制值之外,每个数据库存储的值的类型在服务之间都相当相似。
所有服务都为事务提供了一定程度的支持,只是在隔离级别和事务执行范围上略有不同。
- 所有服务都提供乐观并发,但是 Firestore 也支持悲观并发。
- 一致性模型是一些有趣的不同之处。
DynamoDB 允许您在读取时指定,如果您想要最终或强一致性。
- 如果使用单个集群,Bigtable 将提供很强的一致性,如果使用多个集群,将提供最终的一致性。
- forestore 总是给出可序列化的隔离。
- Cosmos DB 为您提供了极大的灵活性,允许您为每个读取请求选择五种不同的一致性级别,并对可用性、延迟和吞吐量进行了明确的权衡。
- 除了 Bigtable 之外的所有服务都允许数据流。
- NoSQL 数据库限制
所有 NoSQL 数据库在存储和检索数据时都有限制。每种服务都有不同的底层设计,这就产生了不同的限制特征。
例如,在 Bigtable 和 Firestore 中,项目的属性受到限制,但在 DynamoDB 或 Cosmos DB 中不受限制。
- 所有数据库对分区键和 id 都有低千字节的限制。
- 再往上看一层,一个单独的项目,有很大的差异,特别是 DynamoDB 中相对较小的最大项目大小,而 Bigtable 中相对较大的项目大小。尽管该大小包括该项目的所有版本。
- 与项目相关的另一个限制是在执行查询和/或事务时允许的项目数量或大小。DynamoDB 的限制相对较小,而 Firestore 和 Bigtable 的限制要大得多。
- 最后,看看表或集合的概念,虽然 Cosmos DB 和 Firestore 没有限制,但默认情况下 DynamoDB 和 Bigtable 有。
- NoSQL 数据库的可扩展性
从可扩展性的角度来看,所有服务都支持完全的水平可扩展性,因此提供了大量的最大存储量。所以这个很大程度上受你信用卡的约束。
从自动扩展的角度来看,DynamoDB、Cosmos DB 和 Firestore 中的无服务器定价模型都可以自动扩展。
- Cosmos DB 和 DynamoDB 还支持通过手动指定的规则在它们提供的定价模型中自动缩放。
- Bigtable 不支持开箱即用的自动伸缩。
- 所有服务都支持令人印象深刻的吞吐量数字,假设您利用了它们的各种分区机制。
- 不过,和其他服务相比,Firestore 的写性能相对较差。
- Firestore 在延迟方面也同样欠缺,没有具体的延迟目标,而其他服务的响应时间只有个位数毫秒。
- DynamoDB 值得注意的是它可选的 DAX 功能,提供微秒级的响应时间。
- NoSQL 数据库监控和可用性
从监控角度来看,除 Firestore 之外,所有数据库都集成了云监控服务,并且都有详细的性能见解。
- 所有服务都具有令人印象深刻的“五个 9”的跨区域可用性,单区域实例的可用性 SLA 较低。
- Cosmos DB 是唯一一个在吞吐量、一致性和延迟方面有 SLA 的服务。
- 所有服务都有跨区域自动故障转移,Cosmos DB 可选地允许手动故障转移。
- NoSQL 数据库备份
在备份方面,AWS 和 Azure 遥遥领先。
DynamoDB 和 Cosmos DB 都提供即时恢复功能和开箱即用的自动备份。
- 令人惊讶的是,Cosmos DB 不提供手动备份的能力,而 DynamoDB 允许在几秒钟内完成完整备份,而不会影响性能。
- GCP Bigtable 和 Firestore 都允许手动触发备份。
- NoSQL 数据库安全
安全故事与我们看到的 SQL 数据库非常一致,很好地覆盖了服务。在 Firestore 没有防火墙或 VNet 支持的情况下,还有一个令人惊讶的排放。(虽然 Firestore 通过 Firebase 认证和云 Firestore 安全规则,对 web 和移动应用程序具有一些强大的认证功能。)
Cosmos DB 提供了一系列不同的认证机制,这给了它很大的灵活性。它还通过 Azure Defender 提供全面的安全建议。
结论
正如我们所见,AWS、Azure 和 GCP 的数据库选项非常广泛,令人印象深刻。在每个类别的云平台中,都有大体相同的服务,但每一个都有自己独特的特征。
虽然我们没有涵盖每个云提供商必须提供的每个数据库服务,但希望这里的信息提供了一个有用的起点,可以帮助您比较不同提供商之间不同类型的服务。
如果您想了解更多关于这些云服务的信息,开始免费试用云专家提供的涵盖所有这些服务的视频和动手实验。继续牛逼吧,云大师们!
为更好的职业生涯建立你需要的技能。
掌握现代技术技能,获得认证,提升您的职业生涯。无论您是新手还是经验丰富的专业人士,您都可以通过实践来学习,并在 ACG 的帮助下推进您的云计算职业生涯。
关于作者
Rob 是 Telstra Purple 的全球交付创新主管,在这里他培养了一种授权和驱动创新、实验、持续改进和知识共享的文化。
Rob 拥有成功交付软件和组织变革项目的良好记录,尤其关注加速商业价值交付、衡量和实现,他还是许多组织、团队和项目中积极文化变革和渐进持续改进的支持者和领导者。Rob 专注于领导团队,通过使用敏捷和精益的价值观和原则,通过采用 DevOps 和持续交付实践,专注于业务价值的交付,帮助企业成功创新和变革。他对移动、web 和云软件开发以及知识产权(IP)战略非常感兴趣。
AWS vs Azure vs GCP:三大云提供商的比较
原文:https://acloudguru.com/blog/engineering/aws-vs-azure-vs-gcp-the-big-3-cloud-providers-compared
在本帖中,我们的云提供商比较系列的一部分,我们将讨论三大云提供商在组织层面的比较。如果你对 Azure、AWS 和谷歌云平台是如何匹配的感到好奇,请继续阅读!
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
自动气象站的历史
很难记住亚马逊曾经只是一家斗志昂扬的电子商务初创公司,他们做了许多初创公司在增长高峰期会做的事情,积累技术债务。
2000 年,出于必要,Amazon 做出了他们的战略技术决策,开始为其内部开发团队构建可重用模块。这使得这些团队可以更快地创建新功能,因为他们不会总是一遍又一遍地重复发明同样的东西。
随着时间的推移,内部服务的集合越来越多,公司内部的人开始意识到那里可能有商机。
亚马逊网络服务(AWS)于 2004 年首次推出,随后于 2006 年重新推出,推出了三项公共的现收现付服务,开始进入我们现在称之为云计算的未知领域。
微软 Azure 的历史
大约在 AWS 宣布其第一批云服务的同时,微软已经在进行类似的努力,做着与亚马逊大致相同的事情:将不同的服务缝合在一起,并为内部员工创建可重用的组件。
微软官方宣布它在 2008 年为云做了一些事情,他们称之为“红狗计划”,因为“粉红狮子狗”没有一个真正好听的名字。
2010 年正式发布为 Windows Azure,微软的第一次迭代云服务。。。其实没那么好。它甚至不能运行标准版本的 Windows server。2011 年的一次狗食和一次异地静修足以让 Azure 领导层的成员相信,如果他们希望与 AWS 和谷歌这样的公司竞争,他们需要做得更好。
Microsoft Azure 于 2013 年重新发布,定位更好,对组织来说是一个更具吸引力的选择,尤其是那些长期购买 Microsoft 产品并寻求平稳途径来利用即将到来的云浪潮的组织。2014 年,Windows Azure 更名为 Microsoft Azure,这象征性地标志着微软将云作为优先事项的战略转变。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
谷歌云平台的历史(GCP)
Google 的云起源从一开始就被烤熟了,但在 2008 年 4 月正式进入公有云,通过 Google App Engine 的预览版发布,旨在让开发者快速部署和扩展 web 应用。
现在,与早期强调基础设施即服务的 AWS 和微软相反,谷歌选择了平台即服务 PaaS。在接下来的几年里,谷歌利用其世界级的开发组织、收购和雄厚的资金将谷歌云平台发展成为可以与其他公共云提供商竞争的平台。
谁拥有 AWS、Azure 和 GCP,他们如何报告云收入?
谷歌云平台和 Google Workplace(之前的 G Suite)都是谷歌内部的业务部门(谷歌本身也是其母公司 Alphabet 内部的一个业务部门)。
目前,Azure 属于微软智能云业务板块,涵盖所有的服务器和云产品,以及业务和 GitHub 的支持和咨询部分,微软于 2018 年收购了 GitHub。
AWS 是亚马逊的一个部门,但在更大的公司中作为自己的实体运营。亚马逊的商业方面是 AWS 的客户,这意味着 AWS 必须像外部公司一样竞争业务。
现在,在比较云提供商的收入时需要注意的一点是,他们的报告分组并不相同。亚马逊单独报告 AWS 收入,而谷歌将 GCP 和他们的 Workplace 产品作为云收入的一部分。微软将 Azure、本地服务器软件、Visual Studio 和 GitHub 捆绑到他们的报告细分市场中。有时微软也会提到他们的商业云类别的产品,包括 Azure、Office 365、Dynamics 365 和 LinkedIn 的一部分。截至 2021 年,微软尚未单独公布纯粹针对 Azure 的营收数据。
哪些公司使用 AWS、Azure 和 GCP?
让我们看看每个平台的一些客户。
谷歌云平台是游戏公司 Activision Blizzard、航空公司 Lufthansa 和 SpaceX 的所在地。
Azure 提升了大型客户,如美国电话电报公司、可口可乐和沃尔玛。(后者甚至已经宣布了与微软的一些特殊合作关系,想必是联手与亚马逊竞争。)
AWS 把很多大公司算作客户。鉴于其庞大的流媒体基础设施,网飞可能是最知名的。Twitch 和 Twitter 等在线公司也使用该平台,特纳广播公司和 BBC 等媒体公司也使用该平台。
同样,在查看提供商的徽标幻灯片时,您必须小心谨慎。即使一家大公司的某个小的、不知名的、微小的部门使用该平台在对象存储器上存储 3K 文件,该提供商也非常乐意为自己所有。
此外,这些大公司中的许多都有许多部门,其中一些可能已经被收购或仍在整合过程中。大公司在其庞大的组织中使用四五个不同的云提供商并不罕见。
AWS、Azure 和 GCP 的主要优势是什么?
各平台的一些比较优势怎么样?
微软为商业客户提供软件已经有 40 多年了,所以他们知道大型企业想要什么以及如何交付。此外,Azure 提供了一个非常有吸引力的向云过渡的途径,可以成为寻求限制其供应商列表的企业的一站式商店。
AWS 几乎领先了 7 年,目前提供的产品比其他竞争对手多得多。有了这个开端,可用的人才库就更大了,这意味着更多的人知道 AWS。(然而,如果说我们在云专家那里学到了一件事,那就是只要一点时间和培训,任何人都可以学会云。因此,人才库问题可能不像以前那么重要了。)
然后是 GCP,他既没有强大的企业足迹,也没有领先优势。他们已经从其他专注于企业的公司,如 SAP 和 Oracle,招聘了领导者,这无疑会有所帮助。你可能听说过,集装箱现在很流行。Google 恰好发明了一个最流行的容器编排系统,叫做 Kubernetes。GCP 已经将他们的集装箱专业知识融入到 Anthos 名下的服务组合中,这在今天得到了很多关注。
AWS、Azure 和 GCP 面临的主要挑战是什么?
好吧,有优点就有缺点。那么,我们的三大云提供商面临着哪些挑战呢?
嗯,当你像亚马逊一样大的时候,你肯定会踩到一些脚趾。许多零售商将亚马逊视为直接竞争对手,因此无法让自己将任何业务交给 AWS。随着亚马逊帝国发展到其他行业,这种情绪可能也会增长。同样,随着亚马逊的成长,它会因为太大而受到政府和其他团体的更多审查,这一点微软和谷歌再清楚不过了。由于 AWS 是亚马逊收入的一大部分,它最终可能会被出售或剥离。这不一定是好事或坏事,只是有点不确定性。
YouTube 和搜索是谷歌的主要收入来源。我们可能会把 GCP 想象成被贬到地下室的一张桌子上,旁边放着一个红色的小订书机。然而,公共云被认为是谷歌的增长机会,谷歌继续投资于数据中心和收购。然后是折旧政策。这意味着谷歌可以也将会关闭产品和功能,并可能在它的位置上创造一些新的东西。这对谷歌来说很好,但如果你的关键任务应用程序依赖于这项服务,就不那么好了。(那可能要拜拜了。)
相比之下,Azure 和 AWS 有更多对开发者友好的日落策略和向后兼容理念。在过去的十年左右的时间里,开源软件已经得到了广泛的接受,无论是在内部还是在云中,这在很大程度上是因为组织在寻找像微软这样的商业软件供应商的替代品。值得称赞的是,微软起初缓慢地向开源社区倾斜,但现在相当显著,主要是在软件开发领域。但是毫无疑问,微软仍然希望你购买大量的软件许可,因为这仍然是他们重要的收入来源。
看点:解决“没有经验”的云招聘问题
没有工作是得不到经验的。但是谁会雇佣没有经验的你呢?谜题!观看这一免费的点播网络研讨会,进行关于云计算职业发展的小组讨论,并获得您的第一份云计算工作。
我如何选择最适合我的云提供商?
那么,我如何选择最适合我的云提供商呢?因为所有的情况都是不同的,所以真的没有最好的普遍答案。
我建议与这些供应商进行一些试点项目。如果你已经与 IBM、 Oracle Cloud 、SAP 或阿里巴巴有合作关系,我还会推荐这些公司。也许尝试在多个供应商上做同一个项目,并评估诸如易用性、产品的健壮性、文档的质量等等。
如果你担心过于局限于一个提供商,你可以选择一些更加开放和通用的架构,比如使用抽象层、围绕 REST APIs 构建和使用容器。
但是在这里要小心,因为你可能会过于一般化。如果您只是使用您的云提供商来运行相同的旧虚拟机和容器,您可能会错过云提供商在托管服务和可变成本方面可以提供的许多价值。
现在,我知道这可能有争议,但我会避免试图将您的工作负载分散到多个云提供商。我知道,我知道。。。一些人认为使用多个云提供商可以保护他们免受可怕的供应商锁定。我认为将您的工作负载分散到多个云中只会稀释您的资源,并使事情变得不必要的复杂。相反,我认为最好把你的技能和努力集中到最大化一个提供商的功能和价值上。深入了解那个供应商,变得真正优秀,不管他是谁。
朋友们,这是另一个版本的云提供商比较。感谢阅读,保持安全,互相照顾,保持令人敬畏,云大师。
想了解更多关于云计算和技术领域最热门的技能吗?开始免费试用或查看本月的免费云培训。你也可以在 YouTube 上订阅一位云专家的每周云新闻,像我们一样关注脸书,在 Twitter 上关注我们,并加入 Discord 上的对话。
AWS 工作区与 Azure 虚拟桌面:选择您的 VDI 解决方案
没有什么事情比在 IT 部门工作,听经理告诉你的团队,公司将在几周内完全远离,你的团队需要准备好支持这种转变更有压力了!我们中任何一个在 2020 年早期在 IT 界工作的人都会有同感!如果你曾经面临这个挑战,许多事情可能会在你的脑海中闪过。我们将如何提供员工工作所需的硬件和软件?当我们日以继夜地建设基础设施时,如何让咖啡机保持满满的?
使用云提供商为您的员工提供虚拟桌面基础架构(VDI)是解决许多这些云支持问题的好方法,所以让我们来看看 Azure 虚拟桌面(以前的 Windows 虚拟桌面)和 AWS 工作区,以找到最适合您的解决方案。
什么是虚拟桌面?
简而言之,我们可以利用 Azure、AWS 或许多其他选项来为用户提供虚拟桌面,这些用户已经预装了他们需要的应用程序或根据需要提供了这些应用程序。现在,您可以只部署一台虚拟机,称之为虚拟桌面,但如果您想要可扩展性、安全性、易用性等,您会想要使用虚拟桌面基础架构解决方案。
Azure 虚拟桌面与 AWS 工作区的比较
假设你在 Gnomes 公司工作,这是一家生产花园侏儒和花园侏儒设计的公司。您刚刚得到消息,设计师、呼叫中心员工和财务部门将完全远程化。幸运的是,你一直与云世界保持同步,你知道你可以使用 Azure VDI 或 AWS Workspaces 为你的同事提供虚拟桌面,但你应该选择哪一个呢?来看看,帮帮我们的小侏儒朋友吧!
特征
这两款产品都提供了许多相同的功能,例如从任何地方进行远程连接、使用本机应用程序或网络浏览器、持久文件存储、部署定制应用程序,所以让我们来看看它们的不同之处。
通过 AWS 工作区,每个用户都可以获得自己的个人桌面,可以是 Windows 或 Linux 操作系统。下面是 AWS Workspaces 提供的 Linux 桌面截图。
在 Azure 虚拟桌面方面,Windows 将是唯一的操作系统选项,用户可以拥有一个个人桌面,或者许多用户可以共享一个虚拟机。许多用户共享一台虚拟机是降低成本和减少虚拟机数量的好方法。
下一个需要考虑的重要事项是,AWS Workspaces Windows 产品实际上是 Server 2016。要在 AWS 工作区上安装 Windows 10,你需要适当的许可和每个地区至少 200 个工作区的*!*
定价
现在我们来看一下每种产品的定价。现在,假设我们计划为 Gnomes Inc .财务部的 10 个用户创建虚拟桌面。对于财务部门,IT 团队已经确定他们需要一台 2 个虚拟 CPU、8gb 内存和 Windows 操作系统的机器。
AWS 工作区定价方案
我们首先来看看 AWS 工作区。考虑到这些要求,并查看 AWS Workspace 定价页面,我们看到一个 2 VCPU 和 8gb RAM 的虚拟机将运行 47 美元/月;这也包括 Windows 许可。完美。因此,对于 10 个用户,我们的账单将为470 美元/月(T3)。
改变职业,改变企业
学得更快。动作快点。通过 AWS、Microsoft Azure、Google Cloud 等平台中的课程、动手实验室和云沙盒环境实现转型。
Azure 虚拟桌面定价方案
接下来,Azure 虚拟桌面。我们可以通过两种方式来看待 Azure 虚拟桌面的定价:每个用户获得自己的虚拟机(称为个人),或者许多用户共享一个虚拟机(称为池)。让我们先来看一下个人配置,每个用户都有自己的 VM,以便直接与 AWS 工作区进行比较。
个人定价
首先,我将调出Azure 定价计算器,并插入我们想要的虚拟机的信息。仅一台带有 2 个虚拟 CPU 和 8GB 内存的 D2 v4 虚拟机就要花费 80 美元/用户/月,而且我们还必须考虑许可!让我们假设每个用户都将使用微软 365 高级订阅,这将允许他们使用 Azure 虚拟桌面虚拟机,每月每用户 20 美元。因此,考虑到所有这些因素,10 个用户每月的费用将超过 100 美元,相当于每月 1000 美元!
需要云计算和 Azure 的介绍?从 Azure Fundamentals 开始,这是让你在微软 Azure 平台中导航的最佳切入点。
所以在个人用户桌面的情况下,Azure 虚拟桌面的成本是 AWS 工作区的两倍多。但是如果我们把我们的用户集中起来呢?我们的成本会如何变化?
混合定价
回到定价计算器。这一次,我将选择池化配置,并根据微软的虚拟机指南选择虚拟机。因为我们的用户不到 20 人,并且假设是“重工作负载”类型,所以微软推荐 D8s_v4 (8 个 VCPUs 和 32GB RAM)。现在,如果我们计算虚拟机价格,再加上一点存储成本,以及所有 10 个用户的 Microsoft 365 Premium 订阅,我们得出每月总计 600 美元。
即使使用池化配置,AWS 工作区仍然是最便宜的选择。
Read more from ACG: With VPNs besieged, cloud desktop get their close-up*
性能和可靠性
最后,我们来看看性能和可靠性。根据我使用 Azure 虚拟桌面和 AWS 工作区的经验,我认为它们在使用本地远程应用程序时表现非常相似。你可以看出,这两款软件在启动程序和应用程序时都会有一点延迟,但我个人认为 Azure 虚拟桌面的延迟要小一些。
在可靠性方面,AWS workspaces 提供了 99.9%的正常运行时间 SLA。另一方面,Azure 虚拟桌面“努力实现至少 99.9%的可用性”,并且“微软不提供财政支持的服务水平协议。“因此,如果您需要有保证的 SLA,那么 AWS Workspaces 将是您的最佳选择。
AWS Workspaces 和 Azure 虚拟桌面哪个适合我?
现在,我们已经了解了这两种产品的功能、定价、性能和可靠性,您应该选择哪一种?嗯,这要取决于你的情况(以及你的公司为高峰花园侏儒季节配备了多少人员)。如果您需要提供 Linux 桌面,或者您的工作负载可以在 Server 2016 上运行,那么我会建议您使用 AWS 工作区。然而,如果你需要不到 200 个用户的 Windows 10,或者想减轻管理大量虚拟机的复杂性,那么 Azure 虚拟桌面是你的好选择。
如果你想了解更多关于 Azure 虚拟桌面以及如何使用它为你的终端用户提供一个安全的、可伸缩的、无缝的虚拟桌面的信息,请查看我的课程Azure 虚拟桌面简介,我在其中讲述了 Azure 虚拟桌面的主题,如术语、定价和许可,并展示了几个实际的演示。
AZ-104 vs AZ-103:微软 Azure 管理员助理变更说明
说到微软 Azure 认证考试,变化是不断的。上个月,微软淘汰了 AZ-103,这是之前获得微软认证:Azure 管理员助理认证(顺便说一下,这是 2021 年顶级付费云认证之一)所需的考试。到 2020 年 11 月 24 日,微软将为其继任者 AZ-104 增加更多功能。
那么 AZ-103 和 AZ-104 之间有什么变化呢?如果你的目标是获得微软 Azure 管理员助理证书,这对你来说意味着什么?让我们来分析一下你能期待什么。
(如果你是 Azure 新手,想知道哪种微软认证适合你,以及所有这些缩写对你的云职业生涯意味着什么,我们在这里为你提供。)
想了解更多关于 Azure 认证的信息吗?
查看我们的 Azure 认证和学习路径。
从 AZ-103 到 AZ-104 有什么变化?
AZ-103 是最近退役的微软 Azure 管理员助理认证考试的版本,更侧重于资源或配置的创建。对于 AZ-104,重点已经转移到更深层次的理解。在 AZ-104 中,我们不仅需要创建和配置资源,还需要知道如何管理这些资源。
例如,Azure 管理员可能需要完成的一项更复杂的任务是在 web 应用中实现应用洞察。这需要能够修改应用程序代码,以实施工具来收集可用的遥测数据,然后通过 application insights 提供的高级分析工具或另一个第三方分析工具对这些数据进行可视化和查询。也就是说,了解 Azure 服务的前前后后是必须的现在随着这种向广泛的资源管理的转变,假设学习者想要在就业市场上变得积极。
你只要回顾一下 AZ-104 的考试指南大纲就能看到这种转变。或者直接从微软获得更多相关信息。
微软 Azure 基于角色的认证
暂停一下。你可能会奇怪:为什么会发生的变化?我们几乎都同意微软 Azure 的认证考试名称可能会令人困惑。
但好消息是,认证和考试本身的变化实际上非常合理,并且基于对云技能的需求。随着越来越多的企业经历云迁移和转型,云技能成为热门商品。这就是微软基于角色的认证模型的由来。
行业的需求正在急剧变化,对精通云计算的专业人员的需求很高。从本质上来说,云工作比云专业人员多。为了解决这个问题,微软正在将认证的重点转移到更加基于角色的认证模式。
现在,让我们深入到几个不同的领域,看看新的 AZ-104 有什么变化。
身份和治理
AZ-104 中的第一个域“管理 Azure 身份和治理”是 AZ-103 中的两个域“管理 Azure 订阅和资源”和“管理身份”的组合。我们看到这将焦点缩小到需要理解 Azure 服务集成的能力。
专注于数据管理
AZ-103 和 AZ-104 的第二个领域是与存储相关的一些关键区别。
在 AZ-104 中,我们更侧重于存储帐户和数据的管理,而在 AZ-103 中,我们更侧重于存储资源的创建和配置,而不是数据管理。由于一些备受瞩目的数据管理相关危机,这种变化已经发生。
了解如何管理数据以及实施相关的存储解决方案比以往任何时候都更加重要。AZ-104 还从考试指南大纲中删除了 CDN(内容交付网络)和 Azure Data Factory。然而,AZ-104 获得了一个关于实现监控和 Azure 备份的完全独立的部分,并向存储域添加了 Azure Blob 存储。
在 AZ-103 中,Azure 备份是存储领域的一部分,Azure Blob 存储不是考试目标。同样,我们看到这有助于关注存储解决方案、数据管理和灾难恢复。
计算
就计算而言,AZ-104 将重点从虚拟机转移到了整体计算上。Azure 管理员现在需要知道如何使用虚拟机做所有的事情,还需要学习使用 AKS (Azure Kubernetes 服务)和 App Service 来创建和配置容器和 web 应用。
建立工作关系网
最后,Azure 管理员考试一直非常关注网络——虚拟网络是云服务的关键组成部分,这是理所当然的。虽然 AZ-104 一直专注于负载平衡和网络集成,但在推出 Azure Bastion 和 Azure Firewall 时,它也增加了对高级网络安全技能的需求。
准备 AZ-104 Azure 管理员助理证书
虽然从 AZ-103 中获得的许多知识仍然适用,但随着更多基于角色的认证的发展,关注点肯定发生了转移和缩小。最后,我们知道,随着这种基于角色的转变,AZ-104 对技能和简历都是一个很好的补充。
如果你想获得微软认证:Azure 管理员助理,请查看我的 AZ-104 微软 Azure 管理员认证预备课程。本课程非常注重动手操作,有 20 多个实验、理论课和演示,以确保您具备现场考试和所需的一切。
AZ-303 vs AZ-304:打破 Azure 解决方案架构专家
又到了微软 Azure 认证赛道发布更多更新的时候了!如果你的微软 Azure 认证途径将你引向微软认证:Azure 解决方案架构师专家角色,请注意。
2020 年 9 月,微软取消了 AZ-300 和 AZ-301,这是微软认证:Azure 解决方案架构师专家角色所需的两项考试。这些分别被闪亮的新 AZ-303:微软 Azure Architect 技术和 AZ-304:微软 Azure Architect 设计取代。(两次考试都在 2020 年 11 月底进一步更新。)
那么,对于那些希望提高 Azure 技能的人来说,AZ-303 和 AZ-304 考试有什么新的变化呢?和原版一样,通过这两项考试证明你是一名与企业关键 Azure 技术的设计和实现相关的技术领域的专家。
但是 AZ-303 和 AZ-304 考试有什么区别呢?应该先考哪个?他们如何确保你拥有 Azure 架构师的知识?让我们更深入地了解一下这两者。
AZ-303 和 AZ-304:有什么区别?
实施与设计
如果 AZ-303 和 AZ-304 与建筑工人角色相关,那么在工具箱中放有 AZ-304 的工人将设计建筑蓝图;带着 AZ-303 的工人将实施建筑工程。
- 设计师(AZ-304)将专注于使用真实世界的示例、约束和业务目标来捕捉业务需求,并基于组织的请求来选择解决方案实现。
- 实现者(AZ-303)采用这些解决方案,并确保它们被正确地构建、实现或迁移。
应该先拿 AZ-303 还是先拿 AZ-304?
许多 Azure 架构师选择在进入 AZ-304 之前先参加 AZ-303 考试。这是因为一旦你证明你理解了 AZ-303 中 Azure 服务的来龙去脉,AZ-304 考试就能帮助你巩固架构 Azure 解决方案的概念知识。
AZ-303 和 AZ-304:分解考试
以下是每次考试中围绕 Azure 不同领域的预期。
基础设施
认证的基础设施侧重于 Azure 资源,如虚拟机、网络、应用和 Azure 资源管理器(ARM)模板。
实施人员将具备配置和部署资源和模板的知识,其中设计人员必须选择如何供应这些资源,以及选择哪种计算技术和任何潜在的自动化机会。
实施者和设计者还将具备应用服务、web 应用、逻辑应用和功能以及基于容器的应用(如 Azure Kubernetes Service)方面的知识。
监视
监控包括日志记录、指标、报告和警报。
实施者证明了他们在直接监控方面的知识,如性能容量、服务健康和支出,以及配置日志和警报。
设计师将确定成本最小化的解决方案、监控工具和程序,如事件路由和升级。设计还将包含基于业务需求的重要指标的决策。
管理
管理涉及多个领域,包括业务连续性、身份和安全性,以及从其他基础架构(即内部数据中心)的迁移。
对于身份和安全性,设计师将指导蓝图化单点登录和具有混合和多因素选项的身份验证、基于角色的访问控制和分配等授权、使用 Azure 策略和 Azure Blueprint 的治理策略,以及 Azure Key Vault 等安全解决方案。
实现者将了解如何在新的或现有的 Azure 环境中部署这些复杂的解决方案。
业务连续性就是无论如何都要保持正常运转。这包括备份和灾难恢复、负载平衡以及应用程序和数据在所有相关业务领域的复制或其他分布。
迁移是管理的另一个关键部分,实施者能够使用 Azure Migrate 迁移工作负载,设计者能够评估和解释本地服务器、数据和应用,然后提出将每个工作负载迁移到云的计划。
数据平台和存储
数据平台和存储融入了同一个基本理念:存储您的 1 和 0 以用于应用交付和分析,从而做出更好的业务决策。它从存储帐户开始,然后进入 Azure SQL 数据库或 CosmosDB ,甚至进一步进入数据湖和 Azure Synapse Analytics 。它还将涵盖像数据工厂和 Azure 数据砖这样的服务的数据移动和转换。
实施人员将能够配置存储帐户和数据平台,执行数据映射和转换,以及执行分析选项。设计人员关注存储层、访问和工具选择。这包括选择数据平台,以及为规模、可扩展性和加密设计解决方案。设计师还选择了像 Azure Data Factory、Data Bricks、Data Lake 和 Azure Synapse Analytics(以前的数据仓库)这样的数据集成。
准备微软认证:Azure 解决方案架构师专家考试
你可能想知道这两者之间是否有更好的认证考试。有些人喜欢计划,有些人喜欢行动。每次考试的质量没有区别,只是侧重点不同。
Azure 云技能很受欢迎,许多 Azure 证书经常出现在薪酬最高的云认证薪水名单上。每一个都是你简历和经历的精彩延伸。然而,如果你想要 Azure Architect 专家徽章,你将需要舒适地做这两者。
获得技术培训以发展您的 Azure 技能
通过云专家的 AZ-304:微软 Azure 架构师设计课程为 AZ-304 做准备。此外,对于 Azure 解决方案架构师专家任务的另一半,我们提供了一个由四部分组成的 AZ-303 课程系列,它将武装你推进职业发展和掌握 AZ-303 所需的 Azure 技能。
Azure 为虚拟机、防火墙更新添加按需容量预留
这一周微软 Azure 的世界在发生什么?在这篇文章中,我们将看看 Azure 虚拟机的新按需容量预留(以及 Azure 按需容量预留和 Azure 预留实例之间的区别)。此外,我们将关注 Azure 防火墙的新更新,以及来自澳大利亚的一些与云相关的好消息。所有这些以及更多——但主要是这些——都在下面。请继续阅读!
Azure 虚拟机的按需容量预留现已公开预览
到目前为止,获得 Azure 虚拟机容量的服务级别协议(SLA)的唯一方法是部署实际的虚拟机(VM),无论是运行还是停止。这会产生使用虚拟机的各种开销。例如,如果它们正在使用中,并且您需要它们用于更重要的用途。或者,如果您不使用它们,但需要使它们保持最新等等。
限时优惠高达 89 美元
获取 ACG 的金牌优惠。注册,保存,开始掌握将推动你职业生涯的技能。
Azure 虚拟机的新按需容量预留意味着您可以预留容量,而不必当场创建虚拟机。它在您习惯的相同 SLA 内提供了更多的灵活性。
您可能想知道,“这与已经存在多年的保留实例有什么不同?”
- 运行保留实例要便宜得多,但是不能保证容量,而且必须承诺 1-3 年。
- 预留容量是现收现付的定价,容量有保证,没有承诺。
Azure 虚拟机的按需容量预留现已公开预览。
在 Microsoft Azure 中发展云技能并提升你的职业生涯,这是前所未有的好时机。找出什么样的 Azure 云认证适合你!
云好消息!Infosys 和微软将 Ausgrid 的基础设施迁移到 Azure
现在,为了一些不同的东西,我想分享一个 Azure 和云计算让我在澳大利亚后院的人们过得更好的好例子。(嗯,不是我真正的 backayrd。但是,你知道..)
澳大利亚电力供应商 Ausgrid 与微软 Azure 和 Infosys 达成了一项协议,将他们的基础设施迁移到 Azure 上。这没什么大不了的,我的意思是很多公司一直在迁移到 Azure,但这是一家主要的公用事业公司。如果他们的系统崩溃,四百万澳大利亚人将受到影响,这可能意味着支持关键基础设施的系统和设备的灾难。
事实上,Ausgrid 将他们所有的基础设施鸡蛋都放在云篮子里,这是对云和 Azure 的成熟和可靠性的一大肯定。事实上,Ausgrid 表示,此举部分是为了让他们的系统更有弹性。好样的,Ausgrid 和 Azure!
对升级或开始云架构之旅感兴趣吗?云专家的 Azure 云架构师学习路径提供适合初学者和高级专家的定制课程!
使用 Azure 防火墙的新更新提高您的网络安全性
啊,古老的防火墙。无论是在地面上还是在云中,这都是历史最悠久的服务之一。不过,旧并不意味着过时。
本周,Azure 防火墙增加了更多的新功能和更新:
- Azure Firewall 支持美国西部 3、印度西部 Jio 和巴西东南部。
- 为非生产部署的 Azure 防火墙高级 SKU 自动生成自签名证书。
- 安全中枢现在支持可用性区域(非常酷)
- 在强制隧道模式下部署不带公共 IP 的 Azure 防火墙
- 使用停止或启动命令在强制隧道模式下配置预先存在的 Azure 防火墙
- 如果你在每月的第一个星期二部署 Azure Firewall,就可以得到免费的墨西哥玉米卷。(好吧,最后一个是我编的。不过,还是挺好的。)
点击此处获取关于这些新功能和更新的所有详细信息。
这星期就这些了!
你知道云专家提供了一个免费计划吗?它让你可以访问一个烧烤清单……等等,抱歉——我真的需要在做这些之前吃点东西——一个*每月免费课程和测验的*轮换清单。你甚至不需要信用卡来注册。它是免费的。试试看!
正如我们在云专家团队中所说的那样,当我们努力保留足够的容量来编辑每周的视频内容,而不会在月底收到巨额账单时:“寻求,你就会云”。下周见,继续牛逼吧,云大师!
想跟上万物云?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。您也可以在脸书上喜欢我们,在 Twitter 上关注我们,或者在 Discord 上加入对话!
得到蔚蓝云痛苦辞典
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 Azure 中一些最痛苦术语的简洁定义。
Azure 宣布新的 DP-420 Cosmos DB 认证
原文:https://acloudguru.com/blog/engineering/azure-announces-new-dp-420-cosmos-db-certification
本周蔚蓝的世界里发生了什么?在上周的新 AZ-305 之后,我真的以为我们已经完成了新的微软 Azure 证书,但不是。本周有另一个 Azure 证书,但也有大量 Azure Kubernetes 服务(AKS)的更新和静态函数的整洁更新。
我是 Lars Klint,是云新闻和美食计算服务的提供者。本周也标志着第一家百视达商店在德克萨斯州达拉斯开业 36 周年,该商店有 8000 盘录像带和 2000 盘测试磁带。这和云有什么关系?众所周知,Blockbuster 的命运是云计算和在线流媒体服务。给你。
好吧,继续新闻。我们走吧!
通往更好职业的钥匙
从 ACG 开始并通过在 AWS、微软 Azure、谷歌云等领域的课程和实践实验室改变您的职业生涯。
DP-420:新的 Azure Cosmos DB 开发人员专业认证
是的,又有一个新的 Azure 考试。这次它属于 Azure spectrum 的数据部分,认证重点是 Cosmos DB 。
编号为 DP-420 ,表示数据认证的一个新分支,所以 400 可能是更专业考试的一个分支,比如 Cosmos DB。该考试名为“考试 DP-420:使用微软 Azure Cosmos DB 设计和实现云原生应用。”只是脱口而出!
这个新考试是给谁的?根据微软的说法,这是“为设计和实现数据模型和数据分发,将数据加载到用 Azure Cosmos DB 创建的数据库,以及优化和维护解决方案的开发人员准备的。”非常具体的宇宙数据库然后。
然而,它的另一个重点是如何“设计、实现和监控考虑安全性、可用性、弹性和性能需求的解决方案。”
想了解更多关于 NoSQL 跨云数据库的信息吗?查看我们关于Cosmos DB vs dynamo DB vs Cloud Datastore 和 Bigtable 的博文。或者仔细阅读Azure Cosmos DB API:用例与权衡
实际上,与其引用微软的话,不如让我们与 Cosmos DB 的首席项目经理马克·布朗和 Cosmos DB 的项目经理加里·霍普谈谈。(不喜欢文字?点击这里查看我与他们的视频聊天。)
马克是这么说的:
“我们非常高兴获得这项认证,因为我们知道这将对客户和用户设计和开发应用产生巨大影响。你不能像设计关系数据库那样设计 Cosmos。为像 Cosmos 这样的数据库进行设计还需要一些专业知识和不同的技术。因为对于真正大型的工作负载,例如关系数据库,您只需增加它所运行的虚拟机的大小。这是一个放大的数据库。Cosmos 是一个横向扩展的数据库。因此,您不会增加虚拟机或计算的规模。你只是不断地添加计算部件。这意味着我们必须对数据进行分区或分片。这就是为什么我们的考试是为了解开这种无限规模的承诺,你必须了解如何设计和建模。”
Cosmos DB 的项目经理 Gary Hope 提供了以下内容:
“这真的给了我们一个深入了解的机会。有很多东西。它有自己的查询语言。是 SQL 的一种方言。我们有一整套 SDK,人们需要理解和掌握它们,以便正确地利用这些功能。所以这给了我们更好地了解观众细节的能力。[DP-420 是]相当专业的考试,只集中在一个技术领域,即宇宙数据库。我们在基础考试和我们的学习路径中涵盖了一些相关的概念。但这真的是集中在那一块。这是一项专业化考试,因此它与其他认证并存。”
新的 DP-420 考试将在 11 月的某个时候发布测试版。
想进一步了解 Azure 和 Cosmos DB 吗?看看 ACG 的免费计划。它让你可以访问每月轮换的免费课程和测验,以及学习路径和原创系列内容。而且报名不需要信用卡!在这里创建你的免费账户。
AKS 更新
跟我念:容器,容器,容器。是的,本周有大量 Azure Kubernetes 服务更新。准备好了吗?
这些功能现在都在公开预览版中。不过,老实说,我不明白这是什么意思。然而,我总是看这个月的 Kubernetes,这是一个关于。。。库伯内特。它有奈杰尔·波尔顿主持!它给你所有关于 Kubernetes 的最重要的更新,而且完全免费!
公共预览:使用无服务器功能自定义 Azure 静态 Web 应用程序身份验证
不能有一周没有 Azure 函数新闻吧?我也是这么想的,本周在 preview 中发布了一个新的静态 Web 应用认证和一个无服务器功能。每当用户成功登录到您的静态 web 应用程序时,就会调用该函数,您可以使用该函数为登录的用户分配自定义角色。
此功能提供了在应用程序中为用户分配自定义角色的灵活性。微软给出的一些例子是
查询数据库以确定应该为用户分配哪些自定义角色
- 调用 Microsoft Graph API 根据用户的 Active Directory 组成员身份来确定用户的角色
- 使用身份提供者的声明来确定用户的角色
- 这是对静态 web 应用程序的一个非常酷的补充,毫无疑问,这将允许在管理用户和角色方面有更多的灵活性。
跟上所有蓝色的事物
在我结束之前,我想提一下,Azure Security 入门课程这个月在 T2 是免费的。这个课程是 Azure security 的良好开端。要了解这一点,只需创建一个免费账户并立即开始学习。
想要跟上云的所有事物?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。你也可以在脸书上喜欢我们,在推特上关注我们,或者在不和谐上加入对话!
正如我们在云专家团队中所说的,当一个认证进入下一个,再进入下一个,再进入下一个:“寻找,你就会云。”下周见,继续牛逼吧,云大师!
得到蔚蓝云痛苦辞典
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 Azure 中一些最痛苦术语的简洁定义。
Get the Azure 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 for succinct definitions of some of the most painful terms in Azure.
Azure Arc 对私有端点的支持&聚焦 Azure 安全!
原文:https://acloudguru.com/blog/engineering/azure-arc-support-for-private-endpoints
本周蓝色新闻发生了什么?首先,你知道 WannaCrypt 在全球范围内造成大破坏已经有五年了吗?它通过加密和交换数据来获取比特币。2012 年 5 月,微软向 Azure 客户提供工具来帮助抵御这一威胁。
WannaCrypt 只是这些年来许多网络攻击中的一个,这就是为什么很高兴看到几个新的 Azure 公告可以抵御其他安全威胁,例如 Azure Arc 对私有端点的支持。所以让我们跳进去,获得安全和保障!
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
对可信启动虚拟机的计算库支持
可信启动通过确保安全威胁不隐藏在引导加载程序、操作系统内核或驱动程序中,帮助您保护 Azure 中的虚拟机。这有助于您防御复杂的攻击,否则很难检测到这些攻击。
可信启动支持来自市场的 Linux 和 Windows 虚拟机映像,但您不能将此功能用于自定义虚拟机映像。因此,如果你有像标准化部署或 Azure 虚拟桌面这样的定制虚拟机映像,可信启动是不受支持的。
直到现在,也就是!只要您通过计算机图库管理您的自定义映像,您现在也可以启用可信启动。什么欢迎更新。
支持 Azure Arc 的服务器的私有端点支持
我有一个问题要问你。
您是否有托管在竞争对手云上的服务器?也许 AWS,或者 GCP?没关系,真的,这里没有评判。
玩笑归玩笑,越来越常见的是组织采用多云和混合部署。也正是因为这个原因,微软创造了 Azure Arc。
有了 Azure Arc,无论 Windows 或 Linux 服务器在哪里使用 Azure Portal、Azure Policy、Azure Automation 等等,你都可以管理它们。
但所有这些都需要公共互联网的可访问性。直到现在。
随着宣布支持 Arc 启用服务器的私有端点,你将能够使用 Azure Arc,而不必开放公共网络访问。
为了使用此新功能保护 Arc 连接,您需要配置 Azure 专用链接范围,并且您必须使用 ExpressRoute 或站点到站点 VPN 来连接到 Azure。
这将帮助您安全地管理您的服务器,无论它们在哪里。
针对流分析的额外托管身份支持
流分析是一项强大的服务,可以帮助企业从数据中获取价值。它允许您分析、转换和处理来自设备、传感器或其他来源的数据流。
但是,与大多数分析工具一样,流分析通常只是多服务数据分析平台中的一项服务。因此,我们需要确保可以跨服务安全地访问数据。
嗯,有了这次更新,Stream Analytics 现在可以使用托管身份安全地访问您在 Cosmos DB 和 Service Bus 中拥有的数据。这是对 Blob 存储或 Power BI 等其他服务的现有支持的补充。
有了托管身份认证,您无需担心管理用户名或密码。相反,您可以为您的流分析作业分配一个托管身份,并让平台处理剩下的工作。
现在,您的流分析作业有了 Azure AD 身份,可以安全地授予访问其他 Azure 服务中的数据的权限。
跟上所有蓝色的事物
好了,这就是本周的全部内容!想要跟上云的所有事物?在推特上关注 ACG,关注 T2 和脸书。你还可以在 YouTube 上订阅一位云专家的 Azure 每周更新,并在 Discord 上加入对话。
想了解更多关于云和 Azure 的信息,或者想在 2022 年开始你的云计算生涯?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
面向 Windows 或 Linux 虚拟机的 Azure Bicep 文件部署
原文:https://acloudguru.com/blog/engineering/azure-bicep-file-windows-or-linux
今天,我们将谈论二头肌锉刀。就像它的生物学同名物一样,二头肌的知识是一个非常方便的工具来武装你自己(对不起,我们控制不住自己!).
在其核心,Bicep 是一种声明性语言,您可以使用它以可靠和一致的方式简化和加速您的 Azure 部署过程。您可以在 Bicep 文件中定义想要部署 Azure 资源的结构。
权力在你手中
掌控你的职业生涯。从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室增强您的技能。
什么是重复性?
作为代码,基础设施有很多优点,但它最大的好处之一是可重复性。就其核心而言,可重复性仅仅意味着能够从相同的设置中产生完全相同的结果。目标是您编写的代码应该能够在各种环境和场景中使用和重用。
我们如何使我们的部署文件更加可重用?
让我们的部署文件变得更加可重用的一些方法是使用参数和变量。
因素
参数用于在执行代码时提示用户输入值。这样,您不必将特定的信息硬编码到部署文件中。
参数将用于每次运行部署文件时需要更新的值。
变量
另一方面,变量用于指定一个特定的值,该值可以在部署文件中反复使用。与参数不同,变量在值很少变化时使用。但是如果它们确实需要改变,而不是更新文件中的每个值,您只需要更新变量,并且对该变量的所有引用也将具有该值。
参数和变量可以保存多种数据,如字符串、整数、数组,甚至是具有属性层的对象。
参数和变量如何应用于编写 Bicep 文件?
通过使用这两个工具,参数和变量,我们可以使 bicep 文件适应许多情况。
我将介绍如何编写一个 Bicep 文件来部署一个带有 Windows 操作系统或 Linux 操作系统的虚拟机,所有这些都基于用户的输入。部署文件后,将询问用户虚拟机应该是 Windows 还是 Linux,然后根据响应,bicep 文件将知道使用什么属性来部署该操作系统。
创建参数
让我们从创建一个参数开始,询问用户他们是想要部署 Windows 虚拟机还是 Linux 虚拟机。在 Bicep 中,声明参数的方式是使用以下语法:
正如我们从下面的代码片段中看到的,我们将参数命名为“windowsOrlinux ”,以让运行部署的用户知道他们应该选择哪个操作系统。
“param <name of parameter> <type of parameter data>”
为了给如何使用这个参数添加更多的上下文,我们还使用了“description”修饰符。此外,我们还有“允许的”装饰者。这用于指定该参数只接受特定值的列表,“windows”或“linux”。如果使用另一个值,将会出现一个错误,告诉您部署文件无效,因为该参数只允许使用某些值。
创建可变对象
既然用户已经选择了要用于虚拟机的操作系统,下一步就是向部署文件中添加逻辑,以根据选择确定要使用的映像配置。我们可以通过创建一个变量对象来实现,如下图所示:
声明变量
在我们讨论变量对象是如何工作的之前,让我们快速回顾一下如何声明一个变量。您可以简单地使用以下语法:
当谈到变量的值时,在许多情况下,这将只是一个单一的值,如整数或字符串。这可以通过硬编码值或利用函数生成值来实现。
“var <name of variable> = <value of variable>”
或者,您可以将一个对象存储为值,该值可以通过信息层保存多个值。这通常用在像这里这样保存配置数据的情况下。
因此,在我们的代码片段中,我们可以看到我们存储了两个值“windows”和“linux ”,它们列在花括号中。然后,在这些值中,有一些属性,如 publisher、offer、sku 和 version,它们都被包装在自己的一组花括号中。除了这些属性,还有这些属性的特定配置值。在我们的示例中,我们使用的是 Windows 2019 数据中心映像或 Ubuntu 18.04 映像。
图像参考属性
现在我们有了一个参数,它将存储“linux”或“windows”的值,以及一个带有相关配置的图像变量。但是他们是如何走到一起的呢?模板如何知道如果参数值是“windows ”,它需要使用图像变量中的 windows 配置?反之亦然,带有“linux”值?下面,我们有一个虚拟机资源声明的片段,重点是存储配置文件部分中的映像引用属性。
在查看这个代码片段时,您可能注意到的第一件事是 publisher、offer、sku 和 version 的图像引用属性与上面配置的 image 变量中保存的属性相匹配。
属性值
让我们继续讨论财产价值。
仔细看看同一个代码片段,我们首先有一个对“image”变量的引用,然后在最后我们可以看到有一个句点,后跟相应的 object 属性。例如,如果“image”的值是“linux”,那么“offer”子属性的值就是“UbuntuServer”。否则,如果“image”的值是“windows”,则“offer”子属性的值将是“WindowsServer”。
那么模板如何知道为“image”选择哪个值呢?这就是“windowsOrLinux”参数的用武之地。在“image”变量之后,括号中引用了“windowsOrLinux”参数,表示“image”变量的值是根据括号中的参数值选择的。
这就是为什么给参数添加一个允许值修饰器如此重要,因为我们必须确保参数值与变量对象中的值相匹配。所以现在,当部署这个文件时,当参数提示时,用户将选择“windows”或“linux”。然后,该参数将用于指定“image”变量对象中的哪些数据用于出版商、报价、sku 和版本属性值。
结论和下一步措施
这只是编写部署文件以适应多种情况的许多方法之一。还有其他可以利用的工具和策略,例如函数和模块。然而,正如我们从上面的例子中看到的,虽然这些策略中的每一个都有助于提高可重复性,但是当它们结合在一起时会更加有效。
如果你想参考本文中提到的完整二头肌文件,你可以在这里找到这个。
如果你觉得这个演练很有趣,并想了解更多关于 Bicep 以及如何更有效地部署和管理 Azure 资源,请查看我的课程*Azure 资源管理器* 简介。
你也可以在 YouTube 上订阅一个云专家来定期修复微小的技术内容。为什么不把本周的变成你观看节目的一部分呢?
别忘了在脸书上喜欢我们,在推特上关注我们,并在不和上加入对话。
Don’t forget to like us on Facebook, follow us on Twitter, and join the conversation on Discord.
Azure 认证和路线图
原文:https://acloudguru.com/blog/engineering/azure-certifications-and-roadmap
更新于 2020 年 5 月 微软已经将其 Azure 认证重新构建为基于角色的模型,该模型表示将更直接地关注与工作角色相符的技能和知识的培养。这一改变是在与他们的技术社区接触并确定支持这些工作角色所需的条件后做出的。自 2018 年 9 月以来,对认证的修改一直处于测试阶段,考试的有效发布日期为 2019 年至 2020 年。 新的基于角色的认证分为四层,每一层都为您赢得不同级别的微软认证:
- 基础知识
- 关联
- 专家
目前有 11 个基于 Azure 的认证遍布这些级别。所有这些都是新的认证,而不是以前 Azure 认证的更新:
- 微软认证 Azure 基础知识(基础知识 )
- 微软认证 Azure 管理员(协理 )
- 微软认证 Azure 开发者(协理 )
- 微软认证 Azure AI 工程师助理(助理 )
- 微软认证 Azure 数据工程师助理(助理 )
- 微软认证 Azure 安全工程师(助理)
- 微软认证 Azure 数据科学家(助理 )
- 微软认证 Azure 解决方案架构师(专家 )
- 微软认证 Azure DevOps 工程师(专家 )
- Microsoft Certified Azure for SAP Workloads(专业 )
- 微软认证:Azure 物联网开发者(专业 )
所有支持这些认证的考试都是全新的。那些支持现已退休的 Azure 认证的考试不适用于这些认证( 70-532 ,70-533,70-535)。 基础级和助理级认证没有先决条件。你可以获得每一项,而不需要其他人的认证或考试。
不熟悉 Azure?
如果你已经获得了一些 Azure 认证,以下是你应该知道的:
If you already have some Azure Certifications under your belt, here’s what you should know:
让我们回顾一下每项认证的基础知识及其考试要求。
微软认证 Azure 基础知识
这是一项新的认证,旨在展示基于 Azure 的云服务的基础知识。它面向非技术角色,如销售和采购,或寻求验证云服务基础知识的技术角色。 要获得该认证,您需要完成一项考试:
Linux Academy 发布 AZ-900 考试5 月2019。**
微软认证管理员助理
此认证旨在展示如何实施、监控和维护 Microsoft Azure 解决方案的助理级知识。它包括与计算、存储、网络和安全相关的主要服务,面向那些希望验证云服务管理知识的管理和技术人员。 要获得该认证,您需要完成一项考试。结合起来,这些考试取代了现已退役的 70-533 实施微软 Azure 基础设施解决方案 考试,以及 2019 年 5 月退役的 AZ-100 和 AZ-101 考试 :
如果你已经通过了 70-533,那么你必须在 2019 年 6 月(那时它已经退役)之前只通过一次过渡考试:
Linux Academy 发布了 AZ-103 考试9 月2019的课程。
微软认证 Azure 开发者助理
该认证旨在展示开发人员在如何设计、构建、测试和维护云解决方案(如应用和服务)方面的知识。它还测试与云解决方案架构师、云数据库管理员、云管理员和客户合作实施这些解决方案的能力。它是为那些希望验证云服务开发和实施知识的开发人员和技术人员而设计的。 要获得该认证,您需要完成 一项 考试:
注意,这里的是而不是 微软为那些已经通过退休的 70-532 考试并获得相关认证的人提供的一个过渡过程。如果你已经通过了 70-532,你仍然必须通过 AZ-203 才能获得这个认证。另请注意,作为 beta 考试计划的一部分,曾有一个过渡考试 AZ-202,但该考试将于 2019 年 3 月 31 日取消,并且不具备认证过渡资格。 最后还有两次 beta 考试,AZ-200 和 AZ-201。这些也已经退役,目前不纳入新的认证。 Linux Academy 发布了 AZ-203 考试1 月 2019 的课程。
微软认证 Azure 人工智能工程师助理
该认证旨在展示如何使用认知服务、机器学习和知识挖掘来设计和实施涉及自然语言处理、语音、计算机视觉、机器人和代理的微软人工智能解决方案的开发人员级知识。 要获得该认证,您需要完成 一项 考试:
2019 年年底,Linux 学院将发布 AI-100 考试的课程。
微软认证 Azure 数据工程师助理
该认证旨在展示开发人员级别的知识,即如何使用 Azure 数据服务的完整堆栈来设计和实现数据的管理、监控、安全和隐私,以满足业务需求。 要获得这个认证你需要完成 两个 考试:
Linux Academy 于 2019 年**9 月发布了 DP-200 考试的课程,随后是 DP-201 考试课程。DP-100 考试的课程计划于 2020 年初推出。
微软认证 Azure 安全工程师助理
本认证旨在展示安全控制和威胁防护知识;管理身份和访问;作为端到端基础架构的一部分,保护云和混合环境中的数据、应用程序和网络。 要获得该认证,您需要完成一项 考试:
Linux Academy 发布了一个深度课程专门帮你准备 AZ-500。
微软认证 Azure 数据科学家助理。
该认证展示了围绕数据科学和机器学习的知识,以在 Azure 上实现和运行机器学习工作负载;特别是使用 Azure 机器学习服务。要获得该认证,您需要完成一项考试:
Linux 学院最近发布了一个 DP-100 prep 的课程。
微软认证解决方案架构师专家
这是一项新的认证,旨在展示解决方案架构师在计算、网络、存储、安全以及设计运行在 Azure 上的解决方案方面的专业知识。它面向那些希望验证云服务专业知识的架构师和领导者。要获得该认证,您需要完成两项考试:
如果你已经通过了 70-535 分,那么你必须在 2019 年 6 月之前通过单一过渡考试:
****Linux Academy 发布 AZ-300 考试1 月2019。我们还提供了 AZ-301 考试来帮助你做好准备。
微软认证 DevOps 工程师专家
这是一项新的认证,旨在展示如何将人员、流程和技术结合起来,以持续提供满足最终用户需求和业务目标的有价值的产品和服务。要获得此认证,您必须首先获得 Azure 管理员助理或 Azure 开发人员助理认证,并通过以下考试:
Linux 学院发布本课程帮助你准备 AZ-400 考试 。
微软认证:面向 SAP 工作负载专业的 Azure
这是一项较新的认证,旨在展示候选人在结合人员、流程和技术方面的知识,以持续提供满足最终用户需求和业务目标的有价值的产品和服务。要获得该认证,需要参加一项考试:
微软认证:Azure 物联网开发者专业
这是另一个较新的认证,它要求学习者实施构成物联网解决方案的 Azure 服务,包括数据分析、数据处理、数据存储选项和平台即服务选项。物联网开发人员必须能够识别物联网解决方案代码部分中的 Azure 物联网服务配置设置。该认证没有先决条件,只需要一次考试:
我们的 Azure 物联网解决方案基础设施课程将帮助您准备这次考试。
总结
下面是支持其认证的微软考试的变化的快速总结,以及 Linux 学院的路线图: 以下 70-考试已经取消,不再计入认证:*
在过渡过程中,微软创建了以下考试作为测试版的一部分,但这些考试随后被取消*,并且不会计入新的认证:***
支持新 Azure 认证的当前微软考试集有:
有两个过渡考试将于 2019 年 6 月取消,Linux 学院将而非为其开发课程:
***目前发布的课程 😗**
计划开发并于 2020 年发布的课程:
微软最近开始更频繁地更新其认证途径,我们预计这种模式在短期内将继续下去。Linux Academy 扩展了我们的 Azure 团队,以更快地对认证变化做出反应,我们在 2019 年和 2020 年取得了很大进展,以涵盖所有这些新的和不断变化的考试。我们不断拓展在线学习的范围,帮助您将云技能提升到新的水平。除了认证课程,我们还有技能培养课程,包括:
我们希望在我们正在开发的新 Azure 课程和动手实验室中见到您!如果你还没有的话,看看 Linux 学院云操场上的 Windows Server 吧!
We hope to see you in the new Azure courses and Hands-On Labs that we’re working on! Check out Windows Server On Linux Academy Cloud Playground if you haven’t already!
你的 Azure 术语备忘单
原文:https://acloudguru.com/blog/engineering/azure-cheat-sheet
Azure Cosmos DB APIs:用例与权衡
原文:https://acloudguru.com/blog/engineering/azure-cosmos-db-apis-use-cases-and-trade-offs
Azure Cosmos DB 是一个完全托管的、可弹性伸缩的、全球分布式数据库,采用多模型方法。它提供了大量的好处,并让您能够使用文档、键值、宽列或基于图形的数据。
但是有这么多 API 选项——每个选项都有优缺点,这取决于您的用例及需求——您如何选择适合您的选项呢?
在本文中,我们将深入研究多模型功能,并探索可用于存储和访问数据的选项。希望它能帮助您做出明智的决定,哪种 API 是您的正确选择。
挑选合适的 Azure Cosmos DB API
Azure Cosmos DB 中有五种不同的 API 可用:
- 核心(SQL) API :提供 NoSQL 文档存储的灵活性,结合 SQL 的查询功能。
- MongoDB API :支持 MongoDB wire 协议,这样现有的 MongoDB 客户端可以继续使用 Azure Cosmos DB,就像它们运行在一个实际的 MongoDB 数据库上一样。
- Cassandra API :支持 Cassandra wire 协议,这样现有的符合 CQLv4 的 Apache 驱动程序可以继续与 Azure Cosmos DB 一起工作,就像它们是在实际的 Cassandra 数据库上运行一样。
- Gremlin API :用 Apache TinkerPop(一个图形计算框架)和 Gremlin 查询语言支持图形数据。
- Table API :为针对 Azure Table 存储编写的应用提供高级功能。
和 ACG 的 一起探索蔚蓝宇宙 DB 蔚蓝宇宙 DB 深潜 。无论你是 NoSQL 的新手,还是仅仅对微软提供的东西感兴趣,这个课程都将帮助你最大限度地利用 Azure Cosmos DB。
使用 Azure Cosmos DB 的常见场景
在深入研究之前,让我们看看 Azure Cosmos DB 的一些常见应用场景。这绝不是一份详尽的清单。
现代游戏服务需要提供定制和个性化的内容,如游戏内统计数据、社交媒体整合和高分排行榜。作为一个完全托管的产品,Azure Cosmos DB 需要最少的设置和管理,以允许快速迭代,并缩短上市时间。
电子商务平台和零售应用程序存储目录数据,并用于订单处理管道中的事件采购。
- 提供个性化体验的应用程序可能非常复杂。他们需要能够有效地检索用户特定的设置,以快速呈现 UI 元素和体验。
使用哪种 API,何时使用?
没有完美的公式!有时,选择是明确的,但是其他场景可能需要一些分析。
要考虑的一个相当明显的问题是,是否存在通过 wire 协议使用任何受支持的 API 的现有应用程序(即 Cassandra 和 MongoDB)?如果答案是肯定的,您应该考虑使用特定的 Azure Cosmos DB API,因为这将减少您的迁移任务,并充分利用您团队中以前的经验。
如果您希望模式发生很大变化,您可能希望利用文档数据库,使 Core (SQL)成为一个不错的选择(尽管也应该考虑 MongoDB API)。
如果您的数据模型由实体之间的关系和相关元数据组成,那么您最好使用 Azure Cosmos DB Gremlin API 中的图形支持。
如果你目前使用的是 Azure Table Storage,那么核心(SQL) API 会是一个更好的选择。它提供了更丰富的查询体验,改进了表 API 的索引。如果你不想重写你的应用程序,考虑将迁移到 Azure Cosmos DB Table API 。
让我们看看每个 API 并应用其中的一些。
核心(SQL) API:两全其美
核心(SQL) API 是默认的 Azure Cosmos DB API。您可以使用 JSON 文档存储数据来表示您的数据,但是有几种方法可以检索它:
- SQL 查询:使用结构化查询语言(SQL)作为 JSON 查询语言编写查询
- 点读取:在单个条目 ID 和分区键上进行键/值样式的查找(这些比 SQL 查询更便宜、更快)
对于许多应用程序来说,半结构化数据模型可以提供他们需要的灵活性。例如,具有大量产品类别的电子商务设置。您将需要添加新的产品类别和支持操作(搜索,排序等。)跨多个产品属性。您可以用关系数据库对此进行建模,但是不断发展的产品类别可能需要停机来更新表模式、查询和数据库。
使用 Core (SQL ),引入新产品类别就像为新产品添加文档一样简单,无需更改模式或停机。Azure Cosmos DB MongoDB API 也适合这些需求,但是 Core (SQL) API 具有优势,因为它在灵活的数据模型之上支持类似 SQL 的查询。
考虑一个博客平台的例子,用户可以创建帖子,喜欢这些帖子并添加评论。
您可以这样描述帖子:
{
"id": "",
"type": "post",
"postId": "",
"userId": "",
"userUsername": "",
"title": "",
"content": "",
"commentCount": ,
"likeCount": ,
"creationDate": ""
}
以及评论和赞:
{
"id": "",
"type": "comment",
"postId": "",
"userId": "",
"userUsername": "",
"content": "",
"creationDate": ""
}
{
"id": "",
"type": "like",
"postId": "",
"userId": "",
"userUsername": "",
"creationDate": ""
}
要处理赞和评论,您可以使用一个存储过程:
function createComment(postId, comment) {
var collection = getContext().getCollection();
collection.readDocument(
`${collection.getAltLink()}/docs/${postId}`,
function (err, post) {
if (err) throw err;
post.commentCount++;
collection.replaceDocument(
post._self,
post,
function (err) {
if (err) throw err;
comment.postId = postId;
collection.createDocument(
collection.getSelfLink(),
comment
);
}
);
})
}
如果想了解更多,参考 在 Azure Cosmos DB 中使用 JSON。
从现有的 MongoDB 实例迁移
Azure Cosmos DB 为 MongoDB 实现了 wire 协议,该协议允许与原生 MongoDB 客户端 SDK、驱动程序和工具透明兼容。这意味着任何理解这个协议版本的 MongoDB 客户端驱动程序(以及像 Studio 3T 这样的现有工具)都应该能够本地连接到 Cosmos DB。
例如,假设您有一个现有的 MongoDB 数据库作为采购订单处理应用程序的数据存储,以不同的格式捕获失败和部分订单、履行数据和运输状态。由于数据量不断增加,您希望迁移到可扩展的基于云的解决方案,并继续使用 MongoDB。为 MongoDB 使用 Azure Cosmos DB 的 API 非常有意义。但是,您希望对现有应用程序进行最少的代码更改,并在尽可能短的停机时间内迁移当前数据。
借助 Azure Database 迁移服务,您可以执行在线(最短停机时间)迁移,并根据您的需求灵活扩展为您的 Cosmos 数据库调配的吞吐量和存储,并且只需为您需要的吞吐量和存储付费。这导致了显著的成本节约。
一旦迁移了数据,您就可以继续使用现有的应用程序。下面是一个使用 MongoDB 的例子。网络驱动:
初始化客户端:
MongoClientSettings settings = new MongoClientSettings();
settings.Server = new MongoServerAddress(host, 10255);
settings.UseSsl = true;
settings.SslSettings = new SslSettings();
settings.SslSettings.EnabledSslProtocols = SslProtocols.Tls12;
MongoIdentity identity = new MongoInternalIdentity(dbName, userName);
MongoIdentityEvidence evidence = new PasswordEvidence(password);
settings.Credential = new MongoCredential("SCRAM-SHA-1", identity, evidence);
MongoClient client = new MongoClient(settings);
检索数据库和集合:
private string dbName = "Tasks";
private string collectionName = "TasksList";
var database = client.GetDatabase(dbName);
var todoTaskCollection = database.GetCollection<MyTask>(collectionName);
将任务插入集合:
public void CreateTask(MyTask task)
{
var collection = GetTasksCollectionForEdit();
try
{
collection.InsertOne(task);
}
catch (MongoCommandException ex)
{
string msg = ex.Message;
}
}
检索所有任务:
collection.Find(new BsonDocument()).ToList();
您还应该仔细考虑如何将 MongoDB 写/读问题映射到 Azure Cosmos 一致性级别、管理索引,并利用变更提要支持。
请注意,如果不需要重用现有代码和从现有 MongoDB 数据库导入数据,那么核心(SQL) API 将是一个合适的选择。
用 Cassandra 处理实时数据
如果您的应用程序需要处理大量的实时数据,Apache Cassandra 是一个理想的选择。使用 Azure Cosmos DB Cassandra API,您可以使用符合 CQ v4 的现有 Apache 驱动程序,并且在大多数情况下,您应该能够通过更改连接字符串,从使用 Apache Cassandra 切换到使用 Azure Cosmos DB 的 Cassandra API。也可以继续使用基于 Cassandra 的工具,比如cqlsh
。
对于高级分析用例,你应该将 Azure Cosmos DB Cassandra API 与 Apache Spark 结合起来。你可以使用熟悉的Spark connector for Cassandra来连接 Azure Cosmos DB Cassandra API。此外,您还需要来自 Azure Cosmos DB 的Azure-Cosmos-Cassandra-spark-helperhelper 库,用于定制连接工厂和重试策略等功能。
可以从Azure data bricks以及 Spark on YARN 使用 HDInsight 访问 Azure Cosmos DB Cassandra API
要连接到 Cosmos DB,您可以像这样使用 Scala API:
import org.apache.spark.sql.cassandra._
import com.datastax.spark.connector._
import com.datastax.spark.connector.cql.CassandraConnector
import com.microsoft.azure.cosmosdb.cassandra
spark.conf.set("spark.cassandra.connection.host","YOUR_ACCOUNT_NAME.cassandra.cosmosdb.azure.com")
spark.conf.set("spark.cassandra.connection.port","10350")
spark.conf.set("spark.cassandra.connection.ssl.enabled","true")
spark.conf.set("spark.cassandra.auth.username","YOUR_ACCOUNT_NAME")
spark.conf.set("spark.cassandra.auth.password","YOUR_ACCOUNT_KEY")
spark.conf.set("spark.cassandra.connection.factory", "com.microsoft.azure.cosmosdb.cassandra.CosmosDbConnectionFactory")
spark.conf.set("spark.cassandra.output.batch.size.rows", "1")
spark.conf.set("spark.cassandra.connection.connections_per_executor_max", "10")
spark.conf.set("spark.cassandra.output.concurrent.writes", "1000")
spark.conf.set("spark.cassandra.concurrent.reads", "512")
spark.conf.set("spark.cassandra.output.batch.grouping.buffer.size", "1000")
spark.conf.set("spark.cassandra.connection.keep_alive_ms", "600000000")
您可以执行聚合,如平均值、最小值/最大值、总和等。:
spark
.read
.cassandraFormat("books", "books_ks", "")
.load()
.select("book_price")
.agg(avg("book_price"))
.show
spark
.read
.cassandraFormat("books", "books_ks", "")
.load()
.select("book_id","book_price")
.agg(min("book_price"))
.show
spark
.read
.cassandraFormat("books", "books_ks", "")
.load()
.select("book_price")
.agg(sum("book_price"))
.show
使用 Gremlin (Graph) API 连接一切
作为个性化客户体验的一部分,您的应用程序可能需要在网站上提供产品推荐。例如,“购买了产品 X 的人也购买了产品 y。”您的用例可能还需要预测客户行为,或者将人们与具有相似兴趣的人联系起来。
Azure Cosmos DB 支持 Apache Tinkerpop 的图遍历语言(即 Gremlin)。有许多用例会产生与缺乏灵活性和关系方法相关的常见问题。例如,管理互联社交网络、地理空间使用案例,例如在一个区域内查找感兴趣的位置或定位两个位置之间的最短/最佳路线,或者将物联网设备之间的网络和连接建模为图表,以便更好地了解您的设备和资产的状态。除此之外,您可以继续享受所有 Azure Cosmos DB APIs 共有的功能,如全球分布、存储和吞吐量的弹性扩展、自动索引和查询以及可调的一致性级别。
例如,您可以使用以下命令将产品的三个顶点和相关采购的两条边添加到图形中:
g.addV('product').property('productName', 'Industrial Saw').property('description', 'Cuts through anything').property('quantity', 261)
g.addV('product').property('productName', 'Belt Sander').property('description', 'Smoothes rough edges').property('quantity', 312)
g.addV('product').property('productName', 'Cordless Drill').property('description', 'Bores holes').property('quantity', 647)
g.V().hasLabel('product').has('productName', 'Industrial Saw').addE('boughtWith').to(g.V().hasLabel('product').has('productName', 'Belt Sander'))
g.V().hasLabel('product').has('productName', 'Industrial Saw').addE('boughtWith').to(g.V().hasLabel('product').has('productName', 'Cordless Drill'))
然后,您可以查询随“工业锯”一起购买的其他产品:
g.V().hasLabel('product').has('productName', 'Industrial Saw').outE('boughtWith')
下面是结果的样子:
[
{
"id": "6c69fba7-2f76-421f-a24e-92d4b8295d67",
"label": "boughtWith",
"type": "edge",
"inVLabel": "product",
"outVLabel": "product",
"inV": "faaf0997-f5d8-4d01-a527-ae29534ac234",
"outV": "a9b13b8f-258f-4148-99c0-f71b30918146"
},
{
"id": "946e81a9-8cfa-4303-a999-9be3d67176d5",
"label": "boughtWith",
"type": "edge",
"inVLabel": "product",
"outVLabel": "product",
"inV": "82e1556e-f038-4d7a-a02a-f780a2b7215c",
"outV": "a9b13b8f-258f-4148-99c0-f71b30918146"
}
]
除了传统的客户端,你可以使用图形批量执行程序。NET 库在 Azure Cosmos DB Gremlin API 中执行批量操作。与使用 Gremlin 客户端相比,使用此功能将提高数据迁移效率。传统上,使用 Gremlin 插入数据将要求应用程序在需要验证、评估、然后执行以创建数据的时候发送一个查询。批量执行器库将处理应用程序中的验证,并为每个网络请求一次发送多个图形对象。
以下是如何创建顶点和边的示例:
IBulkExecutor graphbulkExecutor = new GraphBulkExecutor(documentClient, targetCollection);
BulkImportResponse vResponse = null;
BulkImportResponse eResponse = null;
try
{
vResponse = await graphbulkExecutor.BulkImportAsync(
Utils.GenerateVertices(numberOfDocumentsToGenerate),
enableUpsert: true,
disableAutomaticIdGeneration: true,
maxConcurrencyPerPartitionKeyRange: null,
maxInMemorySortingBatchSize: null,
cancellationToken: token);
eResponse = await graphbulkExecutor.BulkImportAsync(
Utils.GenerateEdges(numberOfDocumentsToGenerate),
enableUpsert: true,
disableAutomaticIdGeneration: true,
maxConcurrencyPerPartitionKeyRange: null,
maxInMemorySortingBatchSize: null,
cancellationToken: token);
}
catch (DocumentClientException de)
{
Trace.TraceError("Document client exception: {0}", de);
}
catch (Exception e)
{
Trace.TraceError("Exception: {0}", e);
}
虽然可以使用核心(SQL) API 作为 JSON 文档来建模和存储这些数据,但是它不适合需要确定实体(例如产品)之间关系的查询。
您可能想要探索 Azure Cosmos DB Gremlin API 的 图形数据建模 以及 数据分区 。
如果你已经有了为 Azure Table storage 编写的应用程序,它们可以通过使用 Table API 迁移到 Azure Cosmos DB,而不需要修改代码,并利用高级功能。
将数据库从 Azure Table 存储迁移到低吞吐量的 Azure Cosmos DB 可以在延迟(一位数毫秒的读写)、吞吐量、全局分布、全面的 SLA 以及成本方面带来很多好处(您可以使用基于消耗的或供应容量模式)。将表数据存储在 Cosmos DB 中会自动对所有属性进行索引*(没有索引管理开销),而表存储只允许对分区和行键进行索引。*
Table API 具有可用于的客户端 SDK。例如,对于 Java 客户端,使用连接字符串来存储表端点和凭证:
public static final String storageConnectionString =
"DefaultEndpointsProtocol=https;" +
"AccountName=your_cosmosdb_account;" +
"AccountKey=your_account_key;" +
"TableEndpoint=https://your_endpoint;" ;
..并执行 CRUD(创建、读取、更新、删除)操作,如下所示:
try
{
CloudStorageAccount storageAccount =
CloudStorageAccount.parse(storageConnectionString);
CloudTableClient tableClient = storageAccount.createCloudTableClient();
CloudTable cloudTable = tableClient.getTableReference("customers");
cloudTable.createIfNotExists();
for (String table : tableClient.listTables())
{
System.out.println(table);
}
CustomerEntity customer = ....;
TableOperation insert = TableOperation.insertOrReplace(customer);
cloudTable.execute(insert);
TableOperation retrieve =
TableOperation.retrieve("Smith", "Jeff", CustomerEntity.class);
CustomerEntity result =
cloudTable.execute(retrieve).getResultAsType();
TableOperation del = TableOperation.delete(jeff);
cloudTable.execute(del);
}
参考 表 API 哪里和 Azure 表存储行为不一样? 了解详情。
Azure Cosmos DB 在 API 方面提供了很多选项和灵活性,每个选项都有优缺点,具体取决于您的用例和需求。
- 虽然核心(SQL)非常通用,并且适用于广泛的场景,但是如果您的数据能够更好地用关系来表示,那么 Gremlin (graph) API 是一个合适的选择。
- 如果您有使用 Cassandra 或 MongoDB 的现有应用程序,那么将它们迁移到各自的 Azure Cosmos DB APIs 提供了一条阻力最小且具有额外好处的路径。
- 如果您想从 Azure 表存储中迁移,并且不想重构您的应用程序以使用核心(SQL) API,请记住,您可以选择 Azure Cosmos DB 表 API,它可以提供与表存储的 API 兼容性以及诸如保证高可用性、自动二级索引等功能!
是时候提升你的职业生涯了吗?
我们的神奇 8 号球说。。。“回头再问?”呃。虽然你不能指望算命玩具,但是一个确定无疑的赌注,即开发云技能可以获得巨大回报。ACG 可以帮助你掌握微软 Azure 技能,推进你的云事业。
关于作者
Abhishek Gupta 是微软的高级开发人员。你可以在 Twitter 上关注他,在 LinkedIn 上联系他,或者关注他的博客。
azure Cosmos DB breach:chaos DB 怎么了?
原文:https://acloudguru.com/blog/engineering/azure-cosmos-db-breach-what-happened-with-chaosdb
在这篇文章中,我们来看看 ChaosDB Azure Cosmos DB 漏洞发生了什么,你现在需要知道什么,以及它对云计算的一般意义。
本周在微软 Azur e 的 Cosmos DB 部门有很多红脸。研究公司 Wiz 宣布他们已经能够访问Azure 上的任何 Cosmos DB 账户,他们称之为 ChaosDB。
Cosmos DB 漏洞是如何发生的?
虽然这个漏洞是如何工作的细节还没有透露,但我们知道这么多:Wiz 获得了所有客户的 Cosmos DB 主键。全部。
这些对网络攻击者来说是天赐之物,因为主键几乎从不改变,而且它们提供了读、写和删除操作的权限。是啊。
这是通过一个名为 Jupyter Notebook 的功能完成的,这是一种用户友好的方式来可视化大量数据等。对于希望直观了解数据内容的客户来说,这非常好
包含,它是如何构造的,等等。
Wiz 找到了一种方法来提升他们在自己的 Jupyter 笔记本实例中的权限,从而允许他们访问任何其他 Cosmos DB 客户的笔记本。
有了这种访问权限,就很容易获得所有的主键,然后使用这些主键登录任何 Cosmos DB 帐户。
谁会受到 Cosmos DB 漏洞的影响?
Azure 上的每一个 Cosmos DB 客户都受到了这次违规的影响。这包括许多财富 500 强公司。
Jupyter 笔记本于 2019 年首次推出,但从 2021 年 2 月起,它将自动为所有帐户启用。
虽然新帐户的功能将在三天后被禁用,但仍有大量帐户可能存在风险。
可以认为,即使启用 Jupyter Notebook 三天,也足以让某人获得主密钥。
现在该怎么办?
微软表示,他们直接向 30%的 Cosmos DB 客户发送了电子邮件,这些客户在 Wiz 发现漏洞时已经启用了 Jupyter 笔记本。
我仍然建议 Wiz 也是如此——为所有的 Cosmos DB 实例轮换主键,
不管你是否收到了电子邮件。
这个事件无疑是我在云环境中遇到的更加严重和关键的事件之一。
微软做了一件了不起的工作,在接到通知的 48 小时内消除了这个漏洞。他们很快告诉了客户,他们甚至为找到这个 bug 支付了 Wiz 4 万美元。
然而,我有兴趣回答的问题是,这对云计算意味着什么?
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
Cosmos DB 漏洞对云意味着什么?
虽然违规很严重,但我很高兴它发生在云中。没错。
最初的影响是巨大的,因为更多的客户在同一个平台上,但也有更多的人关注它。
Wiz 发现漏洞是因为它在云端。
因为它在云中,所以它被超级快速地插入。
所有客户都知道它,因为它在云中。
在这种情况下,负责任的披露是让用户和客户尽可能快地解决问题的关键。在云环境中。
如果此漏洞是内部设置的一部分,不仅不太可能以任何有意义的方式被发现,而且即使被发现,修复也只会针对一个客户或安装。
此外,Azure 的所有工程师都在关注你,而不仅仅是你公司的一个 IT 部门。
当然,我的一部分不想看到这种违规行为,但我不会天真到认为它们永远不会发生。当它们发生时,我更希望它们发生在云计算平台上
大量的专业知识和资源可以立即扑向他们。
您是否受到 ChaosDB 漏洞的影响?你对此有什么看法?请通过推特(我是 @LarsKlint 或者你可以在这里找到 ACG)或者在 YouTube 上的相关视频评论中告诉我们。(我很想深入了解这些事件如何影响使用这些服务的实际公司。)
此外,请每周关注 Azure This Week,了解更多重要的更新和见解。
正如我们在“可能大师”团队中所说的,当办公室中出现关于漏洞的恐慌时。。。但是,然后你意识到甚至没有一个办公室,“寻找,你应该云。”下次见,保持冷静,云大师们。
Azure 您在云中的成功。
提升你的职业生涯。向云专家了解更多最受欢迎的技术技能。查看本月的免费课程或获得 7 天免费试用。
Azure Cosmos DB 是什么?
原文:https://acloudguru.com/blog/engineering/azure-cosmos-db-lets-you-focus-on-the-good-stuff
什么是 Azure Cosmos DB?在本帖中,我们用简单的英语详细介绍了 Cosmos DB 的一些基础知识和优点,并分享资源来帮助您学习如何使用这一强大的服务。
你有一个绝妙的商业想法。你招募了顶尖的开发人才。如果你能及时推向市场,你会有一个全垒打。你所没有的是建立和管理你自己的全球 NoSQL 基础设施的强烈愿望。输入微软 Azure 和 Azure Cosmos DB。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
Azure Cosmos DB 是什么?
征服 NoSQL 宇宙
Azure Cosmos DB 是一个全面管理的多模式 NoSQL 数据库服务,具有交钥匙全球分发功能。
(迷茫?别担心!对于学习者来说,宇宙数据库和 NoSQL 是 Azure 中最难的云话题之一。(在我们的 Azure 疼痛字典中,我们发现学习者 47%的时间错过了与 NoSQL 和 Cosmos DB 相关的棘手问题。)
让我们来谈谈这些在普通人的话中意味着什么。以下是关于 Cosmos DB 的四个概念,解释了这项服务的强大之处以及它对您的意义。
1.全面管理
生活中最令人沮丧的事情之一是,当你在某件事情上取得了惊人的进展,却不得不停下来,花时间去做另一件事,尽管这件事很重要,但却是从一个完全不同的思路出发的。
不要做兼职的数据库集群向导,让您的开发人员创建您所熟知的令人难以置信的应用程序和网站。这就是“完全托管”的含义:微软负责所有的脏活累活,让你干正事。
2.多模型
有什么比一个不用浪费时间管理自己的数据库平台更好的呢?一个能给你带来多种选择的平台。
您是否已经花了半年或一年的时间来建立自己的 MongoDB 环境?(没关系,我们都会犯错。)把它带到 Cosmos DB 和使用他们的 MongoDB API 继续工作。您可以对键值存储甚至图形数据库做同样的事情。欢迎所有人。
哪只 NoSQL DB 是山羊?查看我们深入的 NoSQL 数据库比较指南,了解 AWS DynamoDB 与 GCP 云数据存储和 Bigtable 与 Azure Cosmos DB 之间哪个数据库服务占优。
3.交钥匙全球分销
您是否曾经尝试过将数据从您组织的一个数据中心复制到另一个数据中心,甚至只是在同一个数据中心内复制?这可能是皇家的痛苦。
现在想象一下在世界各地取得同样的结果。
实际上,不要陷入那个噩梦——只需登录 Cosmos DB 并点击几个按钮。我没开玩笑。就这么简单!只需点击几下,您就可以将副本添加到 140 个国家的 60 多个地区中的任何一个。更好的是,它们都可以是可写的副本,让一些非常快乐的用户以非常快的速度使用。
4.保证性能
说到速度,不能因为这项服务是为您管理的,就做出取舍。
微软在性能、可用性和一致性方面拥有业界领先的 SLA。因此,当您构建出色的应用程序时,您可以确保数据会在您需要的时候出现在您需要的地方。
希望提升您的云计算技能?看看这个月有什么是免费的。不需要信用卡。只需创建一个免费账户,现在就开始学习吧!
了解关于 Cosmos DB 的更多信息
归根结底,所有这些技术魔法都意味着一件事:让您专注于推动业务成功的因素。
您有机会创建一个原始的定制系统,它是 NoSQL 数据库集群的巅峰,但是您需要多长时间来实现它,成本是多少?这是云的美妙之处之一,尤其是 Azure Cosmos DB。您可以基于微软安全、高效且经济高效的平台,比竞争对手更快、更灵活、更有弹性地交付成果。我的朋友们,这就是用云取胜。
想了解更多关于 Cosmos DB 的知识?查看我的 Azure Cosmos DB Deep Dive 课程,了解这项出色服务的所有信息。无论你是 NoSQL 的新用户,还是对运行自己的设置感到失望,我将带你了解 Cosmos DB 提供的所有功能,以及它如何帮助你走向成功。
在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及来自其他云提供商的新闻),在脸书上关注我们,在 Twitter 上关注我们,并在 Discord 上加入对话。
相关链接
Azure DevOps vs GitHub:哪个 DevOps 工具更好?
原文:https://acloudguru.com/blog/engineering/azure-devops-vs-github-comparing-microsofts-devops-twins
下面是两个 DevOps 工具的故事:Azure DevOps 和 GitHub。它们都归微软所有,但是这两个开发者协作工具相比如何呢?哪一个更好?让我们来了解一下!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
从前,有一个微软产品叫做 Team Foundation Server (TFS)。TFS 的网络版后来变成了 Visual Studio Online,又变成了 Visual Studio Team Services,也就是现在的 Azure DevOps。
微软在 2018 年收购了 Github,这也是一款 DevOps 工具,分享了很多相同的功能。我是说,这是怎么回事?
微软收购 GitHub 是为了加强其对开源开发的关注,并将微软的开发者工具带给新的受众,现在他们有两个非常成熟和非常受欢迎的 DevOps 工具。让我解释一下 Azure DevOps 和 Github 之间的一些差异和相似之处——让你更清楚地理解为什么有两个,以及每个适合在哪里。
Azure DevOps vs GitHub:基础知识
先说一些常见的问题。已经知道 Azure DevOps 和 GitHub 是什么和做什么了吗?往前跳!
什么是 GitHub?
GitHub 是最知名的开源项目管理工具之一。Git 是一个版本控制系统。GitHub 是一个网站——一个人们在线共享 Git 仓库的平台。(存储库(repos)基本上是一段代码版本的快照。)
什么是 Azure DevOps?
Azure DevOps 是一个构建软件的 Azure 开发者服务集合。Azure DevOps 包含了大多数人使用 GitHub 的功能,但它也有一些其他独特的功能。Azure DevOps 是一套完全集成的服务,为您提供构建和维护待办事项清单、托管您的源代码库、实现持续集成所需的所有工具,以及产品发布前的交付和测试工作流。无论你是不是开发人员,单独工作还是在团队中工作, Azure DevOps training 都可以帮助你组织你计划、创建和交付软件的方式。(翻译:基本上是你制造和推出一个产品所需要的一切。)
人们如何使用 Azure DevOps?
Azure DevOps 用于规划和协作代码开发以及构建和部署应用程序。与 GitHub 相比,Azure DevOps 更受企业和云支持计划的青睐。像 Github 一样,它提供公共和私有存储库。
人们如何使用 GitHub?
开发者和公司使用 GitHub 来构建、发布和维护软件。它使协作和共享代码成为可能,并记录过程中发生的变化。(这个过程可以使追踪变得容易,比如说,一个 bug 是何时或者如何被引入的。)像 Azure DevOps 一样,它提供公共和私有存储库,并且往往是开发人员社区的最爱。甚至微软也将其大部分开源项目托管在 GitHub 上。
GitHub 能取代 Azure DevOps 吗?
Azure DevOps 可以被看作是 GitHub 的一个替代品。它有储存库。但它也有其他工具。它还集成了 GitHub,所以有可能出现“为什么不两者都要”的情况。
如何学习 Azure DevOps?
无论你是不是开发人员,单独工作还是在团队中工作,ACG 的Azure devo PS 入门课程 都可以帮助你组织你计划、创建和交付软件的方式。本课程将向您展示 Azure DevOps 如何工作,如何开始,以及如何充分利用 Azure Boards、Azure Repos、Azure Pipelines、Azure 测试计划和 Azure 工件的提示和技巧。
我如何学习 GitHub?
GitHub 提供学习实验室来帮助你入门。他们为期一小时的GitHub 介绍课程 是免费的,是学习 GitHub 基础知识的好方法。
想了解更多关于 Azure 认证的信息吗?
查看我们的 Azure 认证指南。
我们来看看 Azure DevOps 和 GitHub 共享的常用功能对比如何。
封闭源代码管理与开放源代码管理
GitHub: 社区首选。提供公共和私有存储库。
- Azure DevOps :企业首选。提供公共和私有存储库。
- 哪个好? 甚至微软也把他们的大部分开源项目托管在 GitHub 上。
- 传统上,GitHub 是开源社区和项目的首选。大型的知名项目如Bootstrap和node . js都托管在 GitHub 上,甚至大部分微软的开发者工具和语言的代码库也在 GitHub 上开源。虽然公共项目在 GitHub 上是免费的,但它们也提供付费的私有库。
微软 Azure DevOps 在方法上更像是一个企业,虽然你肯定可以托管公共项目,但这并不是这个平台的特色。许多企业级公司将 Azure DevOps 作为其认可的产品套件的一部分。
DevOps 持续集成和部署(CI/CD)
GitHub
- Azure DevOps :成熟且功能丰富的管道。与企业工具的良好集成。
- 哪个好? Azure DevOps 已经与 GitHub 库完全集成,但 GitHub 动作很简洁,并将改进很多。
- 持续集成,或 CI,是不断将任何新代码合并到主/公共代码库中并构建它以确保没有任何东西被破坏的过程。“尽早失败”是与 CI 相关的咒语之一,其思想是越早发现错误,修复它们就越容易、越便宜。
GitHub 有一个特性叫做“”。这些操作可以“在您的存储库中自动化、定制和执行您的软件开发工作流”,包括建立一个 CI 过程。
Azure DevOps 有一整块平台专用于竞争情报。 管道 是一项成熟且功能齐全的服务,可处理您的 CI 和 CD(持续交付)。事实上,GitHub Actions 的许多功能都是在与 Azure DevOps 相同的平台上构建的。
DevOps 项目管理
GitHub :如果你所有的东西都在 GitHub 里面就好。
- 蔚蓝 DevOps :成熟且功能齐全。与 1000 多个扩展集成。
- 哪个好? Azure DevOps 是任何半严肃项目的选择。
- 有效流程的很大一部分意味着拥有一个有效的 DevOps 项目管理 工具来跟踪任务和时间表、问题和进度。GitHub 和 Azure DevOps 都有帮助项目经理的工具,但它们是平等的吗?
GitHub 项目 是 GitHub 中不太为人所知的一部分,为已经在 GitHub 中的代码项目提供了一个很好的项目管理平台。
Azure DevOps 的项目管理方是 Azure Boards ,它起源于 TFS,是一个非常成熟的产品。除了与 Azure DevOps 的其他部分无缝协作,Boards 还有 1000 多个扩展用于与其他系统集成。获得关于 Slack 的通知,连接到 AWS 服务,或者创建自动化文档。
代码库
GitHub :心与心。
- 蔚蓝 DevOps :第三喜欢的孩子。
- 哪个好?对于托管代码库来说,没有什么比 GitHub 更好的了。
- 问几乎任何一个开源项目,他们的代码托管在哪里,都会是 GitHub。代码管理是 GitHub 的根基所在。这是它的心脏和灵魂。你可以用拉请求、分支、代码审查和其他东西做的一切都在这里。
Azure DevOps 也提供了很好的代码库,但它更像是第三受欢迎的孩子。它运行得非常好,几乎可以为你的项目做任何你想做的事情。
内部
GitHub : GitHub 企业
- Azure devo PS:Azure devo PS 服务器
- 哪个好? 要么自带 3872 软盘版本。
- 如果你不信任这种新奇的云技术,该怎么办?您可能对在云中托管新 Nicolas Cage 图像托管服务的代码有安全顾虑。好消息!你可以获得 GitHub 和 Azure DevOps 的自托管版本。
GitHub Enterprise是来自 GitHub 的产品,提供 GitHub.com 的所有功能。同样,Azure devo PS Server自带 3872 软盘,让你安装愉快。
声誉
GitHub :有社区感觉。在 GitHub 上有开源项目的公司可以获得免费的 karma 积分。
- T2:TFS 的气味依然存在。这是企业号的地盘。
- 哪个好? 微软肯定是想从 GitHub 那里借点名声。
- Azure DevOps 来自 TFS,它可能是用户中爱恨分歧最大的微软产品之一。所以 Azure DevOps 继承了一些这种划分。在许多变化和品牌重塑的实践中,出现了一种现代工具,它与过去的 TFS 时代相去甚远,但这种记忆有时仍然挥之不去。
另一方面,GitHub 是许多 DevOps 任务的默认平台,尤其是任何与代码管理有关的任务。大多数公司都会有一个使用 GitHub 的开发栈。
准备好深入潜水了吗?查看我们的 AZ-400:设计和实施微软 DevOps 解决方案 认证课程。
好吧,但是Azure devo PS 和 GitHub 哪个更好?
所有这些比较都很好,但是既然这两款产品如此相似,为什么微软会有两款呢?部分原因是 GitHub 正在成为一个巨大的微软代码库,同时也是一个巨大的竞争对手。GitHub 的流行持续到今天,现在我们也可以更直接地使用微软开发的非常优秀的开发工具。
那么,你应该选择哪个?不明确的回答当然是“视情况而定”你在创建什么样的项目?您需要哪些 DevOps 功能?您需要连接和自动化哪种系统?
希望你现在至少知道从哪里开始,首先尝试哪个平台。他们在不同的方面都很优秀。如需更多比较,请查看下面链接的云提供商比较系列。
Azure Functions:真的没有服务器,还是只有一些服务器?
原文:https://acloudguru.com/blog/engineering/azure-functions-serverless-or-server-some
如果你听过这个故事,请打断我:一名律师、一名水管工和一名 Azure Function 走进一家咖啡馆。律师立即宣布,“我每小时挣 400 美元。拿铁算我的!”水管工也不甘示弱,大声喊道:“我只要露面就能挣 125 美元,然后每小时收费 300 美元。糕点我请客!”
尴尬的沉默之后,水管工和律师都看了一眼这个功能,他咆哮道,“你看我干什么?我是无服务器功能。我每小时只挣几便士!”补充说,“你知道我;我是轻量级的。我只要一杯浓缩咖啡,然后回家。”
真实的故事。
好吧,好吧,我可能为了戏剧效果添加了一些细节。但我没有虚构的最重要的部分是这样一个事实,即编写良好的 Azure 功能——当部署在无服务器架构中时——每个运行时小时的成本非常低,将一件事情做得非常好,然后退出。
这里的关键词是“无服务器架构”仅仅因为有人编写并部署了 Azure 功能,并不能立即赋予该代码无服务器的地位。微软提供了几种托管 Azure 功能的方式,根据我的计算,其中只有两种是完全“无服务器”的。
什么算是无服务器?
无论云提供商如何,无服务器托管通常被认为具有三个显著特征:
- 云提供商管理运行代码的服务器。
- 代码背后的服务器资源可以动态地伸缩。
- 云客户只为代码运行时消耗的服务器资源付费。
Azure 针对功能的消费托管计划和高级托管计划符合这一定义,微软将这些描述为“功能即服务”。
寻找服务器——有些是连续的
Azure 功能的其他托管计划,涉及 Azure 应用服务的各种配置,以及 Kubernetes 和 Arc,当然有资格成为云架构,但不完全是无服务器架构。这些主机选择可以被最好地描述为服务器-一些。想象一下基于行业标准“某种即服务”类别的连续体上的各种托管选项:
所有的服务器-一些托管选项处于基础设施即服务(IaaS)和平台即服务(PaaS)之间的连续统一体中,只是稍微超出了功能即服务(FaaS)。这些选项将开发人员从基础设施管理的许多方面解放出来,但没有一个选项像真正的无服务器产品那样全面。
在这个连续的液体中贴上标签很像定义咖啡饮料(这个比喻是有意的;双关语是意外之喜)。一杯浓缩咖啡加半英寸泡沫牛奶是“多泡沫拿铁”还是“湿卡布奇诺?”一杯奶茶拿铁加两份浓缩咖啡是茶饮料还是咖啡饮料?那么一杯“单杯、高杯、无咖啡因、脱脂、无糖的摩卡奇诺”呢——那不就是棕色的水吗?也许这一个甚至没有找到它的方式进入咖啡连续体。
我担心我可能踩在了神圣的土地上,所以让我们回到函数和它们的托管架构上来。
标签改善决策
所有这些不仅仅是争论语义学的练习;对涉及 Azure 功能的架构进行分类或标记实际上有一个明显的好处。有了明确的界限,团队可以确保每个人都从相同的前提开始,以达到最佳的设计或托管决策。
(你能想象在没有共同理解定制标签(也就是菜单)的情况下决定一种咖啡饮料吗?试着在星巴克以外的任何地方点一杯大杯煮咖啡,你就会明白我的意思了。)
也就是说,很容易变得不知所措。所有的云提供商——尤其是微软——都试图随时向所有人提供一切。虽然选择是好的,但它可能会形成利弊混杂的矩阵。
幸运的是,在如何、何时以及为什么使用 Azure 功能——以及是否在无服务器环境中部署它们——的情况下,许多设计决策都归结为资源管理(顺便说一句,你永远不应该让咖啡水沸腾;它擦伤了豆子)。一旦您提出正确的问题,并在 IaaS、PaaS 和 FaaS 的更广泛类别中绘制您自己的自定义子定义和标签,这种对资源管理的关注就显而易见了。
你应该问自己这样的问题:
- 你的 IT 管理人员比开发人员多,还是相反?
- 你的时间比钱多吗?
- 你有从零开始编码的奢侈吗?
- 您是否试图将一个单一的应用程序拖到云中?
- 您为您的解决方案设想的功能是轻量级的、单责任的、快速运行的代码,还是更有内涵的、倾向于一致或持续运行的应用程序?
有了这些问题的答案、你的标签枪、白板以及你选择的热饮,你和你的团队可以围绕无服务器和多服务器选择(你知道咖啡是一种水果吗?).作为这种方法的额外收获,当需要不可避免的航向修正时,您可以参考团队定义的标签框架。
想了解更多关于无服务器的信息吗?
要了解更多关于无服务器的概念,特别是 Azure 中的无服务器,请考虑查看以下 ACG 课程:
了解更多关于咖啡的知识和观点。。。好吧。。。我才不要把手指伸进那杯热咖啡里。选择你最喜欢的搜索引擎并努力去做。
Azure 物联网即插即用、微软火箭和开源数据库改进
这周 Azure 怎么了?在本帖中,我们将讨论 Azure 物联网即插即用、开源视频流构建平台微软火箭,以及一些重要的开源数据库改进
老实说,Azure news 这周有点慢。没错,是我说的。(加油,Azure——努力保持火花不灭!)但这给了我们一个机会来强调一些重要但在所有宣传背后未被注意到的改进领域。
我们将看看我们的机器霸主(也被称为物联网)的一些进步。我们将一窥微软希望如何利用 5G 进行视频分析。最后,我们将谈论微软对开源数据库的惊人热爱。我们开始吧!
开启更好的职业生涯
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
Azure 物联网即插即用
取决于你问谁,物联网要么是一种时尚,未来的浪潮,要么是机器人启示录的婴儿版本。
无论你站在哪里,严酷的事实是,传统上一开始就有很多挫折。特别是工业制造业,已经购买了互联设备和传感器并从中受益,但您可以想象在现有的大规模生产环境中启动和运行这些设备需要多长时间。
进入 Azure 物联网即插即用。
简而言之,它使用设备模型向支持即插即用的物联网应用程序宣传设备的功能。这大大简化了连接和配置。Azure 设备目录中有数百个支持即插即用的物联网认证设备,任何人都可以轻松使用物联网解决方案,无论他们的物联网专业知识水平如何。
微软现在正在与更多的合作伙伴合作,如 CloudRail 和 Omnio,为已经部署的各种物联网传感器和设备带来即插即用功能。这在边缘实现了全新水平的智能云工作负载。
因此,如果你一直坐在边缘(眨眼,眨眼)并且不愿意未来化你的生产线,现在是开始行动的最佳时机。
在 Microsoft Azure 中发展云技能并提升你的职业生涯,这是前所未有的好时机。找出什么样的 Azure 云认证适合你!
5G 支持边缘视频分析
我们的下一个故事不一定发生在本周,但它也是微软在智能云领域正在改进的一个重要领域。那是在视频分析领域。
自 4G 到来以来,视频是互联网的主要流量类型,并且已经构建了 edge 解决方案来分析关于交通拥堵等日常情况的视觉数据。随着 5G 的到来,智能解决方案的数据量和机会只会增加。
为了抓住这个机会,微软开发了一些东西,如微软 Rocke t,这是一个开源平台,可以使视频流的构建变得容易。
他们将其与 5G 提供的高容量和低延迟连接相结合,通过自主网络、多跳摄像机网络等为停车场摄像机带来视频分析。
唯一的问题是,他们能捕捉和分析所有这些视频,同时还能保护隐私吗?
开源数据库的改进
作为一名数据工作者,我不能不提到 Azure 数据库服务最近的改进。
大多数人听到“开源数据库”这个词时不会想到微软,但雷德蒙想改变这种情况。
多年来,我们已经有了 Azure SQL 数据库,它已经被 SQL Server 爱好者所熟知和喜爱。但在幕后,微软也悄悄地为流行的数据库让路,如 MySQL 和 T2 的 PostgreSQL。这些都是完全可管理和可扩展的服务,没有开源粉丝对微软的期望中的邪恶味道,而且它们还在不断变得更好。
在上周,微软已经向开源产品添加了新的功能,例如针对 PostgreSQL 的改进的 Citus 集群、 Azure Pipelines 对 MySQL 和 PostgreSQL-Flexible Server 的支持、针对 PostgeSQL-Flexible Server 的 Azure Resource Health 以及针对 PostgreSQL-Flexible Server 的 Terraform 支持。
增加对 PostgreSQL-Flexible Server 的 Terraform 支持尤其令人兴奋。我是自动化“所有事情”的超级粉丝,使用基于 Terraform 模板的配置,您可以以可预测和可重复的方式定义、供应和配置您的 PostgreSQL 数据库。为更少的人为错误而欢呼!
他们甚至增加了使用 Azure 虚拟机备份获得 Oracle 一致快照的功能😮。但是我们不会再提那个名字了,以防他们为此向我们收取额外的费用…
大多数开源数据库的改进目前都在公开预览中。
本周 Azure 粉丝到此为止!继续牛逼吧,云大师。
想跟上万物云?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。您也可以在脸书上喜欢我们,在 Twitter 上关注我们,或者在 Discord 上加入对话!
得到蔚蓝云痛苦辞典
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 Azure 中一些最痛苦术语的简洁定义。
蔚蓝新闻 2022 -最伟大的点击!
原文:https://acloudguru.com/blog/engineering/azure-news-2022-the-greatest-hits
你好,云大师!本周,我回顾了 2022 年的 Azure,为您带来了由您的观点投票选出的热门故事。从 Azure 认证和考试,到 Azure 管理的 Grafana,我们在这里都有,所以让我们开始吧!
排名第五的 Azure Managed Grafana
我打算做一个 52 强,但是管理层说我必须保持在 5 强。抱歉。无论如何,数字 5 是科技界最伟大的词汇之一:Grafana。早在 9 月,Brian Roehm 分享了 Azure Managed Grafana 的故事。
Grafana 已经被广泛使用,但通过集成到 Azure 中,所有 Azure 项目仪表板都可以更容易地获得 Grafana 的好处。特别是,开发人员可以将 Azure 上的服务以及 Azure 之外的服务与托管的 Grafana 实例集成在一起,从而提供更多的灵活性。
#4 Azure Monitor 和一分钟警报
第四点从 Azure 日志中得到了更多的应用,尤其是 Azure Monitor。
大约一年前的一月,Wayne Hoggett 告诉我们每分钟从你的日志中得到提醒的用处。虽然这听起来可能不太令人兴奋,但它是对您的生产稳定性和可靠性产生巨大影响的小改进之一。
当出现问题时,尽可能快地了解情况对于解决问题和最大限度地减少影响都是至关重要的。显然你也是这么想的,你的观点!
#3 微软最大的 DDoS 攻击
这是其中一个让你无法不看的故事。 Azure 描述了他们在 2021 年遭遇的最大的 DDoS 攻击,并偶然提到 Azure 平均每天受到网络犯罪分子的攻击近 2000 次!
哦,你问最大的?是的,每秒钟有 3.47Tb 的数据,或者说每秒钟有大约 300GB 的数据被发送到一个服务。这已经很多了!据我所知,这仍然是对 Azure 最大的攻击。
正如我在二月份说过的,DDoS 也不会很快消失。只要带宽是便宜的、充足的、可获得的,我们就会看到越来越大的攻击。它们很容易做。从好的方面来看,微软似乎处于防御的顶端,而且已经有几年没有任何成功的攻击了(至少据我们所知)。
#2 Azure 考试沙盒
排在第二位的是 Azure 考试沙盒。正如李中清在 2022 年 1 月解释的那样,你现在可以在参加 Azure 认证考试之前熟悉一下考试格式。
考试沙箱显示问题类型和格式,并让你做测试问题,所有这些都没有时间压力或担心失败。这是在你参加真正的考试之前熟悉考试流程的一个好方法。
如果你想要更多的沙盒体验,我们在云专家平台上也有世界级的 Azure 动手实验室,它可以帮助你通过实际操作来学习大量的云知识。
#1 Azure 认证更新
说到考试,到目前为止,节目中最受欢迎的话题是证书。新的认证、更新的认证、认证年中更新、预测,您都喜欢。
我们获得了 AZ-800 和AZ-801 for Windows Server Hybrid Administrator Associate,以及 AZ-720 Azure Support Engineer 作为全新闪亮清新气味认证。除此之外,还有对 AZ-900、DP-900、AI-900、AZ-104、DP-300、AZ-600、AZ-305 和 AZ-400 的更新。
老实说,我明白为什么认证是重中之重。他们改变了许多人的职业生涯、团队能力和生活。这也是我们为他们每个人的课程投入如此多时间和精力的原因!
哦,如果你被这些数字弄得头昏脑胀,不知道从哪里开始学习 Azure,那么最好的起点就是我们的 Azure 认证指南。
这就是 Azure 年最大的头条新闻!
想每周了解 Azure 新闻吗?
本周 Azure 是关于 Azure 的每周新闻综述。加入我们的专家主持人,因为他们涵盖了你需要知道的关于过去一周发展的一切,保持简短、有趣和信息丰富。
无论您是刚刚开始您的云之旅,还是您已经了解自己的东西,每个人都有适合自己的东西!
Azure 揭示新的 AZ-305(和大规模 DDoS 攻击)
本周蓝色世界发生了什么?自从我上次见到你,我一直在翻我遇到的任何云,以确保你只从微软获得最好的云新闻。我发现了一个新的 Azure 认证,对 Azure 的大规模攻击,以及一些更多的功能特性。
请继续阅读了解更多信息!
AZ-305 Azure 解决方案架构师专家认证
还记得几周前我们得到了 AZ-800 和 AZ-801 吗?我和 Orin Thomas 谈过这件事,我认为这是我们在一段时间内看到的最后一个主要认证。嗯,不是这样的!
本周,我们得到了 AZ-305 设计微软 Azure 基础设施解决方案的消息。同时,我们发现目前的 AZ-303 和 AZ-304 将于 2022 年 3 月底退役。
到目前为止,我得到的关于考试的主要问题是“如果我已经通过了 AZ-303,但没有通过 AZ-304 怎么办?”
你有两个选择:要么在 2022 年 3 月 31 日前乘坐 AZ-305,要么乘坐 AZ-304。这两个选项都将为您赢得 Azure 解决方案架构师专家认证。
如果你计划使用 AZ-303 和 AZ-304,但是你没有 AZ-104 Azure 管理员助理,那么你需要开始行动了。没有 AZ-104 就不允许乘坐 AZ-305。
简而言之:要获得 Azure 解决方案架构师专家认证,您需要
AZ-104 和 AZ-305,或
- AZ-303 和 AZ-305,或
- 阿兹-303 和阿兹-304
- 如果你超级渴望,新的 AZ-305 考试将于 2021 年 11 月 16 日开始公测。更多信息点击这里。
想了解更多关于云安全的信息吗?查看本月的免费 ACG 课程了解安全为重点的云学习自助餐。只需创建一个免费账户并开始行动。不需要信用卡!
尽管受到 2.4 Tbps DDoS 攻击,业务照常进行
据报道,2021 年上半年,Azure 上的拒绝服务攻击比 2020 年第四季度增加了 25%。本周,我们了解到 Azure 上最大的一次 DDoS 攻击。
在 8 月的最后一周,检测到一个针对欧洲客户的 2.4 Tbps DDoS 攻击。这比 2020 年的 1 Tbps 攻击高出 140%,也高于此前在 Azure 上检测到的任何网络容量事件。
攻击流量来自大约 70,000 个来源,来自亚太地区的多个国家,如马来西亚、越南、台湾、日本和中国,以及美国。
正如我上周在谈论如何使用 Azure 避免 DDoS 攻击时提到的,Azure 上有一些非常严重的 DDoS 保护措施,这次它们也偏转了攻击。
Azure 是如何做到这一点的?在这种情况下,源自亚太地区和美国的攻击流量不会到达客户地区,而是在来源国家/地区得到缓解。Azure 发现了攻击,并在流量到达目的地之前阻止了流量。
非常酷的是,云计算既可以用来大规模扩展应用程序,也可以防止我们从未注意到的攻击。更多详情此处。
通往更好职业的钥匙
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
公共预览:Azure 函数中的动态并发
最后,还有一条关于 Azure Function 的新闻。本周,动态并发在公开预览中发布。
动态并发可以通过优化每个实例的吞吐量来提高应用程序的性能,并在负载模式随时间变化时对并发设置进行实时调整。
与 Azure 函数的静态并发相反,动态模型可以提供更简单的配置,因为系统会随着时间的推移学习工作负载的最佳值。你也会得到更健康的实例,因为它们不太可能承担太多的任务而超负荷工作。
如果你有很多运行的 Azure 函数,那么这可能是对你的应用程序性能的改进。今天就尝试一下。
跟上所有蓝色的事物
在我结束之前,我想提一下,Azure Security 入门课程这个月在 T2 是免费的。这个课程是 Azure security 的良好开端。要了解这一点,只需创建一个免费账户并立即开始学习。
想要跟上云的所有事物?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。你也可以在脸书上喜欢我们,在推特上关注我们,或者在不和谐上加入对话!
正如我们在云专家团队中所说的,当我们刚刚准备平稳地结束一年而没有新的认证时:“寻找,你将云”。继续牛逼吧,云大师们!
得到蔚蓝云痛苦辞典
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 Azure 中一些最痛苦术语的简洁定义。
Get the Azure 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 for succinct definitions of some of the most painful terms in Azure.
九月新闻综述:Azure 有什么新特性?
原文:https://acloudguru.com/blog/engineering/azure-september-news
你好,云大师!想知道 Azure 在过去的一个月里发生了什么变化,但没有时间查看标题?我们已经写了一篇文章,提供了你需要知道的所有信息。
Azure 托管的 Grafana 变得可用
Grafana 是一个第三方多平台开源分析解决方案。它可以连接各种各样的数据库,而且由于它是开源的,允许程序员从头开始编写插件,以获得更大的连接灵活性。
就像其他监控平台一样,它允许在一段时间内对数据进行分析和监控。它经常用于跟踪用户行为、搜索错误,以及识别可能影响业务决策的独特数据点。
本月,微软开始全面发布 Azure 托管的 Grafana。有了它,你可以在 Azure 内原生运行 Grafana。这允许你使用 Grafana 将 Azure 服务与 Azure 之外的其他服务连接起来。
对 Azure 成本管理的更改
大型组织通常有多个 Azure 目录租户。发生这种情况的原因是公司的合并、收购、安全问题和分离。不管是什么原因,当尝试跨组织管理和优化计费时,多个租户会导致混乱。这个问题实际上是客户在考虑 Azure 成本管理时提出的最多的问题之一。
为了帮助解决这个问题,微软最近增加了一项新功能,允许您从一个微软客户协议计费帐户管理多个租户。启用后,无需在多个租户之间导航,即可授予访问权限,允许查看和下载发票、监控成本以及创建更多订阅。
这简化了流程,并允许更好地了解整个组织发生的成本。
Azure Monitor 变更分析功能发布
在 Azure Monitor 中,你现在可以访问一个新的变化分析特性。度量、日志和跟踪解释了您的数据发生了什么。微软将这一特性描述为提供“为什么”。使用变更分析,您可以跨多个订阅查看资源。
以下是微软列出的一些使用变更分析的常见应用:
- 排除应用程序及其依赖项中的变化
- 调查并确认发生了预期的变化
- 日常监控变化并快速与团队分享
- 与其他 ob 的相关性变化分析
- 使用 Azure 的可服务性数据
- 工作簿
- 调查公制峰值
- 调查谁做出了改变
最好的消息是变更分析是免费提供的。这绝对是您应该花些时间探索的事情,因为它可以很好地减少调查时间,更快地突出问题,并导致更快地解决问题。
Azure 和 Starlink 联手
Azure Space 于两年前宣布,本月见证了一波新的太空产品,其中包括 Azure Orbital Cloud Access 预览版,以及 Azure Orbital 地面站的普遍可用性。
普遍可用:调整对等虚拟网络的大小
如果您使用对等网络,您可能会遇到对等地址不足的情况。你的网络会离线,你必须移除对等,这总是很棘手。
本月,对等网络的大小调整变得普遍可用,随之而来的是,许多压力离开了大楼。现在,您可以更新地址空间或调整其大小,完全不需要停机,也不需要删除对等关系。
高级固态硬盘和标准固态硬盘磁盘存储的更新
在过去,如果您想要增加被管理磁盘的大小,您必须登录,等到您的虚拟机被解除分配,调整磁盘的大小,然后重新启动。在等待的过程中,使用该虚拟机的任何资源都出现了故障,业务功能也受到了影响(或者您确实受到了影响,因为您必须在凌晨两点登录)。
好消息是,微软刚刚宣布高级和标准固态硬盘现在可以实时调整大小!通过此更新,您现在可以在不取消分配虚拟机的情况下扩展被管理的磁盘。
因为这是一项新服务,所以有一些限制。它仅适用于 4TB 以下的数据磁盘,不支持 Ultra、共享或 SSD v2 磁盘。您可以使用自己喜欢的方法来访问该功能,无论是 CLI、Powershell、ARM 还是门户。
这就是 Azure 月份的所有头条新闻!
想每周了解 Azure 新闻吗?
本周 Azure 是关于 Azure 的每周新闻综述。加入我们的专家主持人,因为他们涵盖了你需要知道的关于过去一周发展的一切,保持简短、有趣和信息丰富。
无论您是刚刚开始您的云之旅,还是您已经了解自己的东西,每个人都有适合自己的东西!
Azure SQL 数据库区域全部冗余!
原文:https://acloudguru.com/blog/engineering/azure-sql-database-zone-redundancy-for-all
本周蓝色新闻发生了什么?我们看一下 Azure SQL 数据库的冗余和 Azure 静态 Web 应用的 DevOps 改进。我们还查看了 Azure Monitor 代理的最新更改和增强。
开发运维、监控和冗余——我最喜欢的三个话题!让我们开始吧。
加速您的 Azure 职业生涯
无论你是新手还是认证专家,云专家都能让你轻松(也很棒)地提升自己的职业生涯。查看 ACG 的免费课程或现在就开始免费试用。
【Azure SQL 数据库通用层的区域冗余
微软最近宣布你现在可以在通用服务层配置你的 Azure SQL 数据库以实现区域冗余。
这在以前只保留给成本较高的业务层和关键层。
区域冗余保护您的数据库免受更大范围的 Azure 故障,包括数据中心停机,并因此将微软提供的 SLA 提高到 99.995%。而且,由于您在同一区域使用分区,您仍然可以获得零恢复点目标(RPO)。这意味着在发生区域故障时不会丢失数据。总是很方便。
您还可以使用门户、ARM 模板 PowerShell 或 Azure CLI 轻松切换到现有数据库上的区域冗余。
值得注意的是,这项服务将花费更多一点,目前仅在特定地区提供,其他地区将在预览版中提供。
Azure 静态 Web 应用中预览环境的稳定 URLs】
Azure Static Web Apps 是我最喜欢的新兴 Azure 服务之一。
我说它很有前途,因为它在 Azure 世界中仍是一个婴儿,距离全面上市才一年。它允许您轻松部署全局冗余的 web 前端,也可以轻松集成到 Azure 功能中。
但是 Azure 静态 Web 应用真正伟大的地方是它们与现代 DevOps 工具的集成,如 GitHub 和 Azure DevOps,以持续部署您的更改。
以前,每当您针对生产分支创建一个拉请求时,Azure Static Web apps 都会生成一个预览 URL,以便您可以在合并拉请求之前查看更改。
有了稳定的网址,你现在可以永久预览你网站的不同分支。假设您有一个用于持续集成的长期运行的开发分支,您现在可以为该分支永久设置一个 URL。
可爱!
Azure Monitor 代理更新
Azure Monitor Agent 是一个新的代理,您可以将其部署到您的 Azure 虚拟机、规模集和支持 Azure Arc 的服务器,以将日志和指标数据发送到您的日志分析工作区。
以前,这种收集都是使用一些不同的代理完成的,包括日志分析代理。日志分析代理现在的退休日期是 2024 年 8 月。这意味着微软正忙于将所有的日志分析代理功能添加到 Azure Monitor Agent 中。
最新进入公开预览版的特性是支持基于文本的自定义日志和基于 Windows 的 IIS 日志。
这是对最近添加的对 Windows 10 和 Windows 11 客户端的支持的补充。
我喜欢 Azure Monitor Agent 的地方在于它支持数据收集规则,允许您精确地配置收集哪些日志和指标。您甚至可以将这一职责交给工作负载团队,以分散您的监控配置工作。
所以看看 Azure Monitor 代理,将它与 Log Analytics 代理一起运行,看看它是否支持您的需求。哦,请确保在日志分析代理退出之前完成迁移!
跟上所有蓝色的事物
好了,这就是本周的全部内容!想要跟上云的所有事物?在推特上关注 ACG,关注 T2 和脸书。你还可以在 YouTube 上订阅一位云专家的 Azure 每周更新,并在 Discord 上加入对话。
想了解更多关于云和 Azure 的信息,或者想在 2022 年开始你的云计算生涯?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
Azure SQL 超大规模、站点恢复和流量管理器获得更新
本周 Azure 有什么新消息?这里有五个更新,包括 Azure SQL 超大规模自动故障转移组,Azure 站点恢复的 Azure 策略支持,Azure 流量管理器中为端点监控添加了额外的 IP 地址,Azure Cognitive Services 的新语义搜索功能,以及一些有用的 Azure IoT Central 更新。让我们开始吧!
蔚蓝你的事业成功
从 ACG 开始通过微软 Azure、AWS、谷歌云等领域的课程和实际动手实验室改变你的职业生涯。
1.Azure SQL 超大规模的自动故障转移组现已在预览中
Azure SQL 中的超大规模服务层不仅是一个很酷的名字,而且在快速横向扩展和纵向扩展、支持高达 100TB 的大型数据库、几乎即时的备份和非常快速的恢复方面,它也是 Azure SQL 的顶级层。这就像数据库世界的超级跑车。一辆巴士大小的超级跑车?
总之,本周,超大规模的自动故障转移组在预览版中发布。自动故障转移组的一些好处包括
- 简化了一组地理复制数据库的管理,包括对整个数据库组进行故障切换的能力。
- 故障切换后,应用程序能够保持相同的读/写和只读端点。
- 通过地理故障切换在整个区域丢失期间进行恢复,这可以手动启动,也可以通过自动故障切换策略启动。
- 可读在线辅助节点可用于只读工作负载,方法是连接在地理故障切换期间保持不变的只读侦听器端点。
相当整洁!你可以在这里阅读更多相关信息。
2.Azure 站点恢复的 Azure 策略支持正式发布
Azure Site Recovery 的政策支持现已全面推出。一旦为给定订阅或资源组创建了灾难恢复策略,添加到该订阅或资源组的所有新虚拟机都将自动启用 Azure Site Recovery。
这有助于遵守公司政策,但不要忘记,您需要为启用的每个 ASR 付费。可能会很贵。
点击阅读更多。
3.Azure 流量管理器:端点监控服务的附加 IP 地址
如果您曾经使用过 Traffic Manager,您可能知道它有一个端点监控服务,用于评估流量被定向到的端点。这是为了确保流量不会被定向到中断的端点,从而保持您的应用程序健康。
为了确保探测器的容量跟随 Traffic Manager 的增长,Azure 将在未来几年增加部署在 Traffic Manager 端点监控服务中的探测器数量。您需要监控探头的 IP 地址列表,以确保您允许它们与您的流量管理器一起工作。
更多此处。
4.公共预览:语义搜索更新
语义搜索现在处于公开预览阶段,这意味着你可以在 Azure 门户中轻按一下开关来启用它。
什么是语义搜索?它是 Azure Cognitive Services 的新功能,可以理解用户意图,并根据上下文对最相关的搜索结果进行排序。
今天跟它玩一玩这里。只是不要再搜索羊驼彩虹了。你知道上次发生了什么。。。
5.Azure 物联网中央更新
最后,Azure IoT Central 有一些小的更新:
在 Azure IoT Central Dashboard 上的单个磁贴上可以显示的设备限制为 10 到 100 个。
我想,您现在可以复制物联网仪表盘,以大幅增加仪表盘的数量。
此外,您现在可以发送不同形状的设备遥测数据,并在 Azure IoT Central ingress 将遥测数据转换为结构化数据。
如果你做物联网中心的事情,你现在有更多的更新可以玩。点击查看。
希望在 2022 年提升您的云游戏水平?加入我们 1 月 18 日的直播!
美国东部时间 1 月 18 日下午 3:30(澳大利亚东部时间 1 月 19 日上午 7:30),Scott "Omnibus" Pletcher 和 Mattias " the Certification Ninja " Andersson 将在 Youtube 上直播,为您提供如何开始云计算之旅的一些建议。带着你的问题,我们会带着答案。还有零食!(不过只是对我们来说。我们会分享,但是,你知道,这是互联网。)
想要跟上所有的事情 Azure 和 cloud?在 YouTube 上订阅一位云专家的每周微软 Azure 新闻(以及其他云提供商的新闻)。你也可以在脸书上喜欢我们,在推特上关注我们,或者在 Discord 上加入对话。
云挑战:Lars vs AWS
当热爱 Azure 的 Lars 前往黑暗面并尝试 AWS 任务时会发生什么?我们向 Lars 挑战,让他在云平台上走过(或绊倒)一个他从未见过的场景,他也不知道要找出答案。
What happens when Azure-loving Lars goes to the dark side and tries his hand at AWS tasks? We challenged Lars to walk (or stumble) through a scenario he’d never seen on a cloud platform he didn’t know to find out.
Azure 静态 Web 应用 CLI
原文:https://acloudguru.com/blog/engineering/azure-static-web-apps-cli
在本周的 Azure 新闻中,我们有了新的静态 Web 应用命令行工具;Azure 容器应用程序现在可以有自定义域,微软 Dev Box 的发布让我们想知道,“我甚至应该关心云中的开发者工作站吗?”当我们忙于吸收微软在 Build 时发布的所有东西时,Azure 世界仍在向前发展。所以让我们开始吧!
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
静态网络应用程序 CLI 现已推出
自从我们分享关于静态 Web 应用的新 Azure 特性的新闻以来,已经过去了大约一个月的时间。从定制 URL 到支持多种部署环境,微软都在静态 Web 应用上。我自己已经创建了一些,我理解这种吸引力——从一个投资组合网站到一个华丽的 API 反应前端,可能性是相当多样的。
Azure 刚刚为在这一领域做了大量工作的开发人员发布了又一个工具:一个 Azure 静态 Web 应用的命令行界面。使用 CLI,您可以通过 Azure 进行身份验证,初始化您的项目,构建和部署,甚至预览和调试您的应用程序——所有这些都可以从命令行完成。如果你像我一样,你可能越来越多地在 CLI 中工作——现在你可以在静态 Web 应用程序中运用这些技能。
Azure 容器应用对自定义域和 TLS 证书的支持现已正式发布
Azure 容器化应用程序是微软提供的一个很好的产品。您可以部署微服务和容器,而不必过多关注流程编排和基础设施。微软肯定为该产品提供了很多支持——从教程到对 CLI 和 Azure 门户控制的支持,甚至是内置的节点健康指标。他们的目标是为简化的容器化应用系统提供完整的设计、开发和应用解决方案。
不过,直到现在,你的容器化应用程序都有一个自动生成的 URL。如果你想为这些容器定制域,你就没那么幸运了,除非你采取特殊的措施——比如把它们放在网关后面。但这一切刚刚改变,因为 Azure 已经宣布在 Azure 容器应用中支持定制域和 TLS 证书。这个过程非常简单明了,这很棒;没有人愿意在 TLS 证书和 DNS 配置上花费大量时间,除非你是一个不怕惩罚的人。
我们需要微软 Dev Box 吗?
让我们用一些关于把你的开发机器放到云中的想法来结束本周的帖子。当微软几周前在 Build 上宣布发布 Dev Box 时,它让我想到,“我为什么要关心这个?”我并没有否定的意思,我真的很好奇。
在云托管的开发环境中工作的想法并不新鲜,但是直到最近,您还必须经历一些困难才能获得一个合适的设置。事实上,微软把所有这些工作都放到了他们的开发盒产品中,这告诉我他们在那里看到了真正的未来。
一旦我明白了它听起来有多“酷”,我就决定仔细看看。我很好奇——为什么一个开发者真的想这么做?是给大家的吗?它适合某些类型的开发工作吗?
我发现这里没有明确的答案。“DaaS”或“桌面即服务”的利弊已经谈了很多,但很少关注开发人员的体验。让我们面对它;我们使用电脑的方式不同于我们公司大多数其他人使用电脑的方式。它们不是通用的生产力工具;它们是一个专门的环境,我们可以在其中创建可执行文件,作为生产力工具进行部署。
对使用基于云的开发机器的主要反对意见通常归结为感觉失去控制。我们已经花了很长时间来控制我们的本地机器,所以我们不会轻易放弃在深层次上查看和定制我们的开发机器的能力。
Dev Box 的两个参数
我认为支持在云机器上进行开发工作的两个最强有力的理由是:
- 首先:如果你正在构建分布式的微服务应用程序,那么为开发和测试复制一个真实世界的系统会容易得多。在您的本地机器上进行这种设置确实具有挑战性。我试过了,没什么意思。
- 第二:如果您正在同时处理几个不同的项目类型,并且它们每个都有显著不同的依赖项和开发工具链,那么在云中保持多个开发机器,每个都有您需要的设置,会容易得多。这意味着您不必在本地机器上管理多个运行时版本和依赖链。
想了解更多关于 Azure 认证的信息?
查看我们的 Azure 认证和学习路径。
跟上所有蓝色的事物
好了,这就是本周的全部内容!想要跟上云的所有事物?在推特上关注 ACG,关注 T2 和脸书。你还可以在 YouTube 上订阅一位云专家的 Azure 每周更新,并在 Discord 上加入对话。
想了解更多关于云和 Azure 的信息,或者想在 2022 年开始你的云计算生涯?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
Azure 存储帐户网络:何时使用防火墙和服务端点
最近,当我为即将到来的课程之一Microsoft Azure Architect Technologies–Exam AZ-300构建内容时,我发现微软文档并没有立即明确存储帐户防火墙和服务端点的排他性。
我需要一起使用它们吗,或者它们可以彼此完全独立使用吗?
和往常一样,一旦我们深入了解,在测试环境的帮助下,事情实际上是如何工作的就变得更加清楚了。
这篇文章分享了我在这样的旅程中学到的一些重要的经验。
我需要同时使用服务端点和存储防火墙吗?
配置存储帐户防火墙时,我们不必配置服务端点。同样,当我们为存储配置服务端点时,它不需要存储防火墙规则来实现安全/私有连接。
这是两个互补的特征。让我们仔细看看为什么。
服务端点
如果我们从服务端点开始,这有助于理解这实际上是虚拟网络的属性。我们可以这样配置它:
- 用一个子网(
subnet1
)创建一个虚拟网络(vnet1
) - 运行以下 CLI 命令:
az network vnet subnet update -g vnet1rg --vnet-name vnet1 -n subnet1 --service-endpoints "Microsoft.Storage"
现在我们实际做的,是 通过微软主干网启用了一条新的默认路由;完全避开公共互联网。
如果您在该子网中有一个网卡,并查看有效路由,您会看到如下内容:
这意味着连接到subnet 1
的设备不再通过公共互联网访问微软存储。
提示 :服务端点帮助我们创建使用微软主干网而非公共互联网的最佳网络路由。这样做的好处之一是提高了安全性,因为使用此功能的资源将安全地秘密连接到 Microsoft 存储。
存储帐户防火墙
接下来,假设我们想要在网络层保护一个存储帐户。更具体地说,我们希望限制对特定存储帐户的访问,并且只允许可信 IP。我们可以使用存储帐户防火墙来做到这一点。
下面是我们如何配置它的一个例子:
- 创建存储帐户
- 导航到该存储帐户的防火墙和虚拟网络设置
- 通过选择来启用防火墙,以允许来自所选网络的访问
- 添加我们需要的任何允许的 IP(或者不添加任何 IP)
当我们启用防火墙时,对存储帐户配置的第一个改变,就是 增加了一个默认的“拒绝”规则 *。*这可以通过资源浏览器(https://resources.azure.com)看得更清楚:
不允许任何东西访问存储帐户,除了我们免除的服务或我们列入白名单的 IP 地址。另外,请注意,我们不能将私有 IP 地址列入白名单,只能将公共 IP 地址列入白名单。
提示 :启用存储帐户防火墙会为该存储帐户创建一个默认的“拒绝”网络规则,有效地阻止任何和所有流量。然后,只能通过允许特定虚拟网络或者将公共 IP 地址列入白名单来允许流量通过。
我们应该使用一个还是两个功能?
默认的拒绝规则解释了为什么这两个功能有时听起来像是需要同时启用。如果我们确实启用了存储帐户防火墙,并且仍然希望 VNet 内的资源能够访问,那么我们有两个选择:
- 记下我们资源的公共 IP 地址,并将其添加到白名单规则中,或者
- 为我们资源的子网启用服务端点
然而,没有什么可以阻止我们单独使用这两种服务。我们可以使用服务端点,只是为了优化路由,或者我们可以利用存储防火墙本身来锁定网络访问。
提示 :这里的关键是要理解这些特性实际上是做什么的。一个用于路由,一个用于网络访问控制。
如果您想了解更多信息,请随时在社区、社交媒体上联系我,或者查看最近在 preview 中发布的 AZ-300 课程。新的 AZ-300 Azure Architect 技术课程涵盖了这一点,甚至更多。
一如既往,伙计们,我希望这有所帮助!
Azure Stream Analytics 没有代码编辑器和 NGINX Plus,现在是 Azure native
原文:https://acloudguru.com/blog/engineering/azure-stream-analytics-no-code-editor
在构建的前一周,Azure 为云开发者提供了许多新工具和新功能。NGINX Plus 现在是 Azure 上的原生 SaaS 产品;为你的流数据设计分析得到一个拖放式的体验,一个改进版的草稿工具使得迁移到 Kubernetes 更加容易。让我们来看看这周的 Azure 新闻都发生了什么。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
Azure 上的 NGINX Plus native 一个强大的组合
20 年前,NGINX 最初只是一个 web 服务器,用于处理大量并发请求,这些请求来自俄罗斯搜索引擎 Rambler,现在它已经成为世界上最受欢迎的服务器之一。
现在由 F5 组织管理,他们的旗舰产品“NGINX Plus”是一款用于管理分布式应用的常用工具。但直到现在,在 Azure 生态系统中使用 NGINX Plus 一直是一个挑战。经过两年的共同努力, Azure 和 F5 在 Azure 上发布了 NGINX Plus 作为完整的 SaaS 产品。
这个新的 SaaS 产品不仅仅让你使用 NGINX Plus 的强大功能作为反向代理和负载平衡器。您还可以通过其 BYOC(自带配置)功能利用您的现有资产。这里最大的优势之一是,当您将工作负载迁移到云时,学习曲线会降低。您将花费更少的时间将所有东西连接在一起,并将更多的时间用于优化您的云架构和定制您的系统以满足您的独特需求。
随着 IT 世界转向分布式计算系统,这真是一个大新闻,我想你会非常喜欢使用它的。
构建拖放式流数据分析系统
Azure Event Hub 服务是一个强大的实时摄取服务,在当今大规模运行并生成大量数据的物联网设备和分布式应用程序世界中,它越来越有用。然而,这些数据的价值取决于你的分析能力,Azure 刚刚发布了一个工具,通过新的 Stream Analytics no code editor 的公共预览版,使这一过程变得更加容易。
使用其拖放界面,您可以快速创建分析作业,而无需编写任何代码。无论您需要将数据过滤和接收到 Azure Synapse SQL 服务,将数据放入 Apache Parquet 表格并将其转储到您的数据湖,还是将数据具体化到 Azure Cosmos DB,您都可以在几分钟内开始。
这项新服务本质上为您提供了一个画布,让您可以查看所有传入的数据流,然后在将它们写入您选择的目的地之前,以您需要的任何方式对它们进行转换——所有这一切都是以无代码的方式进行的。你可以利用 Azure 的数据专家多年来积累的深厚知识,花时间思考塑造数据的最佳方式,而不是陷入设计数据查询和转换操作的语法中。
您的数据接收、转换和加载任务变得简单多了。我猜下一步是构建人工智能来告诉你数据的真正含义——但这听起来有点太像奇点了,所以希望 Azure 会推迟一段时间。
使用微软草稿 2 轻松迁移到 Kubernetes
有效使用容器和 Kubernetes 的学习曲线可能有点艰难。2017 年,微软推出了 Draft,这是一个开源工具,可以帮助开发人员构建面向容器世界的应用程序,即使他们的技能还不太好。他们在已经使用了五年的草案中学到了很多,现在他们发布了一个重新设计的版本,名为草案 2 。
Draft 2 工具可以让你在没有深入了解容器化概念和工件的情况下编写你的应用程序,它实际上创建了你将这些应用程序轻松部署到 Kubernetes 所需的所有工件。使用您完成的应用程序,它将制作您需要的一切:Dockerfile、Kubernetes 清单、舵图等等。为您的应用程序准备一个完善的、可工作的部署系统,您可以根据自己的特定需求进行调整,这使得向容器和 Kubernetes 的过渡更加容易。
如果您还没有深入到容器池中,这是一个很好的尝试方式——即使您已经深入到容器池中,为什么不让 Draft 2 为您做好一切,让您的工作变得简单一点呢?
跟上所有蓝色的事物
好了,这就是本周的全部内容!想要跟上云的所有事物?在推特上关注 ACG,关注 T2 和脸书。你还可以在 YouTube 上订阅一位云专家的 Azure 每周更新,并在 Discord 上加入对话。
想了解更多关于云和 Azure 的信息,或者想在 2022 年开始你的云计算生涯?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
Azure 虚拟广域网、Azure 功能获取更新
原文:https://acloudguru.com/blog/engineering/azure-virtual-wan-azure-functions-get-updates
本周蔚蓝的奇妙世界有什么新鲜事?我们来看看 Azure 的虚拟广域网及其最新的更新,一些新的 Azure 功能,以及为你推荐最佳实例的新 VM 选择器工具。让我们开始吧!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
使用 Azure 虚拟广域网简化连接、路由和安全性
广域网(或 WAN)已经存在很长时间了,这是一个技术术语,意为“很长一段时间”WAN 将不同的小型网络(包括局域网)连接起来,形成一个更大的网络。
例如,它对于想要连接办公室局域网、保护网络等的企业来说是很有用的。
Azure 也有广域网产品,不出所料,它是虚拟的。这是一个统一的基于中心和分支的架构,使用微软全球骨干网提供网络即服务(NaaS)的连接、安全和路由。这是关键。你可以使用微软主干网,这是一条洲际数据高速公路。
现在正式提供的一些新功能包括:
- 自定义流量选择器,确保站点间连接的预定义和一致路由。这与 VPN 网关基于策略的功能相结合,并允许您指定精确、宽或窄流量选择器。
- Azure Virtual WAN VPN gateway 上的数据包捕获功能可捕获所有连接上的所有数据包,从而获得整体视图。这可以帮助您确定任何问题是在内部网络还是 Azure 或两者之间。
- 远程或本地 RADIUS 服务器在 VPN 连接设置期间对用户进行身份验证。这也包括 RADIUS 部署的一些简化。
- 高级路由利用特定的 ExpressRoute 要求。
- 最后,BGP 与 Azure 虚拟广域网集线器对等。
AWS 中的 Azure 用户?
当热爱 Azure 的 Lars 前往黑暗面并尝试 AWS 任务时会发生什么?我们挑战 Lars 在他不知道的云平台上走过(或绊倒)一个他从未见过的场景。
构建实时 web Azure 功能更新
似乎每周都有更多关于 Azure 功能的新闻和特性。你知道吗?我不介意!就开发、定价和维护而言,Azure Functions 是最容易接近的服务之一。我就是喜欢。
无论如何,这个星期我有两个功能更新给你。
首先, Node.js 版本 16.13x 现已公开预览。这是 Node.js 的下一个长期支持(LTS)版本,可用于 Linux 函数应用程序。运行 Windows 的功能应用的更新将在下个月的某个时候到来。
其次,Azure 函数现在可以通过 Azure SQL 的输入和输出绑定与 SQL 数据库交互。你可以得到微软。蔚蓝色。WebJobs.Extensions.Sql 库,并直接使用它。使用 Azure SQL 绑定,数据可以通过输入绑定从数据库输入到函数,数据可以从函数输出到数据库。这非常简洁,并且将传统的 SQL 数据存储与轻量级功能应用程序联系起来。
得到蔚蓝云痛苦辞典
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 Azure 中一些最痛苦术语的简洁定义。
虚拟机选择器现已正式推出。
Azure 上有数百个不同用途的虚拟机。有些是用于测试的,运行起来非常便宜,有些有令人难以置信的规格,比如上周的超级计算机,有些针对内存密集型工作负载进行了优化,等等。但是,你如何为你的项目找到合适的呢?到目前为止,这是最好的猜测,再加上一点试探,看看会有什么结果。
本周虚拟机选择器工具在 GA 发布。告诉该工具你想用虚拟机做什么,你需要多少内存,你更喜欢哪个操作系统,你在哪个地区,以及其他一些偏好,它会为你推荐合适的虚拟机系列和实例。就虚拟机而言,这将为您节省时间和金钱。不过,用完之后别忘了关掉它们。
在我们得到之前,你想了解更多关于使用 Azure 进行云开发的知识吗?查看本月的免费 ACG 课程,包括我们闪亮的新 AZ-400 DevOps 认证考试课程。只需创建一个免费账户并升级。不需要信用卡!
本周的新闻到此结束。正如我们在云专家团队中所说的,当你的同事告诉你在周二早上早点出现,只是为了让你做一些 Linux 体操和 AWS 俯卧撑时:“寻求,你就会云。”
下周见。继续牛逼吧,云大师们!
想跟上万物云? 在 YouTube 上订阅一位云专家 的每周微软 Azure 新闻(以及其他云提供商的新闻)。你也可以像我们一样关注**,关注我们的* 推特 ,或者加入 不和谐 的对话!*
来自 Google Cloud Next’22 的最佳公告
原文:https://acloudguru.com/blog/engineering/best-announcements-google-cloud-next-22
Google Cloud Next 2022 已经正式结束,今年的大会有惊人的 123 条公告!不仅如此,他们的所有会话 YouTube 播放列表的总运行时间超过两天三小时。即使是三倍速度,那也是很难通过的!这篇文章将分享 Google Cloud Next’22 的亮点,为您节省一些时间。
我们有很多要讲的,所以让我们开始吧!
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
下一个 22 年高层公告
新的谷歌云地区:奥地利、希腊、挪威、南非和瑞典
好吧,马上,让我们来看看谷歌一到五的公告。奥地利、希腊、挪威、南非和瑞典也加入了新的区域。这使得现场直播或宣布的区域总数达到 48 个。
谷歌和比特币基地合作支持 Web3
谷歌和比特币基地将开始合作。现在,比特币基地将把基础设施转移到 GCP 对我们没有太大影响,但我认为谷歌将开始接受加密货币作为谷歌服务的支付方式,这在更有意思。
我将在这里添加一个警告,因为公告称这将是针对“某些谷歌云客户”的,我还猜测服务价格将以美元计价,并在支付时转换为密码。无论如何,在主题演讲中,谷歌和比特币基地谈到了这将如何支持 Web3 生态系统中的创新,所以我很有兴趣看看这一切会带来什么。
商业智能
谷歌的整个商业智能平台现在叫做 Looker
Looker 将成为谷歌商业智能平台的新的统一名称。因此,Data Studio 更名为 Looker Studio。
面向企业和团队的全新 Looker Studio Pro,支持 SLA
Looker Studio Pro 将为团队协作和企业管理提供新功能。此外,它还包括服务级别协议。
数据库
云大表更改流支持下游复制
在数据库领域(说十遍,快),Cloud Bigtable 现在提供了变更流,使您能够将其数据复制到 BigQuery 之类的东西。
扳手与 Vertex AI 集成
Spanner 正在与 Vertex AI 进行平滑的集成,因此您可以编写使用机器学习模型的简单 SQL 语句。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
计算
Google Cloud 上提供新的处理硬件
谷歌宣布了一系列可在谷歌云上使用的新处理硬件。这个列表中最好的包括:
建立工作关系网
C3 虚拟机获得 200 Gbps 低延迟网络
我的第一个网络亮点要追溯到计算产品发布。特别是,新的 C3 虚拟机家族具有 200 Gbps 低延迟网络,可以连接到谷歌最近宣布的 Hyperdisk 块存储产品。
一对夫妇大规模云装甲晶圆规则更新
接下来,云甲,我们这里有一些大的。基于机器学习的自适应保护不仅可以自动部署其提议的规则——这导致在几个月前阻止了有史以来最大的第 7 层 DDoS 攻击。但是,我最喜欢的云装甲公告是预配置的 WAF 规则现在已经普遍适用于 OWASP 十大网络应用漏洞风险。
如果当我提到 OWASP 时,你没有立即明白我的意思,那么你就是今天的幸运万人之一!因为值得你花几分钟时间去看看开放 Web 应用安全项目和他们的十大漏洞列表!
开发人员生产力
云部署现在支持直接持续部署到云运行
云部署现在可以直接针对云运行。这一集有一个伴随的环节可以观看,进一步挖掘细节。
新的云运行集成到更多的 GCP
云运行集成可以更容易地与 GCP 的其他部分协调,例如在负载平衡器上配置一个域,或者连接到 Redis 缓存。
开发者安全性
新的软件交付保护产品保护软件供应链,整合可靠的操作系统
谷歌宣布了一个新的软件交付保护产品来保护我们的软件供应链。这包含了谷歌有保证的开源软件服务,几个月前,我们在《GCP》本月的一集中深入研究了这一服务的重要性。
新的云工作站产品
下一个公告与上一个相关,因为谷歌新的完全托管开发环境云工作站是软件交付盾的一部分。
云构建正式支持 SLSA 3 级构建
同样与软件供应链相关的是,我在这一部分的最后一个亮点是云构建现在正式支持 SLSA 3 级构建。
如果你对此感兴趣,并且想更好地理解它,那么我强烈推荐你去看看凯尔西·海托华最近关于这个问题的演讲。正如一个人对那个视频的评价,既“寓教于乐”!
通过实践实验室播放列表开始构建您的云技能,学习 GCP 基础知识 。
数据分析
对非结构化数据的 BigQuery 支持
这个声明是一件大事,因为 BigQuery 现在也可以让您分析非结构化和流式数据!谷歌指出“多达 90%的数据被认为是非结构化的”,因此这可能会开启 BigQuery 的能力,以处理比以前更多的场景。
BigQuery 与 Apache Spark 的集成
我们仍将通过下一个非常酷的公告来强调 BigQuery。BigQuery 正在为 Apache Spark 获得新的集成体验。
AI 和 ML
新的翻译中心翻译文档,保留布局和风格
谷歌因其人工智能和机器学习创新而闻名。因此,我们应该期待他们在这里也有一些伟大的新公告——他们确实有,新宣布的翻译中心。这是一个完全托管的人工智能代理,可以通过点击按钮将文档翻译成 135 种语言,同时保留给定文档的布局和样式。
顶点人工智能视觉使计算机视觉人工智能更容易实现
还有一件事就是新的 Vertex AI 视觉服务。这是 Vertex AI 的一个视觉调整产品,可以快速地从头开始构建和设置一个应用程序和支持工具。正如谷歌所说,“构建、部署和管理计算机视觉应用的一站式商店。”
新的双运行支持大型机现代化
这个声明不会影响大多数人或组织,但是如果你还在使用大型机,那么这个适合你! Dual Run 是一个新的产品,让您可以在现有的大型机和 Google Cloud 上同时运行大型机工作负载。这意味着您可以进行实时测试,以帮助您最终削减和淘汰您的旧数字负担。送他们去一个不错的服务器退休农场!
最后但同样重要的是,谷歌的碳足迹工具现已全面上市!正如谷歌所写的,这“为云工作负载提供了粒度排放数据,并为谷歌云区域的能源得分提供了透明度。”由于许多人和组织非常关心不要把我们拥有的这个世界弄糟,这是做下一件正确事情的重要部分。
This announcement is not going to affect most people or organizations, but if you are still dealing with mainframes, at all, then this one’s for you! Dual Run is a new offering to let you run mainframe workloads simultaneously on both existing mainframes and on Google Cloud. This means that you can do real-time testing to help you finally cut over and retire your old digital beasts of burden. Send them to a nice server retirement farm!
Last but not least, Google’s Carbon Footprint tool is now generally available! As Google writes, this “provides granular emissions data for cloud workloads and transparency into the energy scores of Google Cloud regions.” And since many people and organizations care a lot about trying to not mess up this one world we’ve got, this is an important part of doing the next right thing.
AWS Lambda 的重大改变
原文:https://acloudguru.com/blog/engineering/big-changes-to-aws-lambda
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
AWS Lambda 支持基于属性的访问控制(ABAC)
我们不想过于戏剧化,但是你为 AWS Lambda 定义权限的方式可能已经改变了。永远。怎么会?通过为您的 Lambda 函数利用基于属性的访问控制(ABAC)。
现在,如果你是第一次接触 ABAC ,它提供了使用元数据(比如 AWS 资源上的标签)来定义权限的能力。这有可能为您节省大量时间,因为您现在可以根据您以这种方式定义的特定标签,允许服务团队调用、删除或更新 Lambda 函数。
您可以确保团队需要使用的任何新服务在创建时都包含该标签。这意味着更多的 IAM 策略将保持不变,并且您不必不断地提交票证来让安全部门的 Steve 和 Sharon 不断地向策略中添加新的 ARNs。您现在就可以试用这项功能。
说到 Lambda,这里有一个面向所有 TypeScript 开发人员的声明——Lambda Powertools for TypeScript library 现已正式发布。点击这里查看。
AWS 发布 AppConfig 扩展
许多开发团队已经将功能标志作为现代应用程序开发的一个基本元素,AWS 早在 2019 年就宣布将 AppConfig 作为 AWS 系统管理器的一个功能。该服务使您能够为运行在 AWS 上的应用程序定义和使用运行时配置。本周,AWS 通过 AppConfig 扩展将它推向了一个新的高度。
AppConfig 的这一功能使您能够在创建或部署应用程序配置时创建事件驱动的操作。它将服务集成到 AWS 服务中,如 SNS、EventBridge 和 SQS。它甚至让您能够利用 Lambda 创建定制的 AppConfig 扩展,来自动化您能想到的几乎任何事情。
这个版本的另一个有趣的特性是它还包括对吉拉的支持。我意识到憎恨吉拉是开发人员最喜欢的消遣,但它仍然是同类工具中最受欢迎的,所以看到 AWS 在这种支持下推出这一功能非常酷。您可以基于 AppConfig 配置部署中的操作创建或更新吉拉问题。这一功能在所有地区都可用,猜猜会发生什么?这是免费的,为什么不去看看呢?
具有自动缩放功能的 AWS 胶流 ETL 现在已经普遍推出
如果您正在利用 AWS Glue 进行流数据 ETL,那么自动伸缩功能现在已经普遍可用。有了这个功能,您不再需要手动管理您为数据管道中的胶水提供的资源。嘿,我很乐意把一些手动任务从我的盘子里拿出来交给 AWS——这听起来像是双赢!随着它的普及,你现在可以将它集成到你的生产流
数据管道中。
想跟上 AWS 的一切? 在 YouTube 上订阅一位云大师 ,获取每周亚马逊新闻和 AWS 公告。你也可以像 ACG 上的一样,关注我们上的 推特 ,或者加入 不和谐 的对话!
事件驱动架构:无服务器处理和区块链二重奏
随着应用模式向事件驱动架构发展,无服务器和区块链更有可能一起使用
区块链 vs 无服务器处理?
看一看相似之处和不同之处有助于更好地理解无服务器和区块链。更深入的分析还表明了每种技术可能会如何影响下一波计算周期。
Venn Diagram — Serverless and Blockchain
这一切加起来…总和大于他们的部分
在过去的几个月里,我花了很多时间潜入区块链的世界。就像无服务器计算一样,有很多东西需要消费和吸收。完成基本的工作流程、理解不同的平台以及将各种组件联系在一起需要相当大的努力。
几个月前,在与 New Stack 的 Lawrence Hecht 交谈后,我开始了我的区块链探索之旅。在我们的通话中,我们讨论了高比例的 Alexa 语音服务/Echo 应用程序如何使用 AWS Lambda 作为他们的主要处理引擎。换句话说,Alexa 加 Lambda 等于应用。
他的假设——我完全赞同——是无服务器处理与新兴的 API 驱动平台的结合将引领无服务器的采用。
Alexa + Lambda =应用
毫无疑问,无服务器处理将触及 IT 计算的几乎所有领域。但这一理论暗示,最快速的增长和采用将是与新平台的结合。换句话说,新平台加上无服务器处理等于更高的增长率。
因为这些应用程序是从零开始的,所以不需要担心遗留代码或现有架构。无服务器处理支持快速开发和快速规模化。因此,对于希望快速开发应用程序并轻松扩展它们的人来说,这是一个明智的选择。
另一个驱动因素是新的应用程序通常是事件驱动的——或者至少有大量的事件处理需求。这一特性有助于微服务和功能即服务(FaaS)架构。无服务器处理提供的新工具非常适合处理事件驱动的计算模式。
新平台+无服务器=许多应用
由于这个原因,我相信区块链和无服务器的组合将远远大于他们的部分。这种结合将成为构建和支持区块链相关应用的主要方法——尤其是在涉及专用区块链网络时。
区块链技术解释
在探索区块链的世界时,我发现大多数出版的材料要么太高级,要么太热情,要么太深入密码学和共识算法。缺少的是一个清晰的解释——针对架构师和开发人员——它解决了关于构建基于区块链的商业应用程序的实际问题。
区块链和数字货币不一样
数字货币基于区块链——这种货币的存在是因为区块链技术。数字货币交易本质上是由区块链的处理和存储特性进行公证的。换句话说,货币的价值受到连锁散列块和网络分布的保护。
如果不是不可能,数字货币很难存在于分布式区块链网络之外。要实现这一点,数字货币必须相信一个单一的可信实体,并希望它不会欺骗系统、被黑客攻击,也不会增加货币供应量。很少有数字货币的追随者愿意相信这些选择。
区块链网络由数字货币驱动。运营网络内节点的组织通过在系统内使用数字货币获得奖励。例如,在比特币网络中处理交易的付款是用比特币支付的。以太坊平台上的处理通过以太支付——以太坊使用的硬币。
您知道非货币资产也可以交易,并且交易可以在区块链内保留吗?
由于区块链技术也可用于数字货币以外的应用,因此该领域存在大量活动和投资。公司正在使用区块链技术创建基于交易的解决方案,以安全且易于验证的方式交易和转移实物和数字资产。
在传统的市场和交易平台中,交易存储在一个由单一实体拥有的集中分类账中。区块链平台允许这些交易进行数字签名,并作为不可改变的记录保存下来。它还将交易存储在跨多个独立和复制节点的分布式分类帐中。
在其核心,一个完全形成的区块链网络成为设计交易关系规则的机制。区块链网络充当程序化裁决或最终解决,减少了向人类机构上诉的需要。结果,区块链变成了一个可编程的社会契约,允许各方之间以非常低的成本进行可信的、有效的和有记录的交互。
什么是区块链网络?
区块链网络由几乎相同的节点组成,这些节点以分布式但独立的方式运行。节点网络用于验证事务集,并将它们封装在链中的块内。区块链平台的核心是一个分布式事务处理引擎,用于验证和加密密封事务。
这些事务在分布式分类帐中维护,该分类帐在任何参与节点中复制、共享和同步。区块链使用加密技术来创建永久交易记录。一组事务以密码方式存储在“块”中。连续的数据块被添加到一个链中,使用哈希算法进行保护并按顺序保存。
比特币和以太坊等区块链公共账户存储在世界各地的数千个节点中。另一方面,专用区块链网络可能只有几个节点。通常情况下,区块链网络中的任何完全参与者都希望维护一个活动的、正在运行的节点,以确保分类帐的有效性独立于其他任何人。
账本的加密和共享特性使得对真相的一致记录成为可能。这对解决区块链试图解决的几个问题至关重要:
- 消除对真理中心来源的需求
- 当各方对交易状态有争议时,消除争议
区块链是在网络参与者之间共享的真理的一致记录。它成为最终的仲裁者——消除任何形式的“他说,她说”的争议。
Reprinted from BT (bt.com)
什么是区块链平台?
如前所述,有许多区块链平台。虽然比特币是最受欢迎的加密货币,但以太坊拥有最受欢迎的区块链平台之一——尤其是在数字货币商店之外的用途上。Hyperledger 是一个 Linux 基金会项目,得到了大型金融和技术机构的大力支持。从使用它的项目数量和社区支持水平来看,它也很受欢迎。
区块链网络可以是公共的、私有的或混合的。这意味着公共交易将被加密到公共分类账中,而私人交易将被存储在私人分类账中。私人交易也可以存储在公共分类账中,因此有混合名称。
为了支持混合用例,企业以太坊联盟正在努力保持公共以太坊网络和私有平台的兼容性。据一位监督这项工作的消息人士称,该组织的一个大话题是在许可的或私人的区块链进行私人交易。大通银行的以太坊 Go 客户端的分支( Quorum )增加了私人交易——只有发送者和接收者知道交易的细节。然而,与公共链的交互的兼容性仍然是一个驱动原则。
数字货币、代币和资产
数字货币与特定的区块链联系在一起。涉及特定货币的交易在该货币的分布式区块链中被表示、标注和体现。
比特币交易在比特币平台上处理,存储在比特币账本中。以太坊交易在以太坊平台上处理,并存储在以太坊分布式分类账中。Hyperledger 交易在 Hyperledger 平台上处理,并存储在 Hyperledger 分布式分类帐中。诸如此类。
一些区块链将数字代币作为二级资产或货币。这些资产以基础数字货币定价。数字令牌通常可以用于区块链平台内的特定应用或子平台上的服务。查看一下令牌市场中的列表,将会显示以太坊区块链下可用的数字资产。
例如,设想一种优步数字令牌,它可以用作任何优步区块链支持服务的货币。这项服务可以简单地从你优步账户中的任何一个优步数字代币中提款。代币可以与以太网等数字货币挂钩,或者只是建立在平台上,并在平台内获得或失去价值——以及通过投机利益。
数字代币正在 ICOs 中发行——最初的硬币发行。在某些方面,这类似于 19 世纪和 20 世纪初的预注册股票发行。任何实体都可以创建令牌并在 ICO 中出售。交易将以区块链数字货币进行。
《区块链新闻》引用的一份报告指出,在区块链公司筹集的 2 . 5 亿美元 1B 投资中,有四分之一是 ico 的成果。
数字资产简单来说就是指处于交易核心的数字或实物项目。可以购买和转让的资产包括房子、汽车、公司股份或一幅画。这些交易将在一个区块链中登记,并且该资产成为交换中的参考项目。一批货物也可以被视为一组区块链交易的核心资产——这是一个已经在运作的区块链用例。
区块链平台是处理引擎
所有区块链平台都包含一个处理组件,这是事务保证的关键部分。区块链网络是为“矿工”建立的,他们竞相“锻造”每一个区块链。
术语采矿和伪造用于描述验证和保存大宗交易的过程,以及接收新的数字货币代币作为工作回报。挖掘过程以合理的固定频率将新货币引入系统。
矿工会因为第一个解决区块方案而得到补偿。这意味着第一个为该块计算小于由网络的任意机制设置的任意阈值的散列。区块链平台在设置和调整阈值方面进行自我仲裁,这允许聚集的矿工在特定和定期的时间窗口内开采区块。
所有矿工都可以接触到每笔交易。作为伪造一个块或一组事务的一部分,他们处理每个事务的代码,并试图得到散列解决方案。
在《比特币挖矿详解》一文中,作者提供了详细的过程说明。它描述了每个块的散列是如何使用它之前的块的散列产生的,从而成为蜡封的数字版本。这个过程确认这个块以及它之后的每个块都是合法的,因为如果你篡改了它,每个人都会知道。
区块链处理的这种分布式特性意味着每个活动节点理论上可以执行系统中的每个事务。例如,公共数字货币从一个人到另一个人的转移可能会被整个网络中的每个节点处理。
在比特币或以太网的情况下,这可能意味着超过 10,000 个节点正在执行给定交易的代码。无论是简单的数字资产转移,还是处理逻辑极其复杂的事务,每种类型的事务都会进行相同的处理复制。
Number of Bitcoin Transactions Per Day — Theoretically executed by every node in the network
Source: blockchain.info
Estimated Number of Hashes Per Second on Bitcoin Blocks
Source: blockchain.info
为处理交易的智能合约编码
每笔交易的代码称为智能合约,处理称为链上处理。
在以太坊的情况下,智能合约是用 Solidity 编写的,Solidity 是一种面向合约的高级语言,其语法类似于 JavaScript,旨在针对以太坊虚拟机(EVM)。
函数作为创建资产类型过程的一部分上传。在区块链中,语言和处理模型的一致性确保了高度的等幂性,这意味着在系统内的每个节点上执行智能合同的结果应该是相同的。
对于 Hyperledger 结构,智能合同处理在 Go 中执行。OCaml 语言被用于一个新的区块链平台,预计将于 2017 年 6 月发布。根据 CryptoAcademy 的说法,“OCaml 是一种强大的函数式编程语言,它提供了速度、明确的语法和语义,以及一个生态系统,这使得 Tezos 成为正确性正式证明的良好候选。”
在公共区块链网络中,处理交易需要付费,费用由提交交易的一方承担。在以太坊的情况下,处理费用被称为“气体”,它作为交易的一部分以以太坊的基础货币以太的形式提交。
然而,专用区块链网络在交易成本计算方法方面可以更加灵活。运营成本可以由网络参与者以很少或没有成本的方式来承担,或者可以由网络参与者确定的方式来记账。
Cost per Bitcoin Transaction
Source: blockchain.info
各种区块链平台正在努力改进达成处理共识的形式。现在的形式叫做工作证明。以太坊网络中提出的一种方法叫做利益证明。你可以在这里这里和这里阅读提案和辩论。
区块链可能会对我们交易资产、存储资产、实施食品安全监管、记录医疗保健中的患者信息、执行供应链管理、选举投票等方式产生影响。加入我们这个有趣的区块链认证课程,深入区块链的世界。
比较区块链和无服务器处理
区块链处理模型与无服务器处理有很大不同。不仅大多数无服务器平台支持多种语言,而且无服务器处理的目标是一次性处理。
在并发的基础上处理相同的事务是与无服务器处理理念相对立的。但是,在区块链平台中,这种并发的相同处理模式是一个关键特性,它确保并维护区块链作为交易历史和当前状态的一个经过验证的可信来源。
鉴于区块链处理的封闭性,没有必要——也没有任何进入方式——为执行智能合同而对链上交易进行无服务器处理。然而,对于处理链外交易有着巨大的需求——特别是在设置交易、帮助完善交易以及处理交易后工作流方面。
为什么有这样的外链交易的需求?原因是 1)链上处理能力严重受限,2)链上数据存储严重受限。因此,对于复杂和/或数据量大的交易,需要进行离线数据处理。
关于有限处理能力的第一个问题,为了达到有效的事务吞吐量,需要将链上事务逻辑保持在最低限度。处理交易的成本机制——为处理交易和操作分类账提供公平回报的机制——也会产生交易成本。
如果交易过程中不收取“汽油”费用,交易各方就可以在网络上免费搭车。此外,他们可以轻易地压倒网络的处理能力——区块链 DDOS 攻击任何人?
为了达到每个事务的性能、成本和一致性的最佳平衡,区块链应用程序的事务逻辑需要充分处理链上处理和链下处理。这也适用于处理链上数据和链外数据。因此,有效的区块链设计意味着将区块链网络仅用于完善和维护交易所需的最少量的数据处理和数据存储。
一盘比较链上的棋&链下的棋
最近的一篇帖子描述了如何使用以太坊网络作为一种验证国际象棋游戏的机制,从而说明了链上和链下的区别。
作者保罗·格劳(Paul Grau)描述了将每一步都作为交易提交到供应链中是多么不切实际。每笔交易不仅要花费大量的时间来结算,而且由于交易成本的原因,还可能成本过高。例如,玩家的移动可能需要几秒钟,而将移动提交给区块链可能需要几分钟。
在评估问题时,团队意识到每一步都不需要成为链条的一部分。独立仲裁——区块链处理——仅在确立游戏开始以及解决游戏中的争议时需要。一旦游戏建立,每个玩家将他们的移动连同他们对游戏的感知状态一起提交给对方玩家,作为离线的签名交易。如果对方玩家签名并提交后续移动,则先前的移动被视为接受。
只有在有争议的情况下——玩家认为存在将死、僵局或超时的情况,交易才会提交给区块链。
在这种情况下,智能合约的处理将确定这种条件是否为真,从而决定结果或下一步——继续游戏、宣布赢家或僵持。不可避免地会出现智能链逻辑应该和能够有多复杂的问题。以国际象棋为例,有人建议可以创建一个相当快速的算法来评估智能合同中的条件。然而,更复杂的游戏,如围棋,则是另一回事。
Median Time for Transaction to be Accepted into a Mined Bitcoin Block
Source: blockchain.info
链外处理和数据怎么样?
链上处理和链外处理的分离意味着链外处理需求必须能够设置事务和管理任何后处理需求。请记住,区块链提供了可信的交易记录,但是利用该交易的各方不需要以链上的方式这样做。
例如,使用区块链验证选民资格的投票应用程序可以访问区块链记录进行确认。除了注册投票之外,它的任何处理都不需要在区块链平台内进行。同样,使用区块链分类帐保存汽车的事故和维修历史记录会将事件提交到区块链,但对这些事件执行的任何操作都不需要以链上方式进行。
在链上存储数据的限制也与无服务器处理直接相关。任何支持交易的数据都需要作为交易的一部分进行数字保存和链接,就像在区块链中记录的实际合同一样。已经开发了在几个公共区块链中执行该功能的服务。例如,Tierion 正在为基于以太坊的应用程序执行此操作。对于专用区块链网络,无服务器处理的潜在候选包括准备数据、验证数据和访问数据的后处理。
链内处理和链外处理的区别很大程度上归结于信任级别。链上处理被设计成无信任——这意味着各方不必为了完善交易而相互信任。由一方在无服务器环境中执行的离链处理适用于以下情况:1)没有实现交易,2)两方或多方相互信任以放弃任何种类的共识算法,或 3)存在共识算法来验证离链处理的结果。
事件驱动架构的催化剂
区块链和无服务器处理是两项独立的技术创新,它们明显不同,但它们有许多共同点。虽然无服务器旨在实现无状态,但区块链提供了一种公开且可独立验证的方式来维护事务状态。
随着应用程序模式快速发展到事件驱动的架构,对独立可验证的事务状态的需求将会增加——无服务器和区块链更有可能一起使用。这种组合的用例尤其适用于私有和/或允许的区块链,在那里信任级别更高,允许使用外部组件和服务的程度更高。
下一步是什么?
下一篇文章将更深入地探索区块链平台和组件,并深入探讨区块链平台试图解决的一些问题。此外,我们将讨论一些领域,无服务器平台可以在这些领域构建钩子,以更好地支持区块链应用程序的开发和操作。
想要扩展您的区块链和无服务器技能吗?云专家的培训图书馆拥有广泛的课程、学习途径和实验室!
What is the difference between blockchain and serverless computing?
从表面上看,区块链网络和无服务器计算似乎没有什么共同之处。无服务器是无状态的,区块链是有状态的;无服务器是短暂的,区块链是持久的;无服务器处理依赖于各方之间的信任,区块链被设计成无信任的;无服务器具有高可扩展性,区块链具有低可扩展性。
How is blockchain and serverless computing similar?
仔细观察,无服务器和区块链实际上有相当多的共同点。比如两者都是事件驱动,高度分布式。另一个关键的相似之处是它们都在基础架构/服务器级别之上的层中处理功能。即使这些特征不相同或不相似,它们也是互补的。例如,无服务器是无状态的——但是区块链可以用作验证事务的状态机。
What are the blockchain platforms?
有许多区块链平台。虽然比特币是最受欢迎的加密货币,但以太坊拥有最受欢迎的区块链平台之一——尤其是在数字货币商店之外的用途上。Hyperledger 是一个 Linux 基金会项目,得到了大型金融和技术机构的大力支持。
What is on-chain and off-chain processing?
链上处理和链外处理的分离意味着链外处理需求必须能够设置事务和管理任何后处理需求。链内处理和链外处理的区别很大程度上归结于信任级别。链上处理被设计为无信任,而链外处理由一方在无服务器环境中执行
想要更多的技术优势?看看这些:
感谢阅读!如果你喜欢你所读的,点击下面的❤按钮,以便其他人可以找到它。可以 在 Twitter 上关注我 。
区块链崩溃:是什么,有什么大惊小怪的?
原文:https://acloudguru.com/blog/engineering/blockchain-breakdown-what-is-it-and-whats-all-the-fuss
区块链——这是我们都听过的与“革命性”、“开创性”和“颠覆性”并列的时髦词汇之一。但是什么是区块链呢?它真的会改变世界吗,还是只是炒作?
在这篇文章中,我们分析了区块链是什么,它可以用来做什么,以及公司如何利用区块链进行创新。我们进入更精细的细节,以了解技术如何工作,比较区块链的优势和劣势,以及技术的发展方向。
如果你有兴趣在区块链开始你的职业生涯,以及你需要的技能,我们也为你准备好了。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
什么是区块链?
区块链最广为人知的是比特币背后的技术,但它到底是什么?
区块链是所谓的分布式账本——它使用计算机网络和智能代码来安全和秘密地跟踪数据。它将数据存储在一系列称为块的区块中。每个区块都与前一个区块相连,并以一种算法完成,这种算法充当防篡改密封,防止任何人更改它。
存储在大型中央服务器中的数据容易受到蓄意或意外的伤害:攻击、停电或火灾。这些数据库不是一个单一的事实点,区块链在每个参与的计算机或节点上保存了数据的副本。
它包括在首次存储数据时检查数据的机制,以确保数据不会被更改。它还检查块的副本之间是否一致。
区块链技术有哪些应用?
比特币可能是区块链技术最广为人知的用途。但区块链的应用远不止加密货币——它可以用来安全透明地跟踪各种交易数据。
追踪供应链中的商品,通过智能合同监控知识产权,追踪药品或食品生产以立即发现问题,这些都是区块链被使用的方式。一些已经采用区块链技术的公司包括沃尔玛、辉瑞、美国国际集团、西门子、联合利华和许多其他公司。
区块链也被提议用于安全数字投票,以增加访问、信任和透明度。
公司是如何使用区块链技术的?
让我们来看看一些世界上最大的公司是如何利用区块链的例子。
加密货币
我们将从显而易见的用例开始——加密货币支付。比特币是最大、最知名的数字货币,许多世界上最大的公司和零售商都接受比特币和其他一些加密货币作为合法的支付选择。
例如,美国电话电报公司允许你使用加密技术通过 BitPay 支付账单。微软还使用 BitPay 让你能够使用比特币和其他加密货币为你的账户充值。通过 PayPal,你可以购买、转移和出售加密货币(至少如果你在美国的话)。在黑暗中用信用卡购买你梦寐以求的限时限量版玩偶的日子已经一去不复返了。
零售和食品行业也在乘着加密的浪潮。在美国,如果你觉得比特币很值钱,并且渴望一杯冰镇啤酒和鳄梨冰淇淋,你可以在星巴克、全食超市和许多其他超市购物。
如果你想知道你的比特币还能花在哪里,这里有一个搜索引擎。
供应链
你怎么知道你花大价钱买的有机、单一产地的咖啡豆是真货呢?
区块链可用于通过供应链跟踪商品,有助于库存管理和建立消费者信任。
IBM 创建了区块链食品信托公司来追踪食品从生长或加工到消费者的整个过程。沃尔玛用它来解决物流问题和雀巢用它来建立消费者对其产品的信心。
旅行和旅游
在线旅行社 Webjet 使用区块链技术来增强其客户体验。它在区块链不变的分类账上记录了所有条目,减少了出错或丢失预订的可能性。
什么是智能合同?
假设你已经签约为一家本地企业建立一个电子商务网站。你完成了工作却没有得到报酬。接下来可能是一个漫长而乏味的过程,通过律师或法院来执行合同。
以太坊将区块链用于智能合约。这些协议就像传统的合同,以及区块链透明和不可改变的好处,他们可以将实际执行纳入其中。
在这个例子中,交付工作可以自动触发付款。任何可以被创建为一组“如果…那么…”指令的东西都可以被制作成智能合同。
Dragonchain 是一个开源的混合区块链平台,最初由迪士尼开发,允许你创建自己的定制智能合同。您可以运行用任何受支持的语言(如 Nodejs、C#、Go 和 Python)编写的代码,而无需配置或管理服务器。
什么是不可替换令牌(NFT)?
如果我们给你画了一张真正漂亮的(这里的“漂亮”是指“平庸”)猫的数码照片,并以 10 美元的价格卖给你,有什么能阻止你复制 50 张并出售呢?
但是,如果我们把我们的作品做成一个不可替代的象征(NFT)——一个存储在区块链上的独特的数字文件——就有可能追踪到哪幅(平庸的)猫画是原始的、合法的。存放在区块链意味着 NFT 实际上有自己的真品证书。
NFT 通常是艺术作品,像这个 Grimes 视频或者 Pak 的 The Merge ,但是包括了一个法院裁决,甚至还有一个时钟。一件艺术品也可以被赋予不同的权利——它可以像实物一样被买卖,但也可以在后续销售中附带版税,这是艺术家的奖金。佳士得是第一家提供带有独特 NFT 的纯数字作品的大型拍卖行,每天都出售毕普的:前 5000 天。
NFT 可以是完全在元宇宙的艺术品,也可以是现实世界的艺术品。达明安·赫斯特将这个想法变成了“货币”:系列中的每一件艺术品都以 NFT 和实物绘画的形式存在,直到你选择一件,在这一点上,他将销毁另一个版本。
那么,非功能性测试是一种时尚,还是会一直存在下去?一些大公司寄希望于后者。基于应用程序的数字收藏品市场 VeVe 已经与漫威、DC Comics 和迪士尼合作为 NFT 产业发布产品。阿迪达斯、杜嘉班纳和雷朋等时尚品牌都发布了 NFT 系列。
区块链技术是如何工作的?
好了,现在我们对区块链技术的一些应用有了一个概念,我们可以深入了解它实际上是如何工作的。为此,我们需要了解区块链技术有两个部分——以块为单位记录和验证数据,以及以有用的形式从块中提取数据。
如何记录和验证数据?
所以,最基本的是:区块链是由充满数据的块组成的,一次一个,然后链接成一个链。狡猾地说,这叫做区块链。这提供了一个数据时间表——一个发生了什么事情的分类账,而传统数据库可能会将信息保存在类别或表格中。
该链的副本保存在网络上的计算机上,称为节点,而不是存储在中央服务器上。
一旦块完成,它就不可编辑。就这样,永远固定了。哈希算法产生一种数学计算的指纹,称为哈希码,用于制作防篡改密封。每个块都包含用于密封前一个块的哈希代码,将它们链接在一起,这样块就不能被替换。
当数据被记录到一个块中时,需要在该块被密封并添加到链中以供后代使用之前对其进行验证。为此,它会对照网络上的其他数据进行检查,以确保它是合法的。然后,通过共识机制(如工作证明或利益证明)来保护它(下面将详细介绍)。
如果你试图改变一个块,因为你改变了 hashcodes,你就使这个块的拷贝和这个链中所有跟在它后面的块失效了。这是为了让一个异常或不良因素不会破坏整个事情——同样,实验数据中的一个异常值不会被包括在 calcs 中,或者一个流氓细胞被我们的免疫系统清除。即使有人更改了块的一个副本,它也不会与保存在其他节点上的其他副本相匹配,并且这种更改会被检测到。
这种副本共享是区块链技术的关键特征之一。每个区块链都被广泛见证,这使得篡改变得非常困难。识别信息是不公开的——每个块都有一个地址,该地址与一个公开的加密密钥相关——但它也不是完全匿名的。
区块链技术有哪四种不同类型?
最著名的区块链用于比特币,这是一种公开的区块链。理论上,它对任何人开放,任何人都可以加入,任何人都可以查看,但并不是所有的区块链都是如此。
下面是对四种不同类型的区块链技术的简要总结。
- **公共区块链:**这是 OG 区块链——一个任何人都可以加入的分散的分类账,所有的交易都是可见的。
- **私人区块链:**只在一个组织中运作。他们使用分布式账本而不是中央数据库的相同想法,因此具有区块链的安全性,但没有透明性。
- **联合区块链:**由一组组织组成,但不对所有人开放。
- **混合区块链:**半公开。系统中的成员决定谁可以访问,哪些交易是公开的。
区块链也可以是有权限的(即你需要特定的权限才能进入或必须满足特定的标准)或无权限的(任何人都可以参与验证或交易)。
工作证明是什么意思?
工作证明(PoW)是目前最常用的区块链验证类型。例如,它用于验证比特币。
在比特币的例子中,为了验证每个区块,网络上的节点会竞相成为第一个解决复杂数学问题的人。第一个想出比目标数少的十六进制数的人赢得互联网…开玩笑,他们的努力会得到少量比特币。这就是所谓的权力。
解决验证问题基本上只是试错,所以谁先到那里有点随机。这种反复试验需要大量的计算能力。
向区块链添加一个块大约需要 10 分钟,并且一次只能添加一个块。以比特币计算,这大约是每秒 7 笔交易,而 Visa 是 6.5 万笔。一些区块链要快得多,但是使用功率限制了这个速度。
利害关系证明是什么意思?
股份证明(PoS)正在成为一种更流行的验证区块的方式。节点提供加密货币作为验证区块机会的抵押品,而不是任何人疯狂争夺第一个解决难题的机会。从这些块中选择一个验证器来验证每个块。
PoS 根据其持有的加密货币(或其他区块链令牌)的数量来选择验证者。这减少了所需的计算能力。
如果区块链的数据是按日期存储的,那听起来是有史以来最糟糕的归档系统,对吗?有点像根据你什么时候买的来分类你的大量黑胶唱片收藏。*
[*如果这就是你存放黑胶唱片的方式,并且让你感到快乐,请不要给我们发仇恨邮件。]
你可以通过个人节点或者使用区块链浏览器来查看区块链的数据,比如这个用于比特币的浏览器。为了从中获得有意义的数据,你需要深入研究一些数据分析。
然而,大多数人不会从零开始构建区块链或从零开始构建他们的数据分析解决方案,他们将使用定制的解决方案,如区块链即服务。
云提供商和区块链即服务
区块链即服务(BaaS)允许您更轻松地构建、托管和管理区块链应用程序,因为所有后端的东西都是为您管理的。
一个例子就是以太坊虚拟机。以太坊专注于数字资产和智能合约。它是开源的和可编程的,所以你可以开发你自己的区块链应用程序,而不需要从头开始构建。区块链的其他开源框架包括 Hyperledger Fabric 或 ConsenSys 的 Quorum 区块链服务。
如果你热衷于采用技术难度较小的区块链,一些主要的云提供商也提供区块链服务。
亚马逊网络服务、 IBM 和甲骨文是这个领域的大玩家。谷歌云目前不提供区块链服务。微软 Azure 在 2021 年 9 月停止了区块链服务,转而将人们引向 Quorum。
AWS 可能拥有最全面的产品——他们声称托管以太坊网络上至少 25%的节点。IBM 在区块链经营各种物流业务,包括沃尔玛和航运公司马士基。
要了解更多关于云提供商为区块链提供(或不提供)什么,请阅读我们的指南或观看我们的视频。
区块链的缺点是什么?
区块链技术公司有很多 web 3 T1 式的理想,比如让人们拥有自己的数据,而不是由单个公司拥有并储存在他们的数据库中。
它还可以授权分散的地方使用。例如,你的邻居可以让你从他们的太阳能电池板获得备用电力,区块链科技公司可以跟踪这一点,而不是你们都只与电力公司有关系。
所以区块链分布式、透明的本质听起来很棒。但是在你急着将你的业务数据转移到区块链之前,有必要考虑一些不利因素。
1.区块链用了很大力量
对区块链技术的一大批评是它速度慢且耗电。PoW 是最常见的验证方法,它需要大量的能量。目前,仅比特币开采就比比利时用的电还多。
类似地,块大小的限制和相当慢的事务速度——特别是在 PoW 验证的公共区块链中——限制了区块链的可伸缩性。
2.区块链是安全的…直到它不安全
理论上区块链是安全的。因为访问和改变一个链的拷贝会很快被识别和消除,所以黑客不值得花时间去访问和改变区块链。
长期以来,人们认为黑客最好将计算能力用于挖掘比特币。然而,随着区块链被更广泛地采用,尚不清楚如果它受到攻击会如何。由于验证是在共识上进行的,如果有人可以控制超过一半的节点,称为 51%攻击,他们可能会改变区块链。这已经在 2019 年黑客的比特币消费热潮中发生了。
所以很明显,为了保证区块链的安全,还需要做更多的工作。
3.区块链有很长的记忆
在听起来像乌托邦的可能性中,有一个巨大的不可磨灭的账本的缺点。
想想凌晨 3 点你脑海中响起的那个小小的声音。一个有你曾经做过或说过的所有模糊的错误或尴尬的事情的目录。这个声音永远不会忘记。区块链也没有。你做的关于皮疹的测试?永远记录。你 19 岁时在一次抗议中被逮捕,这已经被遗忘很久了?还在。
对于有严格数据保护法的国家或地区——例如欧盟的 GDPR—还不清楚区块链将如何运作。
区块链是个好职业吗?
如果你读到这里,很明显——尽管有大肆宣传和任何潜在的负面影响——区块链只会越来越受欢迎和被采用。因此,可以肯定的是,对了解区块链的工作的需求也会增加。
随着区块链技术在各行各业的广泛应用,你可能想知道你的职业选择是什么。让我们从更高的层面来看看一些技术职位和你需要的技能。
区块链开发商是做什么的?
区块链开发者为区块链创建应用。有两种主要类型的区块链开发者:
- 核心区块链开发人员:该角色开发并优化区块链系统的架构。他们专注于支持区块链解决方案、实施网络安全并确保网络正常运行的协议。
- 区块链软件开发人员:该角色开发并实施由核心区块链开发人员规划的设计,如基于区块链技术的去中心化应用程序(dApps)和智能合同。
区块链开发人员通常有使用 Solidity、Python、Java、JavaScript 和 C++的经验。
区块链建筑师是做什么的?
区块链架构师通常与研发团队合作设计区块链解决方案。他们将为团队制定整体路线图,并领导区块链项目。
就技能而言,在区块链体系结构框架以及设计数据库和存储解决方案方面有坚实的基础会很有帮助。
区块链工程师是做什么的?
区块链工程师负责保证所有操作在区块链开发环境中都是卓越的。
他们开发和实现资产,在 Hyperledger 和以太坊等平台上工作,并建立区块链基础设施。他们还负责区块链框架的测试和自动化,并确保应用程序的安全性。
我怎样才能学会区块链?
无论你决定走哪条路,你都需要对区块链技术有一个扎实的了解。一位云专家有一个一小时的区块链解释课程,该课程采用非技术方法解释区块链如何工作,因此如果你想了解基础知识,这是一个不错的起点。
如果你正在寻找一些更深入的东西, Blockchain Essentials 走进区块链背后的机制,了解它使用的协议。它还涉及哈希算法如何工作以及它们基于什么的数学问题。
如果你想进入区块链开发,Solidity 是最常用的区块链编程语言。我们建议查看 Pluralsight 的在以太坊区块链上开发应用,其中涵盖了区块链和以太坊的基础知识,以及使用 Solidity 编写智能合同的核心技能。
区块链云对比:什么是区块链即服务(BaaS)?
欢迎来到云提供商比较的另一个安装。在这个系列中,我们来看看不同云提供商的相同云服务。我们将看看相似之处,不同之处,以及任何其他有趣的东西。在本帖中,我们将深入探讨云提供商必须以区块链的方式提供什么。
什么是区块链?
要理解区块链,只需知道块只是一些数据块。它可以是一笔金融交易、一张发票、一张提货单,几乎任何可以数字化存储的东西。该块还包含其他内容,即添加到链中的该块的哈希。
什么是哈希?可以把它想象成一个经过数学计算的指纹,代表该块中的所有数据。
每个块都包含前一个块的指纹,正是这种散列链赋予了区块链不变的属性。如果有人要返回并更改链中的某个事务,这将会更改该块的哈希以及所有后续的哈希。
什么是区块链即服务(BaaS)?
区块链即服务(或 BaaS——尽管“BaaS”的首字母缩写也更常用于“后端即服务”)是一个云管理平台,允许个人和组织更轻松、更快速地构建、托管和管理区块链应用。
借助区块链即服务,第三方处理后端和基础设施,降低了个人和组织采用区块链的障碍。
区块链的历史
当你听到“区块链”这个词时,你可能会想到比特币或加密货币。对许多人来说,这是他们第一次听到这个术语的背景。但是区块链的概念在这之前就有了。
早在 1982 年,大卫·乔姆在加州大学伯克利分校的博士论文中提出了一个类似区块链的过程。
近十年后,Bellcore 的研究人员发表了一篇关于使用区块链方法来保证文档时间戳的论文。他们将继续创建一家名为“保证”的公司(稍后会详细介绍)。直到 2008 年,一个自称中本聪的人或一群人创造了一个区块链概念,这个概念后来成为比特币的动力。
回到担保公司:自 1995 年以来,担保公司每周都会在《纽约时报》的的公共公告栏发布他们封存的每一份电子记录的最新散列。这利用了区块链的另一个策略,这是有目共睹的事实。散列分布得越广,某人就越难狡猾地改变链中已经存在的块。这个概念确保了公共区块链和财团的完整性,因为所有参与者都有当前散列的副本。
哪些应用程序使用区块链?
如今,区块链广泛应用于各种领域,如供应链追溯、房地产交易、零售忠诚度奖励计划,甚至数字投票。
云区块链服务相比如何?
说到区块链,云提供商的排名如何?非常不同。
谷歌云区块链服务
截至目前,谷歌云平台(GCP)不提供任何区块链服务。当然,你可以在一些虚拟机上下载并安装一个区块链平台,但是你仍然需要管理所有这些。
微软 Azure 区块链服务
微软 Azure 于 2021 年 9 月退出区块链即服务业务,退出 Azure 区块链服务产品。该服务的客户被定向到 ConsenSys,一个在 Azure 云上提供 Quorum 区块链即服务的第三方。
然而,这并不意味着微软 Azure 完全抛弃了区块链。
微软已经将区块链技术集成到一些新产品中,目前正在预览中。Azure SQL 数据库的新分类账功能基于区块链技术,增强了记录的完整性,并允许客户证明记录没有被篡改。
同样,微软也出于同样的目的推出了 Azure Confidential Ledger。除了机密分类帐之外,您的数据作为对象存储在您的 Azure 存储帐户上,而不是存储在 SQL 数据库中。
AWS 区块链服务公司
亚马逊网络服务(AWS)为那些想搭上区块链列车的人提供了迄今为止最全面的服务。如果你正在寻找一个交钥匙区块链选项,AWS 提供托管区块链。只需点击几个按钮,客户就可以启动公共以太坊区块链网络上的一个节点。
客户只需点击几下鼠标,就可以创建或加入私人 Hyperledger 结构网络。这些公共节点和专用网络都是完全管理的,所以你不必去管任何细节——你只需按小时付费。
AWS 还提供亚马逊量子账本数据库。这是一个数据库,面向需要确保绝对不变的数据变更跟踪的应用程序开发人员。QLDB(简称 QLDB)由两部分组成,一部分存储当前状态信息,另一部分是跟踪当前状态数据库的每次更改的附加日志。由于它实际上只是一个数据库,开发人员和应用程序可以使用 SQL 或 API 与它进行交互。区块链总帐部分是在幕后处理的。
如果您熟悉其他数据库,您会注意到这个分类帐听起来很像事务日志或日志。因为这是一回事。不同之处在于,该日志中的每个条目都被加密绑定到它之前和之后的条目。这使得它很容易验证,不可能改变。
AWS 已经获得了一些使用其区块链产品的知名品牌:雀巢、索尼音乐、宝马集团和 Workday 是一些使用 AWS 区块链产品的知名品牌。
此外,AWS 在其 AWS 市场上拥有超过 70 个经过验证的区块链解决方案,并声称托管以太坊网络上至少 25%的节点。但是 AWS 是唯一的区块链即服务游戏吗?一点也不。
IBM 云
IBM Cloud 是第一批进入托管区块链游戏的重要云运营商之一。因此,它拥有最成熟的产品之一。IBM 在区块链为一些大型企业提供服务,如沃尔玛和航运巨头马士基。此外,IBM 已经并将继续大力支持 Hyperledger Fabric,这是一个非常受欢迎的开源区块链框架,也是其品牌区块链产品背后的软件。
甲骨文云
然后是甲骨文。Oracle Blockchain 平台是 Hyperledger Fabric 的一个实现,内置了一些额外的功能,使其能够更好地与 Oracle Cloud 配合使用。他们目前在时尚、运输、医疗保健和金融服务行业主办区块链。Oracle 和 IBM 都利用他们的大型企业客户关系来推广他们的区块链产品——这只是他们客户工具箱中的又一个工具。
云中的其他区块链服务
除了大型云提供商之外,还有数十家云本土创业公司希望通过行业特定的解决方案或其他独特的价值主张,从区块链中获利。因为区块链的用例通常范围很广,所以一定要仔细考虑你可能的合作伙伴。
这就是区块链目前分散而多样的云景观。虽然像 Azure 和 SAP Cloud 这样的公共云可能已经退出了区块链即服务选项,但其他人仍保持坚定并继续投资。
根据 Gartner 著名的炒作周期,区块链即服务目前正在经历 Gartner 所谓的“幻灭低谷”也就是说,所有这些提高的期望都被消除了,这不是双关语。
了解更多关于区块链的信息
想更多地了解区块链吗?通过这些课程和视频继续您在 ACG 的区块链学习:
继续牛逼吧,云大师们!
引导加载程序
当你打开电脑系统时会发生什么?在最基本的层面上,我们知道计算机的组件通电,操作系统“启动”,因此用户有一种与系统交互的方式——无论是玩游戏、运行网络服务器、设置深度应用程序还是其他方式。但是计算机怎么知道启动什么呢?如果一个处理器从系统内存中提取数据,那么它如何与一台刚刚启动的、内存中没有任何进程的计算机一起工作呢?为此,计算机使用了一个引导加载程序,这是一个旨在为系统做准备的少量代码,然后将其传递给更复杂的内核,内核反过来管理操作系统本身。引导加载程序位于硬盘驱动器(永久存储器)内的预定义位置;代码就是从这个位置被拉入随机存取存储器供处理器运行的。从这里开始,引导加载程序准备系统环境,然后要么将控制权交给内核,要么交给引导扇区。从内核,操作系统运行;从引导扇区开始,新的引导加载程序为引导过程的下一阶段准备系统,无论这是另一个引导扇区还是链中运行的最后一个过程。让引导加载程序被另一个引导进程接管一次或多次被称为链式加载。某些引导加载程序,尤其是 Linux 发行版使用的那些,通常能够进行双或多引导。当一台计算机有多个操作系统要引导时,会使用这种方法。这些引导启动程序通常具有简单的终端风格的界面,从中可以选择操作系统。
主引导记录
最初,主引导分区组织模式是引导到 Linux(和其他)系统的唯一选择。这是计算机分区开始处的引导区,包含用于引导到操作系统的可执行代码。主引导记录最多可以支持四个分区,引导磁盘的大小最多为 2tb *。当使用替代的 GUID 分区表时,这些限制被消除。
GUID 分区表
GUID 分区表是一个 UEFI 分区组织架构,可以与 MBR 分区共存。与 MBR 不同,它不包含分区数量或大小限制。正因为如此,一些 BIOS 系统使用 GPT,而更大的技术社区倾向于远离 MBR。许多与 Linux 兼容的引导加载程序都支持 MBR 和 GPT,包括常用的引导加载程序 GNU GRUB 。
GNU GRUB
Linux 用户和发行版中常见的引导加载程序是 GRUB,由 GNU 项目创建,GRUB 2 是 GRUB 的最新版本,GRUB 1 被认为是遗留版本。GRUB 1 已经不再处于开发阶段,正在被逐步淘汰。GRUB 在两步加载过程中使用链加载。步骤 1 位于 MBR 中,加载第一部分 core.img 并包含引导到 GRUB 所需的内容。阶段 1.5 完成图像加载。最后,第二阶段从 /boot 菜单引导 GRUB,并在终端界面中提示用户选择操作系统。一旦被选中,GRUB 就把系统交给内核。顾名思义,GRUB 具有多重引导特性,符合自由软件基金会的多重引导规范。这允许用户从任意数量的兼容操作系统引导,并使系统之间的切换相当容易。GRUB 还为用户提供了一个类似 BASH 的接口来与子系统交互,允许用户对 GRUB 的使用和配置有更多的控制。总的来说,引导加载程序可以简单到立即将控制权传递给内核,也可以复杂到让它启动某些操作系统;例如,GRUB 作为引导加载程序特别复杂,而 gummiboot 等其他软件则侧重于无需配置和“正常工作”Linux 的引导加载程序并没有停止使用 GRUB,因为许多系统仍然使用 LILO(Linux 加载程序)或其他程序。有了多种引导加载程序可供选择,甚至有可能自己制作引导加载程序,对于那些希望从头到脚配置系统的人来说,甚至只是探索各种可能性的人来说,都有多种选择。 *请注意,这并不妨碍系统访问容量超过 2tb 的硬盘。只有引导分区不能超过 2TB。
赞美 S3,有史以来最伟大的云服务
25,000 #CloudMadness 投票者不会错:亚马逊 S3 是有史以来最伟大的云服务。
真的,你永远不知道像这样的受欢迎程度竞赛会如何发展。不过,在这种情况下,我认为选民做出了正确的选择。我有理由!
S3 是 OG 云服务
取决于你如何定义它,简单存储服务可能不是第一个 AWS 产品——从技术上来说,SQS 首先推出的是 T1,但直到后来才投入生产。无论哪种方式,仅靠托管消息队列永远无法说服大多数企业考虑公共云。一个分布式存储解决方案,可以像您的数据一样扩展,而无需任何操作。
正如 AWS 的 Mike Deck 在投票最激烈的时候在 Twitter 上所说的“我不认为你意识到在 21 世纪后期拥有几乎无限的、高度耐用的、随用随付的存储是一场革命,它不需要你管理任何硬件。"
还记得您必须每七天循环一次备份驱动器,或者将一车磁带运送到异地灾难恢复位置的情形吗?和 S3 一起长大的一代人不会。
但是 S3 已经不仅仅是一个储存库。作为一个静态的网络服务器,S3 为成千上万的网站提供内容,包括网飞、维基百科和纽约时报。事实上,世界已经“标准化”了 S3 API,以至于谷歌的竞争服务直接支持它们。
这就是为什么,当 S3 在某个地区出现可用性问题时,看起来像是 T2 的一半互联网都瘫痪了。很难想象另一种云服务——除了可能是 CDN,如密切相关的 CloudFront——会有如此大的影响。在这一点上,S3 是基本的互联网基础设施,它会一直存在下去,因为…
S3 是一个工程奇迹
分布式存储仍然是计算机科学中最困难的问题之一,尤其是在大规模的情况下。历史上有很多托管服务因为无法维护客户数据(他们最宝贵的资源)的完整性而半途而废。
考虑到这一点,S3 的耐久性保证——*11 个 9,*开什么玩笑?—代表着令人瞠目结舌的工程壮举。换个角度来看,你个人被流星击中的可能性比失去一百万个 S3 物体中的一个更大……的可能性大 400 倍。看看 S3 副总裁 Mai-Lan Tomsen Bukovec 的这篇相当惊人的主题演讲,不要对这些数字发呆:数十亿字节的数据,数十万亿的对象,超过 235 个微服务将这些数据分布在谁知道有多少物理设施的地方。
她在谈论正式的正确性证明算法、松散耦合系统的校验和、预测驱动器何时会出现故障的复杂精算模型。AWS 拥有自动化的“耐久性审计员”,反复抓取 S3 数据的每一个字节,以验证当你取回你的东西时,它是正确的。他们不断更新这些工具,基于他们从近 15 年难以想象的规模的运行中学到的东西。
所有这些都是为了我七年前上传的随机代码工件,我在命令提示符下键入“s3 sync”。老实说,让我觉得有点不值。
当然,S3 这些年来增加了大量的功能,有些比其他的更专业( S3 接入点,有人知道吗?).但是核心价值支柱没有改变:你想放多少东西就放多少,想保存多久就保存多久,而且*它们永远不会死。*驱动器出现故障,数据中心离线,但 S3 仍然存在。这就是为什么我们开发人员认为这是理所当然的,一个公理,你可以围绕它建立整个架构:就像太阳升起一样,S3 将在早上出现,除非发生行星灭绝事件。这就是它的真正伟大之处,毋庸置疑。
通过开发云技能成就伟业!加入云专家的行列,访问我们所有的课程、实验室、测验和新的学习路径,让您在所选的云领域逐步从新手成为专家。
没有 S3 就拼不出 s3rverless
当我们大多数人听到“无服务器”这个词时,我们的脑海中当然会跳转到一个不同的服务——AWS Lambda,这是最初的 FaaS,它推出了一代无状态应用程序和黑客新闻争论。(Lambda 在#CloudMadness 投票中以微弱优势名列第二,这并非偶然。)
然而,多年来一直在 iRobot 开发无服务器应用的本·凯霍(Ben Kehoe)在民意调查中极力支持 S3。“S3 是无服务器的典型,”他告诉我。“它解决了一个每个人都需要解决的难以置信的困难问题,使用了一个(相对)简单的 API,可以扩展到您可以投入的任何流量,但成本只是您正在使用的流量。它的性能不断提高,无需用户采取任何行动。”
发明了 Lambda 的蒂姆·艾伦·华格纳说,Lambda“实际上是 S3 的分支,而不是 EC2。所以 S3 给了世界另一个革命性的东西!”
没错:整个无服务器革命始于为 S3 事件建立触发器的一种方式。Wagner 记得他职业生涯中“最可怕的时刻”之一是将 Lambda 与 S3 融合:“那时候就像用消防水管对准迪克西杯一样。幸运的是,S3 有一个令人惊叹的架构和团队,Lambda 成长为一些(非常大的)鞋子,加入他们的规模。”
“虽然 S3 可能是有史以来最伟大的云服务,”凯霍补充道,“Lambda 值得称赞,它将话题从‘这些托管服务在我的服务器中非常有用’转移到‘哇,我可以用服务做所有这些事情’。这是托管计算发展的一步,但它彻底改变了人们的思维。”
而这真的是底线,不是吗?S3,以及其他一些基础 AWS 服务,如 EC2 和弹性负载平衡器,建立了在过去十年中允许高水平创新寒武纪大爆发的原语。虽然 S3 可能不再是闪亮的新事物,但值得我们花时间退后一步,欣赏 AWS 这些年来通过存储存储优化服务给我们带来的东西,在引擎盖下,它绝不简单。
毕竟,站在巨人的肩膀上有助于看清事物的本质。S3 是个巨人。
Forrest Brazeal 是 AWS 无服务器英雄 和企业架构师,他领导了从初创公司到财富 50 强企业的云采用计划。
获得更好职业所需的技能。
掌握现代技术技能,获得认证,提升您的职业生涯。无论您是新手还是经验丰富的专业人士,您都可以通过实践来学习,并在 ACG 的帮助下推进您的云计算职业生涯。
打破 2022 年 GCP 定价的变化
原文:https://acloudguru.com/blog/engineering/breaking-down-the-gcp-pricing-changes-for-2022
这是谷歌云平台价格变化公告的一个重要月份。通常,当价格变化趋势上升时,我们想往山上跑,但它们可能没有我们担心的那么糟糕。所以,让我们保持冷静,仔细分析这些新公告。
在我们开始之前,有一个简短的提示——这是关于将于 2022 年 10 月 1 日生效的变更的提前警告。谷歌已经向客户发送了关于这些 GCP 价格变化的电子邮件,包括对具体账单的理论影响,所以问问负责你自己 GCP 账单的人,看看你个人情况的影响。
想要这些视频形式的谷歌云平台定价明细,以及更多的谷歌云新闻吗?看看我们这个月最新一集的GCP。
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
谷歌云存储价格的变化
首先要介绍的是谷歌云存储的多区域存储桶在 GCP 的定价变化。谷歌云现在将让客户为云存储桶的数据复制付费,就像其他云提供商一样。谷歌将开始在美国和 EU-的多区域和双区域复制数据,每千兆字节收费 2 美分。在亚洲的这些地区,每千兆字节的复制费用为 8 美分,每当你向这些桶中写入数据时,就会触发这项费用。最重要的是,所有来自多地区的数据读取也将产生成本——因此位于同一大洲的谷歌云服务将不再有免费读取。根据地理位置的不同,这里的价格从每千兆字节 2-14 美分不等。
多地区的静态存储定价也有很多变化。这些大部分都是增长,但是你会发现也有一些下降。运营方面也有一些变化——这是定价的一部分,根据你提出的请求数量而不是对象的大小来计费。请务必查看谷歌的“云存储即将到来的价格变化公告”文章中的具体内容。
在某种程度上,我觉得把这种对多地区的大范围价格变化更像是一种服务降价,这样想有点简单。谷歌云存储多区域版本 1 即将寿终正寝,完全不同的谷歌云存储多区域版本 2 将于 10 月 1 日取而代之。不同的服务,不同的价格。因此,您应该弄清楚如何处理您的系统架构,并确保您的数据在这段时间后还能存在。
存储转移服务费用的更新
现在是价格变化公告的好消息——从 2022 年 4 月 2 日到 2022 年 12 月 31 日,使用存储转移服务的转移不会导致云存储存储桶之间的云存储转移费用。
谷歌的存储转移服务就是为你解决移动数据的麻烦。它通常是免费的,但是因为它在云存储中为你做了很多事情,可能会导致收费。在 2022 年底之前,这些费用将被免除,包括:
- 重写操作以在云存储桶之间移动数据
- 传输的每个对象的 GetObject 请求
- 读取近线、冷线和存档存储类对象时的检索费用
- 在不同地点之间转移时的网络出口费用
- 列出源和目的地的操作
- 如果在对象的最小保留时间之前删除对象,则提前删除会产生费用。
这是您重新安排事物的机会,比如桶或对象,您最终意识到有错误的存储类,但由于早期的删除费用而无法证明更改的合理性。
持久性磁盘定价的变化
另一组 GCP 价格变化将适用于永久磁盘快照。本质上,这些变化不太可能对您的总体账单产生影响(我的意思是,您现在通常不会将磁盘快照用于一般数据存储,对吗?),但是你要知道物价在涨。区域快照的价格几乎翻了一番,多区域快照的价格上涨了 2.5 倍,现在,从多区域快照进行任何恢复都将产生跨区域数据传输成本。
作为一种抗衡的尝试,谷歌还宣布了一种新的至少 90 天的快照“存档”类别,比正常快照的原价略低。存档快照将于 2022 年晚些时候发布。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
云负载平衡定价的变化
我想介绍的最后一个大幅涨价是针对云负载平衡 (CLB)。此前,谷歌的 CLBs 只对传入数据量收费,不对传出数据量收费,其他云肯定不是这样。嗯,这个差距正在缩小,谷歌将开始对云负载平衡器处理的入口和出口数据对称收费。
对以前“免费”的东西收费似乎是一件大事,但让我解释一下为什么它实际上不是。在这种情况下,“免费”实际上意味着它被“包括”在内,即包括在从 GCP 输出数据的一般费用中。由于这些新的 CLB 出口费仍然比你已经支付的费用少一个数量级,这不会像其他 GCP 价格变化那样对你的账单产生大的影响。当然,成本肯定会上升,但不是成比例的。
云扳手承诺使用折扣
让我们以一些关于定价的好消息来结束吧!如果您使用 Cloud Spanner 关系数据库来利用其无限的可伸缩性和高达 99.999%的可用性保证(更不用说其全球影响力),那么您可能也会对其新的承诺使用折扣选项感兴趣。如果您锁定一年的特定计算容量使用量,您将节省 20%。如果你锁定三年,你将节省 40%!Cloud Spanner 是 Google Cloud 的主要优势之一,所以很高兴看到这一点。
跟上 GCP 的一切
想了解 GCP 的一切吗?在推特上关注 ACG和脸书,在 YouTube 上订阅一位云专家的 GCP 每月更新,并在 Discord 上加入对话。
想了解更多关于云和 GCP 的信息吗?查看我们每月更新的免费课程的轮换阵容。(不需要信用卡!)
打破 LFCA 考试
原文:https://acloudguru.com/blog/engineering/breaking-down-the-lfca-exam
随着新技术的发展,对熟练员工的高需求,更不用说全球疫情,远程工作正变得越来越标准。这在许多职业中是真实的,但在 IT 行业中更是如此,在 IT 行业中,工作本质上是通过与计算机和网络接口来完成的。
因此,如果你像许多其他人一样,觉得他们可以从 it 职业及其提供的灵活性中受益,那么显而易见的问题是,“我从哪里开始?”那么,让我推荐 Linux 基金会认证 IT 助理(LFCA)考试。
加速您的职业发展
云计算专家让你的云计算职业生涯变得简单(也很棒)。查看 ACG 目前的免费课程或立即开始免费试用。
LFCA 是一个入门级的认证,是面向那些很少或没有信息技术经验,但希望从事 IT 行业的从业者或经理。
它涵盖了许多对 It 职业生涯至关重要的关键知识领域。这包括:
- Linux 命令行和操作系统的基础知识
- 云计算和概念
- 安全性
- 支持应用程序开发所需的工具和方法
通过这次考试,你将展示出初级 IT 职位所需的知识和才能。现在,让我们更深入地了解 LFCA 考试涵盖的领域和能力。
Linux 基础知识(20%)
本节从 Linux 操作系统的基础开始。它测试您对保持系统正常运行的结构和关键进程以及 Linux 命令行的了解。掌握操纵文件系统、管理文件和目录以及与系统交互的基本命令是本节的重要内容。最后一项能力包括对网络和网络相关命令的基本理解。
系统管理基础(20%)
LFCA 考试的这一部分建立在前面的基础上,更深入地探究与系统管理相关的任务。这需要使用提升的权限和根用户的知识。这些权限用于:
- 管理和配置关键系统服务
- 改变系统的状态
- 限制访问主机
还重点介绍了用于排除主机上与应用程序和系统资源相关的问题的文件和工具。最后一部分是网络配置和工具。
获得痛苦的云词典
说云不一定要努力。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取一些最痛苦的云术语的简洁定义。
云计算基础知识(20%)
云计算基础知识从云计算的基础知识开始,包括虚拟化、服务模型、部署模型等。本节还概述了云服务提供商、他们提供的服务以及成本和预算。它还非常关注无服务器计算,包括关键概念和服务。
安全基础知识(16%)
这个领域从 IT 安全的基础知识和一些常见的最佳实践开始。然后,安全的对象从数据安全开始变得更加具体。其次是网络级别的安全性,最终是系统的安全性。对于这些安全重点领域中的每一个,您都需要了解可以用来实现适当安全级别的常用策略和工具。
DevOps 基本面(16%)
DevOps 基础侧重于 DevOps 理念和工具的核心方面。这包括 CI/CD(持续集成/持续交付)管道以及支持它的实用程序和工具。详细介绍了 Git 实用程序,包括重要的概念和命令。本节还涵盖了容器技术的各个方面,包括流行的实现和编排平台。
支持应用程序和开发人员(8%)
这个领域从技术上转移,关注应用程序开发的更高层次的观点。其中很大一部分涉及软件项目管理,它包括不同的职责和方法。其中一个方面是功能分析,它包括驱动应用程序开发的功能需求的创建。
另一个主要职责是选择应用程序使用的架构,这最终决定了如何开发它。这一部分的最后一个领域涉及对开源软件的理解,以及它们所实现的不同类型的许可。
正如你所看到的,LFCA 考试涵盖了广泛的主题,看起来相当令人生畏,尤其是对那些 IT 领域的新手来说。对于任何有兴趣深入研究这些主题并准备考试的人,请考虑查看我在一位云专家那里开设的 Linux 基金会认证 IT 助理(LFCA) 课程。本课程的设计不仅是为了让你为考试做好准备,也是为了让你在 Linux 基础的领域和能力方面有真正的实践经验。此外,对于任何对信息技术职业感兴趣的人来说,它也是一本很好的入门书。祝你考试顺利!
如何建立成功的云培训计划
原文:https://acloudguru.com/blog/business/build-a-cloud-training-program
有比我们任何人在有生之年能够消费的更多的可用内容。仅在云大师平台上,就有超过 2500 小时的云课程材料。更不用说其他电子学习平台上的课程,如 Pluralsight 和云提供商自己提供的课程。
那么如果访问信息不成问题,为什么只有 8%的技术专家认为他们拥有丰富的云计算经验?前三个原因是:
- 预算限制
- 时间不够
- 强调雇佣而不是提高技能
下载云状态报告,了解更多提升技能的见解
为什么建立云培训计划很重要?
64%的技术专家表示他们是云新手,并寻求基础培训,因此没有足够的人才来高效或有效地执行您的 2023 年云战略计划。云培训计划可帮助您构建内部云技能渠道,以满足您当前和未来的云需求。
您的云培训计划应该与您的整体云战略相一致。如果您打算首次迁移到 AWS,您的培训计划将侧重于在线课程、现场培训和其他资源,以便让您的员工为基于其角色的多项 AWS 认证做好准备。
但是,如果你希望建立一个使用所有“三巨头”的多云战略,你的云培训计划将会转变,以确保所有员工至少对每个平台有一个基本的了解。
投资云培训项目的反方观点似乎是:如果我们投资培训员工,而他们却离开了,那该怎么办?如果可能的话,这可能是一个有价值的论点。事实上,当组织投资于员工的技能发展时,员工有 94%的可能性长期留在公司。
我的云培训计划中有哪些可用资源?
组织可以使用正式和非正式的工具来构建他们的云培训计划,如点播课程、播客、网络研讨会或现场活动以及沙盒。
非正式工具,如播客、电子书、实时流和网络研讨会,对组织和个人技术人员来说通常是免费或低价的。这些内容大部分是对常见主题的高层次概述,偶尔会有深入探讨。他们很好地构建了词汇,并对云有了基本的了解。
查看云专家的资源库,获取免费内容
此外,还有更正式的工具,如现场培训、按需课程和沙盒,技术专家可以使用它们来提高他们的云技能。但是并不是每个工具都适合每个人。让我们来看看前三名的优缺点:
面对面培训
对于那些刚刚开始云计算之旅的人来说,与当地非营利组织的面对面交流可以帮助你熟悉环境。这些会议通常成本较低,涵盖特定主题的基础知识。此外,它们还允许来自演示者的实时反馈,演示者可以回答特定于组织的问题。
然而,对于更高级的技术专家来说,面对面的会议并不总是可行的。根据课程的不同,你每节课最多可以支付 4000 美元。这只是为了提供信息。还有旅行费用、可能的酒店住宿和其他需要考虑的相关费用。有些会议,如 AWS re:Invent,可能值得从您的云团队中派出代表。
TL;dr:面对面的培训对新手来说是很好的尝试,或者对更有经验的云专家来说,是大型会议的一部分。
点播课程
按需课程非常适合所有级别的云人才。只要有一个还算不错的互联网连接,他们随时随地都可以使用。
许多云课程提供商,如 Cloud Guru 和 Pluralsight,提供学习路径,作为脚手架技术专家可以用来快速建立他们从 101 到 401 级别的技能。这些学习途径也是基于一个目标:完成某项认证,熟练掌握一项新功能,或者为某项特定工作培养技能。
但这些课程通常有一个必要的视觉元素,这使得习惯的积累很难——通过将一个新习惯与你已经采用的习惯配对来培养一个新习惯。虽然获取信息很容易,但也很容易从材料中分心。所以技术人员必须勤于观察和完成课程。
根据云报告的状态,64%的技术专家更喜欢通过动手工具和沙盒学习。它强化了研讨会式学习课程中提供的信息,并为技术人员提供了受控环境中的真实世界体验。
有几个通用的沙盒环境和研讨会,引导技术人员完成使用云服务的过程。或者有定制的云沙箱,作为真实环境的副本。这意味着技术专家可以在模拟环境中学习,就像他们每天使用的环境一样。
不利的一面是,这些工具可能很贵。让它们运行起来并集成到学习工具中需要一些工作。你还必须希望你的沙箱不会被企业防火墙阻挡。如果你能克服这些障碍,这些工具只对那些已经基本了解平台如何工作以及如何在你的组织战略中使用它们的员工有益。
构建成功的云培训计划的注意事项
有这么多可用的工具,涵盖这么多不同的主题,当您坐下来开发云培训计划时,很容易变得不知所措。但是有一些基本的注意事项可以让你朝着正确的方向前进。
1.务必将它作为业务重点
这些工具是对您的云战略的投资。没有合适的人才,你的战略就不会成功。合格的人才越来越难找到。相反,专注于从内部构建您的云人才管道。
一旦你给你的团队提供了学习工具,激励他们使用这些工具。一位云计算大师通过在每周五的最后两个小时留出专门的学习时间做到了这一点。超过 70%的技术人员希望每天或每周都有学习机会来提升他们的技能,跟上不断变化的技术,因此投资这种技能提升是双赢的。
就像任何其他业务优先事项一样,您应该有一种方法来跟踪您的云培训计划的成功。像 Cloud Guru 这样的工具提供了仪表盘,让你知道哪些员工实际上在使用这个平台,他们正在学习哪些课程,以及学习了多长时间。
2.不要把你的招聘努力局限于那些有技术经验的人
领导者开始云培训的第一个地方是他们现有的云人才。这很有道理。但是当你耗尽这些资源时,你会怎么做呢?你还可以在另外三个地方寻找创造新的云人才的机会:非云技术团队、非技术部门和非技术行业。
建立云培训项目的好处在于,你不需要雇佣已经掌握云技能的人。一些最优秀的云计算人才来自最不可能的地方。一位云专家的创始人以移民律师起家。
从查看您的 IT 部门开始。可能有几个低级技术人员对提高他们的云技能感兴趣。
你也可以在其他部门寻找具有正确的批判性思维技能、擅长云计算的员工。给非技术员工一个学习新技能的机会,让他们在公司内部有一个成长的路径,这样可以留住那些可能在你的组织之外寻找新职位的员工。
另一个选择是让人力资源部门密切关注那些具备正确的批判性思维技能或证书的候选人,他们可能没有云计算背景。有了所有可用的免费和低成本工具,许多人都希望将职业生涯转向云计算。关注候选人的潜力,而不是根据他们的历史来做决定。
3.一定要确保你有办法让他们使用他们的新技能
在构建云培训计划时,你可能犯的最大错误是没有提供结构或指导来学习哪些课程。您希望将您的培训计划与您的云计划相匹配,以便您的员工能够始终在您的组织中使用他们的新技能。因为如果他们在你的组织中没有使用他们的角色,他们会在他们可以的地方找到另一个。
为云认证或特定技能培养设定目标,以帮助他们在您的组织内进入新的角色。或者提供培训途径,为即将到来的云计划培养技能,并让他们发挥主导作用。给员工增长技能的机会是一回事。转过身来,让他们能够使用这些技能,会产生更多的善意和信任,这转化为更高的保留率和更好的云解决方案。
准备好升级您公司的云了吗?
创建云创新文化,通过大规模实践学习加速云成功。借助最全面、最新的学习库、评估和沙盒软件,对 10 或 10,000 人进行升级或再升级。
使用 React、GraphQL 和 AWS Amplify 构建您自己的多用户相册应用程序—第 1 部分,共 3 部分
引导我们的应用程序,添加认证,并集成一个 GraphQL API
第 1 部分| 第 2 部分|第 3 部分 这是一个三部分系列的第一篇文章,向您展示了如何在 AWS 上构建一个可伸缩且高度可用的无服务器 web 应用,允许用户将照片上传到相册并与他人私下共享这些相册。
**注意:**自从这个系列的最初出版以来,我已经将这些内容改编成了一个可在线访问的自定进度的研讨会,网址:【https://amplify-workshop.go-aws.com/】
像这样的应用程序需要一些移动部件:
- 允许用户注册和认证,所以我们知道谁拥有哪些相册,所以用户可以邀请其他用户到他们的相册
- 构建一个 API 服务器,这样我们的前端就有办法加载适当的相册和照片来显示给定的用户
- 存储关于相册、照片和谁可以查看什么的权限的数据,以便我们的 API 有一个快速可靠的地方来查询和保存数据
- 存储和提供照片,这样我们就有地方存放用户上传到相册的所有照片
- 自动创建照片缩略图,因此当用户浏览相册的照片列表时,我们不需要提供全分辨率的照片
如果我们试图构建可伸缩的、高度可用的系统来独自处理上述每一个问题,我们可能永远也不会着手构建我们的应用程序!幸运的是,AWS 提供了服务和工具来处理构建现代、健壮的应用程序所涉及的大量无差别的繁重工作。我们将在我们的解决方案中使用许多这样的服务和工具,包括:
如果您对这些服务中的任何一项或全部都不熟悉,请不要担心。这些系列将涵盖您开始使用这些服务所需了解的一切。没有比构建更好的学习方式了,所以让我们开始吧!
我们将在这篇文章中讨论的内容
在这个系列的第一篇文章中,我们将为我们的应用程序打下基础,并让我们自己进入一个用户登录应用程序后可以创建和查看相册记录的地方。以下是我们将在下面介绍的步骤列表:
- 用 React 引导我们的 web 应用程序
- 添加用户身份验证
- 部署 GraphQL API 来管理相册数据
- 将我们的 web 应用程序连接到 API,让用户创建和列出相册,并实时更新
先决条件
在我们开始之前,有几件事你需要确定你已经设置好了,这样你就可以跟着做了。
AWS 账户–如果你还没有,你需要一个 AWS 账户。创建一个 AWS 帐户是免费的,让您可以立即访问 AWS 免费层。欲了解更多信息或注册账户,请参见 https://aws.amazon.com/free/
Node.js 已安装–我们将使用一些需要安装 Node.js(和 Node.js 附带的 NPM)的 JavaScript 工具和软件包。你可以在 https://nodejs.org/en/download/[的](https://nodejs.org/en/download/)下载一个安装程序或者找到安装 Node.js 的说明
安装和配置的 AWS Amplify CLI–AWS Amplify CLI 可帮助您快速配置无服务器后端,包括对认证、分析、功能、REST/graph QL API 等的支持。遵循 https://github.com/aws-amplify/amplify-cli 的的安装说明。Windows 用户请注意:AWS Amplify CLI 目前仅在用于 Linux 的 Windows 子系统下受支持。
启动我们的应用
我们将开始使用create-react-app
CLI 工具构建一个新的 React web 应用程序。这将为我们提供一个带有本地自动重载 web 服务器的 React 示例应用程序,以及一些对浏览器有用的 transpiling 支持,比如让我们使用 async/await 关键字、arrow 函数等等。你可以在 https://github.com/facebook/create-react-app 的了解更多关于这个工具的信息。运行该工具使用安装在 Node.js 旁边的命令npx
,这使得运行包含在 NPM 包中的二进制文件变得容易。
从命令行中,导航到您想要为此项目创建新目录的目录。
运行npx create-react-app photo-albums
(如果你不喜欢“相册”,你可以使用任何你想要的名字,但是对于这些说明,我假设你称它为“相册”。
该命令将创建一个新的相册目录,其中包含一个基本的 React web 应用程序和一个运行本地开发 web 服务器的有用脚本。在我们开始编写 UI 之前,我们还将包括 React 的语义 UI 组件,为我们提供有助于使我们的界面看起来更好的组件。
运行npm install --save semantic-ui-react
并通过编辑public/index.html
来集成默认样式表,并将这个样式表链接添加到<head>
部分:<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.3/semantic.min.css"></link>
现在,让我们启动我们的开发服务器,这样我们就可以进行更改,并在浏览器中实时看到它们的刷新。
从photo-albums
目录中,运行npm start
。过一会儿,您应该会看到一个浏览器窗口向 http://locahost:3000/ 打开,窗口上有 React 徽标和一些其他内容。
接下来,我们想要从头开始,所以让我们编辑src/App.js
并将其更改为显示一条简单的“Hello World”消息。用以下内容替换文件的现有内容:
// src/App.js
import React, { Component } from ‘react’;
import { Header } from 'semantic-ui-react';
class App extends Component {
render() {
return (
<div>
<Header as='h1'>Hello World!</Header>
</div>
);
}
}
export default App;
此时,浏览器应该会自动刷新并显示一个简单得多的页面,只有一些显示“Hello World”的文本。这还不算多,但是从尽可能少的标记开始是好的,这样我们就能理解我们添加的所有东西。
用四行代码添加用户验证
现在我们有了一个简单的 React 应用程序,让用户注册并登录我们的应用程序。他们还不能做任何事情,但这将是有帮助的,这样当我们添加查询后端 API 的能力时,我们将知道哪些用户正在访问我们的系统。
AWS Amplify CLI 使我们能够轻松地将云功能添加到我们的 web 和移动应用程序中,SDK 可用于 React 和 React Native、iOS 和 Android。首先,我们将创建一个新的应用程序并启用用户身份验证。然后,我们将使用开源的 AWS Amplify JavaScript 库在我们的应用程序中进行连接,AWS Amplify CLI 将负责为我们进行配置;我们所要做的就是在我们的 React 应用中使用它。AWS Amplify 包含一些用于云服务的很好的抽象,它有一些有用的 React 组件,我们将在我们的应用程序中使用。
AWS Amplify’s default sign-in screen looks great
在命令行中,确保您在photo-albums
目录中,并且:
- 运行
amplify init
- 选择您喜欢的编辑器
- 选择 JavaScript 并在提示时做出反应
- 当提示输入路径和构建命令时,接受默认值
这将为我们创建一个新的本地配置,我们可以用它来建立一个 Amazon Cognito 用户池,作为后端让用户注册和登录(我将在下面两段解释更多关于 Amazon Cognito 和什么是用户池)。如果你想了解更多关于这个步骤的信息,请看一下 AWS Amplify 认证指南中的“安装和配置”步骤。
使用 Amplify CLI 启用用户登录时,默认设置将要求用户使用复杂的密码进行注册,并在登录前确认其电子邮件地址的所有权。这些对于生产应用程序来说都是很好的设置,尽管完全可以自定义这种配置,但我们还是坚持使用这些默认设置。
运行amplify add auth
向应用添加认证。当询问您是否想使用默认的认证和安全配置时,选择“是”。然后,如输出文本所示,运行amplify push
。Amplify CLI 将负责提供适当的云资源,并将使用我们在应用中使用云资源所需的所有配置数据更新src/aws-exports.js
。
恭喜您,您刚刚创建了一个用于用户注册和授权的无服务器后端,能够通过 Amazon Cognito 扩展到数百万用户。Amazon Cognito 让您可以快速轻松地将用户注册、登录和访问控制添加到您的 web 和移动应用程序中。我们刚刚创建了一个用户池,这是一个安全的用户目录,允许我们的用户使用他们在注册时创建的用户名和密码登录。Amazon Cognito(和 Amplify CLI)还支持通过 SAML 2.0 配置社交身份提供商(如脸书、谷歌和亚马逊)和企业身份提供商的登录。如果你想了解更多,我们在亚马逊 Cognito 开发者资源页面以及 AWS Amplify 认证文档上有更多信息。
既然我们已经为管理注册和登录设置了后端,我们需要做的就是使用 AWS Amplify 的withAuthenticator
高阶 react 组件来包装我们现有的应用程序组件。这将负责呈现一个简单的 UI,让用户注册、确认他们的帐户、登录、注销或重置他们的密码。
我们还没有将aws-amplify
和aws-amplify-react
模块添加到我们的应用程序中,所以运行npm install --save aws-amplify aws-amplify-react
,然后我们就可以在我们的应用程序中使用它们了。来更新一下src/App.js
:
*`// src/App.js
// 1\. NEW: Add some new imports
import Amplify from 'aws-amplify';
import aws_exports from './aws-exports';
import { withAuthenticator } from 'aws-amplify-react';
Amplify.configure(aws_exports);
// 2\. EDIT: Wrap our exported App component with WithAuthenticator
export default withAuthenticator(App, {includeGreetings: true});`*
回头看看我们的浏览器(重启服务器后),我们现在有了一个简单的注册/登录表单。尝试在应用程序中注册,提供用户名、密码和电子邮件地址,以便在需要重置密码时使用。你会被带到一个屏幕,要求你确认一个代码。这是因为 Amazon Cognito 希望在允许用户登录之前验证他们的电子邮件地址。去检查你的电子邮件,你应该会看到一个确认码信息。将该代码复制并粘贴到您的应用程序中,然后您应该能够使用您在注册时输入的用户名和密码登录。一旦您登录,表单消失,您可以看到我们的App
组件呈现在一个标题栏下,其中包含您的用户名和一个“注销”按钮。
这是一个非常简单的身份验证 UI,但是您可以做很多事情来定制它,包括用您自己的 React 组件替换部分,或者使用可以重定向回您的应用程序的完全托管的 UI。更多信息参见 AWS Amplify 认证指南的定制部分。
创建无服务器的 GraphQL API 后端
现在我们已经验证了用户,让我们制作一个创建相册的 API。这些相册中目前还没有任何照片,只有一个名称以及与创建它们的用户名的关联,但这是朝着整合我们的应用迈出的又一大步。
为了构建我们的 API,我们将使用 AWS AppSync ,这是一个托管的 GraphQL 服务,用于构建数据驱动的应用。如果你还不熟悉 GraphQL 的基础知识,我建议你在继续之前花几分钟查看一下 https://graphql.github.io/learn/的,或者在阅读过程中有问题时使用该网站查阅。
*
AWS AppSync: Rapid prototyping and development with GraphQL*
AWS AppSync 还使向您的应用程序添加实时和离线功能变得非常容易,我们将在本文的结尾添加实时订阅,但让我们从基础开始:创建一个 AWS AppSync API,添加一个简单的 GraphQL 模式,并将其与 DynamoDB 连接以将我们的数据存储在 NoSQL 数据库中。同样,Amplify CLI 大大简化了这一过程。
在您的终端上,运行amplify add api
并响应如下提示:
*`$ amplify add api
? Please select from one of the below mentioned services: GraphQL
? Provide API name: photoalbums
? Choose an authorization type for the API: Amazon Cognito User Pool
? Do you have an annotated GraphQL schema? No
? Do you want a guided schema creation? Yes
? What best describes your project: One-to-many relationship
? Do you want to edit the schema now? Yes
Please edit the file in your editor: photo-albums/amplify/backend/api/photo-albums/schema.graphql`*
此时,您的代码编辑器应该向您展示一个一对多 GraphQL 模式的示例,用一些@model 和@connection 位进行了注释。Amplify CLI 将把这个模式转换成一组数据源和解析器,以便在 AWS AppSync 上运行。你可以点击了解更多关于 Amplify 的 GraphQL 变换。
下面是一个适合我们存储和查询相册和照片的模式。将它复制并粘贴到您的编辑器中,替换示例模式内容,并记住保存文件:
*`# amplify/backend/api/photo-albums/schema.graphql
type Album @model {
id: ID!
name: String!
owner: String!
photos: [Photo] @connection(name: "AlbumPhotos")
}
type Photo @model {
id: ID!
album: Album @connection(name: "AlbumPhotos")
bucket: String!
fullsize: PhotoS3Info!
thumbnail: PhotoS3Info!
}
type PhotoS3Info {
key: String!
width: Int!
height: Int!
}`*
现在回到你的命令行,按一次Enter
继续。
最后,运行amplify push
并确认您想要继续更新。然后稍等片刻,在云中调配新资源。
打开 AWS AppSync web 控制台,找到与您在上面输入的名称匹配的 API,然后单击它。现在我们可以开始研究 API 了。
真正酷的事情是,在这一点上,无需编写任何代码,我们现在有了一个 GraphQL API,它将允许我们对我们的Album
和Photo
数据类型执行 CRUDL 操作!但是不要担心,AWS AppSync 将字段解析为数据的方式不会对我们隐藏。每一个自动生成的解析器都可供我们随意编辑,我们稍后会讲到。现在,让我们尝试添加一些相册,然后将它们作为一个列表进行检索。
点击侧边栏中的“查询”部分。这个区域是 AWS AppSync 的交互式查询浏览器。我们可以在这里编写查询和变异,执行它们,并查看结果。这是一个很好的测试方法,可以确保我们的解析器按照我们期望的方式工作。
在发出查询之前,我们需要进行身份验证(因为我们的 AppSync API 被配置为通过 Amazon Cognito 用户池对用户进行身份验证,该用户池是我们在为应用程序配置身份验证时设置的。
*
The AWS AppSync web console allows you to authenticate with your API before issuing queries*
- 在 AppSync web 控制台的“查询”部分,请注意查询编辑器顶部有一个“使用用户池登录”按钮。单击按钮。
- 在“ClientId”字段中,我们需要从我们的 Cognito 用户池配置中粘贴一个值。找到正确价值的一个地方是查看 React web 应用程序中的
src/aws-exports.js
。该文件由 Amplify CLI 生成,包含我们应用程序的大量配置值。我们想要复制并用于该字段的是aws_user_pools_web_client_id
。 - 在“用户名”和“密码”字段中,使用您在上面的 React 应用程序中创建用户名时指定的值。
- 点击“登录”。现在,您应该能够尝试以下变化和查询。
通过复制/粘贴以下内容并运行查询来添加新相册:
*`mutation {
createAlbum(input:{name:"First Album", owner:"Someone"}) {
id
name
}
}`*
通过编辑并使用另一个相册名称重新运行 createAlbum 变体来添加另一个相册:
*`mutation {
createAlbum(input:{name:"Second Album", owner:"Someone"}) {
id
name
}
}`*
通过运行以下查询列出我们的相册:
*`query {
listAlbums {
items {
id
name
owner
}
}
}`*
如您所见,我们能够通过 GraphQL 查询和变异来读写数据。但是,事情并不完全如我们所愿。在生成的代码中,我们需要为我们创建的每个Album
指定一个owner
字符串。相反,如果系统能够自动将owner
字段设置为发送createAlbum
突变的用户的用户名,那就太好了。进行这种更改并不难,所以在我们将 web 应用程序连接到 AWS AppSync API 端点之前,让我们先解决这个问题。
在 AWS AppSync 中定制我们的第一个 GraphQL 解析器
AWS AppSync 支持为我们的字段解析数据的多种方式。为了从 DynamoDB 和 Amazon ElasticSearch 获取数据,我们可以使用 Apache Velocity 模板语言或 VTL 来解析我们的请求和响应。我们也可以使用 AWS Lambda 函数解析字段,但是由于我们当前的需求非常简单,我们现在将坚持使用 VTL 从 DynamoDB 进行解析。
AWS AppSync 为我们生成的解析器只是一种将我们的 GraphQL 查询和变化转换成 DynamoDB 操作的方法。
乍一看,通过这些模板与 DynamoDB 交互似乎有点奇怪,但是为了有效地使用它们,您只需要了解一些概念。AWS AppSync 解析器映射模板由 VTL 引擎评估,并以 JSON 字符串结束,该字符串用于对 DynamoDB 进行 API 调用。根据 API 操作的内容,每个 DynamoDB 操作在 JSON 中都有一组相应的值。更多信息参见 DynamoDB 的解析器映射模板参考。VTL 模板可以使用变量和逻辑来控制渲染的输出。在解析器映射模板编程指南中有很多例子。从 GraphQL 查询或变异传入的任何参数都可以在$ctx.args
变量中获得,用户身份信息可以在$ctx.identity
变量中获得。您可以在解析器映射模板上下文参考中了解更多关于这些和其他变量的信息。
因为我们想改变我们的createAlbum
突变与 DynamoDB 的接口方式,所以让我们打开解析器进行编辑。如果我们可以在我们的开发机器上本地编辑一个解析器文件,然后用 Amplify CLI 进行另一次推送,那就太好了,但此时,我们还不能通过 CLI 进行这一操作,所以我们必须在 AWS AppSync web 控制台中手动进行更改,并且注意不要从 Amplify CLI 运行任何进一步的 API 推送,这将覆盖我们想要进行的更改。以下是如何进行我们想要的编辑:
- 单击 AWS AppSync 侧栏中的“模式”
- 在屏幕右侧的“解析器”列中,向下滚动到“突变”部分(或使用搜索框,键入“突变”),找到
createAlbum(…):Album
列表,然后单击AlbumTable
链接以查看和编辑该解析器 - 在顶部类似于
$util.qr(…)
的行附近,添加另一个类似的行,将当前用户的用户名作为另一个参数注入到变异的输入:$util.qr($context.args.input.put("owner", $context.identity.username))
- 单击“保存解析程序”
此外,由于我们在创建Album
时不再为owner
传递值,我们将更新模式,只要求相册有一个“名称”。
编辑模式,用以下定义替换CreateAlbumInput
类型,然后单击“保存模式”
*`input CreateAlbumInput {
name: String!
}`*
最后,我们可以在查询工具中测试创建另一个相册,看看我们修改后的解析器是否正常工作:
*`mutation {
createAlbum(input: {name:"Album with username from context"}) {
id
name
owner
}
}`*
那个变异应该已经成功回归了。请注意,相册的所有者字段包含我们登录时使用的用户名。
如果您想了解更多关于 AWS AppSync 如何将 GraphQL 查询和变化转换为 DynamoDB 命令的示例,请花几分钟时间研究一下其他自动生成的解析器。只需点击您在 AWS AppSync 模式视图的数据类型侧栏中看到的任何解析器链接。
将我们的应用程序连接到 GraphQL API
此时,我们有了一个验证用户身份的 web 应用程序和一个允许我们创建和读取相册数据的安全 GraphQL API 端点。是时候把两者联系在一起了! Apollo 客户端是使用 GraphQL 端点的流行选择,但是使用 Apollo 时会涉及到一些样板代码,所以让我们从简单的开始。
正如我们上面看到的, AWS Amplify 是一个开源的 JavaScript 库,它可以非常容易地将许多云服务集成到您的 web 或 React 本地应用程序中。我们将首先使用其 Connect React 组件来自动查询我们的 GraphQL API,并为我们的 React 组件提供数据以供渲染时使用。
Amplify CLI 已经确保我们的src/aws-exports.js
文件包含我们需要传递给 Amplify JS 库的所有配置,以便与 AppSync API 对话。我们需要做的就是添加一些新代码来与 API 交互。
我们将创建一些新的组件来处理我们的Albums
的数据获取和呈现。在一个真正的应用程序中,我们会为每个组件创建单独的文件,但在这里,我们将所有的东西放在一起,这样我们就可以在一个地方看到所有的代码。
*
Rendering a list of albums in our app*
对src/App.js
进行以下更改:
*`// src/App.js
// 1\. NEW: Add some new imports
import { Connect } from 'aws-amplify-react';
import { graphqlOperation } from 'aws-amplify';
import { Grid, Header, Input, List, Segment } from 'semantic-ui-react';
// 2\. NEW: Create a function we can use to
// sort an array of objects by a common property
function makeComparator(key, order='asc') {
return (a, b) => {
if(!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return 0;
const aVal = (typeof a[key] === 'string') ? a[key].toUpperCase() : a[key];
const bVal = (typeof b[key] === 'string') ? b[key].toUpperCase() : b[key];
let comparison = 0;
if (aVal > bVal) comparison = 1;
if (aVal < bVal) comparison = -1;
return order === 'desc' ? (comparison * -1) : comparison
};
}
// 3\. NEW: Add an AlbumsList component for rendering
// a sorted list of album names
class AlbumsList extends React.Component {
albumItems() {
return this.props.albums.sort(makeComparator('name')).map(album =>
<li key={album.id}>
{album.name}
</li>);
}
render() {
return (
<Segment>
<Header as='h3'>My Albums</Header>
<List divided relaxed>
{this.albumItems()}
</List>
</Segment>
);
}
}
// 4\. NEW: Add a new string to query all albums
const ListAlbums = `query ListAlbums {
listAlbums(limit: 9999) {
items {
id
name
}
}
}`;
// 5\. NEW: Add an AlbumsListLoader component that will use the
// Connect component from Amplify to provide data to AlbumsList
class AlbumsListLoader extends React.Component {
render() {
return (
<Connect query={graphqlOperation(ListAlbums)}>
{({ data, loading, errors }) => {
if (loading) { return <div>Loading...</div>; }
if (!data.listAlbums) return;
return <AlbumsList albums={data.listAlbums.items} />;
}}
</Connect>
);
}
}
// 6\. EDIT: Change the App component to look nicer and
// use the AlbumsListLoader component
class App extends Component {
render() {
return (
<Grid padded>
<Grid.Column>
<AlbumsListLoader />
</Grid.Column>
</Grid>
);
}
}`*
如果你在做了这些改变后在浏览器中检查,你应该会看到一个到目前为止你已经创建的专辑列表。
这里真正的魔力来自于 AWS Amplify 的连接组件(我们从aws-amplify-react
包中导入的)。我们需要做的就是在这个组件的query
属性中传递一个 GraphQL 查询操作。它负责在组件挂载时运行查询,并通过data
、loading
和errors
参数将信息传递给子函数。我们使用这些值进行适当的渲染,要么显示一些加载文本,转储一个错误消息来帮助我们调试,要么将成功获取的数据传递给我们的AlbumsList
组件。
我们上面使用的listAlbums
查询传递了一个非常高的限制参数。这是因为我决定在一个请求中加载所有的相册,并在客户端按字母顺序对相册进行排序(而不是处理分页的 DynamoDB 响应)。这使得AlbumsList
代码非常简单,所以我认为在性能或网络成本方面进行权衡是值得的。
它负责获取和呈现我们的相册列表。现在让我们创建一个组件来添加新相册。对src/App.js
进行以下更改:
*`// src/App.js
// 1\. EDIT: Update our import for aws-amplify to
// include API and graphqlOperation
// and remove the other line importing graphqlOperation
import Amplify, { API, graphqlOperation } from 'aws-amplify';
// 2\. NEW: Create a NewAlbum component to give us
// a way of saving new albums
class NewAlbum extends Component {
constructor(props) {
super(props);
this.state = {
albumName: ''
};
}
handleChange = (event) => {
let change = {};
change[event.target.name] = event.target.value;
this.setState(change);
}
handleSubmit = async (event) => {
event.preventDefault();
const NewAlbum = `mutation NewAlbum($name: String!) {
createAlbum(input: {name: $name}) {
id
name
}
}`;
const result = await API.graphql(graphqlOperation(NewAlbum, { name: this.state.albumName }));
console.info(`Created album with id ${result.data.createAlbum.id}`);
}
render() {
return (
<Segment>
<Header as='h3'>Add a new album</Header>
<Input
type='text'
placeholder='New Album Name'
icon='plus'
iconPosition='left'
action={{ content: 'Create', onClick: this.handleSubmit }}
name='albumName'
value={this.state.albumName}
onChange={this.handleChange}
/>
</Segment>
)
}
}
// 3\. EDIT: Add NewAlbum to our App component's render
class App extends Component {
render() {
return (
<Grid padded>
<Grid.Column>
<NewAlbum />
<AlbumsListLoader />
</Grid.Column>
</Grid>
);
}
}`*
再次检查浏览器,你应该能够用一个窗体创建新相册。
最后,我们可以通过利用 AppSync 的实时数据订阅来自动刷新我们的专辑列表,当发生突变时(由任何人)触发。最简单的方法是在我们的模式中定义一个订阅,这样 AWS AppSync 将允许我们订阅createAlbum
突变,然后将订阅添加到为AlbumList
提供数据的Connect
组件中。
我们的 GraphQL 模式已经包含了一个Subscription
类型,当我们让 AWS AppSync 为我们的Album
类型创建资源(DynamoDB 表和 AWS AppSync 解析器)时,已经自动生成了一些订阅。其中一个已经很好地满足了我们的需求:T2 订阅。
向我们的Connect
组件添加subscription
和onSubscriptionMsg
属性,以订阅onCreateAlbum
事件数据并相应地更新AlbumsList
的数据。subscription 属性的内容看起来与我们之前为query
属性提供的内容非常相似;它只包含一个查询,指定我们想要收听的订阅,以及当新数据到达时我们想要返回哪些字段。唯一有点棘手的是,我们还需要定义一个处理函数来对来自订阅的新数据做出反应,该函数需要返回一组新的数据,Connect
组件将使用这些数据来刷新我们的ListAlbums
组件。
这里是我们的AlbumsListLoader
组件的更新版本(以及包含我们的订阅的新字符串),合并了这些更改。对src/App.js
进行以下更改:
*// src/App.js
// 1\. NEW: Add a string to store a subcription query for new albums
`const SubscribeToNewAlbums = `
subscription OnCreateAlbum {
onCreateAlbum {
id
name
}
}
`;`
`// 2\. EDIT: Update AlbumsListLoader to work with subscriptions
class AlbumsListLoader extends React.Component {
// 2a. NEW: add a onNewAlbum() function
// for handling subscription events`
`onNewAlbum = (prevQuery, newData) => {
// When we get data about a new album,
// we need to put in into an object
// with the same shape as the original query results,
// but with the new data added as well
let updatedQuery = Object.assign({}, prevQuery);
updatedQuery.listAlbums.items = prevQuery.listAlbums.items.concat([newData.onCreateAlbum]);
return updatedQuery;
}
render() {
return (
<Connect
query={graphqlOperation(ListAlbums)}
// 2b. NEW: Listen to our
// SubscribeToNewAlbums subscription`
`subscription={graphqlOperation(SubscribeToNewAlbums)}`
`// 2c. NEW: Handle new subscription messages`
`onSubscriptionMsg={this.onNewAlbum}
>
{({ data, loading, errors }) => {
if (loading) { return <div>Loading...</div>; }
if (errors.length > 0) { return <div>{JSON.stringify(errors)}</div>; }
if (!data.listAlbums) return;
return <AlbumsList albums={data.listAlbums.items} />;
}}
</Connect>
);
}
}`*
有了这些改变,如果你尝试创建一个新的相册,你应该会看到它出现在我们的相册名称列表的底部。更酷的是,如果你在另一个浏览器窗口或 AWS AppSync 查询控制台中添加新相册,你会看到它自动出现在所有打开的浏览器窗口中。这就是订阅的实时功能!
接下来还有更多
咻!从这篇文章开始,我们已经走过了很长的路。我们创建了一个带有用户注册和身份验证的新 React 应用程序,创建了一个 GraphQL API 来处理持久化和查询数据,并将这两个部分连接在一起以创建一个实时数据驱动的 UI。给自己一个鼓励!
在未来的帖子中,我们将继续添加相册上传、缩略图生成、查询相册中的所有照片、对照片结果进行分页、精细的相册安全设置,以及将我们的应用部署到 CDN。
如果你想在新帖子发布时得到通知,请在 Twitter 上关注我: Gabe Hollombe 。如果你对这篇文章有任何问题或反馈,这也是联系我的最好方式。
第 1 部分| 第 2 部分|第 3 部分 这是一个由三部分组成的系列文章的第一篇,向您展示如何在 AWS 上构建一个可扩展且高度可用的无服务器 web 应用程序,允许用户将照片上传到相册并与他人私下共享这些相册。
启动我们到目前为止所建立的
如果你想检查一个回购并启动我们到目前为止构建的应用程序,请在 GitHub 上检查这个回购并使用 blog-post-part-one 标签,链接如下:https://GitHub . com/gabehollombe-AWS/react-graph QL-amplify-blog-post/tree/blog-post-part-one。按照自述文件中的步骤配置和启动应用程序。
使用 React、GraphQL 和 AWS Amplify 构建您自己的多用户相册应用程序—第 2 部分,共 3 部分
添加 URL 路由、照片上传和相册详细信息视图
第一部分 |第二部分| 第三部分 这是一个由三部分组成的系列文章的第二篇,向您展示如何在 AWS 上构建一个可扩展的、高度可用的无服务器 web 应用程序,允许用户将照片上传到相册并与他人私下共享这些相册。
**注意:**自从这个系列的最初出版以来,我已经将这些内容改编成了一个可在线访问的自定进度的研讨会,网址:【https://amplify-workshop.go-aws.com/】
在第一部分中,我们启动了我们的应用程序,添加了身份验证,并集成了一个 GraphQL API,用于通过 web 前端创建相册记录,让我们列出相册名称并创建新的相册名称。
在第二部分中,我们将进行以下改进:
- 添加 URL 路由和视图,以便在相册列表和查看相册详细信息之间切换
- 使用 S3 将照片上传到相册,在云中自动生成缩略图,并将照片元数据存储在另一个 DynamoDB 表中,这样我们就可以将照片链接到相册
- 使用 GraphQL 模式中相册类型内的嵌套照片字段获取所选相册的所有照片
先决条件
在我们继续下面的步骤之前,我们还有一个要求。
安装 SAM CLI —在本文中,我们将使用 AWS 的一个工具来帮助打包和部署 AWS Lambda 函数,该工具名为 AWS 无服务器应用程序模型(SAM) 和 SAM CLI 。请遵循 SAM CLI 的安装说明,这也需要您安装 Docker(SAM 安装说明中提供了相关链接)。
添加路由和相册详细信息视图
首先,因为我们希望有两种模式——一个相册列表视图和一个相册细节视图——让我们使用 react-router-dom 和一些新组件为 React 应用程序添加一些简单的路由,以帮助加载相册的细节和呈现相册。
跑npm install --save react-router-dom
然后,在App.js
的顶部添加一些导入,创建一些新的组件来加载和呈现一个相册,并修改我们的应用程序组件来根据我们所处的路线呈现不同的组件。对src/App.js
进行以下更改。
// src/App.js
// 1\. NEW: Import the routing components
import {BrowserRouter as Router, Route, NavLink} from 'react-router-dom';
// 2\. NEW: Add a new query we can use to render an album's details
const GetAlbum = `query GetAlbum($id: ID!) {
getAlbum(id: $id) {
id
name
}
}
`;
// 3\. NEW: Create an AlbumDetailsLoader component
// to load the details for an album
class AlbumDetailsLoader extends React.Component {
render() {
return (
<Connect query={graphqlOperation(GetAlbum, { id: this.props.id })}>
{({ data, loading, errors }) => {
if (loading) { return <div>Loading...</div>; }
if (errors.length > 0) { return <div>{JSON.stringify(errors)}</div>; }
if (!data.getAlbum) return;
return <AlbumDetails album={data.getAlbum} />;
}}
</Connect>
);
}
}
// 4\. NEW: Create an AlbumDetails component
class AlbumDetails extends Component {
render() {
return (
<Segment>
<Header as='h3'>{this.props.album.name}</Header>
<p>TODO: Allow photo uploads</p>
<p>TODO: Show photos for this album</p>
</Segment>
)
}
}
// 5\. EDIT: Replace the App component's render() method
// with updated code to control which components
// render depending on what route we're on
class App extends Component {
// ...
// Leave other parts of the App component alone
// ...
// Replace the render() method with this version:
render() {
return (
<Router>
<Grid padded>
<Grid.Column>
<Route path="/" exact component={NewAlbum}/>
<Route path="/" exact component={AlbumsListLoader}/>
<Route
path="/albums/:albumId"
render={ () => <div><NavLink to='/'>Back to Albums list</NavLink></div> }
/>
<Route
path="/albums/:albumId"
render={ props => <AlbumDetailsLoader id={props.match.params.albumId}/> }
/>
</Grid.Column>
</Grid>
</Router>
);
}
}
我们的应用程序在这一点上看起来没有任何不同,但是如果我们修改 AlbumsList 组件,将相册名称呈现为遵循上面设置的路由路径的链接,我们应该能够点击并查看相册。当然,当我们查看一个相册的详细信息时,我们也需要一个链接来返回相册列表。让我们把这些都加进去。对src/App.js
进行以下更改:
// src/App.js
// 1\. EDIT: Replace the AlbumsList component's albumItems()
// with updated code to output the names as nav links
class AlbumsList extends React.Component {
// Replace the existing albumItems() with this new one:
albumItems() {
return this.props.albums.sort(makeComparator('name')).map(album =>
<List.Item key={album.id}>
<NavLink to={`/albums/${album.id}`}>{album.name}</NavLink>
</List.Item>
);
}
// ... the rest of the AlbumsList component remains unchanged
}
此时,如果您查看该应用程序,您会看到我们可以单击某个专辑的名称,然后我们将更改视图并查看该专辑的详细信息(此外,我们在顶部有一个链接,可以返回到我们的专辑列表)。当然,现在我们所有的 AlbumDetails 组件所做的是呈现专辑的名称,加上一些我们稍后会用到的待办事项。在我们添加上传照片到相册的功能之前,我们不会获取任何其他相册信息,所以接下来让我们来处理这个问题。
将照片上传添加到相册
我们需要一个地方来存储上传到我们相册的所有照片,亚马逊简单存储服务(S3)是一个很好的选择。首先,我们将使用 Amplify CLI 为我们的应用程序启用存储,这将在亚马逊 S3 上创建一个存储桶,并为其设置适当的权限,以便登录到我们应用程序的用户可以在不同的位置和权限对其进行读写。您可以点击了解更多关于存储模块的信息。
运行amplify add storage
,在提示符下选择“内容,可以选择为资源类别和桶名输入您自己的名称,并对其进行配置,以便只有经过身份验证的用户才能访问,并具有完全的读/写权限。然后运行amplify push
。以下是一些带有响应的示例输出:
$ amplify add storage
? Please select from one of the below mentioned services: Content (Images, audio, video, etc.)
? Please provide a friendly name for your resource that will be used to label this category in the project: photoalbumsstorage
? Please provide bucket name: <accept the default value>
? Who should have access: Auth users only
? What kind of access do you want for Authenticated users: read/write
$ amplify push
现在我们有了一个可以存储照片的 S3 存储桶,我们想创建一个 UI,让我们可以将照片上传到这个存储桶中进行存储。然后,我们需要跟踪该照片被上传到相册的意图,以便我们最终可以加载属于特定相册的所有照片。
让我们创建一个新的S3ImageUpload
组件,它将包含一个 HTML 文件输入元素,当用户选择一张照片时,它将触发一个事件处理程序。我们的上传事件处理程序将需要上传文件到 S3 与一些元数据注释它的目的地专辑。幸运的是, Amplify JS 存储模块让上传文件到 S3 变得非常容易。此外,我们需要为我们的应用程序引入一个新的依赖项——一种生成 UUIDs 的方法——因为我们需要确保上传到 S3 的文件具有唯一的名称(如果我们使用用户设备上的文件名,它们可能会冲突)。
运行npm install --save uuid
然后更新我们的src/App.js
文件,添加一些导入,创建一个S3ImageUpload
组件,并将S3ImageUpload
组件包含在AlbumDetails
组件中。对src/App.js
进行以下更改:
// src/App.js
// 1\. NEW: Add imports from uuid and semantic-ui-react
import {v4 as uuid} from 'uuid';
import { Form, Grid, Header, Input, List, Segment } from 'semantic-ui-react';
// 2\. EDIT: add an import of Storage from Amplify
import Amplify, { API, graphqlOperation, Storage } from 'aws-amplify';
// 3\. NEW: Create an S3ImageUpload component
class S3ImageUpload extends React.Component {
constructor(props) {
super(props);
this.state = { uploading: false }
}
onChange = async (e) => {
const file = e.target.files[0];
const fileName = uuid();
this.setState({uploading: true});
const result = await Storage.put(
fileName,
file,
{
customPrefix: { public: 'uploads/' },
metadata: { albumid: this.props.albumId }
}
);
console.log('Uploaded file: ', result);
this.setState({uploading: false});
}
render() {
return (
<div>
<Form.Button
onClick={() => document.getElementById('add-image-file-input').click()}
disabled={this.state.uploading}
icon='file image outline'
content={ this.state.uploading ? 'Uploading...' : 'Add Image' }
/>
<input
id='add-image-file-input'
type="file"
accept='image/*'
onChange={this.onChange}
style={{ display: 'none' }}
/>
</div>
);
}
}
// 4\. EDIT: Add the S3ImageUpload component
// to the AlbumDetails component
class AlbumDetails extends Component {
render() {
return (
<Segment>
<Header as='h3'>{this.props.album.name}</Header>
<S3ImageUpload albumId={this.props.album.id}/>
<p>TODO: Show photos for this album</p>
</Segment>
)
}
}
在这一点上没有太多要看的,但是你应该能够点击按钮,选择一个文件,并看到它改变为*‘Uploading…’*,然后再次切换回上传按钮。您还可以在 AWS web 控制台中手动浏览 S3 桶,查看文件是否正在上传。找到 bucket 名称最简单的方法是查看src/aws-exports.js
并找到为aws_user_files_s3_bucket
配置的值。在 S3 网络控制台中找到你的桶,然后在public/uploads
下的桶中查找。
在我们的新S3ImageUpload
组件中,有一些东西值得一提。它使用 AWS Amplify 的Storage.put
方法将文件上传到我们为应用程序配置的 S3 桶中。在这个 API 调用中,我们传递了一些额外的选项。
我们传入customPrefix: { public: 'uploads/' }
是因为我们想自动为每张图片制作缩略图。我们将通过在 S3 存储桶上添加一个触发器来完成这个任务,每当任何文件被添加到存储桶的uploads/
路径时,这个触发器将为我们触发一个缩略图创建功能。新的缩略图也将被添加到桶中,为了避免递归触发器循环,其中每个缩略图的创建都会导致函数再次触发,我们将我们的触发器限定为只对添加了关键字前缀uploads/
的文件执行。Amplify 知道使用我们的前缀,因为我们指定它用于应该公开访问的文件,这是Storage.put
的默认权限级别。
默认情况下,应用程序中的任何用户都可以访问(在 API 级别)所有文件,这有问题吗?不。这是可以接受的,因为我们对照片键使用了不可访问的 UUID,如果用户知道某个相册的 UUID,他们将只能检索该相册的照片列表。如果你去阅读所有的 Amplify 存储模块的 API(或者如果你熟悉底层的 S3 API),你可能会问“但是等等,用户可以只列出公共路径中的所有对象并看到所有的照片!”目前,你是对的,但我们稍后会处理这个问题,在我们的应用程序工作并采取额外的预防措施来进一步锁定它(通过将相册列表限制到某些用户名,并防止用户在桶中列出项目)。
我们传入metadata: { albumid: this.props.albumId }
,因为我们要让我们的缩略图S3λ触发器函数在完成缩略图制作后,负责将关于这张照片的信息添加到我们的数据存储中,并且该函数需要知道照片上传到了哪个相册。例如,我们可以将相册 ID 作为前缀或后缀放在 photo key 中,但我认为元数据方法更好。毕竟这个是关于照片的元数据吧?
生成缩略图
基于 AWS 构建的一个好处是服务之间的集成。在我们的例子中,我们希望有一些服务器端代码为我们上传的每张图片生成缩略图。在 AWS 上,我们可以通过创建一个 AWS Lambda 函数并设置我们的 S3 桶来在新对象进入桶时触发该函数,以无服务器的方式实现这一点。AWS Lambda 允许你用多种编程语言创作函数,但由于我们目前为止在这个应用程序中只使用 JavaScript,所以让我们留在 JS 领域,创建一个将在 Node.js 8.10 上运行的 Lambda 函数。有很多选项可以帮助您在 AWS Lambda 上创作和部署函数。对于本教程,我们将使用 AWS 无服务器应用程序模型(SAM) 和 SAM CLI 。
SAM: The AWS Serverless Application Model
首先,遵循 SAM CLI 的[安装说明。
然后,在我们的photo-albums
项目目录中,使用 SAM CLI 引导一个新的 Node.js 8.10 函数。](https://github.com/awslabs/aws-sam-cli/blob/develop/docs/installation.rst)
运行sam init --runtime nodejs8.10 --name photo_processor
这将在photo_processor/hello_world
中创建一个示例函数。让我们把photo_processor/hello_world
改名为更合适的名字:photo_processor/src
。此外,虽然我是单元测试的粉丝,但我们不打算在本教程中编写任何单元测试,所以删除photo_processor/src/tests
目录,因为一旦我们编写了照片处理代码,那里的占位符测试就无关紧要了。现在是时候开始写一些代码来响应来自 S3 桶的事件和调整我们的上传了。在撰写本文时,在 Node.js 中执行照片大小调整的一个流行选择是 Sharp ,因此下面是我们的 AWS Lambda 函数,我们应该将它放在photo_processor/src/app.js
中。
当我们在这里使用 S3 API 时,我们还将包含处理从上传文件中获取元数据所需的代码,因为在本文后面将照片信息存储到 DynamoDB 时,我们将需要这些信息。
将此内容粘贴到photo_processor/src/app.js
:
// photo_processor/src/app.js
const AWS = require('aws-sdk');
const S3 = new AWS.S3({ signatureVersion: 'v4' });
// Note: Sharp requires native extensions. To get sharp to install from NPM in a
// way that's compatible with the Amazon Linux environment that AWS runs Node.js
// on, we can use this command: docker run -v "$PWD":/var/task lambci/lambda:build-nodejs8.10 npm install
const Sharp = require('sharp');
// We'll expect these environment variables to be defined when the Lambda function is deployed
const THUMBNAIL_WIDTH = parseInt(process.env.THUMBNAIL_WIDTH, 10);
const THUMBNAIL_HEIGHT = parseInt(process.env.THUMBNAIL_HEIGHT, 10);
function thumbnailKey(filename) {
return `public/resized/${filename}`;
}
function fullsizeKey(filename) {
return `public/${filename}`;
}
function makeThumbnail(photo) {
return Sharp(photo).resize(THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT).toBuffer();
}
async function resize(bucketName, key) {
const originalPhoto = (await S3.getObject({ Bucket: bucketName, Key: key }).promise()).Body;
const originalPhotoName = key.replace('uploads/', '');
const originalPhotoDimensions = await Sharp(originalPhoto).metadata();
const thumbnail = await makeThumbnail(originalPhoto);
await Promise.all([
S3.putObject({
Body: thumbnail,
Bucket: bucketName,
Key: thumbnailKey(originalPhotoName),
}).promise(),
S3.copyObject({
Bucket: bucketName,
CopySource: bucketName + '/' + key,
Key: fullsizeKey(originalPhotoName),
}).promise(),
]);
await S3.deleteObject({
Bucket: bucketName,
Key: key
}).promise();
return {
photoId: originalPhotoName,
thumbnail: {
key: thumbnailKey(originalPhotoName),
width: THUMBNAIL_WIDTH,
height: THUMBNAIL_HEIGHT
},
fullsize: {
key: fullsizeKey(originalPhotoName),
width: originalPhotoDimensions.width,
height: originalPhotoDimensions.height
}
};
};
async function processRecord(record) {
const bucketName = record.s3.bucket.name;
const key = record.s3.object.key;
if (key.indexOf('uploads') != 0) return;
return await resize(bucketName, key);
}
exports.lambda_handler = async (event, context, callback) => {
try {
event.Records.forEach(processRecord);
callback(null, { status: 'Photo Processed' });
}
catch (err) {
console.error(err);
callback(err);
}
};
接下来,用下面的文件替换自动生成的 package.json 文件,这样我们就可以跟踪我们对 Sharp 的依赖。将以下内容粘贴到photo_processor/src/package.json
:
{
"name": "photo_processor",
"version": "1.0.0",
"description": "Our Photo Album uploads processor",
"main": "src/app.js",
"dependencies": {
"sharp": "^0.20.2"
}
}
最后,安装我们函数的依赖项。我们使用的是 Sharp,它需要本地扩展作为其安装的一部分,因此我们需要让 NPM 在亚马逊 Linux 环境中安装 Sharp,因为 AWS Lambda 将在该操作系统上运行我们的功能。幸运的是,有一个 docker 图像可以使这变得容易。
从 photo_processor/src 目录中,运行docker run -v "$PWD":/var/task lambci/lambda:build-nodejs8.10 npm install
,它会处理我们需要的一切,以便将我们的功能打包并部署到云中的 AWS Lambda。
打包和部署 Lambda 函数
SAM CLI 有助于引导 Lambda 函数(我们在上面已经做过了),它还可以负责打包和部署 Lambda 函数。当我们引导我们的函数时,SAM CLI 还生成了一个 SAM 模板文件(YAML 格式),它将被预处理成 AWS CloudFormation 模板文件。生成的 template.yml 定义了一个 Lambda 函数,该函数在响应 HTTP 请求时被触发。
创建 SAM 模板文件
在我们的例子中,我们想要定义一个 Lambda 函数,它有权限在我们的存储桶上工作并向 Amazon CloudWatch 写入日志。我们不需要设置 HTTP 端点触发器,但是我们希望包含调整大小函数所期望的缩略图宽度和高度环境变量。此外,由于我们的存储桶是使用不同的云形成模板(通过 Amplify CLI)创建的,我们将配置该模板,以期望我们将存储桶的 Amazon 资源名称作为参数传入,以便我们可以设置适当的权限。下面的
是一个负责这一切的 SAM template.yml
文件。用以下内容替换photo_processor/template.yml
的内容:
# photo_processor/template.yml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
photo_processor
Sample SAM Template for photo_processor
Parameters:
S3UserfilesBucketArn:
Type: String
Globals:
Function:
Timeout: 10
Resources:
PhotoProcessorFunctionIamRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
-
Effect: Allow
Principal:
Service: [lambda.amazonaws.com]
Action: ["sts:AssumeRole"]
ManagedPolicyArns: ["arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]
Path: "/"
Policies:
-
PolicyName: "AllPrivsForPhotoAlbumUserfilesBucket"
PolicyDocument:
Version: "2012-10-17"
Statement:
-
Effect: "Allow"
Action: "s3:*"
Resource: !Join ["/", [!Ref S3UserfilesBucketArn, "*"]]
PhotoProcessorFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: src/
Handler: app.lambda_handler
Role: !GetAtt PhotoProcessorFunctionIamRole.Arn
Runtime: nodejs8.10
Environment:
Variables:
THUMBNAIL_WIDTH: 80
THUMBNAIL_HEIGHT: 80
BucketPermission:
Type: AWS::Lambda::Permission
Properties:
Action: 'lambda:InvokeFunction'
FunctionName: !Ref PhotoProcessorFunction
Principal: s3.amazonaws.com
SourceAccount: !Ref "AWS::AccountId"
SourceArn: !Ref S3UserfilesBucketArn
Outputs:
PhotoProcessorFunction:
Description: "Photo Processor Lambda Function ARN"
Value: !GetAtt PhotoProcessorFunction.Arn
PhotoProcessorFunctionIamRole:
Description: "IAM Role created for Photo Processor function"
Value: !GetAtt PhotoProcessorFunctionIamRole.Arn
打包 SAM 模板文件
准备好 SAM 模板后,您需要让 SAM 打包您的 Lambda 函数,使其压缩函数及其依赖项,生成最终的 CloudFormation 模板,并将 CloudFormation 模板上传到 S3 存储桶(所有 CloudFormation 模板必须存在于 S3 存储桶中才能执行)。
作为一次性操作,创建一个 S3 存储桶来托管这个(以及任何未来的云信息)模板,注意创建具有唯一名称的存储桶,并指定 React 应用程序的src/aws-exports.js
文件中引用的相同区域。运行以下命令(使用适当的替换):
export MY_UNIQUE_CLOUDFORMATION_TEMPLATES_BUCKET_NAME=PickAUniqueNameHere
aws s3 mb s3://$MY_UNIQUE_CLOUDFORMATION_TEMPLATES_BUCKET_NAME --region us-east-1
部署 SAM 模板文件
现在,我们将使用 SAM CLI 将我们的 Lambda 函数打包并部署到云中。从photo_processor
目录中,运行:
sam package \
--template-file template.yaml \
--output-template-file packaged.yml \
--s3-bucket $MY_UNIQUE_CLOUDFORMATION_TEMPLATES_BUCKET_NAME
最后,是时候部署 Lambda 函数了。前面的命令在template.yml
文件旁边创建了一个packaged.yml
函数,并上传了一个 lambda 函数及其依赖项的 zip 文件。我们将在部署命令中引用它,但我们还需要传入一个参数来告诉 CloudFormation 我们的应用程序用于文件存储的 S3 存储桶的 ARN。在 React 应用程序的src/aws-exports.js
文件中查找aws_user_files_s3_bucket
值,并在下面替换它。
在photo_processor
目录中,运行(适当替换S3UserfilesBucketArn
):
export MY_AWS_USERFILES_S3_BUCKET_ARN=arn:aws:s3:::my-aws-user-files-s3-bucket-name
sam deploy \
--template-file packaged.yml \
--stack-name PhotoAlbumsProcessorSAMStack \
--capabilities CAPABILITY_IAM \
--parameter-overrides \
--region us-east-1 \
S3UserfilesBucketArn=$MY_AWS_USERFILES_S3_BUCKET_ARN
经过短暂的等待,我们的 Lambda 函数应该已经部署好了,可以连接到 S3 来调整照片的大小了!如果你愿意,你可以在部署无服务器应用文档中阅读更多关于用 AWS SAM 打包和部署 Lambda 函数的信息。
当照片上传到 S3 时调用我们的 Lambda 函数
现在我们的照片大小调整 Lambda 函数已经部署好了,我们需要向它添加一个事件源,这样每当有新照片上传到我们的存储桶时,它就会被调用。
Adding S3 uploads as a trigger for our photo_processor Lambda function
以下是如何连接 S3 桶上传触发我们的 Lambda:
- 打开 AWS web 控制台,确保您位于我们的应用程序正在使用的同一区域,并加载 Lambda 控制台页面
- 找到我们的 Lambda 函数的名称,其中应该有“PhotoProcessorFunction”(如果您有很多函数,可以使用搜索框缩小函数列表),然后单击该函数以查看和管理其配置
- 在页面顶部的设计器部分,从左侧的“添加触发器”列表中单击 S3
- 在出现的“配置触发器”部分:
a .选择您的存储桶的名称(您可以在src/aws-exports.js
文件中查找)
b .选择上传事件类型
c .输入“上传/”作为前缀
d .单击“添加” - 点击右上角的橙色“保存”按钮
完成后,每当新照片出现在前缀为uploads/
的 S3 桶中时,就应该调用照片大小调整 Lambda 函数。您可以通过使用相册详细信息 web 界面将新照片上传到相册来检查事情是否正常,然后使用 S3 web 控制台浏览存储桶的内容;在public/
和public/resized/
找一张同名的照片。
将照片元数据存储在 DynamoDB 中
在显示相册中的所有照片之前,我们的最后一步是向 DynamoDB 中的一个表添加一个新条目,其中包含关于照片的元数据。我们在第一部分中定义的 GraphQL 模式描述了一个连接到Album
的Photo
类型。如果我们将新项目放入我们的 AppSync Photo 的 datasource 中描述的表中,当我们试图通过 GraphQL 查询获取相册的嵌套照片时,该信息将是可用的。为了简单起见,我们将添加现有的photo_processor
Lambda 函数,而不是创建另一个函数。我们需要为插入到 Dynamo 中的每张照片生成一个唯一的 ID,所以让我们引入另一个包。从photo_processor/src
目录,运行:npm install --save uuid
由于 DynamoDB 文档客户端类的存在,从 JavaScript 和 AWS JS SDK 使用 DynamoDB 变得非常容易。对photo_processor/app.js
进行如下更改:
// photo_processor/app.js
// 1\. NEW: Import the DynamoDB DocumentClient and the uuid module
const DynamoDBDocClient = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});
const uuidv4 = require('uuid/v4');
// 2\. NEW: Extract the name of the photos table
// from an environment variable (we'll set this value via
// our SAM template below...)
const DYNAMODB_PHOTOS_TABLE_NAME = process.env.DYNAMODB_PHOTOS_TABLE_ARN.split('/')[1];
// 3\. NEW: Add a new function to handle putting
// our new Photo info into DynamoDB
function storePhotoInfo(item) {
const params = {
Item: item,
TableName: DYNAMODB_PHOTOS_TABLE_NAME
};
return DynamoDBDocClient.put(params).promise();
}
// 4\. NEW: Add a new function to get the metadata for a photo
async function getMetadata(bucketName, key) {
const headResult = await S3.headObject({Bucket: bucketName, Key: key }).promise();
return headResult.Metadata;
}
// 5\. EDIT: Replace processRecord() with this definition,
// which passes the metadata and the sizes info
// to storePhotoInfo().
//
// We'll also add a createdAt property to our photo items
// which will be helpful when we get around to
// paginating photos in date order.
async function processRecord(record) {
const bucketName = record.s3.bucket.name;
const key = record.s3.object.key;
if (key.indexOf('uploads') != 0) return;
const metadata = await getMetadata(bucketName, key);
const sizes = await resize(bucketName, key);
const id = uuidv4();
const item = {
id: id,
owner: metadata.owner,
photoAlbumId: metadata.albumid,
bucket: bucketName,
thumbnail: sizes.thumbnail,
fullsize: sizes.fullsize,
createdAt: new Date().getTime()
}
await storePhotoInfo(item);
}
更新 SAM template.yml
文件,添加我们在上面介绍的新环境变量,并添加一个新的策略,允许我们的 Lambda 函数写入照片表:
# photo_processor/template.yml
# ...
Parameters:
# ...
# 1\. NEW: Add another parameter
DynamoDBPhotosTableArn:
Type: String
# ...
Resources:
# ....
PhotoProcessorFunctionIamRole:
Properties:
# ...
Policies:
# ...
# 2\. NEW: Add another policy
-
PolicyName: "AllPrivsForDynamo"
PolicyDocument:
Version: "2012-10-17"
Statement:
-
Effect: "Allow"
Action: "dynamodb:*"
Resource:
- !Ref DynamoDBPhotosTableArn
# ...
PhotoProcessorFunction:
# ...
Environment:
Variables:
# ...
# 3\. NEW: add a new environment
# variable referencing our param
DYNAMODB_PHOTOS_TABLE_ARN: !Ref DynamoDBPhotosTableArn
完成这些更改后,我们的photo_processor
Lambda 现在应该为每张上传的照片创建一个缩略图,并在我们的 photos DynamoDB 表中创建一个新记录,该记录包含让我们的前端很好地呈现相册所需的数据。
现在是时候部署 Lambda 函数的更新版本了(重复我们之前运行的相同的 sam 包和 sam deploy 命令)。假设之前导出的变量仍然存在(您在同一个终端会话中),我们只需要为 DynamoDB 照片表 ARN 定义一个新的环境变量。
Viewing the data sources for our AppSync AP
要查找正确的照片表,ARN:
- 转到 AWS AppSync web 控制台中的 API
- 单击“数据源”
- 找到 PhotoTable 条目,单击表名的链接,转到 DynamoDB web 控制台
- 复制 DynamoDB 表格概述选项卡底部的 ARN
找到 ARN 后,将其替换到下面的 export 语句中,并在 SAM 命令使用的同一终端窗口中运行以下命令(因此我们已经设置的其他环境变量仍然是定义的)。注意:不要改变下面的stack-name
参数;我们希望它与 Amplify 创建的堆栈有所不同。
从photo_processor
目录中,运行:
# Fill in the value below with the ARN for your DynamoDB Photos table
export MY_DYNAMODB_PHOTOS_TABLE_ARN=my-dynamo-db-photos-table-arn
sam package \
--template-file template.yaml \
--output-template-file packaged.yml \
--s3-bucket $MY_UNIQUE_CLOUDFORMATION_TEMPLATES_BUCKET_NAME
sam deploy \
--template-file packaged.yml \
--stack-name PhotoAlbumsProcessorSAMStack \
--capabilities CAPABILITY_IAM \
--region us-east-1 \
--parameter-overrides \
S3UserfilesBucketArn=$MY_AWS_USERFILES_S3_BUCKET_ARN \
DynamoDBPhotosTableArn=$MY_DYNAMODB_PHOTOS_TABLE_ARN
从现在开始,我们从应用程序上传的任何新照片都应该在 photos DynamoDB 表中有一行。尝试从前端进行另一次上传,在下一部分,我们将看看是否可以通过 GraphQL 获取照片信息。
为相册获取照片
我们的 GraphQL 模式已经表明一个Album
中有一个Photos
字段(类型为[Photo]
)。我们已经注意到向保存照片信息的 DynamoDB 表写入行,通过每张照片上传期间提供的albumid
元数据将每个条目链接到一个相册。Amplify CLI 已经编写了一个解析器来正确查找给定相册的相关照片。所以我们应该能够向 GraphQL 请求属于某个特定相册的照片。让我们试一试。
Querying our AWS AppSync API in the web console
回到 AWS AppSync web 控制台,转到查询部分并运行以下查询:
query AllAlbums {
listAlbums {
items {
id
name
photos {
items {
id
bucket
thumbnail {
width
height
key
}
}
}
}
}
}
如果自从我们上次部署 Lambda 以来,你在相册中添加了任何照片,你应该会看到一些相册也包含了照片!剩下的就是在我们的 UI 中显示这些图像。
渲染相册中的所有照片
为了渲染每张照片,我们可以利用 AWS Amplify JS 库提供的另一个 React 组件:S3Image
(你可以在这里阅读关于这个组件的更多信息)。让我们更新我们的GetAlbum
查询来获取相册的照片,创建一个新的PhotosList
组件,并在我们的AlbumDetails
组件中使用它。对src/App.js
进行如下修改:
// src/App.js
// 1\. NEW: Add an import of S3Image
// and add Divider to imports from semantic-ui-react
import { S3Image } from 'aws-amplify-react';
import { Divider, Form, Grid, Header, Input, List, Segment } from 'semantic-ui-react';
// 2\. EDIT: Update our GetAlbum query to include
// fetching thumbnail info for each photo
const GetAlbum = `query GetAlbum($id: ID!) {
getAlbum(id: $id) {
id
name
photos {
items {
thumbnail {
width
height
key
}
}
nextToken
}
}
}
`;
// 3\. NEW: Create a new PhotosList component
class PhotosList extends React.Component {
photoItems() {
return this.props.photos.map(photo =>
<S3Image
key={photo.thumbnail.key}
imgKey={photo.thumbnail.key.replace('public/', '')}
style={{display: 'inline-block', 'paddingRight': '5px'}}
/>
);
}
render() {
return (
<div>
<Divider hidden />
{this.photoItems()}
</div>
);
}
}
// 4\. EDIT: Add PhotosList to AlbumDetail's render()
class AlbumDetails extends Component {
render() {
return (
<Segment>
<Header as='h3'>{this.props.album.name}</Header>
<S3ImageUpload albumId={this.props.album.id}/>
<PhotosList photos={this.props.album.photos.items} />
</Segment>
)
}
}
如果你现在刷新你的应用,你应该会看到为你正在查看的相册加载的照片。呜!如果你添加了新的照片,等待 Lambda 函数被 S3 调用,然后刷新,你的新照片应该也可以看到了。
Viewing an album after uploading some photos
此时,关于我们的照片列表体验,有三件事值得讨论:
- 为了看到新照片而刷新相册视图并不是一个很好的用户体验,但是这篇文章已经介绍了相当多的内容,下一篇文章还会介绍更多内容。简而言之,处理这个问题的方法是让我们的 photo_processor Lambda 函数触发 API 上的一个突变,并让 AlbumDetailsLoader 组件订阅这个突变。然而,因为我们使用 Amazon Cognito 用户池身份验证,让我们的 Lambda 函数触发这种变异的唯一方法是创建一种“系统”用户(通过正常的用户注册和确认过程),安全地存储该用户的凭证(可能在 AWS Secrets Manager 中),并在我们的 Lambda 中以该用户的身份向我们的 AppSync API 进行身份验证,以便触发变异。
- 如果一个相册中有很多照片,我们的 API 不会在第一个
getAlbum
查询中返回所有照片。相反,我们需要增强我们的AlbumDetails
组件,以允许用户对旧照片进行分页,按需加载更多内容。我们将在下一篇文章中讨论这个问题。 - 我们目前只渲染每张照片的缩略图。当你点击一张照片时,显示它的完整尺寸可能会很好。我将把这些改进留给读者作为练习。🙂
接下来
在这篇文章中,我们已经讨论了很多内容。我们向 React 应用程序添加了路由,创建了用于加载和呈现相册细节、将照片上传到相册以及在相册中显示照片的组件。我们制作了一个 AWS Lambda 函数来为我们的照片自动创建缩略图,并且我们学习了如何使用 SAM CLI 打包和部署 Lambda。
在本系列的下一篇(也是最后一篇)文章中,我们将改进照片的列表和分页体验,为我们的相册添加细粒度的安全性,并且我们将了解如何将我们的应用部署到 CDN,以在全球范围内加快加载速度。
如果你想在新帖子发布时得到通知,请在 Twitter 上关注我: Gabe Hollombe 。如果你对这篇文章有任何问题或反馈,这也是联系我的最好方式。
第一部分 |第二部分| 第三部分 这是一个由三部分组成的系列文章的第二篇,向您展示如何在 AWS 上构建一个可扩展的、高度可用的无服务器 web 应用程序,允许用户将照片上传到相册并与他人私下共享这些相册。
启动我们到目前为止所建立的
如果你想检查一个回购并启动我们到目前为止构建的应用程序,请在 GitHub 上检查这个回购并使用 blog-post-part-one 标签,链接如下:https://GitHub . com/gabehollombe-AWS/react-graph QL-amplify-blog-post/tree/blog-post-part-two。按照自述文件中的步骤配置和启动应用程序。
从亚马逊-空军案例研究中学习云技术
原文:https://acloudguru.com/blog/business/build-your-own-unicorns
假设你经营一家公司。你有做 X 的工人,但是需要做 y 的工人,你该怎么办?
传统的策略是先解雇后雇佣。打击士气的裁员或代价高昂的买断一度似乎是不好玩但不可避免的必要重置。
但是,考虑到在当今极度紧张的劳动力市场上招募新人才的麻烦,许多组织正在另一种选择中寻找价值。这也是让雇主和员工受益的一项举措:对内部员工进行再培训。
找到一只独角兽可能是不可能的——但是制造一只呢?这也许并不牵强。(参见: CRISPR 。另请参阅:重新技能。)
再培训可以让公司轻松地将员工与他们的问题联系起来。这可能是亚马逊、美国空军和其他大公司正在采取重大举措重新培训现有员工的一个原因,正如 Military.com 和的华尔街日报和所详述的。
亚马逊的方法包括一个为期 16 周的培训课程,将员工提升到技能树的几个分支——从仓库到数据中心。此举使员工收入翻倍(对员工来说是一个胜利),同时让数据技术人员更快入职(对企业来说是一个胜利)。
与此同时,美国空军网络司令部也看到了类似的好处,即让那些背景看似不太可能的人重新获得技能。工作人员报告说,没有计算机背景的维修工人是警队中最熟练的网络操作员。(这是一种善意狩猎的情况,但他们没有等待某个神秘的蓝领天才来解决他们的问题,而是主动训练他。)
空军的案例也显示了一个组织如何将潜在的削减需求转化为进步的机会。当一种新型号的飞机削减了维护所需的人员数量时,国民警卫队使用重新技能调整工人的技能,以建立其网络部队。
但是如果你不是,比如说,世界上最大的互联网公司或者军队的一个分支呢?你和你的组织如何充分利用再培训?
我可以告诉你,但是我得重新杀了你
再培训对雇员和雇主都有利,但是需要打破旧的思维方式。第一步是进入一种重新获得技能的心态。了解好处,并向所有愿意倾听的人宣扬。
对于企业来说,对高科技员工的需求已经超过了供给。你可以用你所需要的技能来改变那些已经知道公司来龙去脉的值得信任的团队成员,而不是引诱那些万里挑一的候选人。
对员工来说,再培训意味着一条高于单调的中层管理的职业发展道路。这意味着公司能更好地留住员工。“等等,”你可能会说。“他们不会只是接受训练然后逃跑吗?”也许是,但很可能不是。事实上,投资和职业支持更有可能得到赞赏和重新的忠诚。根据 LinkedIn 的 2018 年劳动力学习报告,94%的员工表示,如果一家公司投资他们的职业生涯,他们会在这家公司呆更长时间。随着亚马逊(Amazon)和摩根大通(JPMorgan)等商业巨头加快再培训力度,可以有把握地认为这对他们来说并不可怕。
对公司来说,不是因为裁员或辞职而失去员工会很快增加。根据 LinkedIn 的数据,每个前雇员都要付出数月的工作效率损失的代价,通常在 1-4 个月左右。然后是新来的女孩或男孩学习的几周时间。
对于员工来说,再培训提供了一个探索新可能性的机会。意识到你不应该仅仅根据你在 98 年参加的在线测验来选择你的职业?重新获得技能是一个新方向的机会,也是磨练现有技能的机会。
该公司还受益于避免裁员——保持生产力、员工士气和 Glassdoor 评级不变。对于员工来说,不被解雇可能比被解雇更好。
偿还账单的能力
当你准备好重新获得技能时,你可以从寻求改变的个人开始,或者将整个团队转变为业务转型,而不解散团队。无论你怎么做,都要找到合适的工具来支持它。
对于围绕云技能集的再培训,云专家有专门为员工和雇主设计的工具。从为期数周的云就绪速成课程到引导学生从初学者到专业人员并包括认证的课程,快速提升动力。所有课程都设计得非常吸引人,教授成人实际学习的方式。
准备好建立你的独角兽舰队了吗?
我们为您提供提升团队技能、建立云文化、为未来做好业务准备以及充分利用每份许可证所需的一切。
构建无服务器的 Kafka 数据管道
原文:https://acloudguru.com/blog/engineering/building-a-serverless-kafka-data-pipeline
无服务器服务允许我们构建应用程序,而不必担心底层基础设施。就 Apache Kafka 而言,这允许开发人员避免配置、扩展和管理其集群的资源利用。在这篇文章中,我将使用亚马逊 MSK 无服务器集群创建一个无服务器 Kafka 集群,并展示如何创建无服务器生产者和消费者。
加速您的职业发展
从 ACG 开始通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室改变你的职业生涯。
如何启动无服务器 Kafka 集群
Apache Kafka 是一个分布式事件存储和流处理平台。因为它具有高度的可伸缩性和弹性,所以它提供了一种将数据处理与源和目标分离的机制。
Kafka 可以根据您的工作负载进行定制,这会带来运营开销。使用无服务器 Kafka,代价是您失去了配置集群容量的灵活性,但您获得了通过单一界面使用 Kafka 的能力,该界面只为客户端提供一个端点。
要开始使用 AWS,您可以从亚马逊 MSK 控制台页面创建一个集群。
有了无服务器,就不用担心配置了。您只需继续操作,几分钟内就可以设置好集群。
当您不知道需要处理多少数据时,入口的默认选项 200 Mib/s 和 400 Mib/s 非常适合 Kafka 工作负载的初学者。如果您的工作负载增加,并且无服务器集群无法满足默认的写/读吞吐量,您可以探索使用托管的 AWS Kafka 集群,它提供了针对您的工作负载调整集群的灵活性。
集群启动后,您可以在控制台的 properties 选项卡中查看客户机所需的 API 端点。
有关设置集群的更多信息,请查看官方文档。
创建无服务器 Kafka 客户端
一旦集群启动,我们就可以创建 Kafka 客户端,将数据发送到集群,并从集群中进行消费。在本节中,我将解释如何:
- 为 Lambda 函数设置所需的 IAM 权限
- 为 Lambda 函数构建一个 Docker 映像
- 配置 Lambda 函数以与无服务器 Kafka 集群通信
设置权限
目前,与集群通信需要基于 IAM 的身份验证。以下是可用于客户端的示例策略。确保用您的值替换REGION
、Account-ID
和CLUSTER_NAME
。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kafka-cluster:Connect",
"kafka-cluster:AlterCluster",
"kafka-cluster:DescribeCluster"
],
"Resource": [
"arn:aws:kafka:REGION:Account-ID:cluster/CLUSTER_NAME/*"
]
},
{
"Effect": "Allow",
"Action": [
"kafka-cluster:*Topic*",
"kafka-cluster:WriteData",
"kafka-cluster:ReadData"
],
"Resource": [
"arn:aws:kafka:REGION:Account-ID:topic/CLUSTER_NAME/*"
]
},
{
"Effect": "Allow",
"Action": [
"kafka-cluster:AlterGroup",
"kafka-cluster:DescribeGroup"
],
"Resource": [
"arn:aws:kafka:REGION:Account-ID:group/CLUSTER_NAME/*"
]
}
]
}
接下来,我们可以为 Lambda 函数创建一个新角色,并将上面的策略附加到该角色。
此外,该角色将需要 AWSLambdaVPCAccessExecutionRole 策略,因为该功能需要部署在与无服务器集群相同的 VPC 中。
构建 Docker 图像
对于我们的 Lambda 函数,我们将使用一个定制容器,它具有连接到 Kafka 集群所需的所有先决条件。下面是一个可以用来构建 Kafka 客户端 Lambda 函数的 Dockerfile 示例。查看底部的参考资料部分,获取handler.py
和client.properties
文件。
# Lambda base image
FROM public.ecr.aws/lambda/python:3.8
# Install Kafka prereqs
RUN yum -y install java-11 wget tar
RUN wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.12-2.8.1.tgz
RUN tar -xzf kafka_2.12-2.8.1.tgz
RUN wget https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.1/aws-msk-iam-auth-1.1.1-all.jar
RUN mv aws-msk-iam-auth-1.1.1-all.jar ${LAMBDA_TASK_ROOT}/kafka_2.12-2.8.1/libs
COPY ./client.properties ${LAMBDA_TASK_ROOT}
# Remove tgz
RUN rm kafka_2.12-2.8.1.tgz
# Lambda code
COPY handler.py ${LAMBDA_TASK_ROOT}
# Run handler
CMD ["handler.action"]
按照这里的指示将你的图片推送到亚马逊弹性容器注册处 (ECR)。一旦你的图像在 ECR 中,你可以使用容器图像创建一个 Lambda 函数。创建函数后,我们需要更新一些设置。
配置 Lambda 功能
最后,我们需要配置 Lambda 函数,以便它可以与集群交互。对于基本设置,我们需要将内存增加到 1024 MB,超时时间增加到 1 分钟,并使用我们上面创建的 IAM 角色。
接下来,我们需要确保 Lambda 函数与 MSK 集群具有相同的 VPC、子网和安全组。
最后,我们需要从“查看客户端信息”按钮添加设置为 MSK 集群端点的KAFKA_ENDPOINT
环境变量。
这样,我们就可以开始生产和消费数据了。
生产和消费数据
使用 Lambda,我们可以通过控制台中的“test”选项卡发送测试事件,以验证我们的容器映像正在工作。为了测试 produce 函数,我们可以将这个简单的有效载荷发送到my_topic
。
{
"action": "produce",
"topic": "my_topic",
}
生产者代码只是使用样本数据,通过传入的参数调用生产者脚本。
./kafka_2.12-2.8.1/bin/kafka-console-producer.sh
--topic {topic}
--bootstrap-server {KAFKA_ENDPOINT}
--producer.config client.properties < /tmp/test.json
一旦代码运行了来自 MSK 集群的指标,将需要几分钟来更新和指示数据已收到。可以从集群主页上的指标选项卡中查看指标。
然后,我们还可以通过更新有效负载来测试消费者代码。
{
"action": "consume",
"topic": "my_topic",
}
类似地,消费者代码使用传入的参数调用消费者脚本,并将输出写入示例文件。根据您的使用情况,可以将文件上传到 S3,或者对数据运行其他功能。超时参数用于确保脚本关闭,否则它会一直等待输入。
"./kafka_2.12-2.8.1/bin/kafka-console-consumer.sh
--topic {topic} --from-beginning
--bootstrap-server {KAFKA_ENDPOINT}
--consumer.config client.properties --timeout-ms 12000 > /tmp/output.json"
所有的代码都是可配置的,以适应您的用例,所以请随意使用它作为入门指南,并根据需要进行调整。
结论
在本帖中,我们讨论了如何通过以下方式成功设置开始扩展无服务器 Kafka 管道所需的基础设施:
- 启动无服务器 MSK 集群
- 创建 Kafka 客户端 Docker 映像
- 部署基于容器的 Lambda 函数
- 通过 Lambda 控制台生成和消费数据
这个解决方案可以扩展以适应不同的用例,比如使用 Eventbridge 定期从数据库中读取数据,或者将处理过的消息上传到 S3。Lambda 的灵活性与 Kafka 将数据处理从源和目标解耦的能力相结合,为无服务器数据管道提供了基础。
在 Twitter 上关注 Banjo,点击 ,@banjtheman 和 ,@AWSDevelopers 了解更多关于云计算和 AWS 的有用提示和技巧。
关于作者
Banjo 是 AWS 的一名高级开发人员,他在那里帮助开发人员对使用 AWS 感到兴奋。Banjo 热衷于将数据操作化,并围绕利用数据启动了一个播客、一个 meetup 和开源项目。当没有建造下一个大东西时,班卓喜欢通过玩视频游戏特别是 JRPGs 和探索他周围发生的事件来放松
资源
客户端属性
security.protocol=SASL_SSL
sasl.mechanism=AWS_MSK_IAM
sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
handle . py
这段代码为 Lambda 提供了一个模板,用于与无服务器 Kafka 集群进行交互。由于基于 IAM 的认证,标准的 Kafka Python 库不能与集群交互,所以我开发了一个 Java 脚本包装器来与集群交互。
import json
import logging
import os
import subprocess
from typing import List, Dict, Any
KAFKA_ENDPOINT = os.environ["KAFKA_ENDPOINT"]
def action(event, context) -> Dict[str, Any]:
"""
Purpose:
Entrypoint for action on cluster
Args:
event - data from lambda
context - context data from lambda
Returns:
response - JSON response
"""
body = {
"message": "Running Action",
"input": event,
}
curr_action = event["action"]
topic = event["topic"]
# If creating topic, can specify number of partitions
if "num_partitions" in event:
num_partitions = event["num_partitions"]
else:
num_partitions = 1
if curr_action == "produce":
response = produce(topic, num_partitions)
elif curr_action == "consume":
response = consume(topic)
else:
raise ValueError("Invalid action")
return response
def consume(topic: str) -> Dict[str, Any]:
"""
Purpose:
Consume data in a topic
Args:
topic - topic to consume on
Returns:
response - JSON response
"""
body = {
"message": "Data consumed!!!",
}
# TODO can play with the timeout, on how long you want to collect data
# TODO can also configure if you want to get data from the beginning or not
cmd = f"./kafka_2.12-2.8.1/bin/kafka-console-consumer.sh --topic {topic} --from-beginning --bootstrap-server {KAFKA_ENDPOINT} --consumer.config client.properties --timeout-ms 12000 > /tmp/output.json"
os.system(cmd)
# TODO
# Do what you need to do with output.json i.e upload to s3, run analytics, etc..
response = {"statusCode": 200, "body": json.dumps(body)}
logging.info(response)
return response
def produce(topic: str, num_partitions: int) -> Dict[str, Any]:
"""
Purpose:
Produce data in a topic
Args:
topic - topic to create
num_partitions - number of num_partitions to use
Returns:
response - JSON response
"""
# TODO would input your process to get data to send to topic
sample_data = '{"user":"Alice","number":105,"timestampInEpoch":1650880895}\n{"user":"Bob","number":5,"timestampInEpoch":1650880324}'
# Write sample output to temp file
write_to_file("/tmp/test.json", sample_data)
body = {
"message": "Data produced!!!",
"input": sample_data,
}
# Check if topic exists, if not create it
topics = list_topics()
if not topic in topics:
if not create_topic(topic, num_partitions):
raise RuntimeError("Topic not created")
produce_topic_command = f"./kafka_2.12-2.8.1/bin/kafka-console-producer.sh --topic {topic} --bootstrap-server {KAFKA_ENDPOINT} --producer.config client.properties < /tmp/test.json"
os.system(produce_topic_command)
response = {"statusCode": 200, "body": json.dumps(body)}
logging.info(response)
return response
def create_topic(topic:str, num_partitions:int) -> bool:
"""
Purpose:
Create topic in cluster
Args:
topic - topic to create
num_partitions - number of num_partitions to use
Returns:
bool - True if created, false if not
"""
cmd = f"./kafka_2.12-2.8.1/bin/kafka-topics.sh --bootstrap-server {KAFKA_ENDPOINT} --command-config client.properties --create --topic {topic} --partitions {num_partitions}"
output = subprocess.check_output(cmd, shell=True)
output_string = output.decode("utf-8")
outputs = output_string.split("\n")
# Check if created
success_string = f"Created topic {topic}."
if success_string in outputs:
logging.info(outputs)
return True
else:
logging.error(outputs)
return False
def list_topics() -> List[str]:
"""
Purpose:
List topics in cluster
Args:
N/A
Returns:
topics - list of topics
"""
cmd = f"./kafka_2.12-2.8.1/bin/kafka-topics.sh --list --bootstrap-server {KAFKA_ENDPOINT} --command-config client.properties"
# Run the command to get list of topics
output = subprocess.check_output(cmd, shell=True)
output_string = output.decode("utf-8")
topics = output_string.split("\n") # turn output to array
return topics
def test_produce_consume() -> None:
"""
Purpose:
Test producing and consuming
Args:
N/A
Returns:
N/A
"""
logging.info("testing produce")
response = produce("my_topic", 1)
logging.info(response)
logging.info("testing consume")
consume("my_topic")
logging.info("Done and Done")
def write_to_file(file_path: str, file_text: str) -> bool:
"""
Purpose:
Write text from a file
Args/Requests:
file_path: file path
file_text: Text of file
Return:
Status: True if written, False if failed
"""
try:
with open(file_path, "w") as myfile:
myfile.write(file_text)
return True
except Exception as error:
logging.error(error)
return False
if __name__ == "__main__":
loglevel = logging.INFO
logging.basicConfig(format="%(levelname)s: %(message)s", level=loglevel)
test_produce_consume()
如何构建无服务器多区域后端
原文:https://acloudguru.com/blog/engineering/building-a-serverless-multi-region-active-active-backend
该解决方案使用 DynamoDB 全局表、AWS Lambda、区域 API 网关和 Route53 路由策略构建
在之前的帖子中,我们探讨了可用性和可靠性以及在 AWS 上构建多区域、主动-主动架构的 T2 需求和方法。在这篇博文中,我将带您了解构建和部署一个无服务器多区域、主动-主动后端所需的步骤。
这真的让我大吃一惊——因为我可以在一篇博文中解释这一点,你应该可以在大约一个小时内部署一个全功能的后端。相比之下,几年前这需要更多的专业知识、工作、时间和金钱!
首先,让我们看看最终的解决方案,这样我们就知道接下来会发生什么。
将 DynamoDB 用于多区域数据库
这里给出的解决方案相当简单。它利用了 DynamoDB 全局表,后者提供了一个完全托管的多区域、多主数据库。
我们还将利用 AWS Lambda 实现业务逻辑和 API 网关中新的区域 API 端点。最后,我们的解决方案使用 AWS Route 53 路由策略在两个 AWS 区域之间动态路由流量。
Multi-Region, Active-Active Serverless Backend Solution Overview
我们开始吧!
步骤 1:在 DynamoDB 中创建一个全局表
请记住,DynamoDB 全局表由多个副本表组成,每个副本表对应一个选择区域*(目前支持 5 个区域)*,DynamoDB 将其视为一个单元。每个副本都有相同的表名和相同的主键模式。
要开始创建一个全局表,打开 DynamoDB 控制台创建一个带有主键的表。在我们的示例中,我们将使用 MyGlobalTable 和 item_id 作为主键,并单击 Create 。该表将作为全局表中的第一个副本表。
- 一旦创建了表格,选择全局表格选项卡
- 您会注意到创建了一个全局表
- 您应该启用 DynamoDB 流
- 点击启用流
注意 *:你会注意到一个弹出窗口,提到正在使用的流的视图类型——*新旧图像 。这仅仅意味着每当表中的数据被修改时,表中该项目的新旧图像都将被写入流中。当然,这个流用于跨区域复制数据。
然后,您可以将区域添加到您想要部署副本表的全局表中。
这将在您选择的区域启动表创建过程。几秒钟后,您应该能够看到新创建的全局表的不同区域。
您可以使用 AWS CLI 做同样的事情——事实上这是值得鼓励的!
然后,您可以使用以下代码测试全局表:
你注意到 DynamoDB 全局表创建的新字段了吗?跨区域复制过程添加了AWS:rep:update region和AWS:rep:update time属性,以便您可以跟踪项目的来源;这两个字段都可以被您应用程序使用,但是当然不应该被修改。
步骤 2:使用 AWS Lambda 和 API 网关创建后端
由于我们解决方案的这一部分利用了新的区域 API 端点,让我们先来看看。
API Gateway Regional Endpoints ARegional API Endpoints是一种新的端点类型,可以从部署了 REST API 的同一个 AWS 区域进行访问。当 API 请求来自与 REST API 相同的区域时,这可以改善请求延迟。
Regional API Endpoints for Amazon API Gateway
后端函数 出于演示目的,我们将创建三个函数;一个是将项目发布到 DynamoDB,一个是从 DynamoDB 获取项目,还有一个健康检查来确保后端是健康的。
注意:你注意到健康功能的极端复杂性了吗?我知道…这样做是为了以后我可以很容易地测试 Route53 中的故障转移机制。请比我聪明🙂
为了部署这些功能,让我们使用无服务器框架。为什么?自从它最初作为 大白鲨 推出以来,我一直在使用它,我喜欢它——就这么简单。您也可以使用 AWS 无服务器应用程序模型 SAM 做同样的事情。
使用无服务器框架部署 API 的模板如下:
注意:请确保将 serverless.yml 文件中的“xxxxxxxxxxxxx”替换为您之前创建 DynamoDB 表时使用的 AWS 帐户 ID。
将 API 部署在爱尔兰和法兰克福——或者您用于 DynamoDB 表的地区。
注意 :如果在部署中发现关于 endpointType 的错误,在 serverless.yml 文件中将其注释掉,然后重新部署。然后,您可以登录到 API 网关控制台,手动将端点类型转换为区域类型。
测试地区 API 由于我们之前已经在数据库中插入了一个“foobar”项目,我们可以尝试通过 rest API 访问它。
太好了!我们的项目可从两个地区。现在让我们创建一个新的。
太棒了——它起作用了。
步骤 3:创建自定义域名
接下来,让我们为这些区域 API 端点创建一个 Amazon API 网关自定义域名端点。为此,您必须拥有一个可在 Route 53 中使用的托管区域和域,以及一个用于特定域名的 SSL 证书。
现在,在您部署了 API Gateway 和 AWS Lambda 后端的每个地区,从AWS Certificate Manager(ACM)请求一个 SSL 证书。
在这些步骤结束时,它会要求您通过电子邮件或在 Route 53 DNS 配置中添加特殊记录集来验证您的请求。
一旦一切都得到验证,您就可以将每个区域中的 API 网关端点配置为拥有一个自定义域名。在这两个区域中,您实际上配置了相同的自定义域名。请注意,基本路径映射需要在根路径'/【T1]'和目标路径上,目标路径是之前部署的 API,还有 stage 变量—这里是 dev 。
注意:确保 name 字段中自定义域名的名称与您的域名匹配,否则它将无法工作(我使用的是 globe.adhorn.me)。
一旦您配置了新的自定义域名,就获取目标域名——在最后的步骤中需要它们。
步骤 4:在 53 号公路上增加健康检查
一旦您有两个或更多执行相同功能的资源,例如我们的多区域、主动-主动后端,您就可以使用 Route 53 的健康检查功能将流量仅路由到“健康”资源。
让我们使用之前部署的健康 API 来配置我们的健康检查。
对每个地区的运行状况检查 API 执行相同的操作。一旦完成,您应该能够在 Route 53 的健康检查中看到健康状态变为绿色。
步骤#5:使用 Route 53 在区域之间添加路由策略
现在是最后一部分——添加部署在法兰克福和爱尔兰的两个区域 API 之间的路由策略。
进入 Route 53 控制台,添加如下流量策略。在配置自定义域名时,使用 API Gateway 创建的目标域名,以便在策略中设置端点值。
最后,使用之前创建的流量策略创建策略记录 DNS 名称。
瞧!您的多区域、主动-主动后端已准备好接受测试!
它非常有效!
步骤 6:测试 53 号公路的故障转移功能
通过将 AWS Lambda 控制台中的环境变量 STATUS(在 eu-west-1 、Ireland 中)设置为 404 并保存,来修改精心制作的(讥讽…)***makehealthcheckcalls()***函数返回的值。
过一会儿,您应该会看到 53 号公路的健康检查状态从健康变为**不健康。**在理想情况下,您还会为检查创建一个警报。
现在,尝试在数据库中创建一系列项目。
正如您在下面看到的,所有创建的新项目都以 eu-central-1 地区为起点(法兰克福)——因此使用 53 号公路健康检查的故障转移功能按预期工作。
这是一个总结!
现在你可能想知道是不是这样——嗯,是的。这篇文章是一个介绍,给你新的想法,也许挑战一些旧的。
您可以做很多事情来改进这里介绍的解决方案,其中一些可以添加身份验证、监控、持续集成和部署,等等。
我没有包括身份验证的原因很简单,目前,Cognito 不支持跨多区域的用户池同步——所以需要手工构建。已经有一个+1 的论坛线程来支持该功能,所以如果你也想这样,请添加你的😉
在这篇文章中,我们已经构建了一个无服务器的多区域、主动-主动后端,由 DynamoDB 全局表、AWS Lambda 和 API Gateway 提供支持。我们还了解了如何使用 Route 53 在地区之间路由流量,同时支持故障转移机制。
我仍然对此感到惊讶——因为就在几年前,这还需要做更多的工作。回到 2012 年的平安夜,网飞流媒体服务经历了一次中断,这几乎是他们构建主动-主动多区域架构之旅的起点。那也是我爱上弹性架构的时候——我希望你也会受到启发,为了设计明天的解决方案,挑战目前可能的极限。
在接下来的一系列帖子中,我将谈论混沌工程并特别讨论为什么要练习打破东西。我将使用这里介绍的这种无服务器多区域、主动-主动体系结构作为实验的起点。敬请期待!
【更新】—我在这里发表了 VPC 对 AWS Lambda 和 DynamoDB 的支持!
想要更多的云朵吗?看看这些:
构建三节点 Kubernetes 集群:快速指南
原文:https://acloudguru.com/blog/engineering/building-a-three-node-kubernetes-cluster-quick-guide
构建 Kubernetes 集群有很多方法。其中之一是使用一种叫做 kubeadm 的工具。 Kubeadm 是创建第一个 Kubernetes 集群时的官方工具。由于启动和运行起来很容易,我想我应该整理一下使用 kubeadm 安装 Kubernetes 集群的快速指南!如果你已经是 Linux 学院的学生,在这里登录继续学习,或者你可以注册7 天免费试用开始学习。立即启动服务器 Linux Academy 云服务器是构建您的集群的最佳方式,因为如果您搞砸了,很容易删除服务器并在几分钟内重新创建它。因此,让我们去我们的 Linux 学院云操场并启动一些服务器。从 Linux academy 导航栏中选择云服务器,然后选择游乐场。
Finding the Linux Academy Cloud Playground Servers
让我们启动三台服务器,都是相同的类型,使用 Ubuntu 16.04 Xenial LTS 发行版,中等大小。作为您的帐户访问的一部分,您总共有九个单元,因此创建三个中型服务器将足以达到该容量。三节点集群对于大多数实践集群来说已经足够,并且允许您创建所有想要的资源。我们将为服务器添加一个标签,这不会改变机器本身的任何内容,它只是一个帮助您组织云服务器的名称,以便您可以区分它们。特别是当您创建具有相同分布和大小的服务器时,这将有助于我们理解主服务器和工作节点之间的区别。让我们为其中一个输入“Kube Master”的名称,将另外两个称为“Kube Worker 0”和“Kube Worker 1”。以下是它们全部贴上标签后的样子:
Creating Linux Academy Cloud Playground Servers
登录并开始构建一旦服务器显示“就绪”状态,让我们继续登录。单击服务器以展开并显示每台服务器的详细信息。点击临时密码旁边的页面图标,点击终端,在新的浏览器标签中打开终端。输入用户名并粘贴提供的临时密码。
Log in to your Linux Academy Cloud Playground servers.
让我们同时登录三台服务器。这将使在每台服务器上执行命令变得更加容易,只需切换到下一个浏览器选项卡并粘贴命令即可。我们在每台服务器上要做的第一件事是为 docker 存储库添加 gpg 密钥。Docker 是我们将要使用的容器运行时。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
现在,在所有三台服务器上,让我们将 Docker 添加到我们的存储库中。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
仍然应用于三个服务器中的每一个,为 Kubernetes 添加我们的 gpg 密钥,然后添加存储库。
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.listdeb https://apt.kubernetes.io/ kubernetes-xenial mainEOF
现在我们已经锁定了我们的库,让我们更新我们的包。
sudo apt-get update
安装 Docker、kubelet、kubeadm 和 kubectl 现在,让我们在所有三台 Linux Academy 服务器上安装 Docker、kubelet、kubeadm 和 kubectl。
sudo apt-get install -y docker-ce kubelet kubeadm kubectl
sudo apt-mark hold docker-ce kubelet kubeadm kubectl
kubelet 是节点代理,它将为我们运行所有的舱,包括 kube 系统舱。kubeadm 是用于部署多节点 kubernetes 集群的工具。kubectl 是与 Kubernetes 交互的命令行工具。我们已经安装了特定的版本并标记为保留,这样 Kubernetes 和 Docker 就不会自动更新并变得不兼容。好了,现在我们已经安装了 Docker、kubelet、kubeadm 和 kubectl,我们现在将只在主服务器上安装命令。以下命令将仅在主服务器上完成。让另外两个服务器终端保持打开状态,但是在我们最终将它们加入集群之前,我们不会使用它们。所以,继续前进,到达代表您的主服务器的终端。如果需要,请返回到“云游乐场”屏幕,检查您标记的是哪一个。专业提示:如果这是你创建的第一个服务器,它将以“1c”结尾。初始化集群让我们使用这个命令初始化集群,使用 kubeadm(这可能需要几分钟)。
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
完成后,您会注意到它给出了一个输出,对于我们接下来需要做的步骤非常有帮助。因此,我们将按照这里的说明创建.kube
目录,我们将复制 kube 配置,并更改配置的所有权。最后,我们将复制 kubeadm join 命令,并将其粘贴到 worker 节点的终端。
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在我们将它粘贴到两个工人节点之前,让我们应用我们的法兰绒 CNI。法兰绒是我们的网络覆盖层,所以我们的节点可以互相通信。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
一旦我们安装了法兰绒,我们就可以将 kubeadm join 命令(确保包含 sudo)复制并粘贴到两个 worker 节点的终端中。
sudo kubeadm join [your unique string from the kubeadm init command]
既然节点已经成功加入,让我们运行第一个kubectl
命令来查看我们的集群节点状态。
kubectl get nodes
我们已经成功设置了三节点集群,让我们开始探索集群。也许运行一些豆荚?这里有一些有趣的练习让你开始。运行 busybox Podbusybox Pod 是一个容器映像,允许您运行 nslookup 之类的实用程序来查找 Kubernetes 集群中的默认主机名。从 1.13 版开始,CoreDNS 已经取代 kube-dns 成为默认的集群 DNS 服务器。它是用 Go 编写的,由于其灵活性,可以在多种环境中使用。CoreDNS 通过 Kubernetes 插件与 Kubernetes 集成,或者通过 etcd 插件直接与 etcd 集成。核心 DNS 作为具有两个副本的部署运行。你可以通过运行kubectl get deployments -n kube-system
看到这一点。kube-dns 是作为服务运行的(没错,1.13 版本还是叫 kube-dns)。这样做是为了提高工作负载的互操作性,这些工作负载依赖传统的 kube-dns 服务名称来解析集群内部的地址。您可以通过在旧的 kube-dns 中运行kubectl get svc -n kube-
看到这一点,在一个 pod 中使用了几个容器:kubedns、dnsmasq 和 sidecar。kubedns 容器监视 Kubernetes API 并根据 Kubernetes dns 规范提供 DNS 记录,dnsmasq 提供缓存和存根域支持,sidecar 提供度量和健康检查。随着时间的推移,这种设置导致了一些问题。首先,dnsmasq 中的安全漏洞在过去导致了对 Kubernetes 安全补丁发布的需求。此外,因为 dnsmasq 处理存根域,而 kubedns 处理外部服务,所以您不能在外部服务中使用存根域,这对功能有很大的限制。所有这些功能都是在 CoreDNS 的一个容器中完成的,这个容器正在运行一个用 Go 编写的进程。启用的不同插件复制(并增强)了 kube-dns 中的功能。这里有一个 busybox pod 用于 dns 查找,只需一个命令就可以运行。
kubectl run busybox --image=busybox:1.28.4 --generator=run-pod/v1 --command -- sleep 99999
创建 busybox pod 后,运行以下命令:
kubectl exec busybox -- cat /etc/resolv.conf
kubectl exec busybox -- nslookup kubernetes
我希望你喜欢这个有趣的练习。如果你想跟进,请在这里登录或者注册一个的 7 天免费试用来开始。如果你想发现更多使用 Kubernetes 的方法,请查看我们所有伟大的 Kubernetes 课程,包括:
点击了解更多关于 Kubernetes 的信息。
DynamoDB 流:如何构建聚合
原文:https://acloudguru.com/blog/engineering/building-aggregations-with-dynamodb-streams
随着Cloud Adventure:Race To Cloud Castle游戏的全面展开(请在 9 月 4 日前进入!)现在似乎是一个很好的时机来打破游戏建设的一个有趣的方面:排行榜聚合。
游戏如何运作
在“云冒险”中,玩家们竞相寻找和报告由隐藏在各种云服务中的宝石标记的路径。当你点击游戏页面上的“提交路径”时,会触发以下事件流:
如果您的路径是有效的,我们将它存储在 DynamoDB 表中,格式如下:
这对于存储和检索路径非常有用。通过将我们的用户标识符存储在分区键中,将我们提交的路径存储在排序键中,我们可以查询用户标识符,一次性获得与该用户相关的所有路径——这对于检查游戏进度非常有用。
向 DynamoDB 添加聚合
但是我们想做的不仅仅是存储和检索路径。正如您在排行榜页面上看到的,我们想就我们的数据提出以下问题:
- 有多少人(“活跃玩家”)向排行榜提交了至少一条有效路径?
- 有多少人找到了 X 条有效路径,其中 X 是 1 到 12 之间的任意数字?
- 所有玩家总共发现了多少条路径(有重叠)?
对于上面展示的 DynamoDB 模型,没有简单的查询可以找到这些问题的答案;您必须扫描整个表中的每一项,并进行一系列客户端计算。又慢又贵!
相反,我们需要构建一些聚合。如果您觉得这一定比将数据放入关系数据库和编写 SUM 查询复杂得多,请不要担心:有了 AWS SAM 的一点帮助,我们只需几分钟就可以启动并运行。
成年人的 NoSQL:dynamo db 单表建模 w/里克·霍利汉 DynamoDB 可以作为传统关系数据库的可伸缩、经济高效的替代品。。。如果正确使用的话!在这个免费的点播网络研讨会中,AWS 的高级实践经理、单表 DynamoDB 设计的发明者里克·霍利汉展示了他在 DynamoDB 中建模复杂数据访问模式的技巧。
DynamoDB 表格布局
请记住,DynamoDB 表是“读模式的”,而不是“写模式的”——您可以将任何数据放入您想要的属性中;正确地解释它们取决于客户。这允许我们做一些叫做 **的事情,索引重载。**我们可以将聚合作为附加记录存储在同一个 DynamoDB 表中。毕竟,当我们可以轻松地使用一个表时,为什么要配置两个表呢?
这就是为什么我给我的分区和排序键取了一个通用的名字(“pk”和“sk”),这样我就不会局限于把它们看作“用户名”或“路径”字段。
设置 DynamoDB 流
现在,我们所要做的就是更新这些集合。我们可以通过每当用户报告新路径时同步更新 DynamoDB 中的一组聚合字段来做到这一点。但这将很快开始阻碍用户体验。
相反,我们可以将路径更新视为事件,并背着用户异步处理它们。鬼鬼祟祟!
很方便地, DynamoDB 给了我们一个很酷的特性,叫做 Streams ,它的行为很像是与我们的表直接集成的 Kinesis。设置好之后,我们就可以将对表数据的任何更改作为事件导出,以便进行后续处理。
(我指的是“任何事件”。DynamoDB 流不支持过滤。因此,我们的处理程序必须挑选所有的表变化,以便找到他们关心的变化。)
好消息是,我们可以在一个 AWS SAM 模板中用最少的配置定义 DynamoDB 流。以下是我的表格资源:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: SAM template for DynamoDB aggregations
Resources:
ResultsTable:
Type: AWS::DynamoDB::Table
Properties:
StreamSpecification:
StreamViewType: NEW_AND_OLD_IMAGES
AttributeDefinitions:
- AttributeName: "pk"
AttributeType: "S"
- AttributeName: "sk"
AttributeType: "S"
KeySchema:
- AttributeName: "pk"
KeyType: "HASH"
- AttributeName: "sk"
KeyType: "RANGE"
BillingMode: "PAY_PER_REQUEST"
SAM 使用StreamViewType
属性来直觉判断我们想要将一个流连接到这个表。NEW_AND_OLD_IMAGES
值意味着每次对表进行更改时,我们都希望看到流中旧的和修改过的数据。
注意,我们没有在这个表上定义任何额外的辅助索引——我们将只使用主表索引来进行聚合!
现在我们只需要将流连接到将处理聚合的 Lambda 函数。在 Lambda 资源的Events
部分,我们将添加一个类型为DynamoDB
的函数触发器,连接到我们在表上隐式创建的流。TRIM_HORIZON
的StartingPosition
意味着我们总是希望从流中最早的未处理记录开始,而BatchSize
意味着我们一次将处理多达十个记录。
AggregatorFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: backend/
Handler: handler.aggregation_handler
Runtime: python3.8
Policies:
- DynamoDBCrudPolicy:
TableName: !Ref ResultsTable
Environment:
Variables:
TABLE_NAME: !Ref ResultsTable
Events:
DynamoDBEvent:
Type: DynamoDB
Properties:
Stream:
!GetAtt ResultsTable.StreamArn
StartingPosition: TRIM_HORIZON
BatchSize: 10
构建聚合
正如您在函数定义中看到的,我选择用 Python 3 编写我的 Lambda。你会注意到我正在使用 Python 的logger
模块将结构化输出写到 cloud watch——如果你试图解析成堆的调试日志,这非常有用!我还选择在全局空间中初始化我的 boto3 资源和表对象,在函数处理程序之外,所以我只在冷启动时招致初始化时间损失。
import os
import logging
import boto3
logger = logging.getLogger()
logger.setLevel(os.environ.get("LOG_LEVEL", "INFO"))
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(os.environ["TABLE_NAME"])
def aggregation_handler(event, context):
logger.info(event)
for record in event['Records']:
if record['eventName'] == "INSERT" and "user_submitted_path" in record["dynamodb"]["NewImage"]:
#Make sure the user hasn't already reached their 12-path limit
num_paths = len(get_recorded_paths_for(record["dynamodb"]["Keys"]["pk"]["S"]))
if num_paths <= 12:
#Perform Aggregations
在aggregation_handler
本身(DynamoDB 流调用函数时触发的代码)中,我循环遍历 DynamoDB 将发送给我的多达 10 条记录的集合。
注意:因为这是一个单生产者系统,我自己的代码控制着写入表中的内容,所以我并不太担心畸形的事件进入流中。但是如果我是,这段代码将需要更多的错误处理来处理记录中的意外数据。否则,当 Lambda 试图一次又一次地处理相同的记录集而失败时,流将会备份。
在循环内部,我们首先需要对记录执行过滤检查,因为不是流中的每个记录都与我们的聚合相关。在我们的例子中,我们正在寻找新插入的包含user_submitted_path
的记录,也就是说,我们需要将路径聚合到我们的各种度量中。
假设这是一个相关的记录,那么我们将不得不创建一个 DynamoDB QUERY
来检索这个用户以前报告的路径的完整集合。值得注意的是,这是我们在聚合工作中唯一需要做的额外查询;所有其他信息都包含在流式记录中。查询助手函数看起来像这样:
def get_recorded_paths_for(user):
response = table.query(KeyConditionExpression=Key('pk').eq(user))
logger.info(response)
paths = response['Items'] if 'Items' in response else []
return paths
好了,现在我们有了数据,我们将按如下方式构建聚合:
Aggregation #1: update total paths found
response = table.update_item(
Key={
'pk': 'AGGREGATES',
'sk': 'TOTAL_PATHS_FOUND'
},
ReturnValues='UPDATED_NEW',
UpdateExpression='ADD data_value :d',
ExpressionAttributeValues={':d': 1}
)
logger.info(response)
#Aggregation #2: update number of players who have found this number of paths
response = table.update_item(
Key={
'pk': 'AGGREGATES',
'sk': str(num_paths) + '_PATHS_FOUND'
},
ReturnValues='UPDATED_NEW',
UpdateExpression='ADD data_value :d',
ExpressionAttributeValues={':d': 1}
)
logger.info(response)
#Aggregation #3: update total number of players (if necessary)
if num_paths == 1:
response = table.update_item(
Key={
'pk': 'AGGREGATES',
'sk': 'TOTAL_PLAYERS'
},
ReturnValues='UPDATED_NEW',
UpdateExpression='ADD data_value :d',
ExpressionAttributeValues={':d': 1}
)
logger.info(response)
我在 DynamoDB 更新中使用了ADD
动作,而不是通常推荐的SET
,因为如果记录不存在,它会初始化记录——在这种情况下,这总是可取的。
如果您想知道,是的,这些更新中的每一个都会触发表上的一个变化,它本身会在流上放置一个新记录,并再次触发相同的聚合函数!现在你明白为什么把过滤器检查放在代码的顶部是如此重要了——否则我们将陷入一个无限的 Lambda 循环。
您可能想知道:将我们的聚合放在一个单独的 DynamoDB 表中是否更有意义,这样我们就不会在更新它们时触发递归流操作? 是啊,也许吧!只要我们不认为我们需要编写一个查询来同时检索聚合数据和单个数据。
检索我们的聚合
现在,从我的前端,我可以发出一个请求聚合的 API 调用,并按如下方式检索它们:
table.query(KeyConditionExpression=Key('pk').eq("AGGREGATES"))
这使得载入排行榜变得相当快–试试看!如果您想知道,异步构建和更新聚合的总时间始终低于一秒,因此排行榜会像实时一样更新。
外卖食品
是的,这似乎是一种更复杂和脆弱的方式来构建聚合,而不仅仅是将我们的数据放在关系数据库中,并在每次加载排行榜时进行一点数学计算。但是因为总量是预先计算的,所以这个排行榜将在恒定的时间内快速加载——甚至在数百万条记录的情况下。在小规模的情况下,我的餐桌成本保持在免费层。
此外,一旦设置好 DynamoDB Streams 基础设施,添加额外聚合的工作对我来说不会比用 ORM 库将新的后端函数映射到关系数据库更糟糕。您在那里的里程可能会有所不同。
不管怎样,享受这个游戏吧,我希望排行榜的知识能让它更有趣一点!
Lambda:构建经济高效的功能
AWS re:Invent 2020 最大的无服务器声明之一是 AWS Lambda 功能的 1 ms 计费。这是一项行业领先的变革,从根本上改变了许多无服务器应用程序的运行成本。
在这篇文章中,我解释了它的影响,并展示了如何优化 Lambda 函数来利用这个新特性。这可以帮助您进一步降低运行无服务器应用程序的成本。
Lambda 计费的工作原理
Lambda 是一个按需计算平台——它只在响应事件时运行,你只需在代码运行时付费。
λ定价有两个维度——请求和持续时间。每当调用一个函数时,就会发生一个请求,不管函数的大小如何,费用都是每百万 0.20 美元。持续时间是作为时间和内存使用的一个因素计算的,每 GB 秒 0.0000166667 美元。还有一个自由层允许 100 万个请求和每月高达 400,000 GB/s 的计算。在这个级别下,你不需要为任何 Lambda 的使用付费。
在此次发布之前,计费的最小持续时间是 100 毫秒,计费持续时间总是四舍五入到最接近的 100 毫秒。这意味着,一个 5 毫秒的功能四舍五入到 100 毫秒,一个 385 毫秒的功能四舍五入到 400 毫秒。随着改为 1 毫秒计费,最小持续时间值现在是 1 毫秒,所有其他使用都四舍五入到下一个 1 毫秒。
从 100 毫秒到 1 毫秒的舍入-现有代码的成本差异
Lambda 是为非常高的流量而设计的,许多基于生产的应用程序会导致数百万次调用。持续时间粒度的这种变化为几乎所有的 Lambda 函数节省了成本,这将自动出现在您的 AWS 账单上。
为了了解这种价格变化对不同函数持续时间的影响,我比较了三种类型的 Lambda 函数:
- 短命的(~100 毫秒):它们通常作为“粘合剂”运行,在 AWS 服务之间最低限度地处理数据。
- 亚秒(1 秒以下):用于更复杂的业务逻辑处理更多数据。
- 长期函数(不到 1 分钟):用于计算复杂的逻辑,或者同步调用第三方服务的函数。
下表对这三种功能的持续时间进行了随机抽样,然后按 1 毫秒和 100 毫秒的粒度对可计费持续时间进行舍入:
这表明,可计费持续时间的变化对运行短期功能的成本影响最大,在本例中,可计费持续时间缩短了 67%。对于亚秒函数,该示例显示平均持续时间下降了 10%,而对长期函数的影响较小。
实际上,在大多数生产工作负载中,Lambda 函数运行的时间很短,因此这里有很好的优化机会。
内存、成本和持续时间
作为 Lambda 开发人员,您可以使用的主要配置工具之一是内存。您可以在 128 MB 到 10 GB 范围内以 64 MB 为增量设置分配的内存。然而,内存也控制着可用于您的功能的虚拟 CPU 的数量,范围从 128 MB 的单核的百分比到最大内存的六个完整的虚拟 CPU。
对于许多计算密集型功能,增加内存会缩短整体持续时间。这意味着在许多情况下,您可以实现更快的功能,而对成本的影响可以忽略不计。要找到您的功能的最佳平衡,有几个选项。您可以手动测试一个具有不同内存分配的函数,以测量对持续时间的影响,或者您可以使用 AWS Lambda 功率调整工具。
该工具有助于自动寻找内存、持续时间和成本之间的平衡,并将结果可视化。例如,计算密集型函数在不同的内存级别进行评估。结果图表显示,3008 MB 内存的性能最快,但 1024 MB 和 1536 MB 内存的成本最低:
当最短计费持续时间为 100 毫秒时,优化运行时间少于 100 毫秒的功能不会带来任何财务收益。虽然在这些情况下增加内存可能会减少毫秒数,但由于额外的内存使用量和最短持续时间不变,总体成本会增加。然而,随着 1 毫秒计费的出现,这一切都变了——现在有必要优化这些功能的效率。您可以采取许多步骤来优化这些短期运行的函数。
在 Node.js 中重用 TCP 连接
在 Node.js 中,默认的 HTTPS 代理为每个新请求创建一个新的 TCP 连接。如果您正在与 DynamoDB 之类的服务进行交互,此操作的延迟可能会比数据库请求所花费的时间更长。如果您的服务请求使用 AWS 密钥管理服务,这种延迟也会增加。
您可以通过使用版本 2.463.0 中的 AWS SDK 启用的标志来更改设置,以确保 TCP 连接被重用。最简单的方法是在 Lambda 函数中使用一个环境变量。通过将AWS _ NODEJS _ CONNECTION _ REUSE _ ENABLED设置为 1,函数的热调用将重用该连接。
本节引用了本代码报告中的一个应用示例。我比较了将一个项目放入 Amazon DynamoDB 表的延迟,有和没有重用标志。我在 300 秒内对 1000 个请求的每个函数运行了一个负载测试。使用这个 CloudWatch Insights 查询,我可以分析持续时间平均值和百分比指标:
filter @type = "REPORT"
| stats
avg(@duration) as Average,
percentile(@duration, 99) as NinetyNinth,
percentile(@duration, 95) as NinetyFifth,
percentile(@duration, 90) as Ninetieth
by bin(60m)
在没有重用标志的示例代码的 v1 中,结果如下:
在示例代码的 v2 中, AWS 无服务器应用模型 (AWS SAM)模板在函数定义中将标志作为环境变量传递:
AddToDDBfunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: addToDDBfunction/
Handler: app.handler
Runtime: nodejs12.x
MemorySize: 128
Timeout: 3
Environment:
Variables:
AWS_NODEJS_CONNECTION_REUSE_ENABLED: 1
在此版本上运行相同的负载测试,CloudWatch Insights 查询显示了性能提升:
如果这两个功能都被调用 100 万次,这些平均持续时间指标显示成本降低了 23%:
v1 | 1,000,000 | 128 | 56 | 0.007 | $0.20 | $0.12 | $0.32 |
v2 | 1,000,000 | 128 | 21 | 0.002625 | $0.20 | $0.04 | $0.24 |
优化 Node.js 的依赖关系用法
当您需要函数中的 JavaScript SDK 时,它会导入整个 SDK,但您的函数可能只使用一两个 AWS 服务。这是来自示例的版本 2 的代码:
const AWS = require('aws-sdk')
AWS.config.region = process.env.AWS_REGION
const docClient = new AWS.DynamoDB.DocumentClient()
您可以通过仅请求您的函数中使用的服务来减少内存使用和初始化时间。为此,更新 require 语句来指定服务,然后将任何配置选项传递给服务构造函数,如示例的版本 3 所示:
const DynamoDB = require('aws-sdk/clients/dynamodb')
const documentClient = new DynamoDB.DocumentClient()
此版本的负载测试在 CloudWatch Insights 查询中显示了以下结果:
与原始版本相比,这将持续时间成本降低了约 75%,总体成本降低了 26%:
v1 | 1,000,000 | 128 | 56 | 0.007 | $0.20 | $0.12 | $0.32 |
v2 | 1,000,000 | 128 | 21 | 0.002625 | $0.20 | $0.04 | $0.24 |
V3 | 1,000,000 | 128 | 16 | 0.002 | $0.20 | $0.03 | $0.23 |
亚 100 毫秒函数的其他优化
还有其他几个因素需要考虑,这些因素可能会缩短函数的总持续时间。您的用例将决定您可以应用哪些。
首先,您对运行时的选择很重要。尽管 Lambda 服务对运行时是不可知的,但是一些运行时比另一些运行时初始化得更快。对于短函数,可以考虑使用 Node.js、Go 和 Python 这样的运行时,它们通常可以运行得更快。
让您的部署包尽可能小,因为较大的包通常需要较长的初始化时间。您应该删除函数不直接使用的任何需求或库导入。此外,避免包含多个代码路径的“单一”函数,尽可能缩小您的代码,以帮助获得尽可能小的部署包大小。
确保在全局范围内定义了任何需要初始化的全局对象,如数据库连接。这是 Lambda 处理函数之外的代码,也称为“INIT”代码。如果同一个执行环境被多次调用,那么任何冗长的初始化代码的成本都会分摊到多次调用中。
寻找更多的云转型善?看看这些:
结论
对于 Lambda 函数的新 1 ms 计费,优化代码持续时间对运行 Lambda 函数的成本有直接影响。寿命较短的函数通常只需做一些小的改动就可以运行得更快,这就意味着降低了成本。
Lambda 中的内存分配决定了函数的 CPU 能力。为了帮助确定持续时间、成本和内存之间的最佳平衡,请使用 AWS 功率调整工具。“重用 HTTP 连接”标志有助于减少 Node.js 函数中的延迟,您可以使用环境变量来启用它。选择性地选择要导入的 AWS SDK 的一部分还可以减少持续时间,而不会影响业务逻辑的功能。
想采取下一步措施提升您自己或您的团队在无服务器应用方面的技能吗?云专家提供最新的课程库来超越你的简单项目。例如,为您的下一个无服务器项目利用 aws 图形数据库的力量!立即开始您的免费试用或与我们交流您的需求。
要获得更多帮助您充分利用基于 Lambda 的应用程序的技巧和诀窍,请访问无服务器世界。
云中的业务灵活性:通过 AWS 最大限度地提高业务价值
我可以将我的 SQL 语言技能从本地迁移到 Azure 吗?
原文:https://acloudguru.com/blog/engineering/can-i-shift-my-sql-language-skills-from-on-prem-to-azure
答案是肯定的!我们涵盖了你需要知道的一切。同样,这个关键问题的答案是:每个 Azure 解决方案都是什么品种的狗?
通往更好职业的钥匙
立即开始 ACG 通过 AWS、Microsoft Azure、Google Cloud 等领域的课程和实际动手实验室来改变你的职业生涯。
如果您是一名 SQL Server 专业人员,无论有多长时间,您都知道您的大部分工作都是处理坏消息——要么对它做出响应,要么试图阻止它。
所以,就这一次,让我们从一些好消息开始!到目前为止,你设法避免的那些不熟悉的、令人生畏的云数据技术?它们没有你想象的那么难用。事实上,你可以通过 SQL 的某种方言来查询大量 Azure 数据资源中的数据。这意味着如果你想做出改变,你不是从零开始。
现在,有一些坏消息:如果你已经在性能调优、调整索引、规范化数据和穿越 SQL Server 的秘密隧道和通道方面建立了声誉,你可能需要稍微调整一下你的职业身份。
不是很多,只是一点点。
为什么?Azure 中的平台即服务(PaaS)产品抽象出了关系数据库的许多复杂性。自动调谐和类似的功能是真实的,这些天;你会发现 Azure SQL 不太可能搬起石头砸自己的脚。对于非关系数据库,许多调整和优化根本不适用。
(‘非亲属’一词通常与 NoSQL 同义,但前者更好些。它更准确地描述了不同于 SQL Server 表的高度结构化的关系行和列的数据格式。)
尽管我声称有好消息,也有坏消息,但您可能对云数据资源产生了错误的印象。可能的原因?可怕的招聘广告读起来像一个词汇测试,而不是一个技术清单。
上次我查看与数据相关的招聘信息时,有这样的要求:
“候选人必须在以下技术中的至少 13 个领域拥有实际的专业经验:SSIS、SSRS、SSMS、SSAS、SSMinnow、TSQL、PL/SQL、ANSI SQL、noSQL、MySQL、yourSQL、ourSQL、weAllGotSQL、Mongo DB、HANA、Spark、Hadoop、Azure、Cloudera、MapR、Hortonworks、HortonHearsAWho、Informatica、Tableau、Crystal Reports、SAS、Python、R (S、T、U 和 V 也有帮助
好吧,也许我有点夸张。我的主要观点是,要迁移到 Azure,你真的不需要了解所有的,甚至是大部分的语言和技术。
(我指的是真的那些。HortonHearsAWho 不是真正的技术;你知道的,对吧?)
只需一点点培训,您就可以轻松获得云中数据管理、存储和计算的好处。
此外,无论其他人说什么,当涉及到数据技术时,避免定性分配,如“更好”或“更差”。坚持“最合适”事实是,在 21 世纪,SQL Server(本地或云中)有时仍然适用,有时则不适用。
选择是好事!
没有坏狗
考虑将狗的个性赋予数据库技术的想法。和我呆在一起!我试图揭开一些更受欢迎的 Azure 数据产品的神秘面纱。
我的第一次数据库体验是一个非常早期的 FoxPro 版本(这次你可能需要使用 Wayback 机器)。它很像我家的第一只狗,松饼。马芬看起来有点像狐狸,但更重要的是,它是一只普通的郊区杂种狗。FoxPro 也很简单。
在 70 年代和 80 年代,我们给我们的宠物喂可怕的、便宜的狗粮或人粮——嗯,这表现在它们每天在后院的堆积上。吉戈最糟糕的时候,但这显然让他活了 17 年。我有什么资格批评?如果不栓上皮带的话,马芬会有点不守规矩,而且像 FoxPro 一样,他很脏,身后会留下泥泞的爪印和头发。
快进十年左右,想想 Obie,黄色实验室。他是我们的 SQL Server 狗:可靠、忠诚、训练有素、可预测。他吃更高质量、更贵的狗粮,是不吃吉戈的完美典范。只要我们给予他爱和关注,这个家庭就会和平和谐。我们可以和奥比交谈,问他问题(如果一个人倾向于扭曲的隐喻,可以说我们问他),我们愿意相信他理解我们。我们也不需要向任何人解释他。大家一看就知道是黄色实验室。
然后,我的第一次云数据体验是 blob 存储。非结构化的大数据,存储安全简单。不像我们的下一只狗,格鲁纳,一只漂亮的大白熊,它大部分时间都在睡觉。
但是当山羊或鸡需要保护时(或者门铃响了),他真的会立刻行动起来。他有一些令人钦佩的特征,他能跑得像风一样快。就像保存在 blob 存储容器中的图像一样,大白熊是一种视觉媒介。肢体语言比口头交流更重要。
它们都是独一无二的,没有一个一定比另一个更好。
不同品种:流行的 Azure 解决方案,简单解释
我不会用我们家狗的额外照片来烦你,但这里有一些 Azure 中更受欢迎的数据资源的快速总结。这不是一个详尽的列表,但应该让您了解一些使它们成为您的云或混合解决方案的一部分所需的技能和语言。
作为一名 SQL Server 专业人员,您会发现,就培训和经验而言,您真的不是那么离谱。
**拉布拉多猎犬:**虚拟机上的 SQL Server
宠物性格:可预测,可靠,可训练。
**类型和用途:**一种关系数据库,最适合用于事务性数据,其中强一致性和强制结构非常重要。因为在虚拟机上安装使其成为 IaaS(基础架构即服务)产品,所以这种 SQL Server 选项可能最适合希望对维护、调整和典型的本地数据库管理员职责保持更多控制的客户。
替代: Azure SQL,Azure Database for MySQL,for PostgreSQL,for Maria DB
**SQL(或类似 SQL)支持:**是
产品信息: 点击这里
拉布拉多: Azure SQL 家族
**宠物个性:**与拉布拉多犬相似,但体型较小,需要吸尘的皮毛较少。
**类型和用途:**关系数据库最适合用于事务性数据,其中强一致性和强制结构非常重要。作为一个 PaaS 产品,通过一个完全“无服务器”的选项,该平台是完全托管的。但是,选择托管实例 sku 的客户保留了一些控制权。
替代: SQL Server,Azure Database for MySQL,for PostgreSQL,for Maria DB
**SQL(或类似 SQL)支持:**是
产品信息: 点击此处
金毛猎犬: Azure 数据库用于 MySQL/PostgreSQL/Maria DB
**宠物性格:**类似于实验室的性格和品质。
**类型和用途:**关系数据库最适合用于事务性数据,其中强一致性和强制结构非常重要。完全管理或大部分管理,取决于 sku。非常适合快速迁移已经采用这三种技术之一的现有数据库。
替代: SQL Server,Azure SQL
**SQL(或类似 SQL)支持:**是
产品信息: MySQL , PostgreSQL , MariaDB
伯恩山犬: Azure Synapse Analytics
**宠物个性:**瑞士本土农场的大型、勤劳、多才多艺的狗。他们擅长制图和搬运。
**类型和用途:**MPP(大规模并行处理)分析平台,具有基于 SQL 数据仓库的存储组件和一组其他服务,如 Azure Data Factory。非常适合关系和非关系数据库资源上的分析工作负载。
替代: Azure HDInsight,基于 Apache 开源平台,也是 MPP 服务,但捆绑服务较少。Apache 技术在许多大数据应用程序中处于领先地位,这是 SQL Server 专业人员可能不熟悉的许多语言和术语的来源。但是不要让这阻止你开始使用 Azure。到时候你会知道你需要知道的。
**SQL(或类似 SQL)支持:**是
产品信息: 点击此处
**杰克罗素梗:**蔚蓝数据工厂
**宠物性格:**障碍赛上最敏捷的狗之一。
**类型和用途:**一款高度灵活、完全托管的数据集成工具,用于传统和大数据 ETL 工作负载。
替代: SSIS,可以托管在 ADF 管道内部。
**SQL(或类 SQL)支持:**不一定适用于所有情况,但在有意义的地方支持。如果您熟悉 SSIS 或其他“工作流”风格的数据集成工具,那么通过一些培训,您可以使用 ADF。
产品信息: 点击此处
**德国品酒师:**宇宙 DB
**宠物性格:**工作犬的“瑞士军刀”。一个热爱工作并擅长许多不同工作的品种。
**类型和用途:**多模型数据库,弹性规模不限,全球分布。适用于从游戏到电子商务和事务性工作负载的各种使用情形。“多模型”,因为原生格式是 JSON,带有 SQL 查询,但也有用于 Cassandra 宽列、Gremlin 图、PostgreSQL、Mongo DB 和键值对格式的其他 API。
其他文档数据库,但 Azure 中没有类似的。
**SQL(或类 SQL)支持:**对,核心 API 是 SQL over JSON 文档。
产品信息: 点击此处
大白熊: Azure Blob 存储和 Azure Data 湖存储第二代
宠物性格:可能睡得很多,这取决于工作分配,但反应很快。拥有短跑运动员的体格和马拉松运动员的耐力。
类型和用途: Blob 存储针对存储、服务和流式传输大量非结构化数据(如音频、视频、图像和日志数据)进行了优化。
Azure 中没有类似的东西。
**SQL(或类 SQL)支持:**是的,有点,但我们不去那里。有更好的方法来处理非结构化数据。这将是一个有趣的培训机会!
产品信息: 蔚蓝博客存储,蔚蓝数据湖存储 Gen2
你如何带头
那么,你如何温习那些可能仍然存在于你的知识中的小缺口呢?我强烈推荐去看看云专家的图书馆,里面有 Azure 课程和动手实验室。在 Azure 冒险中,无论您身在何处,都可以找到学习资源。
如果你对认证感兴趣(谁不喜欢另一张纸告诉他们他们很棒呢?)我建议阅读 Lars Klint 的这篇精彩文章:“对我来说,最好的微软 Azure 认证途径是什么?
想跟上天蓝色的一切?在 YouTube 上订阅云专家的每周亚马逊新闻和 AWS 公告。你也可以在脸书上喜欢 ACG,在 Twitter 上关注我们,或者在 Discord 上加入对话!
Brazeal:您的组织如何预测您的 CI/CD 渠道
我和你打个赌。
告诉我你的开发和运营团队是如何合作的,我会告诉你你的 CI/CD 管道是什么样子的。
那是因为 CI/CD 是康威定律最纯粹的表述。你的 CI/CD 管道会像你的工程组织一样破碎混乱。这就是你如何得到这样的“管道”:
好吧,也许这有点夸张(虽然,以我在大企业的经验,不多)。但是另一方面也是真的:一旦你的沟通正确,你就可以开始看到你一直希望的 CI/CD 的好处。
不服气?让我给你看一些图案。
冷战
请记住,CI/CD 管道的存在是为了通过自动化手动步骤和增加对发布的信心,平滑和加速代码从开发到运营和 QA 到生产的流动。
这与许多大型组织仍然采用的瀑布式发布方法正好相反,在瀑布式发布方法中,开发人员将代码“越过墙”扔给运营部门。开发人员无法接触到产品,而运营人员也不太了解代码是如何工作的。
让我们称之为“冷战”模式:
一个冷战时期的组织竟然会考虑实施 CI/CD,这有点令人惊讶。但是他们和其他人一样,很可能会抛出这个流行词。当新的自动化出现故障时,除了增加人工劳动外,这还会导致额外的管理开销。基本上,只是旧的瀑布流程加上了额外的步骤。
你不能在你的发布过程中摆脱这堵墙而不摆脱你组织中的这堵墙。
秋葵汤
嗯,秋葵汤。虽然 ops 倾向于在冷战中抑制开发速度,但是 gumbo 组织是开发人员活动的一个狂热的沼泽。你可以在很多成长中的初创公司看到这一点。工程团队变得太大,无法维持一个简单的发布过程,随之而来的是混乱。
如果没有明确的安全指南或针对开发人员的云操作培训,就很容易停止生产或暴露带有轻率配置更新的 S3 桶。如果说冷战是不连续的融合,这更像是持续的解体。
聪明人在秋葵汤里工作。一些伟大的 CI/CD 管道可能漂浮在表面之下。但是没有办法在全公司范围内发现和分享这些知识。
谢天谢地,秋葵阶段是如此不稳定,没有人可能会误认为是一件好事,所以该组织很快凝结成…
斑点
这一团在比冷战或秋葵汤更高的成熟状态下融合。
有人意识到“我们需要标准!指导方针!一个统治他们所有人的工具——这将停止这种疯狂!”
因此,他们建立了一个由现有最佳基础设施工程师组成的中央 DevOps 团队。中央团队创建了每个人都应该使用的管道基础设施。这可能就像一个共享的 Jenkins 实例一样简单。它可能像与一系列动态代码管道模板相关联的 AWS 帐户自动售货机一样复杂。
但是其他团队真的会使用中央管道吗?有的会!他们会发现他们的用例非常适合通用解决方案,并被吸收到 blob 中。然而,其他团队会发现他们的应用程序需要不同的方法。他们将次优地使用中央解决方案,或者更糟,忽略它,并建立他们自己的秘密 CI/CD 解决方案——在 blob 本身的阴影下隐藏它。
雨伞
blob 希望你认为这是成功的唯一途径。这就是 blob 的力量,为什么这么多团队无限期地陷入其中。
但是斑点是错误的。
成熟的组织不仅在 CI/CD 领域,而且在普遍采用云的情况下,最终会让单个团队以自己的方式取得成功,同时仍然为他们提供所需的保护和培训,以满足组织的卓越云标准。
这意味着要有一个中央架构委员会和一个安全团队来创建清晰的指导——我最近与一位 ACG 客户交谈过,他称之为“云不可协商”这意味着将您的云专家嵌入到需要实际支持的产品团队中,以便从云新手过渡到专家。是的,这意味着通过培训和认证,确保每个人都说同样的云语言。
你可以称之为伞状模式。每个产品团队都是不同的:云流畅的保护伞覆盖了他们所有人。
现在我要跟注:我描述过你组织吗?还是你看到了其他模式?在 Twitter 上联系我,让我们继续对话。
ACG 商业版帮助您组织中的每个人都说云语言,因此您可以打破壁垒,更快地创造价值。
CentOS 7:投身 SystemD
原文:https://acloudguru.com/blog/engineering/centos-7-take-the-plunge-into-systemd
CentOS 7,连同内核、桌面、软件包和应用程序的大量更改,将“Fedora”和“Debian”带入了深层,并将守护程序和服务管理从旧的“service or /etc/init.d”范式转换为池的“systemd”端。如果你是一个现代 Linux 桌面用户,你可能完全熟悉这种方法,但是,对于那些长期使用 Red Hat 和 CentOS 的“服务”管理方法的管理员来说,这是一个相当大的变化。让我们更深入地了解一下新的做事方式。
为什么会突然改变?
简单来说,是时间。现在,我们的服务器已经发展到现代,它们被要求做一切事情,包括为我们做晚餐(嗯,可能还没有那么远),有很多事情是基于旧的“init”系统(为了完整起见,“init”系统在技术上被归入“sysvinit”类别,以标记它们与很久以前的 Unix System V 的兼容性)不太擅长的,或者需要大量额外的修改。下面是 systemd 可以做的一些在“init”发行版中不受支持的事情:
- 提前阅读
- 基于套接字的服务激活
- 基于设备的服务激活(即 USB)
- 系统快照(虚拟化、ZFS 或其他
- SELinux 完全集成(内核级,而不是服务级)
- 设备依赖性配置(udev 规则)
- 无连接中断的服务重生
- 服务 SSL 证书/LUKS 密码处理(包括控制台、墙和 Gnome 代理)
- 交互式启动(依赖于服务启动确认)
- 关闭期间用户会话的可靠终止
- 早期引导日志记录
这是 systemd 提供的一个子集,你可以点击这里的查看更全面的列表。
如何使用
深入研究 systemd 的最简单的方法是看一下您用来管理流程的命令,作为一个例子。假设我们想看看“sshd”服务是否在 CentOS 6(或另一个“sysvinit”发行版)上运行。我们可以发出以下命令并查看结果:sudo service sshd statussshd (pid 2095) is running...
很好。我们知道它在运行,但其他的就不知道了。让我们看看 systemd 如何处理相同的查询,以及它可以提供的额外内省:
sudo systemctl status sshdsshd.service - OpenSSH server daemonLoaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)Active: active (running) since Sun 2014-08-03 16:08:44 CDT; 1h 11min agoProcess: 761 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)Main PID: 776 (sshd)CGroup: /system.slice/sshd.service└─776 /usr/sbin/sshd -DAug 03 16:08:44 centos7vm systemd[1]: Started OpenSSH server daemon.Aug 03 16:08:44 centos7vm sshd[776]: Server listening on 0.0.0.0 port 22.Aug 03 16:08:44 centos7vm sshd[776]: Server listening on :: port 22.Aug 03 16:44:26 centos7vm sshd[2191]: Accepted password for USER from 192.168.1.XX port 60818 ssh2
哇!这比我们以前除了问之外不用做任何事情就能得到的信息要多一点。让我们快速看一下新的 systemd 命令以及它们所替代的等效 sysvinit 命令:
SYSTEMD SYSVINIT======= ========systemctl start httpd service httpd startsystemctl stop httpd service httpd stopsystemctl restart httpd service httpd restartsystemctl status httpd service httpd statussystemctl enable httpd chkconfig httpd onsystemctl disable httpd chkconfig httpd offsystemctl is-enabled httpd N/Asystemctl mask httpd N/A
``Now, in general, most modern distributions still “support” the older sysvinit way of doing things. You will see the following message though (for now) if you use the old way:`sudo service sshd restartRedirecting to /bin/systemctl restart sshd.service```
请记住,这种支持并不保证会一直存在,我怀疑最终会消失。确保您知道新命令。
**最终想法**
自 2011 年初创建以来,Sysytemd 已经获得了所有主要发行版的支持。以这种方式管理系统的额外功能和灵活性将为您提供以前所缺少的信息和使用的一致性(注意,相同的命令用于做所有事情,例如,没有在 service 和 chkconfig 之间来回切换)。在您开始安装自己的服务或者想要改变系统的默认运行级别之前,这种转换并不困难。我们将在以后的文章中讨论这些话题。如果您有任何疑问或问题,请在下面留下您的评论,我们将尽力帮助您解决!
CentOS 7:从 CentOS 6.x 就地升级
原文:https://acloudguru.com/blog/engineering/centos-7-upgrading-from-centos-6-x-in-place
CentOS 7 的最新功能之一是能够将 CentOS 6.x 就地升级到 CentOS 7。过去,升级 CentOS 主要版本的唯一官方方法是清除并重新安装所有内容。
话虽如此,总有一些过程你可以遵循,并获得不同程度的成功(基于对官方库的偏离以及你的设置和软件包列表是如何定制的)。我们已经经历了这个过程大约六次,取得了不同程度的成功,所以让我们来谈谈一些成功和失败。
成功和失败场景
同样,有“方法”来完成升级。在这篇文章中,我们将严格关注 CentOS 维护者所支持的官方流程。有鉴于此,这里有一个可能失败的升级的快速列表(对我们来说,所有的升级都以多种方式失败):
-
- 偏离官方资料库——如果你使用 EPEL、美国或任何其他非官方但主要的资料库,你的里程可能会有所不同,但预计会有问题。在使用 EPEL 软件包的普通安装的多台服务器的情况下,所有三台服务器都因软件包一致性、依赖性或冲突错误而失败。
- 在运行升级前流程之前,不能确保您完全是最新的。由于某种原因,在正确运行 CentOS 6.5(截至本文发布之日,最新的 6.x 版本)之前运行预升级过程,后续的升级尝试很可能会失败。在升级到 6.5 并重新运行后,一定有一些缓存在某处的升级列表没有被正确删除/覆盖/重新生成。我们将对这个问题做进一步的研究,但是要小心。
- 安装在存储库之外的第三方软件包——当然,有很多原因可以让您从存储库之外的不同地方下载并安装软件包,尤其是在企业环境中。不幸的是,升级过程似乎还不够成熟,无法始终捕获依赖关系,您要么以失败的升级(充其量)而告终,要么以成功的升级而告终,这破坏了您在那些存储库之外安装在其上的所有软件,并且您必须手动修复依赖关系或配置。
那么什么有效呢?嗯,一贯地,在最新的 CentOS 6.5 版本中,使用标准(即默认)存储库作为安装软件的唯一方法的安装在大多数时候都是有效的。我说大部分时间是因为根据你从那些标准软件库中安装了什么软件,各种事情仍然会失败。很明显,这对 CentOS 的维护者来说是全新的东西,就像其他任何东西一样,正在经历成长的烦恼。让我们暂时忽略所有这些,并浏览一下完成升级的正式过程。
那我该怎么做呢?
在新安装并更新到最新版本的 CentOS 6.5 上,您运行一个程序来扫描您的系统并确定您的升级状态(称为预升级助手)。打开命令提示符并键入以下内容,以查看类似于下面所示的输出:
$ sudo preupgPreupg tool doesn't do the actual upgrade.Please ensure you have backed up your system and/or data in the event of a failed upgradethat would require a full re-install of the system from installation media.Do you want to continue? y/nyGathering logs used by preupgrade assistant:All installed packages : 01/10 ...finished (time 00:00s)All changed files : 02/10 ...finished (time 00:48s)Changed config files : 03/10 ...finished (time 00:00s)All users : 04/10 ...finished (time 00:00s)...042/100 ...done (samba shared directories selinux)043/100 ...done (CUPS Browsing/BrowsePoll configuration)044/100 ...done (CVS Package Split)...|samba shared directories selinux |notapplicable ||CUPS Browsing/BrowsePoll configuration |notapplicable ||CVS Package Split |notapplicable |...
奇怪的是,这个特殊的过程除了让您知道升级过程中可能出现的问题之外什么也没做。它既不会执行升级,也不会帮助您解决它发现的任何问题。所有这些都是使用一个仍然以其红帽起源命名的工具完成的-红帽升级工具命令行界面。在运行 CentOS 7 之前,请务必从导入 CentOS 7 密钥开始,否则它将会失败,从命令提示符:$ sudo rpm --import https://isoredirect.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
现在你可以运行实际的工具了。例如,我用来成功地将我的基本 CentOS 6.5 安装升级到 CentOS 7 的命令如下:
$ sudo /usr/bin/redhat-upgrade-tool-cli --network 7 --instrepo=https://mirror.centos.org/centos/7/os/x86_64
此时,升级过程会检索新的启动映像,下载必要的软件包,然后要求重新启动。
在此过程中,如果您收到一个错误或升级工具拒绝运行,则可能是以下两种情况之一导致的:(1)您忘记运行 preupg 工具,或(2)出于某种原因,它无法识别您已经运行了。如果你不想运行这个工具或者它忘记你已经运行过了,添加*–force*标志作为第一个参数,它应该会正常运行。
最终想法
这是 CentOS 前进的正确方向。强制完全重新安装整个操作系统和所有软件包的旧模式以及随之而来的令人头痛的问题对于 2014 年来说太过时了。已经采取了一些小步骤将这一升级过程带入现代,尽管目前充满了问题和争议,但这一过程已经开始。请在下面的评论中让我们知道你的努力是否成功,以及你在冒险时可能遇到了哪些特殊的问题!
Kubernetes 安全 CKS 认证:你需要知道的
2020 年末,Linux 基金会发布了新的专注于安全的 Kubernetes 认证,即认证的 Kubernetes 安全专家(CKS) 。在本帖中,我们将讨论这一新的认证,并为您提供一些信息,帮助您决定该认证是否适合您。
我该如何准备 Kubernetes 安全专家认证(CKS)?
顾名思义,CKS 认证主要关注安全性。它处理 Kubernetes 环境中几乎所有方面的安全问题。这意味着不仅要保护 Kubernetes 集群本身,还要保护集群中运行的应用程序。
CKS 涵盖了从安全集群配置到漏洞扫描到运行时监控的所有内容。该认证采用分层的安全方法,因此您需要学习如何保护 Kubernetes 应用程序和环境的许多不同组件。
观看:Kubernetes + Azure,HashiCorp way
在这个免费点播的 webina r 中,HashiCorp 开发者倡导者 Taylor Dolezal 展示了使用 Terraform、Vault 和 Waypoint 来增强您的 Kubernetes 集群的潜力!
CKS 备考
这些域
CKS 课程提供了 CKS 考试所涵盖的领域和主题的列表。如果你想获得 CKS 认证,这些是你需要熟悉的话题。
集群设置(10%)
该领域涵盖了与以安全方式设计集群相关的主题。如果您正着手构建一个新的集群,本领域中的主题将帮助您使该集群尽可能安全。
集群强化(15%)
集群强化是指可以用来提高现有集群安全性的技术,或者解决可能正在使用的不良安全实践的技术。像保持 Kubernetes 更新和修复不太理想的 RBAC 设置就是这个领域的一部分。
系统强化(15%)
这个领域主要关注用于运行 Kubernetes 的主机系统。它涵盖了各种主题和技术,可以帮助您保护主机及其操作系统免受攻击。
最小化微服务漏洞(20%)
虽然以前的领域解决的是集群级别的安全性问题,但是这个领域将重点转移到 Kubernetes 中运行的应用程序上。该领域包含的主题涉及保护微服务组件及其之间的通信,以及安全运行不受信任的工作负载。
供应链安全(20%)
用于在 Kubernetes 中部署应用程序和运行代码的数据工件可能成为漏洞、不良安全实践甚至恶意攻击的媒介。这个领域关注的是在集群中使用这些工件之前,可以用来确保它们安全的工具和技术。
监控、日志记录和运行时安全性(20%)
这个领域涵盖了运行时和事后的安全性。实时监控您的集群上正在发生的事情,以及保存可用于在活动发生后进行分析的日志,是 Kubernetes 集群中整体安全状况的重要组成部分。这个领域与主动监控和审计日志等主题密切相关。
考虑 Kubernetes 认证?以下是如何选择适合你的 Kubernetes 认证途径。
我应该得到 CKS 吗?
简短的回答是,如果你对 Kubernetes 安全感兴趣,CKS 是一个很好的认证!
这是动手,所以当你追求这个认证时,你将学习真正的 Kubernetes 技能——而不仅仅是记忆概念和命令。
然而,CKS 确实有一个先决条件。在参加 CKS 考试之前,您需要获得 Kubernetes 管理员(CKA) 认证。所以,如果你有你的 CKA,并且想深入了解更多关于库伯内特斯的安全知识,去看看 CKS 吧!
如果你想更深入地了解库伯内特,CKS 是一个很好的证明。如果你对这个认证感兴趣,或者只是想了解更多关于 Kubernetes 安全的知识,请查看 ACG 新推出的认证的 Kubernetes 安全专家(CKS)课程关于云专家!如果你需要先拿到 CKA,我们也有 CKA 课程!
本月与 Kubernetes 一起关注所有事情
掌握最受欢迎的技能
无论您是云新手还是经验丰富的专家,云专家都可以让您轻松(而且非常棒)地提升您的云职业生涯。查看 ACG 目前的免费课程或立即开始免费试用。
在 Linux 中更改时区(命令行)
原文:https://acloudguru.com/blog/engineering/changing-the-time-zone-in-linux-command-line
免费证书准备与云快乐:我应该选择什么课程?
原文:https://acloudguru.com/blog/engineering/choosing-free-cert-prep-cloudhappy
在今年年底之前,你可以注册参加免费的认证准备和多视角技能或云专家。但是有很多选择,所以你怎么知道选择哪一个呢?如果你打算花时间去获得认证,我们希望帮助你做出最好的决定。
在本文中,我们将介绍您可以参加哪些免费认证课程,以及如何判断哪个课程适合您。如果你更喜欢看视频而不是阅读,点击这里。
云开心期间可以上哪些免费课程?
- AWS 认证云从业者
- AZ-900 微软 Azure 基础
- 谷歌云数字领导者
- Hashicorp 认证:Terraform 助理
- 认证 Kubernetes 管理员
我们将为您提供免费的云专家或多视角技能课程。当我们说免费时,我们指的是真正的免费——我们只是希望您#cloudhappy!此外,我们将向您发送每周学习指南,其中包含精心策划的学习计划和资源,帮助您为获得认证做好准备。
在此期间,我们还将在我们的 Discord 社区中心上运行实时学习小组。您可以直接与课程作者对话、提问、会见同学并分享您的反馈。
选择您的云快乐课程
听说过选择超载吗?这是因为有太多的选择而引起的焦虑,比如必须在一百个不同的流媒体节目中做出选择。让我们通过浏览提供的每一个认证以及你是否应该参加来减轻这种焦虑。
1.库比涅斯—库比涅斯认证管理员(CKA)
让我们从深水区开始。Kubernetes 管理着一个计算机集群,以一种灵活的方式运行一大堆容器打包的应用程序。
如果你是技术新手,那么这不是你开始的地方。事实上,在提供的五门学习预备课程中,CKA 是唯一一门有先决条件的课程。这是因为您需要已经了解 Linux、TCP/IP 和容器。
如果你 do 已经了解了这些,和你要么对 Kubernetes 有很大的好奇心,要么强烈希望在细节层面上使用它,那么这个选项可能会让你感兴趣。
Kubernetes 是一个非常有用的工具,但是大多数人不需要管理他们自己的 Kubernetes 集群。然而,如果你已经在一个使用 Kubernetes 的组织中工作——或者他们已经决定开始使用它,并且不会让云供应商的专家为他们大规模管理它——那么这可能是你的正确选择。
这些课程由安东尼·诺森蒂诺教授,所以如果你选择潜入库伯内特斯,你会得到很好的帮助。
2.Terraform-hashi corp 认证:terra form 助理
接下来,我们来看看 Terraform。Terraform 是一个将基础设施作为代码来管理的工具。基本上,Terraform 可以让你以开源和跨平台的方式创建、更改和拆除虚拟的或基于服务的“资源”(无论是什么),而不是在 web 控制台上按下大量按钮或使用特定于供应商的工具。
因为您是在代码文件中定义您的计算基础设施,所以您也可以在这里使用软件开发中的相同原则和最佳实践。
Terraform 是一个非常有价值的工具,许多组织要么已经在使用它,要么开始使用它。因此,让自己获得 HashiCorp 认证:Terraform Associate 认证可能会对你的职业生涯产生巨大的推动作用。
从一开始, Ned Bellavance 就用非常容易理解的“taco”类比来开始他的课程,让任何人都来凑凑热闹——甚至在他解释“陈述性”方法和“幂等性”的时候。这些现在听起来可能很困惑,但是不久之后你就能向你的朋友解释它们了!
3.AWS — AWS 认证云从业者(CCP)
亚马逊网络服务仍然是最常用的云服务。大多数公司都以某种方式使用 AWS,如果你想在技术职业上有所进步,学习 AWS 是不会错的。亚马逊很大程度上定义了这个领域——通过不懈地创造和改进新的服务和功能——他们绝对没有表现出放缓的迹象。
参加这门课的另一个原因是它是由了不起的凯莎·威廉姆斯教授的。她经常被称赞为如何自然地向各种背景的学习者解释概念,所以你可以充满信心地进入这个轨道。
4.谷歌—谷歌云认证的云数字领导者
谷歌在创新方面也毫不逊色。谷歌云平台(GCP)经常被 Gartner 和 Forrester 等研究机构给予最高分和“领导者”地位,尤其是在机器学习和人工智能等领域。
尽管 GCP 在市场份额上落后于 AWS 和 Azure,但云数字领导者认证是通往一些行业最高薪酬技术认证的第一步。
虽然提供的所有证书都代表了有价值的技术的真正技能,但对真正知道自己在 GCP 做什么的人有很多需求。
如果你选择这个选项,乔·洛维里将会是你非常友好的向导,他将在教授全新的谷歌云认证云数字领袖课程。他非常迷人,一定会在旅途中照顾你。
5.Azure — AZ-900 微软 Azure 基础知识
最后,我们来看看 Azure!微软一直在积极构建他们的云产品来与 AWS 竞争,他们已经取得了巨大的进步。他们已经大大缩小了市场份额差距,更多的组织正在采用 Azure——当然,这意味着他们希望他们的员工知道如何有效地使用它。
如果你已经在一个使用微软技术的组织中工作,那么学习 Azure 对你来说可能是一个极好的选择。如果你想在这样的组织中申请一个职位,情况也是如此。
Lars Klint 的宏伟教学方法我们的 AZ-900 微软 Azure 基础课程包括许多易于理解的视觉类比。你甚至可能会发现,他古怪的幽默和对乐高的热爱会分散你对学习的注意力,但这一点也不会让你慢下来。相反,它会帮助你微笑着前进。
要点总结
这里有一个 tl。以上几点的 dr 细分:
AWS 认证云从业者
Amazon Web Services 是最常用的云,如果您是云新手,这是一个很好的起点。
AZ-900 微软 Azure 基础知识
Azure 是第二大最常用的云服务,所以如果你的组织或你希望工作的公司主要使用微软,这是你的证书。
谷歌云认证的云数字领导者
谷歌的服务在机器学习和人工智能等领域一直被评为“领导者”,如果这对你很重要,这是一个不错的选择。
认证 Kubernetes 管理员
这是我们提供的唯一一个有先决条件的认证准备,所以如果你想让你的 Kubernetes 体验更上一层楼,你就要注册这个。
HashiCorp 认证:Terraform 助理
Terraform 是一个非常有价值的工具,允许您将基础架构作为代码进行管理,并被许多组织使用,使该认证成为促进您职业发展的有力途径。
最好的选择是做出选择
所有这些选择对你都有好处,所以唯一的错误就是根本不做选择!当你的方法是不断学习时,你将永远远离自我提升的目标。
准备好开始了吗?点击此处选择一门课程,让自己变得更棒一点。
Azure 上的 Citrix 虚拟应用和桌面
原文:https://acloudguru.com/blog/engineering/citrix-virtual-apps-and-desktops-now-on-azure
你觉得世界排名第一的超级计算机 Fugaku A64FX 有几个 CPU 核?答案在帖子的最后。但首先,我有一些 Citrix goodness、Web、Pub 和 Sub,以及云中的一些重要计算能力。这是你对本周 Azure 发生的事情的综述。
加速您的职业发展
从 ACG 开始通过微软 Azure、AWS 等领域的课程和实际动手实验室改变你的职业生涯。
Citrix 支持 Azure VMware 解决方案上的虚拟应用和桌面服务
数百年来,Citrix 一直用于为大型组织虚拟化桌面环境。好吧,也许不是几个世纪,而是很长时间。它是支持大型、安全和分布式企业基础设施的行业标准之一。
最受欢迎的产品之一是虚拟应用和桌面服务,它允许用户无论在哪个设备上都可以连接到应用和桌面体验。
是的,你猜对了。通过使用一个 VMware 解决方案,这项服务现在在 Azure 上可用。正如微软市场部喜欢说的,您可以“将基于 vSphere 的 Citrix 工作负载提升并转移到 Azure VMware 解决方案,并继续利用现有的 VMware 和 Citrix 工具和专业知识来实现运营一致性。”(哇,这听起来像是正常的营销用语。)
该服务现已全面上市,并且——结合最近发布的 Azure Stack HCI 的 Azure 虚拟桌面——Azure 现在拥有大量桌面即服务。是的,那是一件事。
想了解更多关于使用 Azure 进行云开发的信息吗?查看本月的免费 ACG 课程阵容,包括我们闪亮的新 AZ-400 DevOps 认证考试课程。只需创建一个免费账户并升级。不需要信用卡!
使用 Azure web PubSub 构建实时 Web 应用
Azure Web publibsub 终于全面上市了。这是一个完全托管的基于 WebSocket 的服务,可以让您轻松构建“实时 web 应用程序,如实时监控仪表板、跨平台实时聊天、地图上的实时位置等等。”
迁移到 GA 非常棒,原因有三:
- 可用性的 SLA 现在是 99.9%,因此您可以依赖它进行生产。
- 现在有更多的 Azure 区域支持这项服务。
- 安全性大大提高。
首先是 Azure Active Directory 支持使用单点登录等等。也可以使用私有端点,现在有更多的 API 端点,还有 Azure CLI。。。嗯,管用。
此外,Azure 发布了一系列触发器和绑定,可以更容易地使用 Azure 函数,你知道我喜欢一个奇妙的函数特性。但也有与其他 Azure 服务的集成,如 Azure 静态 Web 应用程序、Azure API 管理、Azure 应用程序网关和 Azure Monitor。
那是 PubSub。今天就尝试一下。
得到蔚蓝云痛苦辞典
说云不一定要辛苦。我们分析了数以百万计的回复,找出了最容易让人犯错的概念。抓住这个云指南获取 Azure 中一些最痛苦术语的简洁定义。
随着最新的 80GB NVIDIA A100 GPUs 在 Azure 的全面上市,微软扩大了其人工智能超级计算机阵容
终于有另一个虚拟机让马克·鲁西诺维奇在 T1 上玩俄罗斯方块了!
Azure 全新的虚拟机系列, NDm A100 v4 系列,搭载 NVIDIA A100 Tensor Core 80gb GPU 的来了!
是的,你没听错:80GB GPU。我们真的可以开始开采一些比特币——等等。哦,它们不是用来采矿的。哎呦!
我们现在可以通过使用一个或多个新的虚拟机来训练高度复杂的机器学习模型。是的,你可以连接多达八个,获得巨大的计算能力。每个虚拟机可用的 RAM 也增加到了 1,900 GB。这应该能够在打开四个标签页的情况下运行 Chrome。毕竟,它现在是这类工程成就 500 强名单中的四个超级计算机的一部分,占据第 26 至 29 位。
如果你想尝试新的 VM,Azure 上有;然而,定价可能是一个问题。虽然我找不到它的任何成本明细,但 6 月份的 40 GB 版本大约是每月 25,000 美元。所以不要随便编一个。
你没有读完整本,是吗?你只想要问题开始时的答案。是 7,630,848 个核心。这已经很多了!这也是排名第二的三倍多。
正如我们在云专家团队中所说的,当我们不得不询问团队本周最好的新闻故事是什么,因为有人没有仔细阅读 Citrix 产品:“寻找,你将会云。”继续牛逼吧,云大师们!
想跟上万物云? 在 YouTube 上订阅一位云专家 的每周微软 Azure 新闻(以及其他云提供商的新闻)。你也可以像我们一样关注**,关注我们的* 推特 ,或者加入 不和谐 的对话!*
云安全风险:为什么您应该通过设计确保应用程序安全
原文:https://acloudguru.com/blog/engineering/cloud-apps-secure-by-design
越来越多的云原生 web 应用程序正在使用容器和无服务器基础设施。一方面,这很棒!现在,您可以快速运行和构建应用程序,而无需过多考虑服务器。另一方面,所有这些附加功能也为许多潜在的安全风险打开了大门。
在本文中,我们解释了设计安全的原则,以及为什么在开发下一个 web 应用程序时应该应用这些原则。
云计算有哪些安全风险?
开放 Web 应用安全项目(OWASP)发布了一份列表,列出了十大云原生应用安全风险。截至 2021 年,这些风险按风险排序如下:
- 中断的访问控制
- 加密失败
- 注射缺陷
- 不安全的设计
- 安全错误配置
- 易损坏和过时的组件
- 识别和认证失败
- 软件和数据完整性故障
- 安全日志记录和监控失败
- 服务器端请求伪造(SSRF)。
虽然此列表中的一些项目(如注入缺陷)涉及恶意输出,但其他安全风险只是管理配置错误的结果。然而,这些风险中的许多都可以通过设计安全的云架构来预防或减轻。
什么是安全的设计?
“通过设计确保安全”( SBD)是一种设计原则和架构方法,它将安全性集成到了架构设计的各个层面。对于云架构师来说,这将涉及到在架构设计过程的开始就考虑安全性来设计云环境。
云原生 web 应用程序开发人员可以通过在开发期间使用 DevSecOps 方法并在软件开发生命周期的早期执行安全性测试来实现 SbD。
设计安全的核心原则是什么?
根据 OWASP,设计安全有 11 个核心原则。其中包括(但不限于)最小特权原则、减少或最小化表面攻击区域、应用“纵深防御”、最小特权、职责分离、开放设计和最薄弱环节。
1.最小特权原则
最低特权原则是将用户特权限制在该用户履行其角色职责所需的最低限度。
2.减少表面积/机构的经济性
减少或最小化攻击面是基于攻击预防的核心原则,重点是删除不必要的服务或组件,以便它们不会被对手利用。
这也被称为“机制经济”,或者更通俗的说法是“保持简单,笨蛋。”(吻)。
3.纵深防御
在多个级别应用多种安全控制是一种称为“深度防御”的原则,它为对手提供了保护资产的多种防御手段。
要求身份认证以访问云资产、加密该资产中的静态数据,以及启用数据丢失防护(DLP)服务来防止数据从该资产中泄漏,就是应用深度防御的一个示例。即使对手访问了云资产,他们仍然必须绕过 DLP 服务并解密数据,才能访问存储在资产上的机密数据。
4.职责分离
通过确保一个人不能做所有的事情,有人欺诈的风险就越小。一项任务的成功完成应该依赖于两个或两个以上的条件,每一个都不能单独完成。这也被称为条块化。
这确保了一个主体对一个对象的访问请求每次都是完全中介的,并且不会在后续请求中被规避。
6.开放式设计
当设计你的应用程序时,机制的安全性不应该依赖于设计或实现的秘密。如果是的话,那么如果这些设计因为任何原因被泄露,你的安全就会受到威胁。
7.最小公共机制
这就减少了不止一个用户共有的、所有用户都依赖的机制的数量。例如,您希望禁止在不同权限级别运行的机制,因为这些机制可能会被滥用,从而无意中危及安全性。
8.破损安全
默认状态应该始终是安全的。例如,除非给予主体对对象的显式访问权限,否则应该拒绝它对对象的访问。这意味着无论什么原因出现故障,应用程序在默认情况下都应该保持安全。
9.心理可接受性
用户采用和接受任何安全功能是很重要的。如果这让他们的生活变得更加困难,他们会寻找规避它的方法(比如打开防火门)。安全机制应该易于使用并且透明,以提供最佳的用户体验。
10.利用现有组件
作为前面提到的减少表面积原则的一部分,您希望重用现有的软件组件、代码和功能。这将防止引入更多的漏洞
11.最薄弱的环节
你的应用程序的强度取决于它最薄弱的部分,无论是你的界面、代码还是底层服务。
云架构师可以通过设计学习的安全性课程
如果您是一名云架构师,想要了解 SbD 以及如何将其核心原则应用于三大云服务提供商,我建议您开始学习课程“云架构师设计思维的安全性”。本课程将介绍 IAM、防火墙基础设施、容器安全性、DevSecOps 以及在 AWS、Azure 和 GCP 云环境中应用安全性。
GCP 基于云的 CI/CD
原文:https://acloudguru.com/blog/engineering/cloud-based-ci-cd-on-gcp
几年前,我和一个团队一起为一个 AWS 项目建立了一个生产 CI/CD 管道。当时,没有一个主要的云供应商提供他们自己的 CI/CD 服务,所以我们使用了开源的 GO CD 服务器。
虽然我们成功了,但这个项目很乏味,花了几个月的时间。出于这个原因,我一直对尝试集成替代方案感兴趣。
最近,我的大部分生产工作都涉及到为生物信息学研究大规模构建和测试基于云的数据管道。我一直在思考如何最好地利用新的基于云的 CI/CD 服务来自动化这些复杂的管道部署。
描绘自动化部署
当我今天看完一篇写得很好的关于 GCP CI/CD 的教程时,我惊讶地发现我找不到任何关于这个过程的图表。虽然我成功地完成了教程,但我仍然觉得我没有完全理解解决方案架构应用程序。
GCP cloud-native CI/CD Tutorial Steps
接下来,我试图画出我在教程中完成的自己的版本。从我的生产经验中快速勾画出考虑事项,并试图将它与我从完成教程中学到的东西结合起来,这并不令人满意。结果如下所示。
My initial thoughts around cloud-native CI/CD
对我来说,通过复杂的步骤找到一条清晰的路径还不是很明显。画完草图后,我试着思考构建这种管道所涉及的每个服务(T1)或服务(T3)的集合(T2)。
考虑 GCP 服务
首先,我试图了解 GCP 工具服务产品,以及每项服务与为我的团队正在构建的数据管道类型构建 CI/CD 解决方案的关系。
有许多工具。以下是我对“工具”菜单上列出的每一项 GCP 服务的理解。请注意,所有这些服务都是无服务器的。
GCP Tools
了解更多信息
然后我看了一些最近的 GCP:下一个会议的演示。对我最有用的是以下内容:
- “跨多个环境的 CI CD 很有趣,但展示了将非 GCP 工具(詹金斯、哈希公司保险库 …)与 GCP 工具相结合,因此给潜在场景增加了更多复杂性。
- “通过云构建在 K8 上更快地开发”—K8ska ffold库的引人注目的演示,但没有展示端到端场景。
- "使用 GCP 工具开发、部署&调试 " —最有用的是演示如何使用各种服务的演示,例如非常智能的在源代码库中搜索。
尽管这些演示和做教程有助于我理解如何为我的客户使用这些服务,但我仍然无法想象我实际上会构建什么。为此,我尝试为一个用例绘制一个可能的 CI/CD 架构,这个用例我已经工作了一段时间。
可视化 GCP 数据管道的 CI/CD
下面是我为我的一个客户设计解决方案的尝试。我将首先描述应用程序架构。用例是通过专门的基因组学机器学习库进行生物信息学研究, VariantSpark 。
下图是 GCP K8 公司的解决方案架构:
CSIRO’s VariantSpark on GCP K8
您会注意到这是一个数据湖,K8 集群处理来自 GCS 的数据。托管 Jupyter 笔记本电脑是解决方案的一部分,因为这是研究工作的首选环境。
下面显示的是我的第一份草案,我想象我的团队如何使用 GCP CI/CD 服务来建立一个管道,以在 GCP 部署 VariantSpark K8 集群。
GCP CI/CD Pipeline for VariantSpark K8 Deployment
因为 VariantSpark 是开源库中的一员,所以它会不断得到改进。然而,因为 VariantSpark 是一个研究工具,所以它在发布时使用主版本号和次版本号,以便可以在可重复的生物信息学研究论文中引用。
因此构建集群的过程首先需要确定基本容器映像需要哪个版本的 VariantSpark JAR 文件。管道可能需要对 VariantSpark 的源 GitHub Repo 执行 maven 构建。
云构建构件包括 Docker 映像、Kubernetes 集群等等
GCP 源代码库可以镜像 GitHub Repos 。云构建可以使用源存储库上的触发器来触发构建。云构建包括各种类型映像的构建器(任务),包括 maven 。云构建器还包括 docker 和 kubectl,因此 VariantSpark JAR 文件可以作为 docker 映像的一部分构建,该映像可以用于生成一个 GKE 集群。
此外,Google Deployment manager可以服务于 YAML 部署,该部署详细描述了 GKE 集群所需的其他 GCP 服务配置。似乎也可以使用 GCP 私人目录为拥有 GCP 组织账户的研究小组提供 VariantSpark GKE 部署模板。
后续步骤
现在我已经了解了这些服务的基础,我期待着与世界各地的研究和开发团队合作,为生物信息学建立无服务器 CI/CD 管道。
Lynn Langit 是大数据和云架构师、谷歌云开发专家、AWS 社区英雄和微软数据平台 MVP。