AWS has released new development tools for building serverless applications. AWS CodeCatalyst, now in preview, sets up new projects complete with a cloud development environment and CI/CD automation, while Application Composer is for connecting AWS services and generating deployment-ready projects including infrastructure as code. In addition, AWS introduced Step Functions as a visual tool for setting up parallel workflows for data processing. A fourth new tool is EventBridge Pipes, which is a visual interface for generating code to connect event producers and consumers.
“Amazon CodeCatalyst takes away all the heavy lifting that sits around development,” promised CTO Werner Vogels in his re:Invent keynote. “It has all the tools you need to go from idea to production.”
DevClass took a quick look at the preview and it is indeed a sophisticated tool. It is also another product that uses the new Builder ID which we reported on earlier this week. Getting started has some friction because of the need to create a CodeCatalyst Space with the requisite permissions, though the setup process does a good job of prompting developers through the necessary steps. A Builder ID on its own is not enough; an AWS account is also needed in order to enable billing.
A CodeCatalyst project can start from scratch, or from a blueprint, with 14 blueprints currently available. These include a single page application using React, Vue or Angular, or a .NET serverless application, or a “modern three tier web application” using an ECS (Elastic Container Service) Fargate cluster, an HTTP API gateway, and a DynamoDB database.
We picked a To Do Web Application using TypeScript and NodeJS 16. CodeCatalyst generated an over-engineered solution including API Gateway, DynamoDB, Lambda functions, and a ReactJS 17 front-end delivered through the Amazon CloudFront CDN. The idea though is to demonstrate what AWS considers to be a well architected application, which happens also to be one that uses a number of different services. The project includes Jest unit tests for both frontend and backend.
There is more to CodeCatalyst than just the code. The tool also created a dev environment for cloud-based coding, a CI/CD (continuous integration/continuous delivery) workflow, a git-based code repository, and an issue manager. CodeCatalyst does not include an IDE though AWS Cloud 9 could be used. There is also specific support for Dev Environments in the AWS toolkits for Visual Studio Code and for JetBrains IDEs. It is not essential to use all the built-in components and there are options to use GitHub for the repository or Jira for issue management, for example. These options come via a CodeCatalyst Marketplace, where they are at the time of writing the only extensions available, but the fact that a Marketplace exists shows that AWS has considerable ambitions for this service.
A CodeCatalyst Space is where developers can invite additional members for collaboration, and a single Space can contain multiple projects.
CodeCatalyst pricing has a free tier and a standard tier, where the standard tier costs $4.00 per user/month. Both plans include resources up to a certain quota, and standard tier users can then purchase additional resources, such as compute minutes, source storage, and Dev Environment hours.
How does CodeCatylst relate to existing AWS DevOps tools? The faq explains that CodeBuild, CodePipeline and CodeArtifact, which are individual existing services, are building blocks for custom DevOps automation, whereas CodeCatalyst is “a turnkey, complete managed and integrated experience.”
Historically AWS, despite its popularity for deploying cloud applications, has not won substantial market share for its developer tools. CodeCatalyst may be an attempt to address that, though it is a long way from matching the features of established DevOps solutions. The intent though is to provide a one-stop solution for developing an application on AWS and for that it may attract some interest.