写点什么

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:001635

评论

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

项目经理的职责和权限分别是什么?

万事ONES

项目管理 ONES 项目经理

架构之:微服务和单体服务之争

程序那些事

微服务 系统架构 软件架构 程序那些事

联想科技产业行——大众集团走进联想:智慧科技赋能汽车行业智能化变革

科技大数据

科技互联网 新未来 联想

Vue.js+ElementUI+vant生成动态表单配置

二郎神杨戬

7月日更

社交软件上“你可能认识的人”到底是怎么找到你的?

华为云开发者联盟

知识图谱 社交软件 TransE模型 用户画像 知识图谱补全

快看吧系统开发|快看吧软件APP开发

GIN钱包挖矿系统开发|GIN钱包挖矿软件APP开发

多标签分类中的损失函数与评价指标

月来客栈

PyTorch 多标签 多标签分类 文本分类

JavaScript数组详解-全网最全

二郎神杨戬

7月日更

聚星公社软件开发|聚星公社APP系统开发

微摩尔WMO软件系统开发介绍

【Flutter 专题】96 图解 Draggable + DragTarget 基本拖拽效果

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

2022秋招vue面试题+答案

buchila11

Vue Vue 3

@Autowired报错原因分析和4种解决方案!

王磊

Java spring springboot @Autowired注入原理 Autowired

IPC阿波罗公链软件系统开发搭建

根据舌苔判断身体状况

kof11321

Redisson 分布式锁源码 03:可重入锁互斥

程序员小航

redis 源码 分布式锁 redisson

Rust从0到1-Cargo-发布到Crates.io

rust 发布 cargo crates.io publish

如何做需求分析?

万事ONES

产品经理 需求分析 ONES

海洋之星系统开发|海洋之星软件APP开发

如何给MindSpore添加一个新的硬件后端?快速构建测试环境!

华为云开发者联盟

AI 模型 框架 mindspore

XRP瑞波币系统开发|XRP瑞波币软件APP开发

JAVA 九种排序算法详解(中)

加百利

Java 数组 排序 7月日更

真happy软件开发|真happy系统APP开发

富文本编辑器之游戏角色升级ing

vivo互联网技术

Java 大前端 富文本 富文本编辑器

UD众筹链/UD生态系统APP开发详情

Go 学习笔记之 整型数据类型

架构精进之路

Go 语言 7月日更

Camtasia实用技巧之智能聚焦

淋雨

视频剪辑 Camtasia 专业录屏

北鲲云超算平台——致力于提高科研效率,降低计算成本的云超算平台

北鲲云

BHDEX币挖矿APP系统开发内容

一条SQL语句执行的背后

卢卡多多

log sql 更新 执行顺序 7月日更

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