不可不知云服务成功的关键技术——容器和微服务

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 在移动互联网的世界里,“云”的概念已经行之有年,大家的生活都受到巨大的改变,从没有它不能活的 IM 即时通讯软件和社交平台、信息流、各种丰富生活的游戏和音乐软件,到像“滴滴打车”这样增进生活便利的工具应用,组成了现代人生活的样貌。

在移动互联网的世界里,“云”的概念已经行之有年,大家的生活都受到巨大的改变,从没有它不能活的 IM 即时通讯软件和社交平台、信息流、各种丰富生活的游戏和音乐软件,到像“滴滴打车”这样增进生活便利的工具应用,组成了现代人生活的样貌。一般大众大概不知道这样的生活进步背后是由不断演进的云技术所成就的,然而身为开发者,想要在这样令人如痴如醉却又极度竞争的环境下立足、成功,不能不了解其中的功夫。

所谓的“云”简单来说就是有一台不停机的电脑,在进行我们所需要做的事情,我们又称它为服 务器(Server)。由于Server并不需要漂亮的介面,而Windows和Mac这样的Operating System对Server来说太过肥大,因此有很多针对Server所设计的OS,最后由Linux胜出,Linux也被称为 Server 的核心。从Server的角度来看,每个在上面跑的服务称为Process,当电脑硬体性能越来越强大,能同时 进行的Process越来越多,此时若任何一个Process当掉,都很有可能会影响其他服务,因此Process独立性开始成为许多人关注研究的技术。

最近处理Process独立性的技术被称为“容器,Container”,这个概念早在二十年前就萌生了,然而在容器技术还未成熟时,工程师们先想出了一个解决办法,就是“虚拟机器(Virtual Machine, VM)”,VM的概念是在一台电脑上装上很多核心,也就是一台电脑上有很多台小电脑在跑,每一台小电脑就是一个VM,因此若其中一个当掉了,并不会直接影响到其他VM。想当初像银行业这样需要高安全性的Server服务的产业,花了很多钱买Server,即使他们未必真正需要用到很多CPU资源,不过这样的硬需求可是让像Dell这种提供Server服务的公司分了好大一杯羹。当VM技术出来之后,卖Server的业务就消失了,真的可说是光景不再。其中最具代表性的是VMware这间公司,VM技术也算是主宰了快要一个世代,直到最近二、三年,容器技术才被Docker这间公司发扬光大,给VM技术很大的压力。Tony对于容器这样的演变认为:“在科技业,历史一直在重演,硬件一直在进步,带动软件的进步,这是一个一直在演变的自然现象。有了容器之后,是用Process来看电脑的世界,过去写程式是考虑要在哪个硬件上做事情,现在等于是把硬体虚拟掉了,让软件开发起来变得更灵活。”

当技术在演进,需求也在变化,然而在真实的世界中并不是只有一台Server在运作那么单纯,实际上,是有很多的Server,上面有更多的容器,容器虽是隔离独立,但之间又常常会需要彼此。事情开始复杂化,相应而生的就是管理自动化的需求——Google过去十年都在用Process开发服务,容器的暴红,让Google决定把内部的经验用开源项目分享出来,这个开源项目叫做“Kubernetes”(简称K8s)。K8s的核心功能是“排程(Scheduling)”,他将容器管理自动化,提升了管理效率。当问到:“容器世界正在快速的发展当中,在生产环境使用这样的技术会不会有什么需要特别考量的部分”时,Tony则是给了一个让人会心一笑的答案:“还是需要技术能力较好的团队来执行,不然很容易遇到很多的坑,会影响生产上执行的速度。K8s已经算是可以面对各式各样的硬体组合,但在初期还是让高技术含金量的团队来操刀比较好,其中复杂的技术就不一言概述了。”

当问到为什么DroiBaaS团队选择K8s,Tony表示:“我们看上的是容器这样新的技术。VM固然稳定,但是他能做的也就是稳定的某些事,旧的不代表未来可以带来更好的效率跟solution。当然,对于一些需求来说,也许VM就足以满足,不过容器除了有隔离的优点,他更适合移动互联产业的变动性和灵活性,容器在Scaling上的表现是VM所不能及的,容器可以在最短时间内承载千军万马。容器让资料的复制、移植、放大缩小都变得简单许多,能够让整个开发流程、效率、稳定性都更上一层楼。”当然,面对这样新的技术,一定有些trade-off,像是:Devops Engineers 是否能够接受新的技术,以及大家是否愿意去学、能学到什么程度。新技术一定会有变动,这是一定会发生,而他相信DroiBaaS的团队,有足够强大的能力去接受这些 Trade-off 的考验。此外,Tony表示,他也看重这些技术的最初开发者是“谁”、他们是怎么样的“人”、他们怎么写出code的。“我们选择 CoreOS,为何不是Ubuntu,因为我们对 CoreOS的创始人做过的事情、他们写出的code品质等等都很有信心。另一个例子,最初开发 K8s 的三位在 Google 的工程师也是,他们对云技术的见解和写出的程式码水准都是世界一流。更重要的是,CoreOS和K8s都选用Golang语言来开发专案,眼光长远(请参考:罗勃•派克——云端历史的源头)。”Tony 的回答让科技又多了人本的温度,事情不仅是表面呈现的而已,还有更深一层的涵义。

在资本密集的移动互联网产业里,那些用户跟营收都用亿来做单位的往往都是些大号,市场早被鲸吞蚕食。如今看得见的开发者或是创业团队,大多因为进入得早,抢得先机。现在的环境对于个人开发者和创业团队来说极度险峻,产品做得好且带有新的商业逻辑,才有机会获得创业导师的青睐、进行融资。然而“把产品做好”这件事,对于缺乏资源的创业者来说,还来不及让市场去验证自己的商业逻辑,就先被前期要投入的资本打趴。开发一套软件首先要租借API和推送等服务器,然后架设数据库、后端工程师撰写云代码、前端工程师、UI设计师,开发完之后运维也很重要。当流量进来后,服务器是否能灵活承载也是问题,当一次机,使用者可能还怀疑是自己的网路不顺,当第二次机,使用者就跟这个应用说掰掰了。

如今,这些难题有了解决之道。DroiBaaS给的就是一个Total Solution的概念,不仅把上述的需求全部打包一次给予,更多了如统计分析、渠道发布等等取得用户、分析用户和变现的办法。

最后问到 Tony 身为一个资深工程师,对于自己团队开发出来的产品有怎么样的信心、DroiBaaS能为开发者解决什么问题时,他这样说:“容器解决的是未来的问题,移动互联产业一个很大的重点就是要做先驱,未来的机会是很大的。用容器技术做云端的后台很愉快,不会觉得每天都在重复解决类似的问题。而且我自己做起来觉得很舒服,因为我知道出问题时,我的团队有能力即时解决。最重要的是我们的架构够灵活,我们的系统可以比较快的回应客户的需求,有转身的空间,整套技术是很让人兴奋的。”

本文转自开源中国-不可不知云服务成功的关键技术——容器和微服务

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
3月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
5天前
|
存储 虚拟化 Docker
|
5天前
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
|
20天前
|
安全 持续交付 云计算
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
课时5:阿里云容器服务:最原生的集成Docker和云服务
|
25天前
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
24天前
|
监控 Cloud Native Java
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
|
2月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
122 7
|
3月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
211 24
|
3月前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
98 5
|
3月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
236 6