谈谈我对云原生的理解

简介: 本文主要以一个实际的案例来阐述相较传统的研发部署模式,云原生带来哪些变化,为何会鼓励大家拥抱云原生。

经过多年的发展,随着5G、万物互联的呼声、传统行业数字化浪潮,无论你是从事互联网行业的人员,亦或是传统行业的职员,相信都或多或少的听过用过云计算了。先对齐下大家的认知,云计算中的云指的是看不见摸不着,计算指的是需要物理设备执行的逻辑。

举个例子,我们需要提供一个用户输入的100个随机数的乘法计算结果输出产品,传统的方式是我们购买一台物理服务器,安装web服务通过浏览器提供给用户用于用户输入,开发后端逻辑服务用于执行输入的运算逻辑,安装数据库服务用户保存不通用户的计算输入和结果用于回溯查询。

由于服务要进行高强度的计算,因此我们的服务器需要比较好的CPU,可能需要4核或者更多;由于我们需要提供用户计算结果的保存和查询服务,这里可能会涉及高强度的磁盘IO和内存IO,因此我们需要SSD磁盘提供高效的磁盘IO能力以及合适的内存容量;为了提供稳定的服务,我们需要至少两台这样的物理设备,以防止其中一台不工作带来的服务整体不可用。至此,我们搭建完成了一个互联网产品,可以预见的是他可以同时为500个人同时计算复杂度一般的服务。

有一天我们的产品由于非常好用,经过社交媒体的宣传突然涌入进来许多人来体验使用,我们惊讶的发现页面打不开了,这是因为瞬时流量太大了,就像洪水决堤一样,把服务给压垮了。为了防止决堤,我们又不想丢弃这些流量,或者是我们想尽我们最大的能力来支撑这些流量,比如说10000个人同时使用,那我们需要提前额外购置38台同规格的服务器放置在那里,以作备用。至此,我们搭建了一个能同时支撑10000人同时计算复杂度一般的服务。
经过实战的同学可能会有察觉,同时支撑10000个人请求的时候,现在数据库是怎么安装的?因为之前只有2台服务器的时候我们是一主一备分别安装的,这会带来数据库服务和应用服务共享资源的情况,还有数据库是不具备高可用的,当主库所在地服务器宕机时,我们需要将备库启用为主库才能进行更新写入操作。最好的做法是数据库作为一个单独的服务器集群。还有就是当同时访问的人数过多时,数据库由于是磁盘IO型,往往率先成为整个系统的瓶颈点,因此我们还要引入memcache类的内存性缓存,常用的有分布式缓存Redis、本地缓存等。

我们能够看到,这种瞬时的流量持续的很短,可能一个月或者更长时间才有那么一回,具有很大的不确定性。然而确定的是我们闲置的38台物理设备在吃灰。说到这里,云原生来了,所有40台服务器全部是由云服务器厂商提供,产品涉及的数据库、缓存在云原生中均有队友的SaaS化产品开箱即用并自带高可用属性,我们不再购买物理机,我们不再搭建各种本地化的中间件集群,当有瞬时流量来的时候,我们就动态申请云服务器增加到40台,服务洪峰过去后就缩减回2台,大大减少我们的成本,另外我们也不需要担心服务器老化、机房断电等各种各样的维护问题;对于云服务器厂商来说,他们可以用86台服务器,为3家甚至更多类似我们这样的产品同时提供服务,这里的逻辑建立在同时服务的产品不太可能同时有流量洪峰。

以上就是云计算的产生的合理性和价值。我们也可以预见云原生一定是未来,因为没有人会拒绝美好又廉价的产品服务,陆续也会有越来越多的应用场景。

总结一下,云原生相较云计算更进一步,更多和应用落地的部分都能在云上找到高可靠的PaaS化、SaaS化、甚至IaaS化的服务,使得应用方专注于涉及业务逻辑本身,提高生产力和创造力的同时又绿色低碳廉价。

目录
相关文章
|
3月前
|
Cloud Native Devops 持续交付
【云原生|云原生基础】什么是云原生?一文给你讲清楚!
【云原生|云原生基础】什么是云原生?一文给你讲清楚!
639 1
|
存储 Kubernetes Cloud Native
一文搞懂云原生架构
目前,每个 IT 资源或产品都作为服务提供。而且伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,云原生很火,火得一塌糊涂,都0202年了,如果还不懂云原生,那真的out了。因此,云原生软件开发成为每个企业的关键要求,无论其规模和性质如何。在加入云计算潮流之前,了解什么是云原生架构以及如何为云原生应用程序需求设计正确的架构非常重要。
一文搞懂云原生架构
|
运维 安全 Cloud Native
谈谈云原生安全
根据自己的理解 简单谈谈云原生安全
4691 0
谈谈云原生安全
|
10天前
|
运维 Kubernetes Cloud Native
《云原生时代:探索容器化技术的奥秘与实践》
在数字浪潮汹涌的今天,云原生技术以其灵活性和高效性成为了企业数字化转型的强大引擎。本文将深入浅出地探讨云原生的核心——容器化技术,从其定义、优势到实际应用案例,带领读者一同揭开云原生世界的神秘面纱,体验从代码到云端的奇妙旅程。
|
2月前
|
运维 Kubernetes Cloud Native
云原生概念总结
云原生概念总结
24 0
|
3月前
|
Kubernetes Cloud Native API
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
云原生技术专题 | 深入浅出分析云原生微服务的技术结构和架构设计
166 0
|
10月前
|
Kubernetes Cloud Native Serverless
云原生:从基本概念到实践,解析演进与现状
云原生:从基本概念到实践,解析演进与现状
129 0
|
机器学习/深度学习 运维 Cloud Native
【一:云原生概念和技术】1.1 云原生的概述
云原生是一种基于容器化、微服务架构和自动化运维的应用程序开发和交付方法论。它旨在提高应用程序的可移植性、可扩展性和弹性,并简化DevOps流程。
199 0
【一:云原生概念和技术】1.1 云原生的概述
|
Cloud Native 云计算 虚拟化
带你读《云原生应用开发:Operator原理与实践》——1.1.1 云原生的起源与发展
带你读《云原生应用开发:Operator原理与实践》——1.1.1 云原生的起源与发展
带你读《云原生应用开发:Operator原理与实践》——1.1.1 云原生的起源与发展
|
监控 Kubernetes Cloud Native
Web开发者的云原生指南(7)云原生实践案例
本节将介绍使用云原生技术构建 Web 应用的最佳实践,并通过实际案例分析和演示来展示这些实践的应用。
140 0