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

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

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

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

分享简介

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

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

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

主题介绍

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

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

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

架构的三个原则

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

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

image.png

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

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

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

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

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

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

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

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

相关文章
|
2天前
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
158 88
|
1月前
|
监控 安全 API
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
本文详细介绍了PaliGemma2模型的微调流程及其在目标检测任务中的应用。PaliGemma2通过整合SigLIP-So400m视觉编码器与Gemma 2系列语言模型,实现了多模态数据的高效处理。文章涵盖了开发环境构建、数据集预处理、模型初始化与配置、数据加载系统实现、模型微调、推理与评估系统以及性能分析与优化策略等内容。特别强调了计算资源优化、训练过程监控和自动化优化流程的重要性,为机器学习工程师和研究人员提供了系统化的技术方案。
156 77
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
|
1月前
|
弹性计算 运维 监控
阿里云云服务诊断工具:合作伙伴架构师的深度洞察与优化建议
作为阿里云的合作伙伴架构师,我深入体验了其云服务诊断工具,该工具通过实时监控与历史趋势分析,自动化检查并提供详细的诊断报告,极大提升了运维效率和系统稳定性,特别在处理ECS实例资源不可用等问题时表现突出。此外,它支持预防性维护,帮助识别潜在问题,减少业务中断。尽管如此,仍建议增强诊断效能、扩大云产品覆盖范围、提供自定义诊断选项、加强教育与培训资源、集成第三方工具,以进一步提升用户体验。
679 243
|
4天前
|
存储 消息中间件 前端开发
工厂人员定位管理系统架构设计:构建一个高效、可扩展的人员精确定位
本文将深入探讨工厂人员定位管理系统的架构设计,详细解析前端展示层、后端服务层、数据库设计、通信协议选择等关键环节,并探讨如何通过微服务架构实现系统的可扩展性和稳定性。
27 10
|
26天前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
|
1月前
|
缓存 Kubernetes 容灾
如何基于服务网格构建高可用架构
分享如何利用服务网格构建更强更全面的高可用架构
|
1月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
153 5
|
1月前
|
监控 安全 持续交付
构建高效微服务架构:策略与实践####
在数字化转型的浪潮中,微服务架构凭借其高度解耦、灵活扩展和易于维护的特点,成为现代企业应用开发的首选。本文深入探讨了构建高效微服务架构的关键策略与实战经验,从服务拆分的艺术到通信机制的选择,再到容器化部署与持续集成/持续部署(CI/CD)的实践,旨在为开发者提供一套全面的微服务设计与实现指南。通过具体案例分析,揭示如何避免常见陷阱,优化系统性能,确保系统的高可用性与可扩展性,助力企业在复杂多变的市场环境中保持竞争力。 ####
48 2
|
1月前
|
弹性计算 Kubernetes API
构建高效后端服务:微服务架构的深度剖析与实践####
本文深入探讨了微服务架构的核心理念、设计原则及实现策略,旨在为开发者提供一套系统化的方法论,助力其构建灵活、可扩展且易于维护的后端服务体系。通过案例分析与实战经验分享,揭示了微服务在提升开发效率、优化资源利用及增强系统稳定性方面的关键作用。文章首先概述了微服务架构的基本概念,随后详细阐述了其在后端开发中的应用优势与面临的挑战,最后结合具体实例,展示了如何从零开始规划并实施一个基于微服务的后端项目。 ####
|
27天前
|
弹性计算 Cloud Native Serverless
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。