ksp*_*rin 105 amazon-web-services aws-cloudformation amazon-elastic-beanstalk
我开发了一个.NET MVC应用程序,并开始使用AWS并通过Visual Studio Toolkit进行部署.我已使用工具包中的Elastic Beanstalk选项成功部署了应用程序.
当我查看使用该工具包将.NET应用程序部署到AWS的教程时,我注意到有一些教程可以使用Elastic Beanstalk和CloudFormation进行部署.这两者有什么区别?
据我所知,看起来他们两者基本上都在做同样的事情 - 更容易将您的应用程序部署到AWS云(设置EC2实例,负载均衡器,自动扩展等).我曾经尝试过阅读它们,但除了一堆对我来说听起来像是同样的嗡嗡声之外,我似乎无法得到任何东西.我甚至在AWS网站上找到了一个应该回答这个问题的常见问题解答,但我真的不明白.
我应该使用其中一个吗?都?
jam*_*ieb 186
他们实际上是非常不同的.Elastic Beanstalk旨在让开发人员的生活更轻松.CloudFormation旨在使系统工程师的生活更轻松.
Elastic Beanstalk是AWS的IaaS服务的类似PaaS的层,它抽象出底层的EC2实例,Elastic Load Balancers,自动扩展组等.这使得开发人员更容易,他们不想处理所有问题.系统的东西,以便在AWS上快速部署他们的应用程序.它与Heroku,EngineYard,Google App Engine等其他PaaS产品非常相似.使用Elastic Beanstalk,您无需了解任何底层魔法的工作原理.
另一方面,CloudFormation不会自动执行任何操作.它只是一种在巨大的JSON文件中定义部署所需的所有资源的方法.因此,CloudFormation模板实际上可能会创建两个ElasticBeanstalk环境(生产和登台),一些ElasticCache集群,一个DyanmoDB表,然后在Route53中创建正确的DNS.然后我将此模板上传到AWS,离开,45分钟后,一切准备就绪,等待.由于它只是一个纯文本的JSON文件,我可以将它粘贴在我的源代码控制中,这为我的应用程序部署提供了一种很好的方式.它还确保我有一个可重复的,"已知良好"的配置,我可以快速部署在不同的区域.
wjo*_*dan 40
为了快速部署标准.NET Web应用程序,Elastic Beanstalk是适合您的服务.
AWS CloudFormation为开发人员和系统管理员提供了一种简单的方法来创建和管理相关AWS资源的集合,以有序和可预测的方式配置和更新它们.
CloudFormation(CFn)是对现有AWS API的轻量级低级抽象.使用静态JSON/YAML 模板文档,您可以声明与AWS API上的CRUD操作相对应的一组资源(例如EC2实例或S3存储桶).
创建CloudFormation堆栈时,CloudFormation会调用相应的API来创建关联的资源,当您删除堆栈时,CloudFormation会调用相应的API来删除它们.支持大多数(但不是全部)AWS API.
AWS Elastic Beanstalk是一种易于使用的服务,用于在熟悉的服务器(如Apache,Nginx,Passenger)上部署和扩展使用Java,.NET,PHP,Node.js,Python,Ruby,Go和Docker开发的Web应用程序和服务.和IIS.
您只需上传代码,Elastic Beanstalk就可以自动处理部署,从容量配置,负载平衡,自动扩展到应用程序运行状况监控.
Elastic Beanstalk(EB)是用于托管Web应用程序的更高级别的托管"平台即服务"(PaaS),其范围与Heroku类似.EB不是直接处理低级AWS资源,而是提供一个完全托管的平台,您可以使用Web界面创建应用程序环境,选择应用程序使用的平台,创建和上载源包,EB处理其余平台.
使用EB,您可以获得各种内置功能,用于监控应用程序环境和部署应用程序的新版本.
在幕后,EB使用CloudFormation来创建和管理应用程序的各种AWS资源.您可以通过将CloudFormation资源添加到随应用程序部署的EB配置文件来自定义和扩展默认EB环境.
如果您的应用程序是使用Elastic Beanstalk支持的平台之一的标准Web层应用程序,并且您希望为您的应用程序提供易于管理,高度可扩展的托管,请使用Elastic Beanstalk.
如果你:
然后直接使用CloudFormation并避免添加Elastic Beanstalk的配置层.
小智 13
Cloud Formation是一种允许您部署AWS服务的服务.您可以创建一个模板文件来描述所需的服务.部署该模板时,Cloud Formation会为您创建资源作为"包".您在模板中定义的所有资源都会一起启动和终止.可以使用Cloud Formation创建的资源类型示例包括:S3,EC2实例,AutoScaling,DynamoDb等.对于EC2,Cloud Formation还使您能够使用"cfn-init"脚本; 它可以与模板一起使用来引导您的实例.
Elastic Beanstalk使用Cloud Formation模板和scipts来:1.创建负载均衡器和Auto Scaling组,2.将代码复制到S3,3.引导Ec2实例以从S3下载代码并进行部署.
Cloud Formation并不像EB那样容易使用,但它更强大,因为您可以创建除EC2实例以外的资源,控制cfn-init脚本的方式等.
| 归档时间: |
|
| 查看次数: |
43717 次 |
| 最近记录: |