Organize your AWS Serverless code to prevent merge conflicts

Click for: original source

How do you prevent the most common merge conflicts when your team is working on a Serverless application? How do you make sure that your team stays productive and avoids large merge issues while trying to update the same crucial files simultaneously? By Mark Curtis, Juan Peredo, and Tom Romano.

When multiple developers collaborate on a serverless architecture built with AWS CloudFormation, and its extensions such as the AWS Serverless Application Model (SAM), the nature of specifying resources in both the template.yaml and the optional OpenAPI.yaml specification for Amazon API Gateway leads to merge conflicts. These conflicts detract from the developer’s time and agility. Furthermore, navigating and maintaining the long template files required for a larger serverless architecture slows development as the developer scans large files to find a particular resource definition.

The article then describes solution to this problem:

  • Rapid development
  • Sample project
  • OpenAPI and AWS service integration
  • cfn-include and nested stacks

Following techniques mentioned here, you should be able to:

  • Improve developer efficiency by decomposing large, hard-to-manage files into a series of well-organized and single purpose files
  • Enhance developer productivity by allowing each developer to have ownership of their own piece of the code without having to coordinate with teammates
  • Eliminate potential merge issues on the files that typically generate the most conflicts during the development of a typical Serverless API application

This post demonstrates techniques used by WRAP and AWS to rapidly develop and maintain key files in an Serverless architecture. Nice one!

[Read More]

Tags serverless programming devops cloud aws