亚马逊 新创公司用AWS搭建高扩展性架构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

初创公司用AWS搭建高扩展性的架构--如何用一周搭建好您公司的技术架构张侠博士亚马逊AWS首席云计算企业顾问CSDN2015年7月23日今天的内容•讨论初创公司提的业务和技术要求•为您的初创公司搭建一个技术架构•为您初创公司成长腾飞做好技术准备•学习AWS云上的高扩展性架构设计思路祝贺你,新公司成立了!•客户市场•产品服务•商业模式•创业基金•人员团队•技术平台初创公司的技术优先级•快速验证产品服务•为机会窗口而争分夺秒•小的技术团队没有历史包袱•关注于提供方案解决问题•避免工程大而全和返工•规避风险准备迎接高速成长做出抉择:语言、框架、工具、…1.操作系统:Linux:CentOS,RedHat,SUSE,Ubuntu2.移动端:iOS,Android;HTML53.网站前端:PHP/ASP/JSPHTML/CSS4.前端框架:Flex,jQuery,Sencha5.开发工具:Eclipse,SVN,SDK/IDE6.技术框架:Struts,Springs,Hibernate;Velocity;RubyonRails7.开发语言:Java,PHP,Python,Ruby,Net,Node.js,GO8.负载均衡:软件:Nginx,Squid;硬件:F5,CtrixNetscaler;9.数据库:RDB:MySQL;NoSQL:MangoDB10.缓存:Memcached,Redis11.内容发布:CDN,DNS12.其它:LucentLAMP常见架构工具的选择PHP/ASP架构的考虑•高性能•高可用•可扩展性•安全性•易于管理•成本可控•快速交付高扩展性架构•支持客户、业务、访问、和数据的高速成长•难于规划,成长无上限•扩展时性能不能受影响•无缝:只需平滑增加资源•高效:维持每个用户的低成本•其他要求:高可用性AWS平台上的新创企业AWS何帮助创业公司?•敏捷、快速、灵活•低启动成本,随用随付费•不再需要猜测容量•集中精力创新•摆脱无差异化的体力活•数分钟就可全球化部署•IT整体成本降低在AWS构建系统的原则•设计时考虑任何系统都会失效•松耦合和无状态设计•设计可扩展性和自动缩放•安全贯穿设计始终体现在每层中•不要过多担心约束和失败•多考虑平行分布式处理•充分使用各种不同的服务第一天––开发和私测首台服务器THEserver(e.g.Apache,MySQL)ElasticIP(AMI)第2天––推出和公测需要更大的服务器•加大块存储容量(EBS)•使用正确的虚机类型(EC2instancetype)•按需改变虚机大小(EC2instancesizes)•了解方案非长期永久,具过渡性质•还没有容错设计分开网站应用和数据层•更多容量•每层分别扩展•细调每层的实例–实例类型–存储•注重安全–使用防火墙Securitygroups–数据库置于VPC私有子网应该如何选择数据库?SQL?NoSQL?为什么通常使用关系型数据库?•SQL非常成熟,功能丰富•许多现成的代码、工具和知识•扩展设计思路明确方法可行*•现实:你将逐渐使用多种数据库–你将遇到一些工作负载,使用NoSQL是更加适合的–为每项工作选择最合适的工具*对频繁读取的apps经验分享:关系型数据库很复杂•我们的经验关系型数据库如果想实现高可扩展性,管理运营起来都往往很困难•管理不善的关系型数据库常常是数据不匹配和IT系统宕机下线的原因•针对初创企业团队小人员少尤为如此关系型数据库MySQL,Aurora,PostgreSQL,Oracle,SQLServer全面托管AmazonRDSAuroraAWS托管的关系型数据库提高效率部署静态内容•AmazonS3:高可用性易扩展的对象存储–任何格式的静态文件(JavaScript,CSS,images,videos)–用户可以直接上传•S3URLs–可以从S3直接提供•让网站服务器集中处理动态内容AmazonCloudFront•全世界分布的边缘站点•在边缘站点提供缓存–减少延迟Reducelatency–Reduceloadonoriginservers–Staticanddynamiccontent–Evenfewsecondscachingofpopularcontentcanhavehugeimpact•优化连接–优化连接路径–重复使用连接–对于不能缓存的内容也有帮助CloudFrontCloudFront用于静态和动态内容AmazonRoute53EC2instance(s)S3bucketStaticcontentDynamiccontentcss/*js/*Images/*Default(*)CloudFrontdistribution数据库缓存•从内存读取速度更快•减少数据库的工作负载Applicationserver1.Ifdataincache,returnresult2.Ifnotincache,readfromDBRDSdatabaseAmazonElastiCache3.AndstoreincacheAmazonElastiCache:内存中的缓存•部署简单•完全托管–自动替换失效的节点–负责升级补丁管理•好的弹性扩展•兼容性ElastiCache第3天––客户上线高可用性AvailabilityZoneARDSDBinstanceWebserverS3bucketforstaticassets弹性负载均衡•托管的负载均衡服务•容错•健康检查•分布在多个可用区•弹性-自动扩展容量ELB高可用性ElasticLoadBalancingS3bucketforstaticassetsAvailabilityZoneBWebserverAvailabilityZoneARDSDBinstanceWebserverElastiCachenode1•问题:状态通常存于本地磁盘(没有共享)•简单解决:ELBSessionstickiness•更好方案:DynamoDBElasticLoadBalancingWebserverWebserverLoggedinLoggedoutAmazonDynamoDB•托管的文件和键-值存储•易启动,易扩展•到百万IOPS•读和写•一致、快速的性能•持久性:特别适合存储sessiondata://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-dynamodb-session-handler.htmlDynamoDB第4天––让我们病毒式成长!使用弹性IT代替猜测计算容量Startupspre-AWSDemandUnhappyCustomersWaste$$$TraditionalCapacityCapacityDemandAWSCloud高可用数据层ElasticLoadBalancingS3bucketforstaticassetsAvailabilityZoneBWebserverAvailabilityZoneARDSDBinstanceWebserverElastiCachenode1

1 / 71
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功