本文由  网易云发布。

作者:张亮

如果说一个项目的发展历程就像一段未知的旅程,那《云原生应用架构实践》就像一张地图,基于前人的探索标明了在这段旅途中将会碰到的障碍,并注明了越过这些障碍的方法

最近,利用碎片化的时间把团队写的《云原生应用架构实践》通读了一遍。

作为一个解决方案架构师,我感觉收获很多,主要是对云原生架构有了一个系统的认识,并了解了一个从无到有、从小到大的项目,在整个成长过程中可能碰到的问题,以及解决这些问题的思路、方法和工具

这本书首先介绍了云原生架构的发展历程,解释了企业为什么要采用原生架构。然后以一个业务通常的发展路径(即从无到有、快速成长到比较稳定的大型应用)为例,讲述在各个阶段的不同业务目标下,企业在可用性、可扩展性、可维护性、安全性等方面的需求,结合网易实际业务的经验,给出了建议,并讲解了常见的技术和工具。

如果说一个项目的发展历程就像一段未知的旅程,那么这本书就像一张地图,标明了在这段旅途中将会碰到的障碍,并且注明了用什么办法去越过这些障碍。而且这张地图是别人已经走过一遍的,因此这些问题不是凭空想象出来的,而解决这些问题的经验,也都是花费了很多时间,进行了大量测试,在不断迭代不断改进之后得到的。对于拿到这份地图的人来说,一路的障碍并没有减少,但却可以少走很多弯路,可以更从容、更自信地抵达他们的目的地。这也是我认为这本书最有价值的地方。

这些内容会让我们对项目从小到大发展过程中遇到的问题和解决办法,有一个较为全面的认知,当项目真正碰到问题时,我们对问题的关键以及主要的解决手段能做到心中有数。我们不一定会立刻用得上这些知识,因为项目目前可能还没有达到那么庞大的规模,但是我们可以为即将面临的技术挑战做好必要的准备,这样当项目不断发展壮大,并确确实实暴露出书上描述的问题时,我们不至于欠太多的技术债从而导致应用或者难以扩展,或者难以协同开发,或者难以维护,或者改造的成本非常高昂,以至于最终影响了业务的发展,为最初没有做良好的设计而付出沉重代价。

书中提到的云、微服务、DevOps,这些概念其实已经被提出来很久了,尤其是云,那是前几年非常热门的话题。行业内的人会感觉这些概念已经是尽人皆知,没有新意。因为他们天天都在用,都在实践。但从我接触到的不少客户来看,实际却不是这样的。比如一些传统行业的客户,并不是很了解云计算到底是什么,对使用云服务到底能带来多少好处、会有哪些风险也不是很清楚;有一些做Web开发的程序员,还不知道Redis这样的缓存服务;也有很多开发者,还不清楚容器是什么,使用容器有什么好处

这很正常,因为在这些概念被炒得热火朝天的时候,这些客户的业务大部分都并没有像互联网公司的业务那样有指数级的用户增长,有双11的海量访问,有秒杀、抢购的突发流量,有业务剧烈波动带来的波峰波谷,因而也没有面对海量访问保证服务稳定可用同时还要保持成本尽可能低的需求。正因为他们的业务还没有碰到这些问题,弹性伸缩、秒级启动、动静分离、无状态服务、服务治理、分布式应用、分布式事务等等在大规模互联网业务中常见的技术,对他们而言是屠龙之技,或者是可用可不用,因为带来的价值不高。

然而,现在他们开始关心这些技术了。根据我的观察,这主要有三个原因:

  1. 这些客户看到了IT能力将慢慢变成企业核心竞争力的一部分,他们的部分或全部业务依赖软件来为自己或他们的客户提供服务。
  2. 客户的业务规模扩大了。
  3. 市场变化越来越快,客户需要尽可能快地根据市场调整业务,因而开始有了应用快速迭代、便于多个团队协同开发、尽量自动化、减少维护、成本随业务发展而变化等需求。

因此,这些客户目前就碰到了之前那些大型互联网业务所碰到的同样的问题。这时候,这本书中那些解决这些问题的经验就能给他们带来很大的帮助。

当然,由于云原生架构涉及到非常多的技术领域,比如Web前端、负载均衡、数据库、缓存、CDN、监控、日志收集、微服务等等,每一个领域详细解析都可以写不止一本书,这本书并没有涉及每个技术的原理、安装配置、使用维护和开发,因而我们对于那些内容需要参考其他相关材料。

在IT领域,技术总是不断发展,新技术层出不穷。可以断言,未来一定会出现能更好地解决问题的技术和产品。就当下而言,这本书能给那些在上云、微服务化、DevOps方面寻求业界经验和最佳实践的读者一些启发,能让我们将这些经验用在业务开发当中解决我们的实际问题,并为将来应用更多新技术做好准备,是一本值得一读的cookbook。

了解 网易云 :
网易云官网:https://www.163yun.com/
新用户大礼包:https://www.163yun.com/gift
网易云社区:https://sq.163yun.com/

上云、微服务化和DevOps,少走弯路的办法的更多相关文章

  1. QQ全量上云,你想了解的技术细节都在这

    腾讯的业务体量非常庞大,在2019年,腾讯已拥有超过了100万台服务器,其中,社交业务包括QQ和空间的体量有近20万台服务器,且分布在全国三地. 把QQ这头大象搬到云上并非易事.作为腾讯最庞大.最悠久 ...

  2. 从DevOps到Cloud Native,应用上云姿势全解锁

    本文由  网易云发布. 作者:林帆 序文 伴随着IaaS.PaaS等云端基础设施技术的成熟,“应用上云”成为许多企业软件部门的心头大事.通过把传统软件系统搬到云上,一方面可以让业务方获得更多的资源灵活 ...

  3. Go-Zero 短链项目 DevOps 实战,利用 Drone CI/CD 打通上云(Kubernetes)迭代流程

    Go-Zero 官方短链项目教程:快速构建高并发微服务 关于 go-zero,大家可以看文档.为少认为它是中国目前最好用的 golang 微服务框架. 完整的 Go-Zero ShortUrl Dev ...

  4. 前端静态站点在阿里云自建 K8S DevOps 集群上优雅的进行 CI/CD

    目录 网站 域名 K8S DevOps 集群 私有 Gitlab 使用 Docker 编译站点 * Dockerfile * 构建编译 Image * 测试编译 Image * 推送镜像到 Aliyu ...

  5. 拷问传统企业CIO:微服务化值得吗?

    所谓数字化转型升级,就是以数字技术优化传统资源,企业需要谨慎地选择合适的技术逐步完成自己的数字化战略.以推出轻舟微服务平台的网易云为代表,云计算公司正在微服务领域发力,促进企业数字化创新.那么,微服务 ...

  6. Kubernetes才是微服务和DevOps的桥梁

    一.从企业上云的三大架构看容器平台的三种视角 一切都从企业上云的三大架构开始. 如图所示,企业上的三大架构为IT架构,应用架构和数据架构,在不同的公司,不同的人,不同的角色,关注的重点不同. 对于大部 ...

  7. 039.[转] 基于 Kubernetes 和 Spring Cloud 的微服务化实践

    http://dockone.io/article/2967 基于 Kubernetes 和 Spring Cloud 的微服务化实践 写在前面 网易云容器平台期望能给实施了微服务架构的团队提供完整的 ...

  8. 【山外笔记-云原生】《Docker+Kubernetes应用开发与快速上云》读书笔记-2020.04.25(六)

    书名:Docker+Kubernetes应用开发与快速上云 作者:李文强 出版社:机械工业出版社 出版时间:2020-01 ISBN:9787111643012 [山外笔记-云原生]<Docke ...

  9. CODING DevOps 系列第三课:云计算、云原生模式下 DevOps 的建设

    本文首先会和大家分享当前整个应用生命周期的演变历程,然后讲解云计算模式下 DevOps 建设包含的过程.流程规范和标准,最后讲解云原生时代到来会带来哪些改变,以及标准化的建设会有哪些改变和突破. 应用 ...

随机推荐

  1. 【每日更新】【SQL实用大杂烩】

    11.分页1. select * from (select top 2 * from( select top 3 * from t_table order by field1) a order by  ...

  2. 官网类原型模板分享——Apple

    苹果公司是美国一家高科技公司,引领全球数码产品设计潮流,是世界最具价值的品牌. 此原型正是取自苹果公司官网,网站主要以展示产品为主,排版方式采用大图配简练的文字,清爽简洁的同时突出产品优势,增大产品的 ...

  3. using directive 使用指令,与using declaration使用声明。

    使用指令是把名字空间中的所有名字引入到当前作用域,而使用声明是把名字空间的某个名字引入到当前作用域中 语法如下 //test.cpp #include<iostream> //using ...

  4. 如何配置JDK?

    有很多人,java都下载好,却因不会配置JDK,而无法编程.今天巩固就来教大家配置JDK.​ 第一步:将下载好的java放在D盘(最好不要占用C盘).​​​ 第二步:右击我的电脑,选择"属性 ...

  5. tomcat中如何配置虚拟路径

    第一步:打开server.xml配置文件.在Host节点里写上该行代码: <Context path="/upload" docBase="E:\upload&qu ...

  6. nginx怎么与tomcat完美结合

    nginx怎么与tomcat完美结合 现在公司一个服务器上需要部署两个项目,其中一个项目已经正式上线,并且已经占用了80端口,另外一个项目 部署上去后,访问必须要加端口号,这样的用户体验非常不好,那么 ...

  7. 2018.08.29 hdu3507 Print Article(斜率优化dp)

    传送门 这应该算是斜率优化的模板题了. 就是要求打印n个数,每个数有一个参数a[i],每打印一段连续的数[l,r]需要的花费是(a[[l]+...+a[r])2+m" role=" ...

  8. Ansible 笔记 (3) - 编写 playbook

    playbook 相当于多个命令的编排组合然后一起运行,类似写脚本.在学习 playbook 之前需要了解 yaml 格式. 编写playbook的步骤: 定义主机与用户 编写任务列表 执行 play ...

  9. 使用原生Java Web来实现大文件的上传

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  10. java线程一

    我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread).线程(Thread)是一份独立运行的程序,有自己专用的运行栈.线程有可能和其他线程共享一些资源,比 ...