go后端设计为可扩展的基础设施控制平面,将单个由protobuf驱动的API拼凑成具有通用授权,可观测性和审计日志记录的系统。...人们很容易忘记如何使用这个工具,特别是考虑到没有用特定的交互系统情况下,又去多种执行任务。 由于碎片化和信息杂乱无序,依赖供应商工具的后果是高认知负荷。...像Envoy 一样,Clutch 是配置驱动、模式驱动的,并利用基于模块化扩展的架构,使其适用于各种用例,同时不影响可维护性。...5 框架和组件 Clutch由Go后端和React前端驱动。它为后端和前端开发提供了功能齐全的框架。Clutch的所有组件都是可组合的,允许使用部分框架功能或完全自定义功能。...后端的组件包括: 模块:代码生成的 API 存根的实现 服务:用于与外部数据源交互 中间件:用于检查请求和响应数据以及应用审核、授权等。
在 Lyft 的发展过程中,我们迅速认识到混沌工程的重要性。因为 Lyft 服务之间的所有通信都是通过 Envoy Proxy 运行的,所以像故障注入这样的混沌实验利用它进行看起来是个不错的选择。...Lyft 几年前的情况 故障注入实验是在 Lyft 之前使用 Envoy 的运行时(磁盘层)进行的。工程师们执行一个 CLI 命令,在本地生成运行时文件。...使用这种方法,我们模拟了某一特定第 1 层服务经历退化的情形,并观察这种退化如何影响第 0 层下游依赖。理想情况下,第 1 层服务不应该硬依赖于第 0 层服务。但是,我们发现有些情况并非如此。...与 Clutch 和 Envoy Proxy 一样,整个框架都是通过配置驱动的。...利用 Envoy 的负载报告服务 API 进行实时统计(每秒钟) 要进行更积极的实验,就需要有一个严格的指标驱动的反馈系统,以确保我们能够在实验影响到用户之前迅速终止实验。
从更多像 Epix Now 和 Tubi 这类视频串流应用,到浏览和投射等面向未来的功能,有大量令人期待的新功能。...同时,由于我们已经能够轻松将大屏幕平板电脑应用无缝连接到驻车使用体验中,您比以往更容易为车内用户提供服务。...此外,我们还创建了新模板并扩展了我们支持的应用类别,将 Lyft 等驾驶员应用添加到导航类别,并将停车和充电类别替换为综合兴趣点 (POI) 类别,以包括 MochiMochi 和 Fuelio 等应用...媒体推荐可与 Google 助理搭配使用,让用户只需点击按钮,即可根据其首选音乐提供商轻松发现并快速播放相关内容。如要显示来自您的应用的推荐,请集成此 API。...对于播客和有声读物等长篇内容,您现在可以引入 进度条,以显示用户之前收听的内容进度;同时,现在您可以使用我们新推出的 单一项目样式设计 API,将内容项单独分配为列表或网格,而不再分类排列,从而将它们轻松整合到同一个内容空间中
Envoy 还是为雇主 Lyft 效命,该如何抉择?...此外,Lyft 已经是 “多面手”(使用多种语言和框架),所以使用基于库的解决方案来解决这些问题似乎不切实际。...“如果我们能让其他公司像 Lyft 一样使用 Envoy,我就会很高兴。” 对开放源码发布的反应几乎是普遍的积极。令我们惊讶的是,几乎是立刻,我们开始听到大公司的声音,而不是小公司。...我相信,Envoy 通过其强大的 API 和可扩展性系统穿透了这个矛盾。从本质上讲,Envoy 已经成为一个工具,现在被大量的垂直产品和服务所使用。...同时也要意识到,根据我在上面关于社区规范如何在早期设定的评论,早期的项目维护者将对整个对话和冲突解决的风格产生巨大的影响,就像公司的早期员工对公司的文化产生巨大的影响一样。
增长收购 收购通常由一个数据驱动的跨职能团队领导,该团队专注于规模、可测量性和可预测性。你可能看到过这样的Lyft广告: ? 通过左侧列出的各种渠道,收购在入职漏斗的顶部和最大部分进行。...因此,我们创建了Symphony——一个业务目标、预测未来用户价值、分配预算并发布预算以吸引新用户使用Lyft的编制系统。...调谐器决定如何根据可用的杠杆(如关键字、标题、价值、谷歌搜索的出价类型)来部署资金,同时考虑特定于频道的上下文。...没有来自驱动自动化引擎的人员的良好输入,模型的质量将受到影响(“垃圾输入,垃圾输出”)。 没有人工更新投标或分配预算的认知开销,我们期望我们的营销团队更灵活地将受众和创造性的变化应用到活动中。...市场营销自动化在Lyft仍处于萌芽阶段,尽管这些方法已经帮助我们扩展到目前为止,我们将继续学习和改进,随着我们的发展。我们对我们光明的机器学习和实验驱动的未来感到兴奋。 ? End
由以下部分组成: Controller:由public-api容器组成,该容器为CLI和dashboard提供接口 API。...2、Envoy 同Linkerd一样,Envoy也是一款高性能的网络代理,于 2016 年 10 月份有 Lyft 公司开源,为云原生应用而设计,可作为边界入口,处理外部流量,此外,也作为内部服务间通信代理...API 驱动的配置管理方式,支持动态管理、更新配置以及无连接和请求丢失的热重启功能。 L3/L4层过滤器形成Envoy核心的连接管理功能。...内存资源使用率低,sidecar是Envoy最常用的部署模式。 3、Istio Istio是由Google、IBM和Lyft发起的开源的Service Mesh框架。...Conduit旨在彻底简化用户在Kubernetes使用服务网格的复杂度,提高用户体验,而不是像Linkerd一样针对各种平台进行优化。
为了在灵活性、可靠性和可重用性之间取得平衡,Lyft 的工程师使用 iOS ActivityKit 将动态内容添加到他们的应用程序中。...这也反映了 Lyft 的组织架构,即多个团队同时在不同的领域工作。 我们决定使用服务器驱动的用户界面(SDUI)来构建完全由服务器驱动的实时活动内容。...在 Lyft 的案例中,这需要调整他们的 SDUI 模型,并使用 protobuf 来进一步减少有效负载大小中的一些字节。...此任务要求使用 应用程序组(App Groups) 在应用程序和实现实时活动(Live activity)的扩展程序之间共享文件。...关于 Lyft 工程师如何在他们的应用程序中利用实时活动(Live Activities)的详细信息可以参考这里,所以如果你对此感兴趣,请不要错过原文。
需要强调的是,Lyft的使命与Waymo大不相同。他们希望为无人驾驶汽车软件设定标准,使之能够像安全气囊等其他汽车安全技术一样普及。“我们不想做专有系统。”...知情人士表示,为了改进技术,Lyft使用了开源软件,包括ROS(Robot Operation System),这是其他无人驾驶汽车项目的软件开发基础。此外还使用了百度开发的Apollo。...在被问及开放平台如何与Level 5共存时,Kapoor与亚马逊进行了对比。亚马逊拥有自己的零售业务,但同时也为其他零售商设立了在线集市,而且提供配送服务。...Waymo CEO John Krafcik最近表示,Lyft可能帮助Waymo部署一个无人驾驶专车网络,乘客可以使用Waymo的应用叫车,同时由Lyft的人类司机来处理Waymo的无人驾驶汽车无法应对的路况...在其他情况下,Waymo汽车可能会像nuTonomy和Drive.ai一样,为Lyft用户提供服务。Waymo和Lyft尚未披露合作细节。 “合作中会有很多和平共处,这两个品牌都有很多生存空间。”
2、Envoy 同Linkerd一样,Envoy也是一款高性能的网络代理,于 2016 年 10 月份有 Lyft 公司开源,为云原生应用而设计,可作为边界入口,处理外部流量,此外,也作为内部服务间通信代理...API 驱动的配置管理方式,支持动态管理、更新配置以及无连接和请求丢失的热重启功能。 L3/L4层过滤器形成Envoy核心的连接管理功能。...内存资源使用率低,Sidecar是Envoy最常用的部署模式。 3、Istio Istio是由Google、IBM和Lyft发起的开源的Service Mesh框架。...Conduit旨在彻底简化用户在Kubernetes使用服务网格的复杂度,提高用户体验,而不是像Linkerd一样针对各种平台进行优化。...下篇预告:将正式踏进 Istio 的征程,从 Istio 的整体架构谈起,一同目睹 Istio 中都有哪些组件及如何实现的。
谷歌在周一宣布,它将允许其他公司通过其云计算服务使用他们的新型芯片。 几年前,谷歌开发了一种新型的电脑芯片,以为其巨大的人工智能系统供电。...如今,像谷歌、亚马逊和微软这样的公司不仅仅是大型互联网公司。他们也是大型硬件制造商。...去年年底,为了加快无人驾驶汽车的研发,Lyft开始测试谷歌的新芯片。 Lyft希望利用芯片加快开发无人驾驶汽车的系统,比如识别街道标志或行人。...从谷歌助理(可以识别Android手机语音指令的服务),到谷歌翻译(将一种语言翻译成另一种语言的互联网应用),TPU芯片加速了人工智能的发展。 这一举措减少了谷歌对英伟达和英特尔等芯片制造商的依赖。...新的人工智能浪潮,包括像谷歌助手这样的服务,是由“神经网络”驱动的,这是一种复杂的算法,可以通过分析大量数据来自主学习任务。
1上使用。...API用于系统管理的对话框以提示用户提供任何支持的生物识别身份验证类型,以及允许从两个或多个物理摄像头同时访问流的多摄像头API。...该功能会在您需要时显示用户喜爱的应用程序中的相关信息,如果你开始在谷歌搜索中输入“Lyft”,则可能会显示回家的价格和驾驶的ETA。...其中包括一个新的信息中心,可以向您展示如何在设备上花费时间;一个应用程序计时器,可让你在应用程序上设置时间限制,并在时间到时显示主屏幕上的图标;一种新的“请勿打扰”模式,可以消除屏幕上弹出的所有视觉中断...Android Pie还推出了一个新的系统导航,其中包含一个主页按钮(从Apple的iPhone X中“借用”)。从任何地方向上滑动都会显示最近使用的应用的全屏预览,您可以点按以跳回其中一个。
像Waymo这样的公司正在顺利进行;自动驾驶汽车预计每年产生超过300太字节。但收集数据并不是唯一的技术障碍。添加允许汽车的计算机模型识别并从中学习的标记是另一个挑战。 这就是Scale的用武之地。...这家总部位于旧金山的公司2016年由拥有21岁的麻省理工学院计算机科学家Alexandr Wang创立,提供自主汽车制造商用于加速数据标签处理的API。...“我们的新资金使Scale能够快速推进人类智能和机器学习如何协同工作,使创建培训数据的艰巨和手动过程变得轻而易举,”Wang在一份声明中表示,“基于AI的应用程序的成功本质上取决于输入数据的质量,我们相信我们的人机集成系统为客户提供了为...AI应用程序提供动力所需的精确度。...Index Ventures的合伙人Mike Volpi表示:“Scale有可能成为连接和驱动AI世界的组织。
Swift语言在2014年苹果全球开发大会上发布,随后获得了许多科技公司的支持,比如IBM、专车公司Lyft、Vimio、Pixelmator等都在使用Swift语言开发自己的iOS软件。...据悉,上述的试验使用了“安卓NDK”工具,这一工具也能够让其他开发语言应用于安卓开发。...和Swift一样,Kotlin也是面向对象的语言,更加关注软件的安全性。不过和Swift不同的是,Kotlin能够在谷歌提供的安卓开发工具“Android Studio”中。...Uber在开发中也存在大量的服务端、开发接口等,不过竞争对手Lyft使用Swift,给Uber提供了一个参考的榜样。 何时会采用Swift?...另外,谷歌实际上已经在离开甲骨文主导的Java语言,谷歌已经在使用安卓的“Open JDK”,而不是甲骨文拥有版权的Java API,另外谷歌也开始考虑“后Java”的一些问题。
在 Lyft,大多数后端服务是用 Python 或 Go 语言开发的,而前端服务是用 Node 开发的: 对于 Python 服务,通过使用不可变的虚拟环境进行隔离。...Lyft 使用 Tilt 来协调服务的生命周期及其环境,避免通过手动执行所有的步骤。每个服务都有一个 Tiltfile,用于描述在本地运行服务所需的步骤。...由于 Lyft 使用了不同的传输格式,比如 gRPC、JSON/HTTP 和 protobuf/HTTP,因此向服务发出请求并不是那么简单。工程师们使用 Lyft 开发的一个工具向本地服务发送请求。...在测试本地服务时,用户可以直接向服务 API 发送请求,而不是通过移动应用程序与公共 API 对话。这增加了开发人员对服务 API 的熟悉程度,并缩小了在出现错误时的调试范围。”...“虽然成本不是这个项目的主要驱动因素,但不再为每个开发人员支付 Onebox 的 AWS 实例,我们最终节省了大量资金。”
The Next Web 称,据可靠消息,Google 意欲在其 Android 平台下采纳应用开发编程语言 Swift为其首要开发语言,这可能和他们备受和 Oracle 的官司之争有关吧。...Swift 是通过Apache 2.0 许可下发布的,这也就意味着 Google 无需修改现有的开源结构和策略,就可直接无缝使用 Swift。...在 WWDC 2014 会议上发布,很快就得到了开发者的青睐,也得到了一些应用开发厂商的支持,如 IBM、Lyft等。...Google 必须移植 Swift 的整个标准库,以及支持的 API 和 SDK。其中一些 Android 底层的 API 是 C++ 实现的,目前来说,Swift 无法实现连接转换,必须整个地重写!...Swift 也无法连接转换应用层的 java 的 API,所以这些也需要重写。
在我们检查特定的故障情况和相应的保护机制之前,让我们首先了解如何在 Lyft 部署网络防御。...现在 Lyft 的一天 我们如何限制速率? lyft/ratelimit 是一种开源 Go/gRPC 服务,旨在为各种应用程序启用通用速率限制方案。 速率限制适用于域。...Ratelimit 在 Lyft 投入生产,每秒处理数十万个速率限制请求。 我们在边缘代理和内部服务网格中使用 Ratelimit。 开源服务是 Envoy 速率限制 API 的参考实现 。...我们如何管理并发? Envoy 的主要优点之一是它通过网络级别的断路系统强制执行并发限制,而不必独立地在每个应用程序中配置和实现这些模式。...服务所有者应该使用断路器知识来改进自己的代码库。限制有限池的并发性是解决并发问题的最常用方法。如果从同一上下文生成大量请求,则调用者可以选择使用批处理 API。
沙盒环境像 Uber、Lyft 一样,用动态路由隔离“正在测试”服务,降低基础设施成本,加速迭代。...沙盒解决方案:向巨人学习 像 Uber、Lyft 和 Airbnb 这样的领先科技公司很早就意识到了这一挑战,并率先提出了一种解决方案:沙盒环境。...这些公司没有为每个开发人员复制整个环境(这在规模上变得非常昂贵),而是通过智能请求路由实现了应用层的隔离。 沙盒封装了与稳定版本的服务通信的服务的“正在测试”版本和组件。...沙盒环境不启动每个服务的单独副本,而是使用具有动态路由的共享基础设施。当开发人员想要测试更改时,系统会创建一个隔离的“沙盒”,其中仅包含正在修改的服务。...让我们深入了解一下这如何改变开发工作流程。 解锁的用例 利益相关者反馈的即时预览 传统的开发周期通常会导致像这样的痛苦时刻: “这不是我们同意的!”产品经理在演示期间说,距离发布只有几天了。
以Lyft为例,我们的 legacy计算栈是一个定制的构建/部署系统,它使用原始EC2虚拟机,自动伸缩组等。我们最初的基于Envoy的服务网格和API网关紧密地集成在其中系统及其所有固有架构。...(有关Lyft如何将其服务网格适应Kubernetes的更多信息,请参见丽塔·乔(Lita Cho)和汤姆·瓦尼尔斯塔(Tom Wanielista)的精彩EnvoyCon演讲。)...Lyft的故事并不少见,这代表了为什么Envoy最经常通过内部编写的专有定制控制平台在整个行业中广泛部署:这些组织中的每一个都独立决定,对于遗留部署,完全控制更为有效通过Envoy xDS API和驱动它的控制平面代码...毫不奇怪,使用Envoy的Lyft规模以上的每个组织都说类似的话。 我认为Lyft和业界都可以做的就是将更多功能移到go-control-plane中,以便库本身变得更加有用。...API驱动的中继配置更新:中继的设计目标之一是它只会使用原始xDS。话虽如此,没有什么可以阻止中继最终成为API驱动的控制平面本身。在这个地区有许多有趣的方向可以探索!
这将开发人员从必须在他们的应用程序中实现大量与网络相关的特性中解放出来,因为代理内置了这些功能。 Envoy 的驱动原则是可观察性。...动态配置:在集群启动和运行时,Envoy 本身的配置由 API 管理,并使用动态更新。 负载均衡:Envoy 支持先进的负载均衡方式,如自动重试、断路、限速等。...这些特性让你可以使用 Envoy 为现代的本地云应用程序创建网络解决方案,我们将在下面介绍其中的一些功能。 特色用例 负载平衡 对于现代的 web 应用程序和服务,网络负载均衡是必须的。...因此,如果你计划使用 Envoy 作为你的服务网的一部分,那么值得查看 Istio[11]并熟悉它的附加功能。 API 网关/代理 API 网关是一个管理层,用于组织和分发请求到微服务。...随着微服务和云部署的兴起,越来越多的应用程序使用 API 网关作为用户和客户端应用程序的入口点。
像这样的容器化架构很容易在云中扩展和运行,并且能够快速迭代和推出每个微服务。然而,当应用程序越来越大并且在同一个服务上同时运行多个实例时,微服务之间通信将会变得愈发复杂。...Service mesh vs API 网关 每个微服务都会提供一个API,它会作为其他服务与其通信的手段。这引发了service mesh与其他更传统的API管理形式(如API网关)之间的差异问题。...API网关位于一组微服务和“外部”世界之间,它根据需要路由服务请求,以便请求者不需要知道它正在处理基于微服务的应用程序即可完成请求。...这似乎很复杂,毕竟你有效地将应用程序中的容器数量增加了1倍。但你使用的这一种设计模式对于简化分布式应用程序至关重要。...这个微服务不需要知道如何在其运行的环境中与所有其他服务进行通信。它只需要知道如何与sidecar进行通信即可,剩下的将由sidecar完成。 ?