云架构师访谈主题
在采访了数十名候选人后,这是我通常希望任何云架构师能够回答的主题列表。重点是实践专业知识,而不是图表和考试问题。为此,这些问题中的大多数可以揭示候选人的实践经验的程度(最初在媒体上发布 - https://medium.com/public-cloud-security/everyone-is-a-cloud-architect- f20328e1153e)
在过去的几年里,我更多地参与面试候选人(以及我自己的职位面试)。
为此,这篇文章捕捉了一些真正的云架构师应该能够详细阐述的主题。
注意——你可以在面试中随意使用这些,但请记住,这篇文章只包含主题思想,即问题,没有答案……
云基础设施主题,面试问题
Infrastructure Intermediate — VPN 隧道将在多个帐户 (AWS)、多个项目 (GCP) 或多个订阅 (Azure) 之间共享。给出两种不同的方法来实现这一点,每种方法的优缺点
基础架构——描述一种仅允许来自授权 VM 的授权用户访问订阅资源的方法。
基础架构 - 启动模板、自定义 VM 映像。描述通过自定义“黄金图像”构建自定义启动模板的用例和优势
基础设施基础 — Direct Connect(或 Express Route 或 Cloud Interconnect)流量是否加密?为什么或者为什么不?
Infrastructure Intermediate — Auto Scaling 组 — 我需要向我的 AWS Auto Scaling 组添加不同的实例类型。这可能吗?如果是这样,怎么做?
高级基础架构 — 如何将实时生产 VM 从一个子网移动到另一个子网?没有任何停机时间?
高级基础设施——基于 SQS 队列大小的自动缩放实例——假设我想根据 SQS 队列中的消息数量生成 EC2 实例……对于 10,000 条消息,生成 2 个实例,20,000 条消息,生成 4 个实例……等等.一旦队列完全处理完毕,就需要终止实例。描述如何做到这一点。
云监控专题,面试题
基本 — 快速确定最后一个登录订阅/帐户的人。
基本 - 您将如何创建与特定用户登录相关的警报?
中级——可以使用哪些服务来检查不合规的资源?哪些服务可以帮助您自动修复这些资源?
Cloud IAM 主题、面试问题
描述需要哪些角色:
a) 基本 — 管理一切,包括 IAM 用户和云资源
b) 基本 — 对所有云资源的读取(审核)访问权限
c) 中级——审计所有与安全相关的事件和资源
d) 中级——对资源执行修复
e) 中级——允许 PaaS 服务(例如 RDS)写入日志(例如 Cloudwatch 日志)
Cloud IAM 中级 - 描述如何授予您组织外部的用户访问云托管资源的权限?
Cloud IAM 中级 - 假设不允许将任何资源访问密钥(例如 EC2 访问密钥)存储在您的计算机(或任何本地资源)上。如何仍为用户提供对所需云资源的访问权限?
Cloud IAM 中级 - 跨账户访问。 AWS 账户 A 中的资源需要访问账户 B。(GCP 中的跨项目访问和 Azure 中的跨订阅访问的问题相同)。你将如何做到这一点?
Cloud IAM Advanced — 短期令牌。什么是短期代币?使用短期令牌制定策略,防止任何“人类用户”对云资源执行任何直接操作(即,该操作需要由另一个身份执行……那会是什么?)。您如何进一步限制“人类用户”仅从本地 IP 地址请求访问令牌?
公共云上的 3 层应用托管
您如何将每一层映射到 AWS(或 GCP/Azure)?讨论每一层的横向扩展和纵向扩展。
动态 DNS 允许您将您的域或子域定向到具有动态分配 IP 地址的网关后面的资源。
描述托管在 AWS(或 Azure、GCP)上的面向 Internet 的应用程序的流量。每层可以是 IaaS 组件(例如 VM 上的防火墙设备)或 PaaS 服务(例如防火墙服务)
RDS (DBaaS) 服务
RDS Basic — 本地 DBA 不能在 RDS 实例(或 Cloud SQL 或 SQL Azure)上做什么?
RDS 备份和恢复 — 能否恢复 RDS 中的单个数据库?
RDS 备份和恢复——RDS 是在“时间点”恢复还是只恢复到最后一个快照?
RDS 中级 - 提供至少两种将数据移动到 RDS / Cloud SQL / Azure SQL 实例的不同方式
RDS 中级 — 什么是只读副本?什么是多可用区部署?你什么时候需要哪个?
无服务器(Azure 函数、AWS Lambda、GCP 云函数)
高级——调试 Lambda 函数——这可能吗?如果是这样,怎么做?
高级 - Lambda 和长时间运行的任务 - Lambda 当前的执行时间限制为 X 分钟。假设您有一个长时间运行的函数,需要超过 X 分钟才能运行。您将如何设计您的 Lambda + 任何 AWS 服务来执行此函数?
基础设施安全和数据保护
基本 — 您将使用什么服务进行威胁检测?用于漏洞扫描?对于云资产清单?
基本 — 描述如何获得基础设施威胁警报以及如何进行自动修复(例如过于宽松的防火墙规则)
高级——PaaS 端点是公共的。您将如何“锁定”PaaS 服务,使其只能通过本地 IP 地址访问?
中级 – 您将使用什么服务来管理 AWS 中的证书? GCP?天蓝色?
高级 — 描述如何为 a) PaaS 服务(例如 ELB、CDN、API 网关)和 b) 服务器(例如 EC2 实例)配置和更新证书。
中级 — DEK(数据加密密钥)、KEK(密钥加密密钥)和 CMEK(客户管理的加密密钥)有什么区别?
高级——您将如何使用云加密服务来加密本地工作负载?
概括
这篇文章绝不是要挑剔任何人的云特定技能(我们每个人都在学习……)。它并不意味着作为一个权威的面试问题清单。
在我看来,它确实涵盖了基础。 IAM、监控、基本基础设施、基本安全、3 层应用托管——这些都是必不可少的。
某些高级主题,例如构建数据管道、kubernetes 集群或使用云原生服务的高级消息传递解决方案 - 故意不包含在此列表中(尽管我希望在下面的评论中听到您的问题列表)。
虽然该列表涵盖了“基本”主题,但如果没有亲身体验,上述问题中只有少数几个可以回答。
想法?评论?你有最喜欢的衡量建筑师技能的方法吗?