什么是 AWS? Amazon Cloud (Web) Services 教程
什么是云计算?
云计算是指通过互联网存储和访问数据。它不会在您的个人计算机硬盘上存储任何数据。在云计算中,您可以从远程服务器访问数据。
什么是 AWS?
AWS 的全称是 Amazon Web Services。它是一个提供灵活、可靠、可扩展、易于使用且具成本效益的云计算解决方案的平台。
AWS 是亚马逊提供的全面、易于使用的计算平台。该平台结合了基础设施即服务 (IaaS)、平台即服务 (PaaS) 和打包软件即服务 (SaaS) 产品。
AWS 历史
- 2002 年 - AWS 服务启动
- 2006 年 - 推出其云产品
- 2012 年 - 举办首届客户活动
- 2015 年 - 披露收入达 46 亿美元
- 2016 年 - 超越 100 亿美元收入目标
- 2016 年 - 发布 Snowball 和 Snowmobile
- 2019 年 - 提供近 100 项云服务
- 2021 年 - AWS 拥有超过 200 种产品和服务
重要的 AWS 服务
Amazon Web Services 提供广泛的、面向不同商业目的的全球性云产品。这些产品包括存储、数据库、分析、网络、移动、开发工具、企业应用程序,并采用按需付费的定价模式。
以下是主要的 AWS 服务。
AWS 计算服务
以下是亚马逊提供的云计算服务
- EC2 (Elastic Compute Cloud) - EC2 是云中的虚拟机,您可以对其进行操作系统级别的控制。您可以随时运行此云服务器。
- LightSail - 此云计算工具可自动部署和管理运行应用程序所需的计算、存储和网络功能。
- Elastic Beanstalk - 该工具提供自动化部署和资源配置,例如高度可扩展的生产网站。
- EKS (Elastic Container Service for Kubernetes) - 该工具允许您在 Amazon 云环境中运行 Kubernetes,无需安装。
- AWS Lambda - 此 AWS 服务允许您在云中运行函数。该工具可以为您节省大量成本,因为您只需在函数执行时付费。
迁移
用于在您的数据中心和 AWS 之间物理传输数据的迁移服务。
- DMS (Database Migration Service) - DMS 服务可用于将本地数据库迁移到 AWS。它帮助您从一种数据库类型迁移到另一种数据库类型,例如从 Oracle 迁移到 MySQL。
- SMS (Server Migration Service) - SMS 迁移服务允许您轻松快速地将本地服务器迁移到 AWS。
- Snowball - Snowball 是一个小型应用程序,允许您在 AWS 环境内外传输 TB 级数据。
存储空间
- Amazon Glacier - 它是一种极低成本的存储服务。它为数据归档和备份提供安全快速的存储。
- Amazon Elastic Block Store (EBS) - 它提供块级存储,可与 Amazon EC2 实例配合使用。Amazon Elastic Block Store 卷是网络附加的,并且独立于实例的生命周期。
- AWS Storage Gateway - 此 AWS 服务将本地软件应用程序与云存储连接起来。它提供公司本地存储和 AWS 存储基础设施之间的安全集成。
安全服务
- IAM (Identity and Access Management) - IAM 是一项安全的云安全服务,可帮助您管理用户、分配策略、形成组以管理多个用户。
- Inspector - 这是一个可以安装在您的虚拟机上的代理,它会报告任何安全漏洞。
- Certificate Manager - 该服务为 Route53 管理的域名提供免费 SSL 证书。
- WAF (Web Application Firewall) - WAF 安全服务提供应用程序级保护,并允许您阻止SQL 注入,并帮助您阻止跨站脚本攻击。
- Cloud Directory - 此服务允许您创建灵活的、云原生的目录,以跨多个维度管理数据层次结构。
- KMS (Key Management Service) - 它是一项托管服务。这项安全服务可帮助您创建和控制加密密钥,从而允许您加密数据。
- Organizations - 您可以使用此服务创建 AWS 账户组来管理安全和自动化设置。
- Shield - Shield 是一项托管的 DDoS(分布式拒绝服务)保护服务。它提供针对在 AWS 上运行的 Web 应用程序的保护。
- Macie - 它提供数据可见性安全服务,有助于对您的敏感关键内容进行分类和保护。
- GuardDuty - 它提供威胁检测,以保护您的 AWS 账户和工作负载。
数据库服务
- Amazon RDS - 此数据库 AWS 服务易于在云中设置、操作和扩展关系数据库。
- Amazon DynamoDB - 它是一种快速、完全托管的NoSQL 数据库服务。它是一项简单的服务,可提供成本效益高的数据存储和检索。它还允许您处理任何级别的请求流量。
- Amazon ElastiCache - 它是一项 Web 服务,可以轻松地在云中部署、操作和扩展内存缓存。
- Neptune - 它是一种快速、可靠且可扩展的图数据库服务。
- Amazon RedShift - 它是亚马逊的数据仓库解决方案,您可以用来执行复杂的OLAP查询。
分析
- Athena - 此分析服务允许您对 S3 存储桶中的数据执行SQL查询以查找文件。
- CloudSearch - 您应该使用此 AWS 服务为您的网站创建完全托管的搜索引擎。
- ElasticSearch - 它与 CloudSearch 类似。但是,它提供了更多功能,例如应用程序监控。
- Kinesis - 此 AWS 分析服务可帮助您大规模地流式传输和分析实时数据。
- QuickSight - 它是一个商业智能工具。它可以帮助您为 Amazon Web Services 中的数据创建仪表板可视化。例如,S3、DynamoDB 等。
- EMR (Elastic Map Reduce) - 此 AWS 分析服务主要用于大数据处理,如 Spark、Splunk、Hadoop 等。
- Data Pipeline - 允许您在不同位置之间移动数据。例如,从 DynamoDB 移动到 S3。
管理服务
- CloudWatch - CloudWatch 可帮助您监控 AWS 环境,例如 EC2、RDS 实例和 CPU 利用率。它还根据各种指标触发警报。
- CloudFormation - 这是一种将基础设施转化为云的方式。您可以使用模板在几分钟内提供完整的生产环境。
- CloudTrail - 它提供了一种轻松审计 AWS 资源的方法。它帮助您记录所有更改。
- OpsWorks - 该服务允许您在 AWS 环境中自动化 Chef/Puppet 部署。
- Config - 此 AWS 服务会监控您的环境。当您违反某些定义的配置时,该工具会发送警报。
- Service Catalog - 该服务可帮助大型企业授权用户将使用哪些服务,哪些不使用。
- AWS Auto Scaling - 该服务允许您根据给定的 CloudWatch 指标自动扩展资源。
- Systems Manager - 此 AWS 服务允许您对资源进行分组。它允许您识别问题并采取行动。
- Managed Services - 它提供对您的 AWS 基础设施的管理,让您可以专注于您的应用程序。
物联网
- IoT Core - 它是一项托管的 AWS 云服务。该服务允许连接的设备(如汽车、灯泡、传感器网格)与云应用程序和其他设备安全地交互。
- IoT Device Management - 它允许您大规模管理您的物联网设备。
- IoT Analytics - 此 AWS 物联网服务有助于分析您的物联网设备收集的数据。
- Amazon FreeRTOS - 这种用于微控制器(MCU)的实时操作系统可以帮助您将物联网设备连接到本地服务器或云端。
应用程序服务
- Step Functions - 这是可视化应用程序内部以及它使用的不同微服务的一种方式。
- SWF (Simple Workflow Service) - 该服务有助于协调自动化任务和人工任务。
- SNS (Simple Notification Service) - 您可以使用此服务根据给定的 AWS 服务以电子邮件和 SMS 的形式向您发送通知。
- SQS (Simple Queue Service) - 使用此 AWS 服务来解耦您的应用程序。这是一个拉取式服务。
- Elastic Transcoder - 此 AWS 服务工具可帮助您更改视频的格式和分辨率,以支持平板电脑、智能手机和笔记本电脑等不同设备的不同分辨率。
部署与管理
- AWS CloudTrail:该服务记录 AWS API 调用并将积压文件发送给您。
- Amazon CloudWatch:该工具监控 AWS 资源,例如Amazon EC2和 Amazon RDS 数据库实例。它还允许您监控用户应用程序和服务创建的自定义指标。
- AWS CloudHSM:此 AWS 服务通过在 AWS 环境中使用硬件安全模块 (HSM) 设备,帮助您满足数据安全维护的企业、监管和合同合规性要求。
开发人员工具
- CodeStar - Codestar 是一项基于云的服务,用于在 AWS 上创建、管理和处理各种软件开发项目。
- CodeCommit - 这是 AWS 的版本控制服务,允许您在云中私有存储您的代码和其他资产。
- CodeBuild - 此 Amazon 开发人员服务可帮助您自动化构建和编译代码的过程。
- CodeDeploy - 这是一种自动将代码部署到 EC2 实例的方法。
- CodePipeline - 它可以帮助您创建部署管道,例如在开发和生产环境中进行测试、构建、测试、身份验证、部署。
- Cloud9 - 这是一个用于在云中编写、运行和调试代码的集成开发环境。
移动服务
- Mobile Hub - 允许您为移动应用程序添加、配置和设计功能。
- Cognito - 允许用户使用其社交身份注册。
- Device Farm - Device Farm 可帮助您通过快速测试数百种移动设备来提高应用程序的质量。
- AWS AppSync - 这是一个完全托管的 GraphQL 服务,提供实时数据同步和离线编程功能。
商业生产力
- Alexa for Business - 它通过 Alexa 使用语音赋能您的组织。它将帮助您为您的组织构建自定义语音技能。
- Chime - 可用于在线会议和视频会议。
- WorkDocs - 帮助在云中存储文档
- WorkMail - 允许您发送和接收业务电子邮件。
桌面和应用程序流
- WorkSpaces - Workspace 是 VDI(虚拟桌面基础设施)。它允许您在云中使用远程桌面。
- AppStream - 一种将桌面应用程序流式传输到 Web 浏览器中的用户的方法。例如,在 Google Chrome 中使用 MS Word。
人工智能
- Lex - Lex 工具可帮助您快速构建聊天机器人。
- Polly - 这是 AWS 的文本转语音服务,允许您创建笔记的音频版本。
- Rekognition - 这是 AWS 的面部识别服务。此 AWS 服务可帮助您识别图像和视频中的面孔和对象。
- SageMaker - SageMaker 允许您在任何规模下构建、训练和部署机器学习模型。
- Transcribe - 这是 AWS 的语音转文本服务,提供高质量且经济实惠的转录。
- Translate - 这是一个与 Google Translate 非常相似的工具,允许您将一种语言的文本翻译成另一种语言。
AR 和 VR(增强现实和虚拟现实)
- Sumerian - Sumerian 是一套用于在 Web 上提供高质量虚拟现实 (VR) 体验的工具。该服务允许您创建交互式 3D 场景并将其作为网站发布供用户访问。
客户互动
- Amazon Connect - Amazon Connect 允许您在云中创建客户服务中心。
- Pinpoint - Pinpoint 可帮助您了解用户并与他们互动。
- SES (Simple Email Service) - 帮助您以相对经济实惠的价格向客户发送批量电子邮件。
游戏开发
- GameLift - 这是由 AWS 管理的一项服务。您可以使用此服务托管专用游戏服务器。它允许您无缝扩展,而无需使您的游戏离线。
AWS 服务应用
Amazon Web Services 被广泛用于各种计算目的,例如
- 网站托管
- 应用程序托管/SaaS 托管
- 媒体共享(图像/视频)
- 移动和社交应用程序
- 内容交付和媒体分发
- 存储、备份和灾难恢复
- 开发和测试环境
- 学术计算
- 搜索引擎
- 社交网络
使用 AWS 的公司
- Netflix
- Twitch
- Turner Broadcasting: 1000 万美元
- Zoopla
- Smugmug
- Dropbox
AWS 的优势
以下是使用 AWS 服务的优点
- AWS 允许组织使用已熟悉的编程模型、操作系统、数据库和架构。
- 这是一项具有成本效益的服务,允许您只为您使用的服务付费,无需任何前期或长期承诺。
- 您无需花费金钱来运行和维护数据中心。
- 提供快速部署
- 您可以轻松添加或删除容量。
- 您可以快速获得云访问,拥有无限容量。
- 与任何私有/专用服务器相比,总拥有成本非常低。
- 提供集中计费和管理
- 提供混合功能
- 只需点击几下即可在全球多个区域部署您的应用程序
AWS 的缺点
- 如果您需要更及时或更密集的帮助,您需要选择付费支持套餐。
- 当您迁移到云时,Amazon Web Services 可能会出现一些常见的云计算问题。例如,停机、有限的控制和备份保护。
- AWS 对资源设置了默认限制,这些限制因区域而异。这些资源包括镜像、卷和快照。
- 应用程序的硬件级别更改可能无法提供最佳的应用程序性能和使用。
AWS 的最佳实践
- 您需要为故障设计,但实际上什么都不会失败。
- 在使用 AWS 服务之前,解耦所有组件非常重要。
- 您需要将动态数据靠近计算,将静态数据靠近用户。
- 了解安全和性能的权衡很重要。
- 按小时付费方式支付计算容量。
- 养成一次性支付您想预留的每个实例的习惯,并获得每小时费用的显著折扣。