1.2.Compute Services

  • date_range 2021-04-29 info
    sort
    article
    label
    AWS
  1. 前提概念
  2. Amazon Elastic Compute Cloud
  3. AWS Elastic Beanstalk
  4. AWS Lambda
  5. AWS Step Functions
  6. Amazon Lightsail
  7. AWS Batch
  8. AWS Fargate
  9. TODO

前提概念

RedHat 的 IaaS、PaaS 和 SaaS 大比拼 一文中,用下图形容 infrastructure-as-a-service (IaaS)、platform-as-a-service (PaaS)、software-as-a-service (SaaS) 的资源管理能力。

img

如果我们需要选择使用多少GB的磁盘和内存,那么该网络服务往往是IaaS。如果我们需要部署软件,但是不用选择内存和磁盘大小,那么就是PaaS。

Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) ,相当于虚拟机。Amazon Machine Images (AMI) 相当于镜像。EC2 是 IaaS(Infrastructure as a Service),EC2 已经提供了网络、服务器、虚拟化、存储等(不过我们仍需要去选择)。

AWS Elastic Beanstalk

AWS Elastic Beanstalk(AWS EB) 是 PaaS(Platform as a service),AWS提供了平台和SDK等,用户只需要上传代码和配置即可。

AWS Lambda

AWS Lambda 也是 PaaS(Platform as a service),AWS提供了平台和SDK等。与 AWS EB 的区别是:

  • Lambda 部署的往往是,有入口且有出口的应用。而 AWS EB 部署的应用,常常是不会终止的应用(如Web应用)。
  • 可扩展应用副本的个数(往往是无状态的应用)
  • 便宜(即,应用所需要的资源少)。此处可以看到 Lambda 的硬件限制。

参考文献

AWS Step Functions

无服务器函数编排工具(serverless function orchestrator)。通过AWS Step Functions可以创建一个流程图,该流程图的单元为无服务器应用程序(如:Lambda)。

Amazon Lightsail

严格意味上,Amazon Lightsail 是IaaS,因为我们需要选择内存和磁盘大小。但是 Amazon Lightsail 简化了选择硬件的过程,它提供了“套餐”,当我们选择好套餐/具体硬件后,再选择应用,就算部署成功。

从非严格意义上,Amazon Lightsail 是 SaaS,因为除了需要思考硬件以外,我们并不需要做额外的事情。

AWS Batch

笔者认为 AWS Batch 和 AWS Lambda 具有一定的相似性,区别在于:

  • AWS Lambda 的硬件性能具有限制,不能做大型计算
  • AWS Lambda 更便宜

TODO 待深入

AWS Fargate

AWS Fargate 是 CaaS(Containers-as-a-Service),适合 Amazon 版的Kubernetes (Amazon Elastic Kubernetes Service (EKS) )、Amazon Elastic Container Service (Amazon ECS)。EKS 和 ECS 都是编排工具服务。

TODO

  • 事件驱动架构是什么? 网址1