Seattle startup Pulumi has released an open source framework that packages the most common patterns for creating and deploying applications on AWS, Crosswalk for Amazon Web Services (AWS).
“Crosswalk is taking all the services you need to go to production on AWS and making them easier and more accessible to a broader audience,” said Joe Duffy, founder and CEO of Pulumi.
“We’re getting ease of use, but also best practices — not just to get started, but go to production as well. When they do, they’re getting best practices from a security standpoint, from a reliability standpoint. Frankly, a lot of people don’t even need to think about it.”
Pulumi’s cloud-native development platform is designed to eliminate the hassles of managing YAML files. It allows developers to use the programming languages they already know to build and deploy containers, Kubernetes and serverless Lambdas.
“I don’t know how many times I’ve seen the same 2,000 lines of code in Teraform or CloudFormation to set up a network in Amazon.” — Joe Duffy
It has created libraries of patterns that occur over and over and distilled best practices by working with AWS on this project, Duffy said. The company plans to take the same crosswalk approach with other clouds in the future.
“I don’t know how many times I’ve seen the same 2,000 lines of code in Terraform or CloudFormation to set up a network in Amazon. Everybody just reinvents the wheel there,” he said. There’s a lot of copy and paste going on, he continued. And if you have a security issue somewhere, you may forget to go update the 10 other places you’ve copied it to.
The crosswalk includes:
- Container services: Provisioning Elastic Container Service (ECS) managed clusters, including Fargate, Kubernetes (EKS) and built-in best practices for identity and access management (IAM), Elastic Load Balancing (ELB) and CloudWatch configuration and integration.
- Serverless functions and APIs: Lambda-based event handlers for S3 buckets, SQS queues as well as serverless API gateways.
- Core infrastructure: Provisioning and management of core network services, such as virtual private clouds (VPC), auto-scaling groups (ASGs) and application- and network-level Elastic Load Balancers (ELB)
- Authentication and authorization: Identity and access management (IAM) support for configuring users, policies and roles.
- Application and infrastructure monitoring with CloudWatch dashboards, metrics and alarms, using declarative code.
- CI/CD Integration with Elastic Container Registry (ECR) and AWS Code Services, including Code Build and Code Pipeline.
Docker’s getting started manual is six pages that includes some code, but a lot of manual steps. Yet it’s not production-ready, Duffy said.
“Once you get into production, you’re managing clusters, load balancers, Kubernetes. You go from just wanting to run a little application in a container to suddenly you have to be an expert in Kubernetes or Docker Swarm or whatever,” he said.
Crosswalk makes getting started much simpler.
“This is 27 lines of code in a language that many developers already know. In this case TypeScript. Yet this provisions an entire ECS cluster in Amazon, creates a load balancer, builds and publishes a Docker container in a private registry, and spins up a load-balanced service with three instances … You don’t just get the simpler developer experience. You get the simpler experience and it’s ready for production.”
If this were written in Terraform or CloudFormation, it would easily be hundreds of lines of code, he said.
“Because of abstraction, you can hide details. Developers don’t need to think about all the low-level details that go into these services. They can just trust that these packages have done everything.”
And because they’re just packages, developers can reinstall them as they evolve. They version just like application software. So as those best practices evolve, your adoption of best practices can evolve as well.
Pulumi released support for Kubernetes last September. Crosswalk can easily be used for Kubernetes on AWS, to set up virtual private clouds and write Lambda events in a simple way, he said.
Tableau Software is one of the customers that has been using Crosswalk.
“Our team was looking for an end-to-end solution to tame the complexity of Kubernetes on AWS and ensure we adhere to AWS best practices,” said Pankaj Dhingra, Tableau’s senior director of cloud engineering.
“Pulumi’s Crosswalk effort has equipped our team to scale far better than the alternative approaches of home-grown solutions, scripts and DSLs [domain-specific languages]. Our delivery is now automated and we can now deliver new application and infrastructure features with a much faster turn-around, sometimes in just a few hours.”
Pulumi is a sponsor of The New Stack
Feature image via Pixabay.