内容介绍:
一、用户业务架构现状及关键挑战
二、阿里云业务托管经典架构设计
三、方案涉及产品的选型配置简介
四、业务初期如何低门槛使用(权益介绍)
本次课程的主题是企业业务上云经典架构,由阿里云产品经理晋侨分享。
该系列课程会对企业业务上云经典架构方案进行整体介绍,然后进行IT项目实操,实现该架构的全面落地。本次课程将详细讲解企业业务上云的经典架构方案。
在企业业务上,云的经典架构方案主要包括四个环节。首先,了解大部分IT用户在云上完成业务托管架构的过程,包括大部分企业架构在云上的状态及遇到的关键性问题和挑战;然后,从问题和挑战出发,了解阿里云架构师提出的解决方案以及推荐的业务中云托管方案的设计方案;接下来,学习整个方案的落地过程,包括如何进行分阶段方案的部署,产品的选型及正确的使用;最后,了解如何选择企业匹配的权益、活动、折扣等,实现更低成本、更低门槛的方案上线。
一、用户业务架构现状及关键挑战
1、云上用户业务架构现状与挑战
业务的连续性、可用性以及稳定性是企业业务最关注的几大因素,这些因素关系着对企业的最终用户的服务质量。如办公网络会影响员工办公网络的服务质量。很多客户业务在上云时较为仓促,急于完成业务的测试和部署,而缺乏了对业务架构的整体设计和全局规划,导致了云上的业务架构各有不同,很多架构都缺乏稳定性、安全性以及可持续的扩展性,无法兼容后续业务持续发展所需架构的平滑升级。
典型的云上业务架构现状大致分为四类。
(1)单台ECS承载业务
部分用户使用单台ECS承载业务架构,即左上角的拓扑。在业务初期,这些业务通过单台服务器部署运行,存在单机故障隐患。这种架构多以开发者为主,但很多企业的业务也使用这种架构。对企业级的业务而言,这种架构稳定性差。这是绝大多数业务部署存在的情况。
(2)多台ECS单节点架构
随着业务的发展,很多用户在云上的ECS服务器逐渐增多,但每台服务器都单独绑定IP运行,业务之间的关联性低。这种多台ECS单节点的架构,本质上仍未摆脱单节点故障和单机故障的风险。
(3)高可用架构的错误使用
部分用户意识到高可用架构的重要性,因此他们选择了一些业务的高可用架构方案,如通过负载均衡做高可用架构的设计。但很多用户对高可用架构的使用并不完全正确。例如在高可用的架构中,负载均衡的后端一般要挂载在服务器组中,通过负载均衡进行分发,由两台服务器做主备的冗余。但很多用户只监听了一台服务器,当一台服务器故障时,就没有冗余的ECS。
对于以上三种情况,无论是单台ECS或是多台ECS承载业务,这种单节点架构或是高可用架构使用错误,都存在单机故障隐患。
(4)正确的高可用架构
用户可以正确将高可用架构完整方案落地。这些用户往往对云非常熟悉,所以业务架构稳定。我们要吸取这些客户的经验,将他们的架构正确地实践和落地。
2、单节点架构遇到的问题和挑战
前三类架构在进行日常的客户服务时,要实现架构升级通常会遇到一些问题和挑战,大致可归类为三个方面。
第一,业务架构的可靠性和稳定性。单机故障面临的最大的问题,无论是单节点、多台ECS单体架构,或是架构使用错误,均缺乏业务的容灾能力。
第二,会遭遇性能的瓶颈,且不具备平滑扩展的弹性能力。这也是传统架构或者单点架构中最大的问题。
第三,在运维与管理方面,这是IT部门最关心的,也是日常工作中最密切相关的问题之一,即在单节点架构下,需要对单节点的服务器进行单台的维护和升级,在进行业务升级时,可能会面临停服的问题,影响业务的连续性。因此,IT部门希望有一个完整的架构,既能满足业务的高可用状态、稳定性和弹性,也可以在业务运维时保障业务不受影响,保持连续性。
由此可见,用户在使用阿里云架构时,每个人都对IT架构的理解和使用有自己的方法,缺少标准的整体架构规划可扩展性的方案。据此,阿里云架构师们进行了深度交流,致力于制定一套标准的方案。
二、阿里云业务托管经典架构设计
1、相关的云产品
在了解架构前,要先了解这个架构所涉及到的关键性的云产品。观察左侧的拓扑图。VPC是云上专有的私有网络,它可以保障资源的隔离与安全,所以VPC是整个业务上线的一个资源中心,ECS是云服务器。负载均衡产品是业务托管架构中的第六个部分,负载均衡产品ALB和NLB是高可用架构中的关键组件,可以承载流量的入口,当用户访问业务时,流量会将其解析到负载均衡的起点上,然后负载均衡会对后台的服务器组进行健康检查和监听,把流量按照规则分发到可用状态的服务器上。当一台服务器故障时,也会将业务自动切换到另外一台,保障高可用性。
在网络方面,有NAT网关,它是地址转换服务。当有多台服务器、多个公网出口时,互联网的暴露面很大,会对安全提出较大的挑战。要收敛互联网的暴露出口,每台服务器无需再去绑定IP,而是统一通过SNAT的能力访问公网。无论是入口或是出口,都是通过负载均衡和NAT进行收敛。
数据库服务是阿里云提供的稳定、可靠、可弹性伸缩的关键性云数据库产品,具备云服务开箱即用的特点。若要提升数据的读取效率,还可以使用云数据库的Redis版。
左侧是业务托管的组件,web应用防火墙是进行web应用防护的安全产品;CDN是进行内容分发网络的产品,主要用于静态资源的加速,提升用户的访问质量;OSS对象存储和NAS文件存储可以分别用来存储静态文件以及ECS文件的共享存储。
以上是整个方案中所涉及到的关键产品,也可以依托于这些组件,在阿里云官网上,分别了解这些产品。只要了解了这些产品,业务托管上云的架构、每个产品所发挥的功能,以及各类场景下需要的相应的能力都可以迎刃而解。
2、设计思路
观察图中左边的拓扑,整个的架构图中最左侧四分之一是关于公网入口的内容,从DNS域名服务到WAF安全防护,到静态内容分发的CDN网络,再到OSS源站的静态文件存储。对于https网站,还需使用SSL证书。这部分内容都与Web业务相关网络入口的组件和产品,根据需求的不同,可以选择对应的组件。
如果业务是动态内容,则请求进入ECS程序。右侧的四分之三是业务托管上云方案的核心和基础,所以动态内容到达负载均衡部分时多依赖于VPC架构。关于VPC架构,有几点需要注意。第一,该架构设计强调了高可用,资源的部署突出了两个可用区,两台服务器分别部署在同一VPC的不同可用区,这样可以实现跨可用区级别的容灾。这是典型的云上高可用架构的方案特点。第二,要强调VPC的地址规划,首先规划的是Public Subnet,与公网交互的统一界面是公网区,它类似于DMZ的概念。这一层中,有ALB/NLB负载均衡、NAT网关,其中ALB和NLB负载均衡产品是流量入口,用户访问ECS服务器是统一通过负载均衡来进行分发和访问的。服务器如果需要访问Web网络时,可以通过NAT进行SNAT访问,它是统一的出口。所以负载均衡和NAT网关作为一个统一的公网平面,其作用在于成为了统一的流量入口和公网出口。除了作为统一的流量入口之外,负载均衡还兼顾了高可用架构的关键组件。回到VPC内部,规划了三层Subnet。在这个组件中,把web Subnet和application的Subnet放到了同一组,因为这是一个前后端融合的架构,另一个是data based Subnet。网络规划的三层的Subnet与软件开发中最经典的三层开发完全对应。软件开发MVC的三层架构是网络开发的前端、后端和数据层。而拓扑网络的方案设计也与MVC开发的生成架构相对应。如前端、后端和数据库方案的架构适配了软件开发的MVC上层架构的特点,同时,将整个业务,如逻辑直接融入到阿里云业务托管的架构设计中,十分贴合业务的开发部署和产品的使用。这也是整个架构设计的一个特点,它与IT的开发完全匹配。
3、方案的逐层规划与落地
从新业务托管上云的案例出发,了解业务在云上如何实践和落地。如上图中展示的四个流线图。
首先,进行业务规划和网络规划的架构设计,它直接影响了业务架构的稳定性、高可用性和平滑的扩展能力等。所以,通常第一步要进行网络规划。
在网络的平面规划时需要注意以下几点:其一,IP地址段的划分。上面这个拓扑图中区分出了公网平面的IP地址段、前后端的业务Subnet地址段以及数据库服务的地址段,分别对应三段地址的V-switch网段。在业务平面的独立的网段规划,有利于网络的隔离、IP地址的管理,以及业务的持续扩容(当服务器需要扩容时,可以继续在业务的Subnet网段中增加服务器,再分配私网地址)和新地址分配。这也是网络规划的一个较为核心的理论。
除了网络支付规划之外,在架构的设计上,还要注意统一的公网交互平面的设计,这个也是网络规划平面。网络规划中一个比较重要的环节。作为业务的入口负载均衡,负载均衡非常重要。一般流量入口都使用负载均衡作为一个统一的入口,因为它不仅仅具有这种d NAT的能力,同时也具备了高可用的架构特点,到达负载均衡时,其与后端的服务器组成了一个高可用的集群。然后,负载均衡可以配置各种转化策略,如主备冗余策略以及负载分担策略等,把流量均匀分发到后面的服务器组中,保障业务的冗余性。同时,当一台服务器故障时,负载均衡可以通过健康检查发现故障的服务器,并把流量自动切换到处于可用状态的服务器上,这是保障业务高可用性的容灾能力。所以,网络平面规划的节点非常重要,尤其是负载均衡在高可用架构中非常重要。同时,如果是一个单节点架构,每台服务器都需要绑定公网IP,互联网的暴露面是非常大,这会对IT部造成负担,如果涉及到不同部门,每台服务器都分别访问公网,出口分散,管理困难,也会带来安全性的挑战。因此,建议公网的出口也做收敛,服务器不可以单独去访问公网,而是通过NAT去访问公网。此外,还可以通过NAT对访问公网做一定的管理,这也是网络平面的一个规划。
然后,进行业务部署。我们将业务部署到同地域两台不同可用区的云服务器上,两个可用区的架构可以实现跨可用区级别的容灾。
业务部署完成后,进行数据库的构建。数据库也建议采用高可用版主备部署的模式。当主备的数据库可以自动进行数据同步,很多用户也会自建数据库,但自建数据库很难实现两台数据库的数据同步。很多时候,我们的数据不都是单节点的,而数据是企业的核心资产,当数据丢失时,风险性很高。因此,数据库的高可用性非常重要,它可以自动进行主备数据库同步,保障备用节点对主用节点的自动接管,保障数据服务连续不中断。从整体架构的拓扑图中可以看到,组件使用了橙色和灰色作区分。这是因为该拓扑包含了很多能力,但业务上云是分阶段的。橙色部分是中小企业或业务上云初期时入门级的方案,或者说是业务推广最基础的一个方案,其中包含了DNS必备的组件DNS网络组件、负载均衡、NAT网关、ECS服务器以及数据库组件。
基于这些组件,方案即可上线,本次实验也是基于橙色组件进行的实践和实操。灰色部分是非必需组件,该方案始终支持平滑迭代,当有更多需求时,可以在这个方案的基础上叠加更多的能力,如有安全需求时,可以迭代安全的WAF、DDos等;有静态资源加速需求时,可以迭代CDN和OSS的加速方案;有数据库缓存服务Redis,可以实现数据的快速读取查询,包括nas的文件存储可以实现多台ECS的数据共享,存储保障数据的一致性。也就是说这些是在基础方案上根据业务所处的不同阶段以及不同的需求进行迭代的。
4、方案对于业务的价值
该方案有三大特点。
其一,该架构稳定性高。稳定性是一个持久课题,因为稳定性的影响因素很多,除了云产品的稳定性能力之外,还要关注整个方案的稳定性,这也是本次方案设计的精髓,即使使用的多基础的架构,也需要遵循这样的设计理念,使IT部门的设计为企业的业务稳定性保驾护航。
其二,该架构对互联网的安全性暴露面做了有效的收敛,在地址规划中通过负载均衡和NAT对公网平面的出口和入口进行统一设计。
其三,该架构支持平滑迭代,首先通过最基础的组件和按量付费的方式,让中小企业可以在业务初期规模不确定时,实现低门槛上线。随着业务的发展,可以继续增加方案的迭代,如安全、存储、缓存加速CDN的需求等。而原来的单节点架构在方案迭代性上与之有一定差距。
三、方案涉及产品的选型配置简介
上图中的配置是稳定性架构最基础的组件的托管方案。大部分云产品支持按量付费能力,降低了广大中小企业的使用门槛,在业务上云初期,无需一次性投入购买较大的规格,可以按照使用时长、使用的流量大小按需购买。该架构更适用于中小企业和业务初期规模不确定时,完成业务的低成本上线。虽然业务上线成本较低,但该架构仍旧具备高可用性的能力。
四、业务初期如何低门槛使用(权益介绍)
除了上述中,在方案设计和产品计费上的权利外,阿里云还为企业提供了权益方面的优惠,如新用户的首购,以及各种降价的活动,包括新老用户同时可以享受的活动和大促月,具体的费用可以联系对应的商务经理和销售人员咨询。