AWS云计算理论基础

简介

  • Amazon Web Services
  • 可以理解成一群人买了一个空间,里面堆了一堆硬件然后租给你用,和网吧的原理是一样的。
  • AWS云计算是指亚马逊网络服务(Amazon Web Services)提供的一系列云计算服务。它允许个人、企业和组织通过互联网访问和使用IT资源

功能

  • 分别能够提供高级联网,数据分析,数据库,AWS游戏,机器学习,媒体服务,安全性,无服务器,存储等主要服务
    image-20230807172336657

云计算类型

  • 每种类型的云服务和部署方法都提供不同级别大的控制力,灵活性和管理功能。理解基础设施即服务和软件即服务之间的差异,以及可以使用的部署策略,有助于根据需求选用合适的服务组合。

image-20230812141634839

云计算模型

基础设施即服务(laaS)
  • 提供基本的计算,存储和网络资源,用户可以在这些资源上构建和管理自己的应用程序。用户负责操作系统及以上的管理和维护,如虚拟机,存储实例等
平台即服务(PaaS)
  • 在laaS的基础上,PaaS还提供开发框架,数据库,中间件等。用户可以专注于应用程序开发,而不必关心底层基础设施的管理。
软件即服务(SaaS)
  • 提供完整的应用程序作为服务,用户无需安装,维护或管理应用程序本身。常见的有电子邮件,办公套件,客户关系,管理系统等。
函数即服务(FaaS)
  • 也称为无服务器计算,它允许开发人员编写单个函数(或功能块),并在需要时候自动触发执行,无需关心底层的服务器和基础设施。
容器即服务(CaaS)
  • 提供容器管理和编排的服务,用户可以将应用程序打包成容器,并在云平台上进行部署,扩展和管理
多云和混合云
  • 多云指的是将应用程序和数据分布在等多个不同的云平台上,而混合云则是将云计算与传统本地基础设施相结合,使得用户可以在不同环境中灵活地部署和管理应用程序。

AWS核心服务

计算服务:

Amazon EC2 (Elastic Compute Cloud):提供可扩展的虚拟机实例,用于运行各种应用程序。

Amazon ECS (Elastic Container Service):用于管理和编排Docker容器的服务。

AWS Lambda:无服务器计算服务,允许您在需要时运行代码,无需管理服务器。

Amazon Lightsail:为简单应用提供的轻量级计算实例,适用于初学者和小型项目。

存储服务:

Amazon S3 (Simple Storage Service):对象存储服务,用于存储和检索任意数量的数据。

Amazon EBS (Elastic Block Store):提供持久性块存储卷,可附加到EC2实例。

Amazon Glacier:长期数据存储服务,适用于需要稳定存储而不需要频繁访问的数据。

Amazon EFS (Elastic File System):提供可扩展的文件存储,可以在多个EC2实例之间共享。

数据库服务:

Amazon RDS (Relational Database Service):托管的关系型数据库服务,支持多种数据库引擎。

Amazon DynamoDB:托管的NoSQL数据库服务,适用于高度可扩展和低延迟的应用程序。

Amazon Aurora:高性能、关系型数据库引擎,兼容MySQL和PostgreSQL。

Amazon Redshift:用于数据仓库和分析的大规模数据存储和处理服务。

网络和内容分发:

Amazon VPC (Virtual Private Cloud):创建私有网络,允许您在AWS中隔离和配置资源。

Amazon CloudFront:内容分发网络,加速向全球用户分发静态和动态内容。

Amazon Route 53:可扩展的域名系统(DNS)服务,用于管理域名和路由流量。

安全与身份管理:

AWS IAM (Identity and Access Management):身份和访问管理服务,用于管理用户、权限和资源访问。

Amazon Cognito:用于身份验证、授权和用户管理的服务。

分析与大数据:

Amazon EMR (Elastic MapReduce):大数据处理服务,支持Apache Hadoop、Spark等。

Amazon Athena:无服务器查询服务,用于分析S3中的数据。

Amazon Redshift Spectrum:扩展Redshift数据仓库,可以直接查询S3中的数据。

人工智能与机器学习:

Amazon SageMaker:用于构建、培训和部署机器学习模型的托管服务。

Amazon Rekognition:图像和视频分析服务,用于识别对象、人脸等。

Amazon Polly:文本转语音服务,可将文本转换为自然语音。

Amazon Lex:构建聊天机器人和语音交互应用的服务。

开发者工具

AWS CodeCommit:

提供托管的Git存储库,用于团队协作和版本控制。
可以将代码存储在私有存储库中,并管理代码的变更历史。

AWS CodeBuild:

托管的持续集成服务,用于构建、测试和打包应用程序。
自动执行构建过程,生成可部署的构建产物。

AWS CodeDeploy:

自动化部署服务,用于将应用程序部署到不同的计算实例。
支持各种部署策略,如无停机部署、蓝绿部署等。

AWS CodePipeline:

托管的持续交付服务,用于创建、管理和自动化整个交付流程。
可以连接多个代码存储库、构建和部署服务,形成完整的交付流水线。

AWS CodeStar:

为团队提供一站式的开发项目管理和协作工具。
集成了多个开发者工具,帮助您快速搭建、部署和管理应用。

AWS Cloud9:

基于浏览器的集成开发环境(IDE),允许团队协作开发代码。
可以连接到远程服务器,编写、测试和调试代码。

AWS X-Ray:

分布式应用程序性能分析服务,可帮助您识别和调试性能问题。
可以跟踪请求在不同服务之间的流动,并生成性能图表。

AWS Command Line Interface (CLI):

命令行工具,使您能够通过命令管理AWS资源。
提供了丰富的命令和选项,用于自动化和管理任务。

AWS SAM (Serverless Application Model):

一种用于构建、测试和部署无服务器应用程序的开发框架。
基于CloudFormation,简化了无服务器应用程序的定义和部署。

AWS Amplify:

用于构建现代Web和移动应用程序的开发平台。
提供前端框架、托管、认证等功能,支持快速开发和部署。

AWS的IDE和IDE工具包
  • AWS支持流行的集成开发环境(IDE)和IDE工具包提供支持,因此你可以在你的首选环境中在AWS上编写,调试和部署代码。

基础设施即代码(IaC)

  • AWS提供服务能够以编程,描述性和声明性的方式创建,部署和维护基础设施
AWS CDK
  • AWS云开发套件(AWS CDK)是一个软件开发框架,用于在代码中的定义云基础设施并通过AWS CloudFormation进行配置。CDK支持类似于TypeScript,JavaScript,Python,Java,C#/.Net和Go

  • 配置云应用程序可能具有挑战性,需要编写自定义脚本,维护模板或学习特定于领域的语言。提供才成为构造的高级组件,可以使用经过验证的默认值预配置云资源,以便你可以轻松构建云应用程序。

image-20230812151513189

AWS云形成

  • 建模和设置AWS资源可能非常耗时,这就是AWS CloudFormation可以提供帮助的地方。CloudFormation帮助你建模和设置AWS资源,以便你可以花更少的时间管理资源,而将更多的时间专注于你的应用程序。创建模板后,CloudFormation会我为你预置这些资源。无需单独创建和配置AWS资源并且弄清楚哪些资源依赖哪些资源。

image-20230812152841112

架构完善的基础设施

框架概述
  • AWS Well-Architected可以帮助云架构和开发人员为各种应用程序和工作负载构建安全,高性能,弹性且高效的基础设施。AWS Well-Architected围绕六大支柱构建。