Uber 利用 Google Cloud Platform 实现大数据基础设施现代化的历程

在一个 最近贴文 Uber 在其官方工程博客上披露了将批量数据分析和机器学习 (ML) 训练堆栈迁移到 谷歌云平台 (GCP)。Uber 运营着最大的 Hadoop 该公司在全球拥有 1000 多个安装点,管理着两个地区数万台服务器的 1EB 以上数据。开源数据生态系统,尤其是 Hadoop,一直是数据平台的基石。 战略迁移计划包括两个步骤:初始迁移和利用云原生服务。Uber 的初始策略是利用 GCP 的对象存储进行数据湖存储,同时将其余数据堆栈迁移到 GCP 的基础设施即服务 (IaaS)。这种方法可以快速迁移,对现有作业和管道的干扰最小,因为他们可以在 IaaS 上复制其本地软件堆栈、引擎和安全模型的精确版本。在此阶段之后,Uber 工程团队计划逐步采用 GCP 的平台即服务 (PaaS) 产品,例如 数据处理 和 BigQuery,充分利用云原生服务的弹性和性能优势。 移民范围(来源: Uber 的博客) 初始迁移完成后,团队将专注于集成云原生服务,以最大限度地提高数据基础设施的性能和可扩展性。这种分阶段的方法可确保 Uber 用户(从仪表板所有者到 ML 从业者)体验无缝过渡,而无需改变其现有的工作流程或服务。 为了确保顺利、高效的迁移,Uber 团队制定了几项指导原则: 通过将大部分批处理数据堆栈原封不动地迁移到云 IaaS 上,最大限度地减少使用中断;他们的目标是保护用户免受其工件或服务的任何更改的影响。他们使用众所周知的抽象和开放标准,努力使迁移尽可能透明。 他们将依赖一个云存储连接器,该连接器实现了 Hadoop FileSystem 接口与 Google Cloud Storage 的兼容,从而确保了 HDFS […]

Java 新闻综述:Payara 平台、Jakarta EE 11 规格、Open Liberty、Micronaut、Quarkus

本周 2024 年 6 月 17 日的 Java 综述重点介绍了以下新闻:2024 年 6 月发布的 Payara 平台;所有 16 项 Jakarta EE 11 规范均已通过各自的审查;Open Liberty 24.0.0.6;Micronaut 4.5.0;以及两个 Quarkus 点版本。 OpenJDK 克里斯蒂安·斯坦甲骨文公司首席技术人员, 宣布 JDK 的回归测试工具版本 7.4.0, 杰特雷格于 2024 年 5 月发布,现为 JDK 24 的默​​认版本 抢先体验版本。 JDK 23 构建 28 JDK 23 抢先体验版本 上周推出 更新 从 Build 27 开始,修复了各种 问题. 有关此新闻稿的更多详细信息,请参阅 […]

Spring 生态系统发布重点关注 Spring Boot、Spring Security 和 Spring Modulith

2024 年 6 月 17 日这一周,Spring 生态系统活动频繁,重点发布了以下版本:Spring Boot 3.3.1 和 3.2.7;Spring Security 6.3.1、6.2.5 和 5.8.13;Spring Session 3.3.1 和 3.2.4;以及 Spring Modulith 1.2.1、1.1.6 和 1.0.9。 Spring Boot 释放 Spring Boot 版本 3.3.1 和 3.2.7 改进文档、升级依赖项并解决以下突出问题: 非法参数异常 尝试使用 Tomcat 实例时 Http11Nio2协议 具有 Spring Boot 配置 SSL 的类;以及 数据源属性 如果 java.sql 模块不包括在内。有关这些版本的更多详细信息,请参阅 版本 3.3.1 和 版本 3.2.7。 Spring […]

Kubernetes 1.30 发布,具有上下文日志记录、改进的性能和安全性

云原生计算基金会 (CNCF) 于 4 月发布了 Kubernetes 1.30,名为 Uwubernetes。该版本引入了递归只读等功能 坐骑,作业完成 政策和快速递归 SELinux 标签更改。 Kubernetes 1.30 中的一项变化是对内存的彻底改革 交换 支持 Linux 节点。此改进旨在通过提供对内存使用的更多控制来增强系统稳定性。此外,还引入了 PreStop 的睡眠操作 生命周期钩子 提供了一个简化的本机选项来管理 pod 终止活动并确保更好的工作负载管理。 1.30 版中的 Alpha 功能包括集成通用表达语言 (这) 用于准入控制,为 Kubernetes 集群中更复杂的策略控制和验证机制铺平了道路。此外,通过 Kubernetes 增强提案 (凯普) 旨在提供更安全、更易于管理的服务账户,这是维护安全 Kubernetes 环境的重要组成部分。 Kubernetes 1.30 还提供了以下 beta 版支持 用户命名空间,这是一项隔离容器的 Linux 功能 UID 以及与主机上的 GID 不同的,从而大大加强了安全措施。 凯特·科斯格罗夫发布团队对 Contextual Logging 在 […]

Docker Desktop 4.31 带来隔离容器、更快构建速度等功能

Docker Desktop 最新版本 引入隔离容器来提高安全性和合规性,更好地与基于云的构建集成来提高性能,以及Compose配置文件查看器等。 气隙容器 允许管理员限制对互联网的访问,包括可以上传或下载数据的位置。但是,他们可以自由访问内部网络。 Docker Desktop 可以将一组自定义代理规则应用于来自容器的网络流量。可以配置代理以允许网络连接、拒绝网络连接以及通过 HTTP 或 SOCKS 代理建立隧道。 可以使用新的 []admin-settings.json 文件中的 containerProxy 选项](https://deploy-preview-20092–docsdocker.netlify.app/desktop/hardened-desktop/air-gapped-containers/),它描述了对容器流量应用哪种策略。这包括开发人员是否可以覆盖代理设置, 代理自动配置 (PAC) 应该使用哪些文件,以及哪些端口应该透明地代理。 您还可以使用 Docker Desktop Docker 构建云,可将构建速度提高 39 倍。Docker Build Cloud 的一个显著优势是,您可以使用原生 AMD 和 ARM 构建器进行多架构构建,而无需配置和使用模拟器。此外,当团队在同一个 repo 上工作时,他们将受益于共享缓存,从而防止创建重复的层。每个 Docker 订阅都包含一定数量的构建分钟数,范围从免费个人订阅的每月 50 分钟到商业订阅的每月 800 分钟。 在 Arm 上运行 Windows 的用户将能够原生运行最新的 Docker Desktop。不过 Docker 警告称,这仍被视为测试版质量。 此版本将在身份验证后可用,并针对拥有基于 Arm 的 […]

Elastic 利用 Tines 实现 SIEM 调查自动化

Elastic 的信息安全团队最近详细介绍了他们使用 Tines 实现的工作流程自动化,旨在提高他们识别和应对网络安全威胁的能力。该系统会自动对来自其安全信息和事件管理 (SIEM) 系统的警报进行分类,从而增强了识别和优先处理真实威胁的能力。 亚伦·杰维特Elastic 首席信息安全分析师 II 详细阐述了实施 在博客文章中. 通过这种简化的工作流程,该团队在一个月内调查并解决了超过 50,000 条警报,每条警报在触发后几秒钟内即可得到处理。这种方法使团队能够专注于调查复杂的威胁,从而改善整体安全态势。 此前,Elastic InfoSec 团队创建了规则包,用于检测 用户和实体行为分析(UEBA). 用户和实体行为分析(UEBA)分析来自用户和设备的活动数据,以建立正常行为标准。 安全团队意识到,如果 UEBA 警报来自受信任的设备,则可能会被忽略。他们的调查通常涉及根据 Elasticsearch 数据库检查警报的详细信息。如果发现匹配的活动,则警报可能是误报。 处理大量误报会导致分析师疲劳并错过威胁。因此,该团队考虑自动进行初始警报调查,排除误报并升级真正的威胁。 目前,Elastic 的系统将安全警报传输到 SOAR(安全编排、自动化和响应) 系统。然后,该 SOAR 系统使用查询自动对每个警报进行调查。根据结果,它会解决警报或将其上报给安全分析师进行进一步审查。 Jewitt 进一步解释了 叉齿 构建自动化分类工作流程。Elastic 的安全团队利用 Elastic Security 中的 Alert Actions 将警报数据传输到他们的 SOAR 解决方案。这是通过内置的 Tines 连接器或 webhook 实现的,该连接器或 webhook 以 ndjson 格式单独或批量发送警报。 自动分类标签(例如 Triage:All、Triage:Asset、Triage: Workstation)用于将规则路由到适当的分类路径。使用 […]

VisualStudio.Extensibility 17.10:诊断资源管理器、XAML 支持等

VisualStudio.Extensibility 团队发布了多项更新,包括用于调试扩展的新 Diagnostics Explorer 和对 XAML 资源的支持。此更新还包括文件和目录选择器提示以及 TrackUpdatesAsync() 方法,从而能够更有效地跟踪和管理项目更改。 一个新工具,VisualStudio.Extensibility Diagnostics Explorer,已在 Visual Studio 市场,为扩展提供强大的调试功能。此工具作为进程内 VisualStudio.Extensibility 扩展开发,为开发人员提供有关 Visual Studio 如何感知其扩展的见解。 诊断资源管理器包含各种选项卡,用于检查命令、命令集、组、菜单、工具栏、命令位置和动态命令锚点。它通过提供对已发现和已配置组件的可见性,帮助开发人员诊断 IDE 中缺少命令等问题。 除了命令诊断之外,Diagnostics Explorer 还具有实时事件查看器,使开发人员能够观察 IDE 中的实时事件及其属性,例如命令执行、工具窗口打开或 TextView 创建。激活约束选项卡可让您深入了解可用于创建激活约束的每个值的当前状态。 最新版本引入了对 XAML 资源的支持,大大增强了扩展的 UI 开发。XAML 资源允许开发人员定义可重复使用的对象(例如颜色、画笔和样式),从而简化了一致且具有视觉吸引力的用户界面的创建。此新功能与其他远程 UI 功能相一致,允许将带有 ResourceDictionaries 的 XAML 文件作为嵌入资源包含在 .csproj 文件中。 一旦定义,这些资源就可以轻松地包含在其他组件中,从而允许在整个项目中使用 XAML 引用它们: ResourceDictionaries.AddEmbeddedResource(“XamlResources.xaml”) VisualStudio.Extensibility 中的新 TrackUpdatesAsync() 方法允许用户创建 IObserver 对象来监视项目或解决方案状态的变化。此功能可用于跟踪项目内文件的更新。例如,通过将该方法与实现 IObserver> […]

微软推出 Bicep 模板对 Microsoft Graph 支持的公开预览版

微软宣布 Microsoft Graph 资源的 Bicep 模板将于 5 月 21 日起接受公开审查。Bicep 模板简化了 Microsoft Graph 资源的部署,允许使用声明性语法进行高效的基础设施定义和重复部署,非常适合 DevOps 和基础设施即代码工作流。 Azure 资源管理器 (ARM) 和 Bicep 模板支持通过文件声明和部署 Microsoft Azure 资源。管理 Azure 服务和基础设施通常涉及处理 Microsoft Entra ID 资源,例如应用程序和组。以前,编排部署需要利用 Azure 资源的 ARM 或 Bicep 模板文件以及 Microsoft Entra ID 资源的 Microsoft Graph PowerShell。随着 Microsoft Graph Bicep 版本的发布,现在可以在与 Azure 资源相同的 Bicep 文件中声明 Microsoft Entra ID […]

DevOps 中的要求

抽象的 DevOps 强调快速开发、持续集成和自动化,这在使其与通常更加结构化和线性的需求收集和文档过程保持一致方面提出了独特的挑战。 本文讨论了两种范式之间的紧张关系以及如何协调它们。 在本文中,我们探讨了协调传统需求工程实践与 DevOps 的动态特性所面临的挑战。 通过拥抱开放协作、持续反馈、适应性和可追溯性,DevOps 团队可以应对这些挑战并为无缝集成铺平道路。 在 DevOps 的背景下,需求不能是静态的工件; 它们成为与软件一起发展的生命实体。 本文反思了将 RE 集成到 DevOps 中所面临的挑战,并探索了实现无缝集成的途径。 介绍 DevOps 的目标是强调软件开发中的敏捷实践,并允许系统运营团队更有效地协作。 这是一个协作的跨学科流程,旨在简化软件的持续规划和交付,同时确保其质量。 在这种高度协作的环境中,开发团队根据业务需求开发新功能,而运营团队负责管理生产和服务级别的变更。 DevOps 的一部分还包括持续监控生产中软件产品的性能。 采用 DevOps 的一些优点是缩短部署周期并改善运营和开发之间的沟通和协作。 DevOps 据称可以减少开发错误,因为它强调自动化以及软件开发所需的操作相关活动的显式集成。 敏捷方法建议进行小规模迭代,以实现频繁的软件交付。 在整个迭代过程中,可以与利益相关者协作收集需求、确定优先级并进行验证。 连续需求工程 (CRE) 是一种需求工程方法,强调收集和管理需求的演化观点。 它在敏捷和 DevOps 方法中得到实践,其中需求不被视为静态工件,而是在项目开始时创建,并保留随着项目进展而演变和适应的动态实体。 在本文中,我们将讨论如何将传统的需求工程 (RE) 实践集成到 DevOps 流程中。 将 RE 集成到 DevOps 中 传统的需求工程强调​​理解业务需求以及执行收集和管理需求的流程以全面了解业务环境的重要性,而 DevOps 则是一个持续的软件开发、测试和部署过程。 虽然这两个学科可能看起来有所不同,但它们的融合对于确保软件产品符合用户期望,同时满足快速交付和持续改进的需求至关重要。 DevOps 是对手动任务自动化、集成开发和运营以及实施持续改进文化的持续努力。 这对于 […]

🤑 成为集体 DevOps 自由职业者 | 与丹尼尔·贡萨尔维斯并肩 | 天琴座

🚀 如果您加入我的 DevOps 自由职业集体怎么办?​ 恢复​ 您是否刚开始作为 DevOps 领域的自由职业者,并正在寻找一个刺激的环境来提升您的职业生涯? 🚀 独立吸引你,但孤独却阻碍你? 别再犹豫了,今天的剧集是您开启一次有意义的冒险之旅的关键。 加入自由职业者集体,例如 天琴座,这意味着向一个紧密联系的社区开放,准备分享技能、最佳实践或 Ansible、Terraform、Docker 和 GitLab-CI 等工具。 我们的客人丹尼尔·贡萨尔维斯(Daniel Gonçalves)就是一个完美的例子。 通过深入 DevOps 的世界,他发现了联合和交流对他自身发展的强大影响。 丹尼尔向我们揭示了该集体如何简化其日常管理,使其能够完全专注于其使命,同时平衡其职业和个人生活。 如果您的目标是在 DevOps 方面追求卓越,而又不牺牲团队精神,那么本集适合您。 准备好将你的热情转化为成功了吗? 了解集体如何成为您成功的杠杆。 不要错过这个独特的机会,学习丹尼尔的经验并充分拥抱集体自由职业提供的机会。 现在就点击视频吧! 👇🏻 概括​ 丹尼尔·贡萨尔维斯是谁?​ 成为自由职业者的职业道路和决定​ DevOps 的定义​ 了解 DevOps 及其对职业的影响​ 作为 DevOps 自由职业者的入门技巧​ 成为自由职业者并加入集体的动机​ 融入 LYDRA 集体​ 集体的财务成本和公地的创建​ 自由职业者集体简化了管理​ 加入自由集体的优势​ 集体中可用的工具和资源​ 集体内商业管理​ 工作与生活的平衡​ 社区在 DevOps 领域的重要性​ […]