根据多年来AWS的专家们积累的经验,创建了这一份AWS良好架构框架,其中包含了以下五大支柱:
1、不需再猜测您的容量需求
2、以生产规模进行系统测试,工具:CloudFormation
3、自动简化架构实验
4、允许实现架构演进,我们可以巧妙利用自动化、DevOps、IaaC的特性来对架构进行更快速的迭代实现敏捷开发(Agile)
5、数据驱动型架构,可以通过CloudWatch收集相关数据,来了解你的架构负载情况
6、通过模拟促销日实现改进,通过压力测试改进架构中的不足之处
具体设计思路为以下五点:
1、在所有层面考虑安全性
2、事件可追溯性
3、最低权限原则
4、专注于保护你的系统
5、自动化安全最佳实践
1、身份与访问管理:使用IAM和MFA来登录控制台
2、检测控制:使用AWS CloudTrail、AWS Config、AWS CloudWatch
3、基础设置保护:使用VPC、安全组、NACL来保护你的基础设施安全
4、数据保护:需要保护数据在传输过程中和存储过程中的安全,使用EBS、S3和RDS的加密功能
5、事件响应:使用IAM、CloudFormation、API来做事件响应
1、测试恢复流程
在云环境中,我们可以通过自动化手段模拟不同故障来验证我们的故障恢复流程
自动化工具:chaos monkey
2、自动化实现故障恢复
通过监控系统内各项性能指标,可以在触及阈值的时候,自动化响应操作,自动化恢复故障
3、横向扩展以提升系统可用性
4、不再猜测容量需求
5、自动化管理变更:基础设施内的变更应都以自动化的方式实现
1、基础:在构建系统之前,我们需要确定一些基础性因素,包括服务限制和网络拓扑结构
2、变更管理
在AWS中,我们可以通过API或者AutoScaling来对资源进行弹性地扩展,并且使用CloudWatch来监控一切参数,更快发现容量问题和不良的趋势
使用CloudTrail来追踪变更
3、故障管理
要对架构中出现故障有一定的预期,我们需要意识到这些故障,了解它们是如何发生的,如何去预防它们再发生
定义Recovery Point Objective (RPO)和Recovery Time Objective (RTO)
1、普及先进技术
AWS提供NOSQL、媒体转码、机器学习、大数据分析、以Paas形式提供给你
2、数分钟内实现全球化
3、使用无服务架构:Lambda + API Gateway
4、提升测试效率
5、机器同理心:我们不需要对AWS服务的里里外外深入进行了解,但我们需要了解如何更好地使用各种服务
1、计算:EC2、容器、函数
2、存储:ECS、S3、Galacier
3、数据库:RDS、DynamoDB、Redshift、ElastiCache
4、网络:S3传输加速、CloudFront、Rount53、AWS DirectConnect
1、Pay-as-you-go:仅根据自己业务消费来申请资源,比如开发和测试环境,只在使用时开机
2、规模经济效益
3、不需要为数据中心运营支出
4、支出分析和原因分析
5、使用托管服务来降低成本
1、是否有成本效率高的资源
1、我们可以用cloudwatch来监控我们的需求
2、用Auto Scaling 来弹性伸缩
3、Serverless 无服务架构也可以帮助我们实现供需匹配
4、支出认知,关键服务:CloudWatch,SNS
5、关注新服务
1、利用代码执行操作:Cloud Formation
2、进行多次、小型、可逆的操作
3、预见失败:测试工具 Chaos Monkey
4、从失败中汲取经验:通过所有操作事件和失败中汲取经验来推动改进。将汲取的经验在团队内部或整个组织内进行分享
5、经常优化操作流程
1、筹备,核心服务:Cloudformation, AutoScaling, AWS Config, Tagging
2、操作,核心服务:AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline, AWS CloudTrail
3、演进,在出现故障时,保证你的团队能够从失败中汲取经验,并且制定改进计划,核心服务:CloudWatch
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图
我知道还有其他相同的问题,但他们没有解决我的问题。我不断收到错误:Aws::Errors::MissingRegionErrorinBooksController#create,缺少区域;使用:region选项或将区域名称导出到ENV['AWS_REGION']。但是,这是我的配置开发.rb:config.paperclip_defaults={storage::s3,s3_host_name:"s3-us-west-2.amazonaws.com",s3_credentials:{bucket:ENV['AWS_BUCKET'],access_key_id:ENV['AWS_ACCE
我是一名决定学习Ruby和RubyonRails的ASP.NETMVC开发人员。我已经有所了解并在RoR上创建了一个网站。在ASP.NETMVC上开发,我一直使用三层架构:数据层、业务层和UI(或表示)层。尝试在RubyonRails应用程序中使用这种方法,我发现没有关于它的信息(或者也许我只是找不到它?)。也许有人可以建议我如何在RubyonRails上创建或使用三层架构?附言我使用ruby1.9.3和RubyonRails3.2.3。 最佳答案 我建议在制作RoR应用程序时遵循RubyonRails(RoR)风格。Rails
我想开始使用“Sinatra”框架进行编码,但我找不到该框架的“MVC”模式。是“MVC-Sinatra”模式或框架吗? 最佳答案 您可能想查看Padrino这是一个围绕Sinatra构建的框架,可为您的项目提供更“类似Rails”的感觉,但没有那么多隐藏的魔法。这是使用Sinatra可以做什么的一个很好的例子。虽然如果您需要开始使用这很好,但我个人建议您将它用作学习工具,以对您来说最有意义的方式使用Sinatra构建您自己的应用程序。写一些测试/期望,写一些代码,通过测试-重复:)至于ORM,你还应该结帐Sequel其中(imho
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我一直在Rails上做两个项目,它们运行良好,但在这个过程中重新发明了轮子,自来水(和热水)和止痛药,正如我随后了解到的那样,这些已经存在于框架中。那么基本上,正确了解框架中所有智能部分的最佳方法是什么,这将节省时间而不是自己构建已经实现的功能?从第1页开始阅读文档?是否有公开所有内容的特定示例应用程序?一个特定的开源项目?所有的rails交通?还是完全
EC2会在实例停止然后重新启动时为其提供新的IP地址,因此我需要能够自动管理route53记录集,以便我可以一致地访问内容。遗憾的是,sdk的route53部分的文档远不如ec2的文档那么健壮(可以理解),所以我有点卡住了。到目前为止,从我所看到的情况来看,似乎change_resource_record_sets(link)是可行的方法,但我对:chages需要什么感到困惑>因为它提到了一个Change对象,但没有提供指向所述对象描述的链接。这是我的代码目前的样子:r53.client.change_resource_record_sets(:hosted_zone_id=>'MY_
我正在尝试使用Nokogiri和XPath从网站上抓取图像,但到目前为止收效甚微。对于其HTML具有img和src的典型网站,我可以使用:tmp2=Nokogiri::HTML(open(site_url))tmp2.xpath("//img/@src").eachdo|src|...dowhateverend但是,某些网站(如Amazon和eBay)仅使用JavaScript触发特定图像。如果我查看代码,我可以看到数组中的数据。例如,来自Amazon:P.when('jQuery','cf').execute(function($,cf){P.load.js('http://z-ec
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我希望能够将模板化的YARD文档样式注释插入到我现有的Rails遗留应用程序中。目前它的评论很少。我想要具有指定参数的类header和方法header(通过从我假定的方法签名中提取)和返回值的占位符。在PHP代码中,我有一些工具可以检查代码并在适当的位置创建插入到代码中的文档header注释。在带有Ducktyping等的Ruby中,我确信诸如@params等类型之类