探讨基于阿里云容器技术架构(一)

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
可观测监控 Prometheus 版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 当容器、容器编排遇到传统微服务架构,会擦出怎样的火花,这其中有哪些坑?人类对科学的追求总是义无反顾的,进化到云原生时代,我们的机遇和挑战是什么?本文将为大家详细介绍阿里云容器技术架构的相关知识。

原文作者:李同刚
原文链接:https://developer.aliyun.com/article/738878?spm=a2c6h.12873581.0.0.3a2b115ex69Iht&groupCode=cloudnative

更多云原生技术资讯可关注阿里巴巴云原生技术圈

为什么有这个主题?

记得2018年参加上海KubCon大会时,演讲人现场对国内生产使用Kubernetes情况的调查,现场举手的寥寥无几。时至今日,参加2019“MVP闭门大会”和“云栖大会”,感受到“云原生”无处不在。那么当容器、容器编排遇到传统微服务架构,会擦出怎样的火花,这其中有哪些坑?人类对科学的追求总是义无反顾的,进化到云原生时代,我们的机遇和挑战是什么?
希望在这个场合一起探讨下,没有对错,只有适合与否。关键是当开始有沟通,才可能继续往前走。
这个系列文章采用总分总的方式写,第一篇主要探讨整体架构,后面文章探讨各部分更具体的技术方案,最后总结。

探讨整体架构

让我们从一张图开始第一篇正式内容,这是一个可能的最小化服务化架构:
5.png

这是一个传统架构和容器技术混合的架构,在全面介绍之前,我们先分别看下各自的发展史,“知道从哪儿来,方知道我们往哪儿去”。

从传统部署时代到容器部署时代

下面这张图从运维角度描述了,应用从传统部署时代如何发展到容器部署时代。也折射出企业上云的发展过程。
6.png

在国内,阿里云吹响了企业上云的号角。第一阶段,是IT基础设施云化,包括虚拟机、网络等上云,降低企业运维成本、提升弹性伸缩能力。第二阶段,是核心架构云化,包括阿里云数据库、阿里云微服务引擎 ( Microservice Engine, 简称:MSE )、全局事务服务GTS等,Kubernetes或许也算。第二阶段的升级版可能是全面拥抱Cloud Native,随着有状态应用和无状态应用全面拥抱Kubernetes,我们可以猜测走向了面向Kubernetes编程时代,开发人员不必关心微服务治理的各种技术栈和开发语言(诸如:Golang、Java等),写好业务代码,定义好云原生开放应用模型(OAM),发布上线即可,应用将变得更轻量、接入成本更低、迭代更敏捷。
IT行业发展是如此迅速,却又是如此必然。类比下,编程语言从汇编、C++、Java到新型语言Golang,无不是从复杂到易用的过程。易用、轻量贯穿整个行业的发展脉络,所以我们有理由相信这一天的到来,尽管过程比较曲折,Istio如今还不尽如人意。

那些年,我们折腾过的微服务架构

下图来源于蚂蚁金服@卓与( 一个帅又专业的小伙:) )的一次SOFAMesh分享。基本代表了,传统微服务架构Dubbo、SOFABoot、Spring Cloud等微服务架构核心能力和应用之间的关系。这类微服务架构提供“胖客户端”集成到应用,这个小胖每次升级都会影响到应用,也增加了中间件开发团队和业务团队沟通、协调成本,因为耦合太紧了。让我们寄希望于Cloud Native来解吧!
7.png

混合架构

熟悉Kubernetes的同学知道,他有几个对于微服务架构来讲重要能力:
容器编排能力
架起了容器镜像和硬件资源的桥梁,通过yarml声明轻松发布“可执行”程序,配合Liveness 和 Readiness可以做到不停机滚动发布,这都减轻了微服务运营成本。
服务发现能力
Kubernetes可以使用DNS(这是一个较早的基于服务端的服务发现模式)名称暴露一个应用集群的服务地址。Kubernetes还可以用负载均衡,把流量分配到Pod,从而使服务更稳定。这部分看着是否和“胖客户端”的服务发现有点儿像。
在Service Mesh没有完全落地之前,我们是否可以结合Kubernetes上述能力和传统微服务架构能力,各自发挥所长,组成一个混合架构呢,于是有了开篇第一张大图。

本篇总结

我们探讨了容器技术和传统微服务架构特点,并且尝试结合各自优势,组成一个混合架构。
后面我们就具体的技术领域做探讨和可能的坑。

阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
22天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
21天前
|
运维 监控 Cloud Native
自动化运维的魔法书云原生之旅:从容器化到微服务架构的演变
【8月更文挑战第29天】本文将带你领略自动化运维的魅力,从脚本编写到工具应用,我们将一起探索如何通过技术提升效率和稳定性。你将学会如何让服务器自主完成更新、监控和故障修复,仿佛拥有了一本能够自动翻页的魔法书。
|
10天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
10天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,全面助力云上体育盛会
本文讲述了阿里云容器服务,通过安全稳定的产品能力和成熟的稳定性保障体系,全面助力云上体育赛场,促进科技之光与五环之光交相辉映。
阿里云容器服务,全面助力云上体育盛会
|
13天前
|
人工智能 Prometheus 监控
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
本文介绍了在阿里云容器服务 ACK 上部署 NVIDIA NIM,结合云原生 AI 套件和 KServe 快速构建高性能模型推理服务的方法。通过阿里云 Prometheus 和 Grafana 实现实时监控,并基于排队请求数配置弹性扩缩容策略,提升服务稳定性和效率。文章提供了详细的部署步骤和示例,帮助读者快速搭建和优化模型推理服务。
74 7
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
|
1天前
|
运维 Kubernetes Cloud Native
探索云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第18天】在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性成为企业创新的强大引擎。本文将深入探讨云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同推动现代应用的开发与部署。通过实际代码示例,我们将揭示这些技术如何简化运维,加速产品上市时间,并提高系统的可靠性和弹性。无论你是开发人员、架构师还是IT决策者,这篇文章都将为你提供宝贵的洞见和实践指导。
11 2
|
3天前
|
运维 Cloud Native 持续交付
云原生之旅:从容器化到微服务架构的探索
【9月更文挑战第16天】在数字化转型的浪潮中,云原生技术成为推动企业创新和效率提升的关键力量。本文将带你深入了解云原生的核心理念,从容器化技术的入门应用到微服务架构的设计实践,揭示如何利用这些先进技术构建更灵活、更可靠的系统。我们将通过具体案例,探讨云原生技术如何帮助企业实现快速迭代与持续交付,以及在这一过程中可能遇到的挑战和解决方案。
|
1天前
|
Kubernetes Cloud Native Java
云原生技术之旅:从容器化到微服务架构
【9月更文挑战第18天】云原生技术正改变着我们构建、部署和管理应用的方式。本文将通过一次虚拟的旅行,带领读者探索云原生的核心概念,如容器化、微服务、持续集成与交付等。我们将以一个实际案例为线索,逐步展开对Kubernetes集群管理、Docker容器创建和Spring Boot微服务开发的讨论。就像在旅途中不断发现新风景一样,您将了解到这些技术如何协同工作,提升开发效率和应用性能。准备好了吗?让我们启航!
|
12天前
|
运维 Cloud Native 云计算
云原生之旅:从容器化到微服务架构的演进之路
在数字化浪潮中,云原生技术如同星辰大海中的灯塔,为航船指引方向。本文将带你穿梭于云计算的世界,探索从容器化技术到微服务架构的变革旅程。我们将一窥云原生如何助力企业灵活应对快速变化的市场需求,以及在这一过程中,开发者和运维人员是如何成为时代变革的弄潮儿。让我们一同启航,驶向云原生的广阔天地。
|
7天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
18 3