Track: Languages of Infrastructure

Location: Bayview AB

Day of week: Monday

We have all become cloud developers. Every day we use the cloud to supercharge our applications, deliver new capabilities, and reach scales previously unheard of. Leveraging the cloud effectively, however, means navigating and mastering the ever-expanding infrastructure landscape, including public cloud services for compute, data, and AI; containers, serverless, and Kubernetes; hybrid environments; and even SaaS -- often many at once.  

Join us to learn about the modern languages, tools, and techniques that leading-edge companies are using to innovate in this world of ever-increasing cloud capabilities. We will explore: how to create, deploy, and manage cloud applications and infrastructures; approaches for cloud architectures and continuous delivery; and how modularity and reuse is being applied to infrastructure to tame the complexity, boost productivity, and ensure secure best practices.

Track Host: Joe Duffy

Founder and CEO @PulumiCorp

Joe Duffy is CEO of Pulumi, a Seattle startup making it easier for teams to program the cloud. Prior to founding Pulumi in 2017, Joe held leadership roles at Microsoft in the Developer Division, Operating Systems Group, and Microsoft Research. Most recently Joe was Director for Engineering and Technical Strategy for Microsoft's developer tools, leading key technical architecture initiatives, in addition to managing the groups building the C#, C++, Visual Basic, and F# languages, IoT, and all Visual Studio IDE, compiler, and static analysis services. Joe initiated efforts to take .NET open source and cross-platform, and was instrumental in Microsoft's overall open source transformation. Joe has over 20 years of professional software experience, has written 2 books, and still loves to code.

10:35am - 11:25am

Cloud Native Applications and Infrastructures Panel

Developers these days are integrating cloud native capabilities deeply into their application architectures. This is a challenge and and opportunity: we can supercharge our applications with elastic scale, advanced capabilities including AI and ML, and more — and yet, historically we've outsource "infrastructure" concerns to our operations teams. Join us on this panel to discuss how this is fundamentally changing, and how developers are becoming more empowered than ever to harness the cloud in a major way.

Luke Hoban, TypeScript Co-Creator
Yevgeniy Brikman, Co-founder @gruntwork_io
Ellen Chisa, CEO/Cofounder @darklang

11:50am - 12:40pm

Helm 3: A Mariner's Delight

Adjusting your spyglass and looking out over the water, you can see how useful a package manager like Helm is. Perhaps you’ve used it to manage the fractal complexity of packages on your Kubernetes clusters (without losing track of versions stashed in the hold). But Helm 3 is rumored to be different, and you’re ready to get started on this exciting voyage – as soon as you have some idea of what’s port and what’s starboard!

In this story-fueled session, we’ll take you through differences from the Helm of yore, tips for a successful rollout or upgrade, and opportunities to shape the project’s future. The cloud native waters can be choppy, but a technical deep dive powered by open source tooling will steer you right!

Lachlan Evenson, Principal Program Manager @Microsoft & K8s Release Lead for 1.16

1:40pm - 2:30pm

Automated Testing for Terraform, Docker, Packer, Kubernetes, and More

Here's a hard truth: infrastructure code without automated tests is broken.

I mean this both as an aphorism and as a literal statement. Every single time I’ve gone to write infrastructure code, no matter how much effort I put into testing it manually, keeping the code clean, and doing code reviews, as soon as I took the time to write automated tests, I found numerous, nontrivial bugs. Something magical happens when you take the time to automate the testing process and, almost without exception, it flushes out problems that you otherwise would’ve never found yourself—but your customers would’ve.

This talk is a step-by-step, live-coding class on how to write automated tests for infrastructure code, including the code you write for use with tools such as Terraform, Docker, Packer, and Kubernetes. Topics covered include:

  • Unit tests
  • Integration tests
  • End-to-end tests
  • Dependency injection
  • Test parallelism
  • Retries and error handling
  • Static analysis
  • Property testing
  • CI / CD for infrastructure code

Yevgeniy Brikman, Co-founder @gruntwork_io

2:55pm - 3:45pm

Programming the Cloud: Empowering Developers to Do Infrastructure

Today’s cloud platforms offer incredible building block services we can use to build modern applications. But these building blocks are still frequently low-level and clumsy to use, and the tools around them tend to be designed for (dev)ops teams, not for developers. As a result, cloud infrastructure is often treated as separate from the inner loop of application development, preventing developers from maximizing the benefits they get from their cloud platforms.  

This talk will look at the value we can unlock by empowering developers to leverage the power of the cloud directly. We will look at some of the leading solutions across various different domains - from serverless to static websites to Kubernetes to infrastructure as code - to highlight areas where developers are already starting to take ownership of cloud infrastructure more directly in some verticals today. Then we will look at what this means for the future, and what tools, patterns, frameworks and even languages are likely to be developed in the coming years to democratize access to the cloud for all developers.

Luke Hoban, TypeScript Co-Creator

4:10pm - 5:00pm

AWS Cloud Development Kit (CDK)

The AWS Cloud Development Kit (CDK) allows you to describe your application’s infrastructure using a general-purpose programming language, such as TypeScript, JavaScript or Python. This opens up familiar avenues for working with your infrastructure, such as using your favorite IDE, getting the benefit of autocomplete, creating abstractions in a familiar way, distributing them using your ecosystem’s standard package manager, and of course: writing tests for your infrastructure like you would write tests for your application.

In this session, we’ll look at how users can create infrastructure with CDK and some best practices for creating reusable components.

Richard Boyd, Developer Tooling Advocate @AWSCloud & CDK Core Contributor

5:25pm - 6:15pm

Coding without Complexity

As developers, we do both the essential work of building software, and the accidental work that comes with using computers. Over time, the accidental complexity in our work has proliferated. How did this happen? How bad is it? How could we fix it?

Ellen Chisa, CEO/Cofounder @darklang

Tracks

Monday, 11 November

Tuesday, 12 November

Wednesday, 13 November