前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Dapr加速Dedalow在AWS和Azure上的开发

Dapr加速Dedalow在AWS和Azure上的开发

作者头像
CNCF
发布于 2022-04-19 01:54:44
发布于 2022-04-19 01:54:44
8180
举报
文章被收录于专栏:CNCFCNCF

作者:Javier Vela & Adolfo Gonzalez

Dedalow[1]是由NTT DATA[2]开发的低代码/无代码解决方案,为你提供端到端服务,根据你的需求以不同的技术建模、生成和部署你的应用。Dedalow 带来了一些功能,包括测试、任务自动化和针对现有应用的代码发现服务。查看 Dedalow 的运行情况[3]

Dedalow 是个容器化的应用程序,由 30 多个服务组成,采用不同的技术开发,包括:.NET、Python、Node.js 或者 Java。由于容器化和 Helm chart,你可以在 Kubernetes 集群上部署 Dedalow,现在,该服务在亚马逊 Elastic Kubernetes Service(EKS)和 Azure Kubernetes Service(AKS)上可用。

Dedalow 在不断发展,需要集成三个新功能:

  • 异步消息传递(Asynchronous messaging),允许服务向其他服务发送有关异步请求状态的信息;例如,关于流水线状态或执行状态的信息。
  • 保存测试执行结果的存储(Storage)。
  • 来自 Shell 脚本的电子邮件通知(Email notifications)。

在这三个案例中,我们都希望利用公共云提供商 AWS 和 Azure 提供的服务:

功能

Azure

AWS

Asynchronous messaging

Service bus

SNS/SQS

Storage

Azure storage

S3

Email notifications

SendGrid

SES

以前,实现这些功能的一个障碍是开发这些功能的时间。最初,我们考虑集成云提供商提供的不同 SDK,但这一解决方案并不十分合适,原因如下:

  • 集成时间。
  • 选择和集成要使用的库的复杂性,取决于:
    • 云提供商。
    • 部署应用程序的群集类型(开发/生产)。

然后我们开始评估Dapr[4](Distributed Application Runtime,分布式应用运行时)。Dapr 是一个由 CNCF 托管的开源运行时,由阿里巴巴、Diagrid、英特尔和微软进行开放治理。Dapr 提供了不同的 API 来解决开发分布式应用程序的复杂性:

  • 服务调用
  • 发布和订阅
  • 机密管理
  • 绑定(输入/输出)
  • 状态管理
  • Actors

对于 Dedalow,我们决定使用这些 API 进行特性开发:

  • 发布和订阅
  • 绑定(输入/输出)

Dapr 的集成非常容易,因为 Dapr 允许我们开发无感的实现并应用配置更改,而不需要重新编译我们的应用程序或使用外部库。Dapr 提供了跨不同云的代码可移植性。

要在任何 Dedalow 核心服务中使用 Dapr,你只需在 Helm charts 中添加所需的注释。添加之后,Dapr Kubernetes Operator 将一个容器注入到 Dedalow 服务的 pod 中。然后,Dapr 和 Dedalow 通过 sidecar 模式协同工作,两个容器之间通过 HTTP 进行通信。

下图显示了 Dedalow 与 Dapr 的集成:

Dapr 在 Dedalow 的生产环境使用,AWS 中的 EKS 和 Azure 中的 AKS。目前,并不是所有 Dapr 使用的组件都处于稳定状态。然而,使用它们的好处大大超过了潜在的缺点,到目前为止,我们还没有看到任何问题。Dedalow 平台团队打算在未来增加我们对 Dapr 的使用,因为事实证明,它在实施新功能时既高效又可跨云移植,这两者对于 Dedalow 的发展至关重要。

参考资料

[1]Dedalow: https://dedalow.com/

[2]NTT DATA: https://www.nttdata.com/

[3]查看 Dedalow 的运行情况: https://dedalow.com/the-platform/

[4]Dapr: https://dapr.io/


CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。

CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
云绑定应用:实现业务逻辑,减轻开发者负担
随着对应用为先的云服务采用愈发广泛,应用与云服务的融合程度也到了前所未有的深度。应用程序和云运行时的边界从虚拟机转移到了容器和函数中。集成边界从仅使用数据库和消息代理访问,转换成应用程序的机械部分在云中的混合运行。在这些因素影响下的架构中,应用程序与“云绑定”,应用逻辑与管理责任转移至云服务中,允许开发者专注于业务逻辑。
深度学习与Python
2023/08/08
2570
云绑定应用:实现业务逻辑,减轻开发者负担
Nutanix的Kubernetes平台只是另一个单一控制面板?
Nutanix 提供了一种方法,可以从用户和管理方面显著简化和降低 Kubernetes 采用的门槛。
云云众生s
2024/05/24
980
为什么 Dapr 如此令人兴奋
如今你构建软件,您可以从数量众多的云服务中进行选择。仅 AWS 就每个月都在不断为其200多项服务添加新服务,而其他云提供商也都在跟上。 如果您的公司想与您的竞争对手竞争,您就需要充分利用这些服务,这些服务在不同的云提供商都有它的特色服务,我们的应用如何做到既是标准化又是可以个性化的,就拿消息队列来说吧,设置和管理您的消息队列并不会为您的产品增加任何价值,在Azure中期望使用Azure ServerBus,在阿里云你期望使用rocketmq,在私有云的k8s集群里你可以自由的选择rabbitmq,nat或者是redis,通过Dapr的components 让你无论是 Pub/Sub还是Binding 模块做到消息队列自由。
张善友
2021/10/09
5020
为什么 Dapr 如此令人兴奋
Dapr 知多少 | 分布式应用运行时
Dapr 官方团队已于最近(2021.2.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群。对于绝大多数开发者来说,想必对Dapr只是有所耳闻,而具体是什么(What),可以解决什么样的问题(Why&How),有怎样的应用场景(Where),并不知悉。本文就尝试简要梳理下Dapr,并尝试回答以上问题。
圣杰
2021/02/25
1.6K0
Dapr 知多少 | 分布式应用运行时
在 k8s 以外的分布式环境中使用 Dapr
在Dapr 文档和实践案例中多是推荐采用k8s, 其实我目前也是在k8s 上操作的,有公有云TKE,AKS,还有私有云的Rancher ,它并没有传闻中的那么难,而且我认为它非常容易上手。不过,我还是有很多人不愿意使用k8s 。那么在虚拟机场景下如何使用Dapr呢? 当然也有虚拟机部署的案例,比如2021年第一届DaprConf 上分享的Dapr case study: Man Group:https://blog.dapr.io/posts/2021/10/05/join-us-for-daprcon-october-19th-20th-2021/
张善友
2022/03/29
4410
在 k8s 以外的分布式环境中使用 Dapr
AKS 集群扩展方式提供 Dapr
微软在其Kubernetes服务AKS上,以丛集扩充的方式,开始预览分布式应用Runtime Dapr,以及Azure机器学习功能:https://techcommunity.microsoft.com/t5/apps-on-azure-blog/announcing-preview-of-distributed-application-runtime-dapr-and/ba-p/2898250
张善友
2022/03/29
4760
AKS 集群扩展方式提供  Dapr
Dapr从CNCF毕业并连接到WebAssembly
由微软领导的 Dapr 项目已经取得了几个重要的里程碑,包括从 CNCF 毕业以及越来越多地使用 WebAssembly。
云云众生s
2024/11/24
860
Dapr从CNCF毕业并连接到WebAssembly
读Bilgin Ibryam 新作 《Dapr 是一种10倍数 平台》
Bilgin Ibryam 最近加入了开发者软件初创公司Diagrid Inc,他是Apache Software Foundation 的 committer 和成员。他也是一个开源的布道师,并且是书籍 Kubernetes设计模式 和 Camel Design Patterns 的作者。早在2020年初 提出的Multi-Runtime Microservices Architecture,中译参见敖小剑的博客: [译] 多运行时微服务架构。当时他是Red Hat的首席架构师。
张善友
2022/11/23
4160
读Bilgin Ibryam 新作 《Dapr 是一种10倍数 平台》
容器编排常见工具介绍
容器编排是一种自动化管理容器化应用程序的技术,它涉及在大规模的分布式系统中部署、管理、扩展和协调容器的整个生命周期。容器编排工具让开发者和运维团队能够更高效地在集群环境中操作容器,确保服务的高可用性、负载均衡、自我修复及资源优化。 容器编排的核心价值在于: 1. 自动化部署:自动化的部署流程使得应用能够快速且一致地部署到生产环境,减少了手动干预带来的错误和时间消耗。 2. 资源管理:有效管理和分配计算、存储、网络等资源,确保容器按需获取资源,同时优化整体基础设施的利用率。 3. 扩展性:根据实际需求自动扩展或缩减容器数量,实现水平扩展,以应对流量高峰或低谷,保证服务的稳定性和响应速度。 4. 健康监测与自愈:持续监控容器和服务的运行状态,当检测到故障时自动重启容器或重新调度服务,保证应用的高可用性。 5. 服务发现与负载均衡:帮助容器发现和通信,自动实现请求的负载均衡,提高服务的稳定性和效率。 6.配置管理:集中管理和分发配置信息给容器应用,支持应用的动态配置更新,而不影响服务运行。 容器编排工具是用于自动化容器化应用程序的部署、管理和扩展的技术解决方案,它们在现代软件开发和运维中扮演着关键角色。 1. Kubernetes (K8s): Kubernetes 是目前最流行和广泛采用的容器编排平台,由 Google 开源并得到了 Cloud Native Computing Foundation (CNCF) 的支持。Kubernetes 提供了一整套强大的功能,包括部署管理、自动扩展、负载均衡、存储编排、网络管理以及故障恢复等。其设计目标是为了解决大规模容器化应用的自动化部署、扩展和运维问题。 2. Docker Swarm: Docker Swarm 是 Docker 自带的容器编排工具,它允许用户将一群Docker主机转变为一个单一的虚拟系统,进行容器化的应用部署和管理。Swarm 提供了服务发现、负载均衡、加密网络和滚动更新等功能,适合那些希望在Docker生态系统内工作且对易用性有较高要求的用户。 3. Apache Mesos: Mesos 是一个分布式系统内核,最初由UC Berkeley开发,旨在提供有效的资源隔离和共享跨分布式应用或框架。虽然Mesos本身不是一个专门针对容器的编排工具,但它可以通过集成如Marathon这样的框架来管理容器。Mesos擅长于跨数据中心的大规模资源管理和调度,适用于需要高度定制化和灵活性的大型企业环境。 4. OpenShift OpenShift 是由 Red Hat 开发的一个容器应用平台,它建立在 Kubernetes 之上,并增加了额外的功能,如内置的CI/CD流水线、应用商店、开发者工具和增强的安全策略等。OpenShift 提供了企业级的容器解决方案,既有开源版本(OpenShift Origin),也有商业支持的企业版(OpenShift Container Platform)。 5. Docker Compose: 虽然严格来说 Docker Compose 更多被用于单机容器编排,但在较小规模的部署或开发环境中也常被提及。它允许用户通过YAML文件定义多容器应用的服务及其依赖关系,简化了在单个Docker主机上部署和管理复杂应用的过程。 除了上述工具,市场上还存在其他一些编排解决方案,例如HashiCorp的Nomad,它以简洁和轻量级著称;以及云服务商提供的托管容器服务,如Google Kubernetes Engine (GKE)、Amazon Elastic Kubernetes Service (EKS) 和 Azure Kubernetes Service (AKS),这些服务在Kubernetes的基础上提供了额外的管理便利性和云原生集成。
用户7353950
2024/06/04
4240
容器编排常见工具介绍
Dapr 助力应用架构的可持续性
在探讨应用程序的碳足迹时,我们通常应该考虑两个角度。运行它使用了多少能量(即内核数量、执行时间、硬件效率等)以及产生多少能量对环境产生了影响,这称为碳强度,取决于位置、时间和数据中心使用的能源类型(天然气、煤炭、风能等)。2016 年的一项研究证明,大约 55% 的消耗能源取决于计算系统,其余 45% 用于支持计算(冷却、UPS 等)。
张善友
2022/03/30
3990
Dapr 助力应用架构的可持续性
Kubernetes 开源9年,但我们已经有了 8 年的踩坑血泪史
在 Urb-it 这家公司的早期发展阶段(那时候我还没来),公司决定使用 Kubernetes 作为我们云原生战略的基石。这一决定的背后,公司所考虑的一方面是以 K8s 应对快速增长的预期,另一方面是利用它的容器编排功能为我们的应用程序带来更加动态、弹性和高效的环境。除此之外,Kubernetes 非常适合我们的微服务架构。
深度学习与Python
2024/02/29
3210
Kubernetes 开源9年,但我们已经有了 8 年的踩坑血泪史
Dapr是如何简化微服务的开发和部署
基于微服务设计模式的现代应用程序面临着一系列挑战。微服务需要有一个强大的服务发现机制来实现动态连接。它们需要松散耦合,实现自主性和独立缩放。微服务需要支持多种语言,其中每个服务都是以最合适的语言、框架和运行时实现的。尽管采用容器和编排引擎(如 Kubernetes)可以应对打包、部署和扩展方面的挑战,但开发过程仍然很复杂。微软发布的分布式应用程序运行时 (Dapr) 开发现代应用程序的新方法来应对微服务开发的复杂性,这是微服务和云原生应用程序的一个平台和语言无关的运行时。
张善友
2021/03/03
1.3K0
Radius 成为云原生计算基金会(CNCF)的沙箱项目
在数字化时代,云原生计算技术逐渐成为企业转型的关键。2024-04-25,备受瞩目的开源项目 Radius 已正式加入云原生计算基金会(CNCF)的沙箱项目![Sandbox] Radius · Issue #65 · cncf/sandbox (github.com)[1]
张善友
2024/05/03
2540
Radius  成为云原生计算基金会(CNCF)的沙箱项目
Dapr概览(中文翻译)
Dapr是一个可移植,事件驱动的运行时。它使开发人员简单地去构建运行在云和edge上弹性、无状态和有状态的应用,并且包含多种语言和开发人员框架。
Ryan_OVO
2023/10/19
3060
Dapr概览(中文翻译)
.NET平台系列31:.NET团队送给.NET开发人员的云原生学习资源汇总
 .NET Core 启动于2016年,跟K8S同年诞生,既拥有着悠久的历史积累,又集成了当下最新的设计理念,加上.NET团队持续对容器技术的官方支持和适配改进,这两年各种性能测试榜单中,.NET Core都是最受欢迎和期待的!在云原生 Cloud Native 的大潮中,.NET Core/.NET5/.NET6也是最具优势的,因为他们具有足够的轻巧和高效的先天优势。
张传宁IT讲堂
2021/06/22
1.2K0
.NET平台系列31:.NET团队送给.NET开发人员的云原生学习资源汇总
基于Dapr的 Azure 容器应用
微软在 Ignite 2021 大会上发布了预览版的Azure Container Apps,这是一个完全托管的无服务器容器运行时,用于大规模构建和运行现代应用程序。从2021 年 11 月 2 日起,Azure 容器应用程序可在公共预览中使用。虽在服务到达 GA 之前,Azure Container Apps 可能会发生变化。因此我们可以用来学习,不建议用于生产。
张善友
2021/11/08
1.2K0
基于Dapr的 Azure 容器应用
Dapr v1.11 版本已发布
Dapr是一套开源、可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统难题,由此显著提高生产力并缩短开发时长。Dapr 是用于构建云原生应用程序的开发人员框架,可以更轻松帮助开发人员在 Kubernetes 上构建运行多个微服务,并与外部状态存储/数据库、机密存储、发布/订阅代理以及其他云服务和自托管解决方案进行交互。
张善友
2023/07/10
2870
一文带你读懂CNCF Landscape
Cloud Native Computing Foundation,云原生计算基金会(以下简称CNCF)是一个开源软件基金会,它致力于云原生(Cloud Native)技术的普及和可持续发展。云原生技术是通过一系列的软件、规范和标准帮助企业和组织,在现代的动态环境(如公共云、私有云和混合云)中构建和运行敏捷的、可扩展的应用程序。容器、微服务、微服务治理、声明式API等都是代表性的云原生技术。这些技术使松散耦合的系统具有更好的弹性、可管理性,同时更容易被监控和观察。这些技术通过与强大的自动化工具相结合,允许工程师频繁地、可预见地对系统进行任意的更改,并尽可能减少由此带来的工作量(在这些云原生技术和框架被采用之前,相信大家都有过针对系统任何一个小改动,都需要整个开发、测试、运维团队投入大量工作的痛苦经历),而这就是云原生技术最希望为技术团队以及业务带来的价值。
焱融科技
2020/02/26
1.8K0
一文带你读懂CNCF Landscape
ASP.NET 5 with Dapr 初体验
分布式应用运行时Dapr目前已经发布了1.1.0版本,阿里云也在积极地为Dapr贡献代码和落地实践。作为一名开发者,自然也想玩一玩,看看Dapr带来的新“视”界到底是怎么样的。
Edison Zhou
2021/04/16
1.2K0
ASP.NET 5 with Dapr 初体验
微软开源Kubernetes服务网格项目Open Service Mesh​
尽管微服务环境提供可移植性,允许更快更频繁的部署周期,甚至还能让组织创建关注于特定领域的团队,但这也伴随着对于流量管理、安全以及可观测性等需求的增长。在整个生态系统中,针对这些需求的服务网格模式的实现方法不计其数。微软一直活跃在 Service Mesh Interface (https://smi-spec.io/) (SMI) 社区中,协助定义一组标准可移植的 API 规范,能够实现横跨在不同服务网格之上的通用服务网格功能。供应商可以应用 SMI 来确保生态系统工具能够在不同的网格上工作,同时也允许客户选择网格提供方。 今天我们很高兴推出一个新的开源项目--Open Service Mesh (https://openservicemesh.io/) (OSM) ,一个运行于 Kubernetes 上的轻量的、可扩展的服务网格。OSM 能够让使用者在高度动态化的微服务环境中对服务到服务间的通信做到一致地管理、保护和观测。我们希望 OSM 能成为一个社区主导的项目,这将促进 SMI 在新的和现有的 API 上的协作。我们打算让 OSM 成为开放治理,这样能够轻松的与社区进行协作。因此我们已经提交了一份提议,来启动将 OSM 捐赠给云原生计算基金会(https://cncf.io/) (CNCF) 的进程。 我们要让 Kubernetes 运维人员们能够毫不费力的安装、维护和运行 OSM;与此同时,也要让 OSM 足够简单,让整个社区都能够理解并做出贡献。 这些目标根植于客户需求之中,也将我们引向三个基本的设计准则。首先,OSM 提供一个与SMI规范兼容的控制平面,以此来保留用户的选择。其次,我们使用 Envoy 作为数据平面,因为 Envoy 具有很强的社区动力。最后,OSM 背后最重要的理念是“非陡峭(no cliffs)”设计,能够让 OSM 足够灵活,在简单或复杂的场景下都可以直接使用 SMI 和编写 Envoy xDS API 来处理。
灵雀云
2020/08/21
1.1K0
微软开源Kubernetes服务网格项目Open Service Mesh​
相关推荐
云绑定应用:实现业务逻辑,减轻开发者负担
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档