Speaker
Abstract
Cloud development is marred with complexity. In addition to the domain knowledge for their business, a development team must also have significant expertise in cloud hosting and deployment, only some of which can be outsourced to a hosting provider or platform team. This is because programming languages are runtimes that run on a single machine, and must involve dozens of other tools such as hypervisors, databases, load balancers, and queues, in order to run in the cloud.
Darklang is a language designed to run on the cloud; that is the server, operating system, kernel, hypervisor, container, load balancer, orchestration framework, database, queue, and web host are all below the level of abstraction. By combining so many things below the programming language abstraction layer, we remove significant complexity burden from the developer:
- Our “Invisible Infrastructure” removes massive complexity not only from not having to manage cloud resources, but also from removing the many layers that need to interact with them, such as ORMs, serialization frameworks, connection pools, health checks, logging and telemetry, etc.
- We also enable new abilities which are nearly impossible using other tools, such as our 50ms deploys, and our always-on, replayable debugger that enables “Trace-driven development”.
Interview
I'm working on darklang, which is a cloud language, where it's not really designed for running on your computer so much as it is taking advantage of how we write applications in the cloud. My most recent focus has been adapting it for how AI is changing how we write software.
I want people to come away with the idea that the way we write software has a ton of complexity that we take for granted. Specifically, many of the tools and concepts that we use for programming could be eliminated or at least greatly minimized if we slightly changed how we thought about devtools.
Ideally, Senior or Principal engineers, usually people who have deployed a bunch of applications in the cloud, are the sort of people who appreciate what I'm talking about.
I think just the idea that how we do things is broken, and better is possible. In particular, the idea that having all these different tools which have interconnection points creates that complexity and that they can do better by looking for tools that do more.
AI, 100%. Despite all the hype, I think we actually are underestimating how Large Language Models and AI-based code gen are going to change how we write software. We even did a pretty hard pivot early this year once that became clear.
Topics
QCon New York 2023 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.
Part of the track
Next in Cloud Native Development Hosted by Christie Warwick Software Engineer @GoogleFrom the same track
Thursday 15 June
10:35 Salon A-C Session Architecture Ephemeral Execution Is the Future of Computing, but What About the Data? Jerop Kipruto, Christie Warwick Ephemeral processes like containers are increasingly being used to build and run applications because of their isolation, portability, and efficiency. But they're often bogged down by data gravity when handling data-intensive applications. 11:50 Salon A-C Session Edge Computing Living on the Edge Erica Pisani Sr. Software Engineer @Netlify Edge computing is not a new concept, but in the past few years we're seeing powerful tools made more easily available at the edge from providers such as Cloudflare, Netlify, and Vercel. In this session, we'll look at: 13:40 Salon A-C Session Cloud Developing Above the Cloud Paul Biggar Founder / CEO @Darklang Cloud development is marred with complexity. In addition to the domain knowledge for their business, a development team must also have significant expertise in cloud hosting and deployment, only some of which can be outsourced to a hosting provider or platform team. 14:55 Salon A-C Session Local First Offline and Thriving: Building Resilient Applications With Local-first Techniques Carl Sverre Entrepreneur in Residence @Amplify Partners Discover the art of building offline-first applications that function even in the face of unreliable or nonexistent network connections. 16:10 Salon A-C Session Cloud From Smoothie Architecture to Layer Cake with Durable Execution Sergey Bykov SDE @Temporal Technologies Traditional cloud applications tend to mix up several core concerns, such as business logic, state management, and handling of failures, into a ‘Smoothie’ architecture, which greatly impedes their development and evolution.