标签:
下载地址:完整mp4视频
演讲人:张侠 博士
初创公司需要快、多、好、省的技术架构
无论是初创公司还是传统企业,很多架构思路是相通的: OS、前端、后端、数据库、框架等,根据自身需要选择。之后要做的就是在云中找到对应的服务功能。
云应用架构的7大设计原则
初创公司可以按照如下方法渐进式使用云服务
首台服务器(从云中启动一个vm开始)
要测试了,当初的vm不够用,需要更大的服务
分开网站应用和数据层
如何选择数据库?SQL or NoSQL?
为什么通常使用关系型数据库?
- SQL非常成熟,功能丰富
- 许多现成的代码、工具和知识
- 扩展设计思路明确发发可行
- 例如:对频繁读取的apps,采用读写分离
- 现实:未来将逐渐使用多种数据库
- 有些工作负载使用NoSQL更合适
- 为每项工作选择合适的工具
经验分享:关系型数据库很复杂
- 关系型数据库要实现高可扩展性,管理运营起来往往很困难
- 管理不善的关系型数据库,会造成:数据不匹配和IT系统宕机下线的原因
- 针对初创企业团队小,人员少在兼职,尤为如此
AWS提供托管的关系型数据库
MySQL、Aurora、PostgreSQL、Oracle、SQL Server
如何进一步提升效率?
部署静态内容—Amazon S3
缓存这些静态内容—Amazon CloudFront
数据库缓存—Amazon Elastic Cache
高可用性被摆上台面
用户访问的User Session问题
目标:使用弹性IT代替猜测计算容量
使用自动缩放能力(三剑客:CW、AS、ELB)
微服务化/SOA化
将应用分解许多成小的、功能单一的、松耦合的、无状态的构建单元
解决方案:使用Elastic Beanstalk
如果系统更复杂一些,可以使用SQS实现松耦合
AWS拥有更多的服务,你可以根据需要选择
AWS服务的关于高扩展和高扩展性的服务
本身可以扩展和高可用 | 与合适的架构配合实现可扩展和高可用 |
---|---|
ElasticLoadBalancing | EC2(本身不是高可用,而是在部署在多个AZ中后,可以实现一个高可用架构) |
CloudFront | VPC |
Route53 | |
S3 | |
SQS | |
SES | |
CloudSearch | |
Lambda | |
… |
在扩大团队时保持对创新的关注
数据太大了,需要扩展关系型数据库
增强RDS实例
如果需要经常写?
另一种解决方案,NoSQL数据存储—DynamoDB
无用户数上限的架构
初创公司AWS架构原则
标签:
原文地址:http://blog.csdn.net/qxk2001/article/details/51419880