沙箱有什么用,阿里云是干什么的有什么用

云到底是什么沙箱有什么用?

沙箱有什么用,阿里云是干什么的有什么用

云这个词儿听着挺虚的,题主在这里可以理解为云计算。

沙箱有什么用,阿里云是干什么的有什么用

云计算是通过网络系统按需要提供获取计算能力、储存空间和信息服务。那么提供资源的网络就叫做“云”。

沙箱有什么用,阿里云是干什么的有什么用

就拿储存空间举个例子,你可以把自己想要保存的东西放在阿里云里面,但是不会占用你的电脑或者手机的空间。

沙箱有什么用,阿里云是干什么的有什么用

最简单的云计算技术在网络服务中已经随处可见,例如搜寻引擎、网络信箱等,使用者只要输入简单指令即能得到大量信息。

而在大数据时代的当下,大的企业需要存储的数据量级非常非常的大,普通企业的计算器是无法hold住的,这时候云计算服务商的重要性和必要性就凸显出来了。

这里就出现了题主提到的阿里云。

百科是这么介绍的:阿里云创立于2009年,是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力。

也就是说阿里云是提供云计算、人工智能等服务的云计算服务商之一,致力于为企业、政府等组织机构,提供最安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技和公共服务。

比如:ET大脑,广泛应用于工业制造、城市交通、医疗健康、环保、金融、航空、社会安全、物流调度等数十个垂直领域;

比如飞天:解决人类计算的规模、效率和安全问题。它可以将遍布全球的百万级服务器连成一台超级计算机,以在线公共服务的方式为社会提供计算能力。

值得一提的是阿里云是中国自主研发的云计算平台,现在的服务范围覆盖全球200多个国家和地区,也是中国第一、全球第三的云厂商。

最简单的,你要怎么使用阿里云?打一个比方吧:

如果你想开一家公司,且有一定的访问量和数据量,那么你需有一个机房(或)机柜,购买服务器,购买操作系统(正版)、购买数据库、搭建业务系统、雇一个IT运维人员,成本非常高。但现在阿里云提供了一种模式,所有的这些都可以通过阿里云选择购买对应服务,按月付费(或流量),降低了成本,减少了运维的麻烦。

项目为什么要用 docker,需要了解 docker 的优势,结合项目的实际情况来决定是否需要使用 docker,千万不能“为了使用而使用”或者“跟风使用 docker”。

沙箱有什么用,阿里云是干什么的有什么用

沙箱有什么用,阿里云是干什么的有什么用

沙箱有什么用,阿里云是干什么的有什么用

沙箱有什么用,阿里云是干什么的有什么用

使用 docker 是为了快速交付

和传统的虚拟机相比,docker 具有所用的资源更少、性能更高、隔离级别更高、安全性方面也更强等特点,让我们看看下面几个场景,估计你会有更深的体会。

01. 移植性更强

相信开发人员都会遇到这样的问题:代码在本地跑的好好的,但是一发布到测试环境怎么就有问题了呢?

通常我们的的代码包需要依赖于环境中的很多因素,比如配置文件、依赖库、中间件的配置等等,其中一项有问题可能都会导致我们代码出现问题;对于开发人员来说,最希望的就是我们的代码能够一次创建,在任意地方都能运行。

而使用 docker 之后,可以实现开发、测试、运维环境的标准化,镜像文件直接做为交付物,避免了因为环境不同导致的各种问题。

02. 更容易扩展

docker 容器可以在任意平台运行,不管是物理机还是虚拟机,不管是公有云还是私有云,甚至是个人电脑,所以我们的项目容易做迁移和扩展。

比如我们应用部署了两台机器,当我们想再扩展第三台机器的时候,我们需要先搭建好代码运行所需的环境,尽管虚拟机也有一些快速 copy 的技术,但是这个过程依然是很慢的,而且有些环境配置还容易出错,而有了 docker,只需要构建镜像然后运行即可,非常方便快速。

因为 docker 快速的构建方式,也让我们的项目可以实现自动且快速的扩容和缩容。

03. 更加轻量

在 docker 出现之前,通常会采用物理机上部署多台虚拟机,每个应用都部署在一个虚拟机中;但是虚拟机非常的重,虚拟机的构建速度通常都是按照分钟计算,占用的资源比较多。

而 docker 的速度很快,秒级,并且使用的资源更少,性能更高;同样一个物理机器,docker 运行的镜像数量远多于虚拟机的数量。

使用 docker 只是快速交付的一部分

docker 的优点这么多,那是不是用了 docker 之后,我们的交付速度更快了呢?

我见过一个项目,他们号称已经微服务化了,当然他们确实也做到了:把一个项目拆成了数个服务,每个服务在生产环境上部署了多套,算下来就是 N * M 个应用包(七八十个),都做了容器化...

但是他们依然是人肉运维,也是就是他们每次提测和上线需要手动部署,没有自动化测试和发布;

生产环境发生问题的时候,需要手动去拿日志跟踪问题,开发和运维依然是两个团队,甚至是所属两个不同的部门,沟通的成本很高;

他们虽然实现了容器化,但其实并没有实现快速交付,甚至比传统的方式更慢了。

所以,不要为了 docker 而 docker;如果你们的项目环境配置复杂,每来一个新人配置环境都需要一两天;每次提测和上线,经常问题都是运行环境的问题;开发人员的开发环境不统一;开发能力强,运维能力弱的时候,甚至公司比较穷,想实现资源使用的最大化,都可以考虑使用 docker,不过像要做微服务化+容器化,当容器集群规模比较大的时候,还需要工具做容器的自动化管理和编排,自动化测试及部署等等。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

2022-06-10

2022-06-10