N26:构建无缝体验的平台工程之路-Part 1

2023-12-07 19:13

本文主要是介绍N26:构建无缝体验的平台工程之路-Part 1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 N26,在生产环境中仅需一小时即可完成启动一个新的服务,包括所有必要的基础设施依赖项、功能,以及专用的数据库集群,并且其 API 可以用于通过身份验证的请求。在激烈竞争的金融市场中,迅速推出新产品和服务对于吸引和保持客户尤为重要。

当前,初创企业在融资方面的关注点已经从追求快速交付转变为关注生存能力和盈利能力。初创企业需要更加注重预测客户需求,而不是通过不断试错来吸取经验教训。

平台工程之所以如此受欢迎,是因为它对于提高产品团队的效率非常关键。强大的平台通过自动执行重复性任务以及处理安全性、合规性和可观测性等跨领域问题,消除了处理基础设施的痛苦。

经过两年的努力,我们的平台工程战略取得了成效。在 2022 年 DevOps 现状报告中,我们的表现优于金融服务行业 97% 的受访者。现在,让我们一起来了解一下 N26 的平台是如何运作的,也希望我们的平台工程之路能够为您提供一些实用的见解。

根据2023年7月的数据,我们的软件工程师保持了每两天至少一次的部署频率。每次部署的平均耗时为9分钟,准备工作非常高效。而且仅有1.2%的部署发生事故,变更失败率极低。即使发生故障,我们的团队也能在平均21小时内完成恢复工作,保障系统平稳运行。

01 平台工程文化的重要性

2021年7月,我们致力于制定 N26 巴西企业的工程战略,积极投入了大量的努力,以交付一款专为巴西市场定制的首个移动应用程序的首次迭代版本。与我们在欧洲市场的扩张不同,巴西市场对我们来说需要重新构建一切。考虑到巴西中央银行(BACEN)制定的严格规定,我们的首要目标是测试运营效率,并建立必要的基本框架。为了确保产品的质量和稳定性,我们最初仅内部测试,并限制了内测版的使用人群为亲友和熟人。

这个新的项目虽然看起来很幸运,但实际情况并非如此。当我加入 N26 时,所有的产品和工程工作都是通过外包进行的,我们甚至需要依赖合作伙伴的基础设施来支持我们的工作。

我们的第一个应用程序版本已经通过了内部测试,这个版本已经达到了我们的要求。然而,在竞争激烈的新银行市场中,我们需要做的更多。我们致力于为客户提供独特的价值主张,这要求我们的专业员工不断学习,并提供切实可行的解决方案来解决客户的实际问题。

当时的工程团队中一共有五人。我们展开了三天的研讨会去确定战略和文化,由于我们即将扩大工程团队规模,需要为下一阶段的运营做好准备。因此,在加快生产力的同时,快速招聘和入职人员是一项具有挑战性的工作。

在我们讨论原则时一直在重复责任的重要性,我们希望 N26 有一支自主和负责任的团队,并且积极维护其交付的成果。这种方法允许团队与其应用程序的运行方面和客户进行互动,创建反馈回路,从而交付高质量的产品。这种方式就是 "you build it, you run it"。

此外我们还确定了其他原则,就是将所有基础设施抽象为一个平台,以及利用成熟的管理实践(如产品管理)来有效管理我们的工程部门。因此,平台工程成为了我们企业文化不可分割的一部分。

02 战略规划

为了更好地推动战略规划,我们通过影响地图(Impact Mapping)来探究四个问题:为什么需要平台工程、谁是用户、如何实施以及具体做什么。重要的是要明确为什么我们要这样做,因为只有了解了目标,我们才能更好地应对突发状况。

我们的业务计划在客户增长方面取得了积极反馈,到2022年底,我们的团队计划扩大20倍,人数从5人增加到100人。在短短1.5年内实现巨大增长,除了实力雄厚的平台,还需要卓越的开发者体验。

对于 "为什么需要平台工程?"这个问题,我们的答案是因为希望开发人员在 Day 1能轻松部署。但是,在讨论我们需要开发哪些功能来实现这一目标之前,我们先讨论了谁会受到这一目标的影响。也就是“谁是我们的用户?”

我们对 "谁是我们的用户?"这个问题的回答是产品工程师。作为工程部门,我们对业务的主要贡献是为团队配备足够的人员,并使他们富有成效。这些团队将通过解决客户的具体问题直接为业务做出贡献。然后,我们跟进了解希望产品工程师具备哪些行为,以帮助我们实现预期目标。

在回答"怎么做?"这个问题时,我们关注两个方面。首先,我们期望产品工程师能够负责并维护他们所开发的产品,确保产品的稳定性和可靠性。其次,我们希望他们能够从 Day 1 开始就提高工作效率,为公司创造更多的价值。这些是我们想要实现的目标。最后,我们一起讨论了采取哪些措施来支持我们期望产生的影响。

我们提供了一份功能列表,以回答“要做什么?”的问题。这些功能是根据预期效果和业务目标而定的、完全适应具体情况的功能。此外,我们还提供非技术性功能,例如入门指南和文档索引,以更好地满足用户的需求。

在充分理解了我们的战略重要组成部分之后,再来聊聊对产品工程师的体验有什么规划和期望。

03 绘制开发人员体验图

我们的影响地图呈现了两个特征,这两个特征进一步强调了基础架构的抽象原则(即将基础架构的底层细节进行抽象化,以便产品工程师更好地应用)以及我们在文化中设定的同质性和一致性原则。我们需要思考向产品工程师提供怎样的开发者体验才是我们希望达到的目标。

我之前曾在一家新银行工作过,这家银行拥有近 2000 万客户和 350 多项服务。少数几个知道新服务供应所需步骤的人很自豪。平台工程非常强大,但开发人员体验的这一部分缺乏自助服务功能。我记得有人说过,由于大量未记录的手动工作,平均部署一个新服务到生产环境需要至少两周的时间。

你能想象要等三个月才能有一个工作环境来部署服务吗?Rafay Systems 最近的一项研究发现,每四家企业中就有一家需要三个月或更长时间才能将应用程序或服务从代码完成阶段部署到生产阶段,9%的企业需要六个月或更长时间。这是一种巨大的资源浪费。

因此我们需要考虑优化配置流程,以实现快速将新的服务部署到生产环境,并能够在入职培训时进行演示。为了减轻产品和平台工程师的配置工作负担,我们提出了一套简化流程,让产品工程师能够轻松完成配置工作。

我们希望平台将通过自动化来解决配置问题,这是一种类似 PaaS 的体验:产品工程师只需要在一个代码仓库中提交包含 yaml 代码的拉取请求,该代码仓库就可以编排在云环境中启动新服务的过程。

在拉取请求批准后开始准备生产环境,包括集群管理、配置数据库、设置消息基础设施等。先基于服务框架创建代码仓库,并进行首次部署以确保环境配置正确,然后产品工程师克隆新创建的服务代码仓库。每当将代码推送到主干分支时,就会自动将服务部署到生产环境。

有了对开发人员体验较为全面的了解和认识,接下来我们会在第二部分深入探讨平台需要构建的内容。

这篇关于N26:构建无缝体验的平台工程之路-Part 1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/467038

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP