On June 15, the AWS Summit took place in Madrid, where we were able to attend to learn about different companies, technologies and, above all, attend talks at the event where we were able to learn about the AWS CodeCatalyst service, which is the commitment that AWS has for developing software in a fast, collaborative, efficient way and integrating different functionalities that intervene in the different use cases, achieving with all this the adoption of good practices of integration and continuous deployment.
After the AWS talk, we decided to hold a workshop to really understand how this service works and its peculiarities. Before we dive into our experience, it’s important to understand a few key concepts related to CodeCatalyst. These concepts will help us to better understand how the service works. As the AWS documentation indicates, the most important concepts are the following:
- Spaces: A space represents your company, department or group. It is the main container that houses projects, members, and resources in CodeCatalyst. Users with administrator permissions will be able to manage the space and its resources.
- Projects: Projects allow you to add, update, or remove users and resources, customize your project dashboard, and monitor the progress of your team’s work.
- Blueprints: When creating a project, you can choose a blueprint that provides initial configuration, such as a repository of sample source code, build scripts, deployment actions, and AWS resources. Blueprints speed initial project setup and make it easier to adopt best practices.
- Account connections: An account connection associates a CodeCatalyst space with your AWS account. This association allows you to access AWS resources within CodeCatalyst and configure IAM roles for specific actions in the workflow.
To understand how CodeCatalyst works, we were working on creating a static website using one of the blueprints that AWS offers us within this service. During this workshop, we explored the key capabilities and features of CodeCatalyst, and worked through hands-on exercises to experience first-hand how this service can improve efficiency and productivity in software development.
The first thing we did was generating a Space in CodeCatalyst, where we indicate the AWS account in which we deploy this space, concluding with the verification using a token.
It should be noted that this service currently only offers the possibility of deployment in the Oregon region (us-west-2). However blueprint resources can be deployed in any region.
We select the “Static Website” blueprint where we mainly have to configure a role for the implementation of this static website (this role is generated by CodeCatalyst automatically) and where it is indicated in which region you want to deploy your static website among other parameters.
Once we completed the previous point, it began to deploy the entire blueprint via CDK within an instance managed by AWS CodeCatalyst, selected when we chose our service plan.
As in most AWS services, all the activity carried out by this blueprint can be reviewed through the deployment logs.
Finally, when our deployment finished we were able to visualize the static web generated under the services of Amplify + Cloudfront + S3.
Another feature that we found was the possibility of using a kanban board within the project itself, in which tasks can be generated to assign different users to their execution, which can be generated through the CodeCatalyst interface and grant them different roles in the project.
To conclude our workshop we were testing the integration functionality of CodeCatalyst with VSCode. To perform this integration, it is necessary to have the “AWS Toolkit” extension installed and have an AWS ID Builder profile. Once both actions were carried out, we were able to synchronize our repository generated by CodeCatalyst and view it through VSCode:
As conclusions after the talk received at the AWS Summit and our workshop carried out, we believe that it is a good service to develop use cases quickly, autonomously and collaboratively, with the possibility of various integrations which can help you carry out your projects in a more efficient way.
This service enables software development teams to plan, develop, collaborate, build, and deliver applications on AWS reducing friction throughout the development cycle. The service aims to simplify and streamline the software development process by providing a single platform that integrates multiple tools and resources to facilitate cross-team collaboration.
Mention that AWS CodeCatalyst is in preview, so future posts are expected to cover other features from the service.
Image: Unsplash | Christopher Gower