Kubernetes是容器化微服务的圣杯么?

导语

Kubernetes已成为山丘之王。开源技术Kubernetes以及随后的发行版正以超快的速度让人们爱上容器技术,并且开始夺回对容器化环境的控制权。不幸的是,编排容器只是战斗进行了一半。

正文

云服务提供商接连宣布他们的编排选择是Kubernetes私有发行版:Red Hat OpenShift(和CoreOS Tectonic),IBM Cloud,Microsoft Azure,VMware,Pivotal Container Service,Oracle Cloud,Google Kubernetes Engine,当然还有亚马逊网络服务。他们都创建了自己的Kubernetes发行版,并在其上标准化了编排流程。

最后,有一种标准方法可以控制半序混乱状态,即容器化应用程序基础架构。现在,我们有一种方法来了解何时需要容器资源,以及何时释放。

编排擅长将已知资源集带入系统,观察正在使用的资源,并据此做出基础架构/容器部署决策。使用K8s编排管理容器时,有两个问题:

一是它只能根据系统所知做出决策,二是它没有将应用程序性能纳入决策过程。

没有数据,您的分析工具将失去用处。实际上,互联网上充斥着借助数据以供分析的问题的文章。但我们要更进一步。Kubernetes(或任何编排)的最大问题是丢失了一些数据,有时丢失数据与数据错误一样有害。

这使我们从上面回到了第二个问题:应用程序性能。当然,在过去20年中,应用程序性能几乎是所有基础架构/平台管理系统中的一个大漏洞。这就是存在应用程序性能管理(APM)行业的原因:因为J2EE中间件平台对生产应用程序的可见性为零。

尝试在没有应用程序性能信息的情况下管理应用程序基础结构,就像在不了解飓风是出现在非洲还是欧洲的情况下评估风的平均风速。

随着时间的流逝,经过调整的平台和新的APM工具应运而生,以应对下一代应用程序技术以及每种应用程序提出的独特可见性挑战。

容器没有什么不同,因为即使是新的APM供应商,流行工具也无法从那些老旧的容器中执行其监控功能。

然后,我们进行了编排,在他们之上又放了一层!

因此,第一和第二问题并存。因为在没有应用程序性能信息的情况下,精心设计的应用程序环境可能会陷入困境,仅仅是因为它没有更好的了解。那时,丢失的数据让剩余的数据也成为垃圾。

结果是,在您的客户/最终用户受到服务影响的同时,所有指示灯都呈绿色点亮,这在IT操作中非常常见。

开发人员对他们的应用程序进行检测以使其可观察,使用自动插入监视以提供可见性的工具。

重要的是,您了解了应用程序性能,或更具体地说,是通过应用程序向用户提供的服务的性能,但需要确保您有一种方法来获取性能信息和业务流程信息并将它们结合起来(从数据管理的角度来看,它们是相互关联的),以便您可以根据服务水平制定业务流程决策,而且可以看到何时不提供应用程序,即使业务流程引擎认为一切正常。

随着应用程序平台和技术的不断发展,确定如何获得性能可见性的艰巨任务是艰巨的。像以前一样-首先使用J2EE,然后使用SOA,现在使用微服务工具和解决方案应运而生,以帮助查看内部应用程序并解决问题。

无论您是要弄清楚如何协调1,000个容器,还是要了解环境中的25种无服务器功能是如何执行的,或者只是了解整个应用程序如何为用户提供服务,都可以找到解决方案。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[设计模式]命令模式

代码如下: #include <iostream> #include <queue> #include <Windows.h> using namespace std;class HandleClientProtocol { public:void addMoney(){cout << "给玩家增加金币" << endl;}void addDiamond(){cout << "给玩…

Zjnu Stadium HDU - 304 加权并查集

题意&#xff1a; 观众席围成一圈。列的总数是300&#xff0c;编号为1–300&#xff0c;顺时针计数&#xff0c;我们假设行的数量是无限的。将有N个人去那里。他对这些座位提出了要求&#xff1a;这意味着编号A的顺时针X距离坐着编号B。例如&#xff1a;A在第4列&#xff0c;X…

还不明白可空类型原理? 我可要挖到底了

一&#xff1a;背景1. 讲故事做好自媒体到现在有一个月了&#xff0c;关注我的兄弟应该知道我产出了不少文章&#xff0c;号里的粉丝也多起来了&#xff0c;我也尽最大努力做到有问必回&#xff0c;现在是基础的、高深的问题都接踵而来&#xff0c;可我也只是一只小菜鸟&#x…

[设计模式]策略模式

策略模式:定义了一系列算法&#xff0c;并将每一个算法封装起来&#xff0c;而且使它们还可以相互替换。 策略模式让算法独立于使用它的客户而独立变化。 代码如下: #include <iostream> using namespace std;class WeaponStrategy { public:virtual void useWeapon()…

[设计模式]模板方法模式

模板方法模式: 定义一个操作中算法的框架&#xff0c;而将一些步骤延迟到子类中。模仿方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 代码如下: #include <iostream> using namespace std;class DrinkTemplate { public:virtual void Boi…

差距(分享)

非985大学生, 你和别人的差距在哪里?&#xff08;转&#xff09; 非985大学生, 你和别人的差距在哪里? 中国青年报03-24 在知乎上看到这样一段话&#xff1a; “渣学校意味着渣教学&#xff0c;渣教学意味着渣学历&#xff0c;渣学历意味着渣就业&#xff0c;就算以后考了研究…

在微服务框架Demo.MicroServer中添加SkyWalking+SkyApm-dotnet分布式链路追踪系统

1.APM工具的选取Apm监测工具很多&#xff0c;这里选用网上比较火的一款Skywalking。Skywalking是一个应用性能监控(APM)系统&#xff0c;Skywalking分为服务端Oap、管理界面UI、以及嵌入到程序中的探针Agent部分&#xff0c;大概工作流程就是在程序中添加探针采集各种数据发送给…

计算机组成原理期末复习题

地址总线A15~Ao(低),存储空间(按字节编址)分配如下 2000H~3FFFH为ROM区, 5000H~6FFFH为RAM区。用 ROM芯片(4Kx4)和RAM芯片(4Kx4)组成该存储器。请回答 &#xff1a;(1)分别需要ROM和RAM多少片? (2)用二进制形式写出每组芯片的地址范围,并说明可以通过哪些地址位来形成片选信号…

干货分享:如何使用Kubernetes的Ingress API

导语以Kubernetes的Kong为例&#xff0c;聊聊当前流行的开源且与云无关的Ingress控制器。正文您可以通过使用诸如Kong for Kubernetes的Ingress控制器&#xff08;使用自定义资源定义并提供许多插件&#xff09;来极大地扩展Ingress资源的功能。Kubernetes正在整个技术行业中得…

计算机组成原理期末复习往年卷子

1. I/O设备的编址方式通常有___统一编址__和_独立编址__两种方式。P145 2&#xff0e;Cache是一种高速缓冲存储器&#xff0c;是为了解决____CPU____和___主存____之间速度不匹配而采用的一项重要技术。P124 3&#xff0e;在计算机系统中&#xff0c;I/O设备与主机传递消息的…

.NET Core接入ElasticSearch 7.5

写在前面最近一段时间&#xff0c;团队在升级ElasticSearch&#xff08;以下简称ES&#xff09;&#xff0c;从ES 2.2升级到ES 7.5。也是这段时间&#xff0c;我从零开始&#xff0c;逐步的了解了ES&#xff0c;中间也踩了不少坑&#xff0c;所以特地梳理和总结一下相关的技术点…

[C++11]字符串原始字面量

代码如下: #include <iostream> #include <string> using namespace std;int main() {string str1 R"(D:\hello\world\test.txt)";cout << str1 << endl;string str2 R"(dsdasasdasasda asdagdfhadagd)";cout << str2 &l…

ASP.NET Core on K8s学习之旅(13)Ocelot API网关接入

【云原生】| 作者/Edison Zhou这是恰童鞋骚年的第232篇原创文章上一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和使用&#xff0c;考虑到很多团队都在使用Ocelot作为API网关&#xff08;包括我司&#xff09;做了很多限流和鉴权的工作&#xff0c;因此本篇介绍一下如…

数据结构期末复习

1.完全二叉树的第5层有9个节点&#xff0c;该完全二叉树总计有多少个节点( B ). A.41 B.24 C.40 D.25 2.具有21个顶点的无向图至少有多少条边才能形成连通图 ( B ). A.21 B.20 C.22 D.21…

C++实现拓扑排序(vector模拟邻接表存储,优先队列实现)

代码如下: #include <iostream> #include <queue> #include <vector> using namespace std; const int N 10010; int in[N]; vector<int>v[N]; vector<int>print;//存放拓扑序列 int main() {int n, m;//n为点的个数&#xff0c;m为边的条数,点…

ASP.NET Core分布式项目实战(运行Consent Page)--学习笔记

任务21&#xff1a;运行Consent Page修改 Config.cs 中的 RequireConsent 为 true&#xff0c;这样登录的时候就会跳转到 Consent 页面修改 ConsentController 的 Index 为异步[HttpGet] public async Task<IActionResult> Index(string returnUrl) {var model await Bu…

[C++11]指针空值类型nullptr

代码如下: #include <iostream> using namespace std;void func(char *p) {cout << "void func(char *p)" << endl; }void func(int p) {cout << "void func(int p)" << endl; }int main() {func(10);func(NULL);return 0;…

[C++11]常量表达式函数

constexpr修饰函数。 普通函数/类成员函数。 1.函数必须要有返回值&#xff0c;并且return返回的表达式必须是常量表达式。 代码如下: #include <iostream> using namespace std;//error 不是常量表达式函数 constexpr void func1() {int a 200;cout << a &l…

Magicodes.IE Csv导入导出

说明本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出.主要步骤1.安装包Magicodes.IE.CsvInstall-Package Magicodes.IE.Csv2.使用Magicodes.IE.Csv导出Csv通过如下代码片段我们将导出的内容通过相应的特性做出相应的处理.ExporterHeaderAttributeDisplayName&#xff1a;…

微软 Build 2020开发者大会发来一张英雄帖,邀您速来赴约!

&#xff08;本文阅读时间&#xff1a;2 分钟&#xff09;微软 Build 2020开发者大会将于北京时间5 月 19 日晚上 23:00正式开启。大会将以Teams Live Event的形式面向全球开发者免费注册&#xff0c;并增设中文专家面对面&技术专场&#xff0c;方便开发者从48小时的连续技…