返回

服务抽象,软件抽象与硬件抽象:AWS的计算抽象与分层

见解分享

本文旨在从计算的角度来探究AWS为用户提供的不同级别的抽象。

想要理解AWS所提供的计算抽象,首先要定义“计算域”。“计算域”是一个拥有CPU和内存容量、允许运行特定软件的实体。在这个定义下,一部手机、一台计算机、一台服务器,甚至一个微控制器,都可以看作是一个计算域。基于此,我们将以三种抽象类型来讨论AWS的服务:服务抽象、软件抽象和硬件抽象。

  • 服务抽象

服务抽象是指AWS提供的云服务,这些服务可以让用户不必关注底层的硬件和软件细节,即可轻松构建和部署应用程序。例如,AWS Lambda是一种无服务器计算服务,用户可以将代码上传到Lambda,无需管理服务器或操作系统,即可运行代码。

  • 软件抽象

软件抽象是指AWS提供的各种软件组件,这些组件可以帮助用户构建和部署应用程序。例如,AWS Elastic Beanstalk是一种平台即服务(PaaS)产品,可以帮助用户快速部署和管理应用程序。

  • 硬件抽象

硬件抽象是指AWS提供的各种硬件设备,这些设备可以帮助用户扩展计算能力。例如,AWS EC2是一种虚拟机服务,可以让用户租用虚拟机来运行应用程序。

接下来,让我们分别来讨论一下这三种抽象类型。

服务抽象

AWS提供的服务抽象可以分为两大类:基础设施即服务(IaaS)和平台即服务(PaaS)。IaaS服务提供对计算、存储和网络资源的访问,而PaaS服务则提供了一个平台,允许用户在其上构建和部署应用程序。

AWS最受欢迎的IaaS服务包括:

  • Amazon EC2:一种虚拟机服务,允许用户租用虚拟机来运行应用程序。
  • Amazon S3:一种对象存储服务,允许用户存储和检索数据。
  • Amazon RDS:一种关系型数据库服务,允许用户创建和管理关系型数据库。

AWS最受欢迎的PaaS服务包括:

  • AWS Lambda:一种无服务器计算服务,允许用户运行代码,而无需管理服务器或操作系统。
  • AWS Elastic Beanstalk:一种PaaS产品,可以帮助用户快速部署和管理应用程序。
  • AWS Fargate:一种容器服务,允许用户在AWS上运行容器。

软件抽象

AWS提供的软件抽象可以分为两大类:工具和框架。工具可以帮助用户构建和部署应用程序,而框架则提供了一套预先构建的组件,可以帮助用户快速构建应用程序。

AWS最受欢迎的工具包括:

  • AWS CLI:一种命令行工具,允许用户管理AWS资源。
  • AWS SDK:一种软件开发工具包,允许用户使用各种编程语言来访问AWS服务。
  • AWS CloudFormation:一种模板语言,允许用户定义AWS资源的配置。

AWS最受欢迎的框架包括:

  • AWS Serverless Application Model(SAM):一种框架,允许用户构建和部署无服务器应用程序。
  • AWS Amplify:一种框架,允许用户快速构建和部署移动和Web应用程序。
  • AWS Chalice:一种框架,允许用户使用Python语言来构建和部署无服务器应用程序。

硬件抽象

AWS提供的硬件抽象可以分为两大类:计算实例和存储设备。计算实例提供CPU和内存资源,而存储设备提供存储空间。

AWS最受欢迎的计算实例包括:

  • Amazon EC2实例:一种虚拟机实例,允许用户租用虚拟机来运行应用程序。
  • Amazon Lightsail实例:一种轻量级的虚拟机实例,适合小型应用程序和网站。
  • Amazon Elastic Kubernetes Service(EKS):一种托管Kubernetes服务,允许用户在AWS上运行Kubernetes集群。

AWS最受欢迎的存储设备包括:

  • Amazon S3:一种对象存储服务,允许用户存储和检索数据。
  • Amazon EBS:一种块存储服务,允许用户在EC2实例中存储数据。
  • Amazon FSx:一种文件存储服务,允许用户在AWS上创建和管理文件系统。