NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Dark 发布内部测试版,旨在降低后端开发的复杂性

  • 2019-10-29
  • 本文字数:1284 字

    阅读完需:约 4 分钟

Dark发布内部测试版,旨在降低后端开发的复杂性

Dark 在 9 月份发布了内部测试版,旨在通过减低复杂性来简化后端开发。Dark 是一种编程语言,提供了一个集成编辑器,用于开发后端应用程序。


Dark 主要关注四个基础设施问题:HTTP 端点、数据存储、后台工作进程和作业调度。Dark 可以实现、托管和自动伸缩基础设施,为开发人员抽离基础设施的配置和实现。


开发人员可以在 Dark 的结构化编辑器中编写应用程序代码,Dark 已经与编辑器紧密集成在一起了。因此,Dark 的自动完成功能可以识别整个应用程序的变动。开发者可以在编辑器中实时查看用户请求。代码变更可以被立即部署,然后使用功能开关启用这些变更,从而在保持部署安全性的同时消除了对部署管道的依赖。


InfoQ 采访了 Dark 的联合创始人 Ellen Chisa,了解了更多有关 Dark 的理念和设计。


InfoQ:有关 Dark 的想法是如何产生的,是什么促使你创办了这家公司?


Ellen Chisa:另一位联合创始人 Paul 和我因为不同的原因进入到这个领域。在从事了多年的软件相关工作(包括获得一个编译器方面的博士学位和创办 CircleCI)之后,Paul 仍然觉得开发后端应用程序需要编写大量相似的样板代码,并一次又一次地创建相同的工具链。而我曾经在消费品公司工作,我看到了太多的案例,基础设施和工具导致我们无法像希望的那样快速有效地将应用程序交付给客户。


InfoQ:在说到 Dark 试图要解决的问题时,你提到了 Frederick P. Brooks 的“意外复杂性”这个概念。那么,Dark 要解决哪些与软件意外复杂性有关的问题呢?


Ellen Chisa:意外复杂性最初用来指代与在计算机上运行代码相关的任务(比如内存管理)。当时,Brooks 认为我们不可能把事情做得更好,因为大多数任务都不是偶然性的。今天,随着云计算和分布式系统的发展,开发人员将大量时间花在与系统相关的任务上,而不是花在业务逻辑上——基础设施、部署、API 重试逻辑、开发/生产对等、依赖关系管理,等等。Dark 的目标就是要降低这些复杂性。


InfoQ: Dark 在开发环境和数据库方面使用了大量的功能。请告诉我更多有关这个设计的决策,以及为什么它是 Dark 的一个非常重要的特性。


Ellen Chisa:功能开关是现代软件开发的一种最佳实践,也是我们软件发布方式一个重大转变。过去,我们通过部署来决定用户在什么时候得到什么版本的软件。有了功能开关之后,我们就有了更多的细粒度的控制权。我们可以为一个测试组或一组特定的用户提供某些功能。通过添加功能开关,部署就变成了意外的复杂性,与交付无关。功能开关是 Dark 最基本的组成部分,既可以作为交付方式的一部分,也可以作为团队协作方式的一部分。


InfoQ:Dark 如何在为用户提供足够的控制能力和应用程序可观察性的同时消除复杂性?


Ellen Chisa:在考虑 Dark 的开发体验时,我们想到的是开发人员在进行开发工作时最核心的东西,以及它对他们要交付的软件将产生哪些潜在影响。例如,一致性或可用性对于某个服务是否重要。我们还根据 Dark 用户的反馈来安排优先级。


Dark 发布了内部测试版,对于可控的项目和刚要启动的项目可以考虑使用 Dark。要申请使用内部测试版或了解更多相关信息,可以访问 Dark 的官方网站


原文链接


Minimizing Backend Complexity With Dark


2019-10-29 08:001524

评论

发布
暂无评论
发现更多内容

openLooKeng基于选择率的动态过滤优化

openLooKeng

大数据

Microchip宣布标准非混合型宇航级电源转换器系列 已新增28伏输入耐辐射选项

Geek_2d6073

openLooKeng算子接口和执行流程

openLooKeng

双龙贺岁,龙蜥 LoongArch GA 版正式发布

OpenAnolis小助手

Linux 开源 新年

电商系统微服务化

皓月

「架构实战营」

拆分电商系统为微服务

tony

【笔记】学《郭东白的架构课》:访谈|对话于冰(上)

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:访谈|对话于冰(中)

术子米德

架构师成长笔记

如何系统分析项目的干系人?

石云升

项目管理 1月月更

快递,菜鸟驿站,直播购物:老年人的电商之墙

脑极体

建木持续集成平台v2.2.1发布

Jianmu

DevOps 持续集成 CI/CD

openLooKeng助力中移在线获“ICT优秀案例”

openLooKeng

第六节:SpingBoot基本配置一

入门小站

springboot java

Go 语言快速入门指南:Go 实现简易Web应用

宇宙之一粟

Go web服务器 Go 语言 1月月更

openLooKeng | Oracle update和delete支持简介及实现

openLooKeng

Microchip发布具有强大编程和调试功能的新型在线仿真器(ICE)

Geek_2d6073

ReactNative进阶(四十):应用 ListView 实现分组列表

No Silver Bullet

ListView React Native 1月月更

虎年就要玩虎符 春节就要瓜分虎符虎年大礼包

区块链前沿News

Hoo虎符 Hoo 虎年 春节活动

模块六作业

黄秀明

「架构实战营」

虎虎生威新春大吉,2月更文挑战来袭!

InfoQ写作社区官方

2月月更 热门活动

建一座国际连锁「商场」:openEuler 的雄心与蓝图 | 开源访谈《源创者说》首播

科技热闻

Hoo虎符研究院 | 币圈后浪 BreederDAO区块链游戏的NFT工厂

区块链前沿News

虎符 Hoo 虎符交易所

【笔记】学《郭东白的架构课》:访谈|对话于冰(下)

术子米德

架构师成长笔记

并发不是并行

en

基于OpenMLDB v0.4.0快速搭建全流程线上AI应用

第四范式开发者社区

人工智能 机器学习 OpenMLDB 特征平台

Spark合并Iceberg小文件内存溢出问题定位和解决方案

漫长的白日梦

spark iceberg 小文件

(1-24/24)awesome「结构」

mtfelix

300天创作 2022Y300P

再见,Microsoft Academic——你好,开放式研究基础设施?

DisonTangor

搜索引擎

在线时间戳计算时间差

入门小站

工具

LabVIEW播放提示声音或者音乐

不脱发的程序猿

LabVIEW 播放提示声音或者音乐

架构训练营 week8 作业

红莲疾风

「架构实战营」

Dark发布内部测试版,旨在降低后端开发的复杂性_软件工程_K Jonas_InfoQ精选文章