AWS云计算基础
AWS云计算理论基础
简介
- Amazon Web Services
- 可以理解成一群人买了一个空间,里面堆了一堆硬件然后租给你用,和网吧的原理是一样的。
- AWS云计算是指亚马逊网络服务(Amazon Web Services)提供的一系列云计算服务。它允许个人、企业和组织通过互联网访问和使用IT资源
功能
- 分别能够提供高级联网,数据分析,数据库,AWS游戏,机器学习,媒体服务,安全性,无服务器,存储等主要服务
云计算类型
- 每种类型的云服务和部署方法都提供不同级别大的控制力,灵活性和管理功能。理解基础设施即服务和软件即服务之间的差异,以及可以使用的部署策略,有助于根据需求选用合适的服务组合。
云计算模型
基础设施即服务(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
配置云应用程序可能具有挑战性,需要编写自定义脚本,维护模板或学习特定于领域的语言。提供才成为构造的高级组件,可以使用经过验证的默认值预配置云资源,以便你可以轻松构建云应用程序。
AWS云形成
- 建模和设置AWS资源可能非常耗时,这就是AWS CloudFormation可以提供帮助的地方。CloudFormation帮助你建模和设置AWS资源,以便你可以花更少的时间管理资源,而将更多的时间专注于你的应用程序。创建模板后,CloudFormation会我为你预置这些资源。无需单独创建和配置AWS资源并且弄清楚哪些资源依赖哪些资源。
架构完善的基础设施
框架概述
- AWS Well-Architected可以帮助云架构和开发人员为各种应用程序和工作负载构建安全,高性能,弹性且高效的基础设施。AWS Well-Architected围绕六大支柱构建。