> Markdown version of [/videos/464-stop-configuring-infrastructure-start-coding-it](https://www.wearedevelopers.com/videos/464-stop-configuring-infrastructure-start-coding-it). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Stop configuring infrastructure, start coding it! Ditch bloated YAML templates and provision infrastructure with actual programming languages. Frameworks like the AWS CDK unlock IDE autocomplete, static typing, and standard TDD practices natively. - **Speakers:** [Robert Hoffmann](https://www.wearedevelopers.com/@robert-hoffmann) - **Event:** World Congress 2022 - **Published:** June 15, 2022 - **Duration:** 44:13 - **URL:** https://www.wearedevelopers.com/videos/464-stop-configuring-infrastructure-start-coding-it ## Summary The evolution of infrastructure provisioning has shifted from manual setups and complex bash scripts to declarative, YAML-based frameworks like AWS CloudFormation and Terraform. While declarative templates standardized deployments, they introduced significant configuration bloat—where building even a basic highly available web app requires hundreds of lines of complex configuration.<br><br>To overcome this, engineers can transition to actual programming languages using the AWS Cloud Development Kit (CDK). By natively modeling environments in TypeScript, Python, or Java, developers harness powerful abstractions that automatically synthesize declarative templates under the hood. Frameworks like cdk8s for Kubernetes and cdktf for Terraform extend this paradigm beyond AWS, allowing teams to standardise their deployment logic across varied cloud ecosystems while maintaining familiar state-diffing behaviors.<br><br>Adopting a code-native infrastructure approach drives immediate developer experience upgrades. Teams instantly gain IDE autocomplete, static typing, and inline documentation natively. More importantly, using higher-level CDK 'constructs' injects secure, well-architected defaults into the codebase, enabling engineers to write intent-rich logic that clearly articulates behavior rather than raw network settings. Ultimately, modeling infrastructure with real programming languages unifies the deployment lifecycle, allowing developers to configure CI/CD via CDK Pipelines and validate their environments using standard test-driven development (TDD) practices without ever context-switching out of their primary codebase. **Keywords:** AWS CDK, infrastructure as code, YAML configuration challenges, aws cloudformation, hashicorp terraform, cdk8s, cdktf, cloud development kit, declarative infrastructure deployment, infrastructure abstractions, CDK pipelines, typescript infrastructure provisioning, test-driven infrastructure, intent-driven architecture, construct hub ## Chapters 1. **Evolution of infrastructure provisioning and the YAML problem** (00:05) — The historical transition from manual execution and bash scripts to declarative templates introduces massive configuration files. 1. **Building a simple web app with native declarative configurations** (02:43) — A basic architecture mapping an application load balancer to autoscaling groups requires an overwhelming amount of boilerplate syntax. 1. **Using general-purpose programming languages for infrastructure deployment** (05:49) — Abstracting away configuration syntax empowers engineers to deploy infrastructure environments using familiar modern programming languages and coding patterns. 1. **Extending code-defined infrastructure across multiple platform providers** (10:14) — Community frameworks extending beyond native platform services allow developers to directly provision environments across active cluster operations and alternate deployment runtimes. 1. **Compiling application constructs into native declarative deployment templates** (11:48) — Applications containing logical groups natively compile through specific command line interfaces to strictly generate accurate orchestration templates. 1. **Utilizing layered constructs for simplified infrastructure modeling** (15:07) — Deployment abstractions range from base single service instances directly extending to purposeful architectural parameters that securely unify application principles. 1. **Configuring a virtual private cloud automatically with code** (17:47) — Instantiating singular network classes safely avoids manual assignments by actively organizing necessary subnets across robust data center availability zones. 1. **Defining autoscaling groups and user data bootstrap processes** (20:32) — Leveraging algorithmic variables strictly simplifies nested architectural parameters while systematically incorporating standard file system setups perfectly within container startup routines. 1. **Integrating application load balancers natively within service configurations** (23:54) — Programmatically linking external connectivity scopes strictly avoids internal target exposure while naturally securing typical structural ingress port controls. 1. **Writing readable code architectures to clarify infrastructure intentions** (25:44) — Moving beyond immense text-file declarations immediately enables development teams to effectively assess architectural integrity while simultaneously recognizing established functional logic. 1. **Comparing declarative templates versus imperative infrastructure models** (28:31) — Contrasting rigid format structures actively against customized processing code demonstrates how integrated default logic significantly accelerates initial environmental deployments. 1. **Balancing custom abstractions with declarative template environments** (32:07) — Analyzing runtime errors tied directly to abstract capabilities ensures that engineers practically merge logical parameters fully alongside solid declarative frameworks. 1. **Finding resources and implementing continuous deployment pipelines natively** (33:41) — Synchronizing established deployment steps seamlessly consolidates foundational infrastructure operations alongside modern continuous delivery strategies using distinct programmatic definitions. 1. **Community questions on code execution idempotency and test suites** (37:41) — Recognizing operational idempotency strictly during script compilations natively aligns configuration adjustments safely alongside modern unit testing logic assessments. ## Related Moments - [Overview of infrastructure as code tools](https://www.wearedevelopers.com/videos/740-the-power-of-cloud-development-kit-cdk-how-to-get-the-most-out-of-it) (from "The power of Cloud Development Kit (CDK): How to get the most out of it") - [Managing infrastructure as code with AWS CDK](https://www.wearedevelopers.com/videos/1026-how-aws-generates-polyglot-libraries-based-on-a-single-typescript-codebase) (from "How AWS Generates Polyglot Libraries Based on a Single TypeScript Codebase") - [Deep dive into infrastructure as code with deployment kits](https://www.wearedevelopers.com/videos/1050-the-road-to-mlops-how-verivox-transitioned-to-aws) (from "The Road to MLOps: How Verivox Transitioned to AWS") - [Executing infrastructure as code templates conversationally](https://www.wearedevelopers.com/videos/1624-30-powerful-aws-hacks-in-just-30-minutes-boost-your-developer-productivity) (from "30 powerful AWS hacks in just 30 minutes: Boost your developer productivity") - [Adopting software development tools for infrastructure as code](https://www.wearedevelopers.com/videos/1611-eclipse-che-for-infrastructure-automation) (from "Eclipse Che for Infrastructure Automation") - [Transforming engineering workflows through infrastructure as code](https://www.wearedevelopers.com/videos/930-unleashing-potential-across-teams-the-power-of-infrastructure-as-code) (from "Unleashing Potential Across Teams: The Power of Infrastructure as Code") ## Related Articles - [How we Build The Software of Tomorrow](https://www.wearedevelopers.com/magazine/120-how-we-build-the-software-of-tomorrow) - [Transforming Software Development: The Role of AI and Developer Tools](https://www.wearedevelopers.com/magazine/527-transforming-software-development-the-role-of-ai-and-developer-tools) - [How to Avoid Over-Engineering](https://www.wearedevelopers.com/magazine/546-how-to-avoid-over-engineering) - [Now is the time for industrialized software development](https://www.wearedevelopers.com/magazine/601-now-is-the-time-for-industrialized-software-development) ## Related Jobs - [Cloud Foundations Team](https://www.wearedevelopers.com/jobs/ext/1483289-cloud-foundations-team) at **GitHub** - [Software Engineer L2 - Cloud Infrastructure](https://www.wearedevelopers.com/jobs/ext/1293339-software-engineer-l2-cloud-infrastructure) at **Twilio** - [Software Engineer L2 - Cloud Infrastructure](https://www.wearedevelopers.com/jobs/ext/1282024-software-engineer-l2-cloud-infrastructure) at **Twilio** - [Devops Engineer](https://www.wearedevelopers.com/jobs/ext/1940926-devops-engineer) at **Bitpanda** - [Senior Software Engineer, Enterprise Products](https://www.wearedevelopers.com/jobs/ext/1841248-senior-software-engineer-enterprise-products) at **GitHub** - [Software Engineer L2 - Cloud Infrastructure](https://www.wearedevelopers.com/jobs/ext/1644423-software-engineer-l2-cloud-infrastructure) at **Twilio**