云架构定义
云架构,英文名cloud architecture,是指各项技术如何整合在一起以创建云,云是指能够抽象、汇集和共享整个网络中的可扩展资源的 IT 环境。
云被视为平台即服务(Pass),因为云提供商为用户提供了平台以及底层IT基础架构。
云架构作用
云架构主要解决扩展性和并发的问题,是最容易扩展的架构。
- 与传统的服务器相比,云平台可以将物理资源虚拟化为虚拟机资源池,灵活调用软硬件资源,实现对用户的按需访问;
- 而且在运行过程中根据用户并发量的不同,实时迁移虚拟机资源,一方面保证提供高质量的服务,另一方面最小化资源成本,提高CPU,内存等利用率;
云架构组成
上面这个云架构共分为服务和管理这两大部分。
云架构主要分为三层:
1.SaaS层
SaaS,即Software as a Service软件即服务,这层作用是将应用主要以基于Web的方式提供给客户。
SaaS层离普通用户非常接近,比如:大家最熟悉的Html、JavaScript等就可以划分为SaaS层。:
2.PaaS层
PaaS,即Platform as a Service平台即服务,这层作用是将一个应用的开发和部署平台作为服务,提供给用户。
用户不必管理或控制底层基础架构,而是控制部署的应用程序并在一定程度上控制应用程序驻留环境的配置。
PaaS 层的技术比较多样性,下面是常见的五种:
1)REST
通过 REST(Representational State Transfer,表述性状态转移)技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。
2)多租户
就是能让一个单独的应用实例可以为多个组织服务,而且能保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。
3)并行处理
为了处理海量的数据,需要利用庞大的x86集群进行规模巨大的并行处理,Google的MapReduce是这方面的代表之作。
4)应用服务器
在原有的应用服务器的基础上为云计算做了一定程度的优化,比如用于Google App Engine的Jetty应用服务器。
5)分布式缓存
通过分布式缓存技术,不仅能有效地降低对后台服务器的压力,而且还能加快相应的反应速度,最著名的分布式缓存例子莫过于Memcached 。
PaaS的提供者包括Google App Engine、Windows Azure、Force.com、Heroku等,小企业软件工作室是非常适合使用PaaS的企业。
3.IaaS层
IaaS即Infrastructure as a Service基础架构即服务,这层的作用是将各种底层的计算,比如:虚拟机和存储等资源作为服务提供给用户。
从用户角度而言,这三层服务,它们之间关系是独立的,但从技术角度而言,云服务这三层之间的关系并不是独立的,而是有一定依赖关系的。
比如:一个SaaS层的产品和服务,不仅需要使用到SaaS层本身的技术,而且还依赖PaaS层所提供的开发和部署平台,以及直接部署于IaaS层所提供的计算资源上。
云管理
云管理的功能是确保整个云计算中心能够安全和稳定的运行,并且能够被有效地管理。
主要包括:
- 用户管理;
- 监控系统;
- 计费管理;
- 安全管理;
- 服务管理;
- 资源管理;
- 容灾支持;
- 运维管理;
- 客户支持等方面
云架构优缺点
1.云架构的优点
高负载,高扩展,动态部署。
2.云架构的缺点
1)实现复杂,成本较高;
2)数据隐私问题:由于隐私问题,一些法律法规以及一些公司政策不允许将数据存储在云环境中。
3)严重依赖互联网连接:通常云服务是通过互联网提供的,如果您处于互联网连接较差的地区,或者更糟糕的是,根本没有互联网,这可能是一个问题。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》