阿里云千万级架构的构建——阿里云 MVP 乔锐杰

简介: 乔锐杰,上海驻云运维总监,江湖人称“乔帮主”。本文是乔帮主在阿里云的直播中分享《阿里云千万级架构的构建——架构的成长演变之路》的第一部分。分享的主题内容主要出自其本人的一本书籍《「阿里云」运维架构实践秘籍》。

乔帮主直播内容精炼整理、分以下5篇:
一、分享介绍&架构三原则
二、云架构、架构的原始阶段和基础阶段
三、架构动静分离和分布式阶段
四、架构数据缓存阶段和两个维度拓展阶段
五、架构微服务阶段

直接观看视频
乔锐杰-阿里云千万级架构的构建.jpg

分享简介

本次分享阿里云千万级架构的构建——架构的成长演变之路,出自本人的一本书籍《「阿里云」运维架构实践秘籍》。

书籍主要有四大篇:
一、云端选型篇
二、云端实践篇
三、云端安全篇
四、云端架构篇

共十八个章节,所以我更喜欢把书的内容称为云端实践秘籍:“降云十八掌”。
书籍已上架京东了,正在印刷出版中,大家感兴趣的可以下单预购阅读一下。书籍的内容总共有四五十万字,三百副运维架构图。我历时八年、累积了千家一线互联网企业、在云端实践的干货以及经验,包含了云端二十余款热门产品实践、五十余项常见开源热门技术实践,以及包含云端最热门的:监控、DevOps/容器、智能运维等技术实践。

主题介绍

本次的分享的主题内容,主要摘要书籍中的《第17章 云端千万级架构的演变》的精华内容。
以下为内容提纲
image.png

我将通过案例及经验,给大家分享以下4点内容
一、最原始的单机阶段,如何逐步演变发展到千万级的架构。
二、架构的成长演变之路。
三、作为架构师在设计架构的过程中需要注意的点。
四、阿里云最热门及最新的技术趋势,让大家通往架构师之路少走些弯路。

我们知道编程的本质是『确定性』,同样一段代码,在任何时候执行,结果应该是确定的,有bug也是确定的。而架构设计的本质是『不确定性』,同样的一个系统,不同公司不同架构师做出的设计差异可能很大,但是呢,都能正常运转。也就是说架构设计更多的是面对多种可能性时进行选择,架构设计领域也没有通用的规范,更多的是依赖每个架构师的经验和直觉。但是,它有3个共性原则隐含其中,分别是:合适原则、简单原则、演化原则。

架构的三个原则

首先来看看一个云端汽车官网的案例,主要是一个PHP网站,这是我之前接触到的一个真实的客户案例。
image.png

客户连续提了四个需求,很令人崩溃“一个简单的官网有多少人访问,难道还指望做成千万级架构的?”然而,客户还有理有据,说要高可用、要分布式保障业务稳定性等等,有什么问题?这个案例,侧面说明了客户并没有真正理解技术架构所核心依赖的业务场景,只是单纯的为了架构而架构。

image.png

(一)架构的第一个原则—合适原则:即合适优于技术本身

前文汽车官网的案例,是否『高可用』,是否『分布式』,是否采用『热门技术』其实都不重要,重要的是合适。一个官网本身就是业务系统中的边缘系统,一个简单的PHP网站,我们用一台4核8G的云主机来部署即可。真正优秀的架构是核心结合业务情况,能够合理地将资源整合在一起并发挥出最大功效,并且能够快速落地。在架构设计过程中,我们很容易陷入技术本身的误区,而忽略我们业务的本质特点。一味追求最流行的技术架构、追随一线大厂技术架构、追寻大而全的技术架构是没有任何意义的。所以架构的本质就是取舍,不求最新,不求最全,只求最合适。

(二)架构的第二个原则:简单原则:即简单优于复杂。

复杂,这就意味着难度增加,不可控风险增加。如果保持简单,能让系统方便理解,方便扩展,并且耦合度降低。简单并不代表没有技术含量,反而简单的实现更为实用,比花哨设计也更能适应系统一步步演化。所以『复杂』在软件领域,代表的不是领先或者先进,而是『问题』。如果简单方案和复杂方案都可以满足要求,架构设计应该选择简单方案。
image.png

(三)架构的第三个原则:演化原则:『演化优于一步到位』

一个好的架构是靠演变而来,而不是单纯的靠设计。我们刚开始做架构设计时,不可能全方位地考虑到架构的高性能、高扩展性、高安全等各方面的因素。随着业务需求越多越多、业务访问压力越多越大,架构不断地演变及进化,因而造就了一个成熟稳定的大型架构。如淘宝网、如Facebook等大型网站的架构,无不从一个小型规模架构,不断进化及演变成为一个大型网站架构。所以不要期望一步到位的设计一个软件架构,不要期望我们设计的一次性架构都能满足业务的不断变化。架构师在进行架构设计时需要牢记这个原则,时刻提醒自己不要贪大求全,或者盲目照搬大公司的做法。

总结:合适原则>简单原则>演化原则。
第一原则:合适原则,优先满足现有业务需求;
第二原则:简单原则,选择简单方案快速落地验证;
第三原则:演化原则,适当预测业务发展,在问题出现时及时演进。
这三个原则是一体的,相辅相成的。

聊完架构的三个原则,接下来我们聊一下云架构。
下一篇:云架构、架构的原始阶段和基础阶段

相关文章
|
10天前
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
16天前
|
运维 持续交付 API
从零构建微服务架构:一次深度技术探索之旅####
【10月更文挑战第28天】 本文记录了作者在从零开始构建微服务架构过程中的深刻技术感悟,通过实战案例详细剖析了微服务设计、开发、部署及运维中的关键要点与挑战。文章首先概述了微服务架构的核心理念及其对企业IT架构转型的重要性,随后深入探讨了服务拆分策略、API网关选型、服务间通信协议选择、容器化部署(Docker+Kubernetes)、以及持续集成/持续部署(CI/CD)流程的设计与优化。最后,分享了在高并发场景下的性能调优经验与故障排查心得,旨在为读者提供一套可借鉴的微服务架构实施路径。 ####
54 3
|
13天前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
6天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
34 4
|
12天前
|
人工智能 运维 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
|
15天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
23天前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【10月更文挑战第22天】随着云计算和容器技术的快速发展,微服务架构逐渐成为现代企业级应用的首选架构。微服务架构将一个大型应用程序拆分为多个小型、独立的服务,每个服务负责完成一个特定的功能。这种架构具有灵活性、可扩展性和易于维护的特点。在构建微服务架构时,Docker和Kubernetes是两个不可或缺的工具,它们可以完美搭档,为微服务架构提供高效的支持。本文将从三个方面探讨Docker和Kubernetes在构建高效微服务架构中的应用:一是Docker和Kubernetes的基本概念;二是它们在微服务架构中的作用;三是通过实例讲解如何使用Docker和Kubernetes构建微服务架构。
56 6
|
22天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
24 4
|
21天前
|
前端开发 API UED
深入理解微前端架构:构建灵活、高效的前端应用
【10月更文挑战第23天】微前端架构是一种将前端应用分解为多个小型、独立、可复用的服务的方法。每个服务独立开发和部署,但共同提供一致的用户体验。本文探讨了微前端架构的核心概念、优势及实施方法,包括定义服务边界、建立通信机制、共享UI组件库和版本控制等。通过实际案例和职业心得,帮助读者更好地理解和应用微前端架构。
|
23天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
33 3