坦白说,虽然我之前阅读过相关文档,但实际上从未亲自尝试运行Backstage。我一直有种感觉,Backstage不过是一个开发者门户而非开发者平台。上周在分享我对平台工程的理解后,朋友圈中有人提议我写一篇关于Backstage入门的文章。这激起了我的好奇心,我决定深入探究一下Backstage究竟是什么。 Backstage简介 Backstage是一个用于构建开发人员门户的开放平台,统一了所有基础设施工具、服务和文档,以创建端到端的简化开发环境,由Spotify开源并捐赠给CNCF。Backstage提供了开箱即用的几个核心功能: 软件目录 软件目录(SoftwareCatalog)是一个...

  LWJ5L6FE7ZDW   2024年02月19日   41   0   0 Kubernetes

Gartner将平台工程列为2024顶级战略技术趋势之一。 说起平台工程(PlatformEngineering),经常听到有人说是:新瓶装(平台工程)旧酒(DevOps)。 今天根据过去自服务平台的实践经验,聊聊我所理解的平台工程。 云原生平台 说到平台工程,不可不免地要聊聊云原生,不过这里不会针对是否转向云原生进行讨论。 云原生的三驾马车:微服务、Kubernetes、DevOps。根据过往的实践经验,我认为云原生技术平台的核心能力(包括但并不限于)可概括为: 容器平台:专注于容器化技术和Kubernetes编排,实现应用的弹性、高效存储和网络通信。这为微服务和DevOps的实现提供...

  LWJ5L6FE7ZDW   2024年01月22日   23   0   0 Kubernetes

在之前的文章陆续介绍了如何在Kubernetes中使用Otel的自动插桩以及Otel与服务网格协同实现分布式跟踪,这两篇的文章都将目标聚焦在分布式跟踪中,而作为可观测性三大支柱之一的日志也是我们经常使用的系统观测手段,今天这篇文章就来体验下应用日志的操作闭环。 背景 OpenTelemetry简介 OpenTelemetry(以下简称Otel)是一个开源项目,旨在为分布式追踪、度量和日志提供统一的标准,简化应用程序的观测性(Observability)。它提供了一系列工具和API,用于收集和传输应用程序的性能数据和日志,帮助开发者和运维团队更好地理解系统的行为。功能包括自动和手动检测应用程序...

  LWJ5L6FE7ZDW   2023年12月25日   41   0   0 Kubernetes

Tetragon是一种灵活的安全可观察性和运行时策略执行工具,可直接使用eBPF应用策略和过滤,从而减少了监控、进程跟踪以及实时执行策略的开销。 Tetragon提供了如下功能: 监控进程执行 监控文件操作 监控网络活动 执行策略 最后一个侧重策略的执行,可以通过发送信号或覆盖系统调用的返回值对重要的安全事件做出反应;前三种侧重监控,并可以将监控数据与容器、Kubernetes元数据进行关联。 演示 环境 操作系统:Ubuntu20.04 内核:5.15.122 K8s集群:k3sv1.27.1+k3s1 创建集群 exportINSTALL_K3S_VERSION=v1.27.1...

  LWJ5L6FE7ZDW   2023年12月15日   22   0   0 Kubernetes

在上一篇文章中,介绍了如何在k8s中无侵入安装Otel探针并实现了无侵入(某些语言还无法实现,比如Go的eBPF对内核的苛刻要求)的分布式跟踪。 这篇文章发出后有读者评论javaagent的“无侵入”一说,这里有必要解释下。“无侵入”主要指的是不需要修改应用程序的业务逻辑代码就能实现的功能,对应用程序透明无感知,让开发者专注于业务开发;同时由于无需修改应用程序代码,更易于集成;同时还维护简单,在多种语言、框架间保证功能的一致性。 而JavaAgent在JVM启动时加载,它在运行时修改字节码来注入跟踪代码,而不是在应用程序的源代码层面上进行修改。 背景 分布式跟踪 分布式跟踪是监控和诊断微...

  LWJ5L6FE7ZDW   2023年12月14日   23   0   0 Kubernetes

背景 OpenTelemetry探针 OpenTelemetry(简称Otel,最新的版本是1.27)是一个用于观察性的开源项目,提供了一套工具、APIs和SDKs,用于收集、处理和导出遥测数据(如指标、日志和追踪信息)。应用程序遥测数据(如追踪、指标和日志)的收集是通过探针来完成的,探针通常以库的形式集成到应用程序中,自动捕获重要信息协助监控和调试。OpenTelemetry探针支持市面上大多数的编程语言,探针的安装(通常被称为插桩,Instrumentation)分为手动和自动两种方式。 手动插桩:指开发者直接在其应用程序代码中显式地添加遥测数据收集的代码,需要手动完成SDK初始化、...

  LWJ5L6FE7ZDW   2023年12月13日   29   0   0 Kubernetes

写这篇文章是来填很久之前挖下的坑。 本文涉及组件的源码版本如下: Kubernetes1.24 CRI0.25.0 Containerd1.6 容器运行时(ContainerRuntime)是负责管理和执行容器的组件。它负责将容器镜像转化为在主机上运行的实际容器进程,提供镜像管理、容器的生命周期管理、资源隔离、文件系统、网络配置等功能。 常见容器运行时有下面这几种,这些容器运行时都提供了不同程度的功能和性能。但他们都遵循容器运行时接口(CRI),以便能够与Kubernetes或其他容器编排系统集成,实现容器的调度和管理。 containerd CRI-O DockerEngine ...

  LWJ5L6FE7ZDW   2023年11月02日   51   0   0

前几天GatewayAPI宣布在0.8.0中支持服务网格,这意味着GAMMA(Gateway APIfor Mesh Managementand Administration)有了新进展,虽然目前还是实验阶段。去年6月GatewayAPI发布0.5.0时,我还写了一篇SMI与GatewayAPI的GAMMA倡议意味着什么?。如今,SMI作为sandbox项目的年度审查已经过了几个月仍未提交,唏嘘。 废话不多说,我们来看下0.8.0下的GatewayAPI如何在ServiceMesh中工作。 TL;DR GatewayAPI对服务网格的支持仍然是实验阶段...

  LWJ5L6FE7ZDW   2023年11月02日   65   0   0

本文翻译自由DavidVroom,JamesMulcahy,LingYuan,RobGulewich编写的Netflix博客ZeroConfigurationServiceMeshwithOn-DemandClusterDiscovery。 Netflix相信大家并不陌生,在SpringCloud生态中就有Netflix全家桶。多年前,我也曾将基于NetflixOSS构建的微服务架构搬上了Kubernetes平台,并持续折腾好几年。 SpringCloudNetflix有着庞大的用户群以及用户场景,其提供了微服务治理的一整套解决方案:服务发现Eureka、客户端负载均衡Ribbon、断路器H...

  LWJ5L6FE7ZDW   2023年11月02日   43   0   0

TL;DR 怎么理解ServiceWeaver,就是一个应用中有很多的接口,这些接口间会互相调用。如果将操作系统进程(应用)比做一块电路板,接口比做元器件。可以选择将哪些元器件放入该电路板中,哪些元器件放入其他的电路板中。 同一块电路板中的元器件间通过板上的导线连接(进程内的本地方法调用);不同电路板中的元器件间通过排线来连接(远程方法调用)。 总结几个关键词: 一个编程框架 用于编写、部署、管理分布式应用 支持的语言Go 在本地以单进程、多进程运行 在云端由框架拆分成微服务,并于云供应商集成 单体方式开发,微服务方式部署 体验了一圈下来,给我的感觉有点类似Notion、Obsidia...

  LWJ5L6FE7ZDW   2023年11月02日   86   0   0
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~