How can the acquired applications quickly be brought up to deployment standards while addressing the developers’ concerns?
Create Cloud Formation templates and re-use parts of the Python scripts as Instance user data. Use the AWS Cloud Development Kit (AWS CDK) to deploy the application using these templates. Incorporate the AWS CDK into CodePipeline and deploy the application to AWS using these templates.
Use a third-party resource provisioning engine inside AWS CodeBuild to standardize the deployment processes of the existing and acquired company. Orchestrate the CodeBuild job using CodePipeline.
Standardize on AWS OpsWorks. Integrate OpsWorks with CodePipeline. Have the developers create Chef recipes to deploy their applications on AWS.
Define the AWS resources using TypeScript or Python. Use the AWS Cloud Development Kit (AWS CDK) to create CloudFormation templates from the developers’ code, and use the AWS CDK to create CloudFormation stacks. Incorporate the AWS CDK as a CodeBuild job in CodePipeline.
Explanations:
Using AWS CDK to create CloudFormation templates partially addresses the concern, but reusing Python scripts as user data is not an optimal way to handle deployments and would limit flexibility. Additionally, using CDK templates directly in CodePipeline would provide more control.
A third-party provisioning engine could increase complexity, reduce standardization, and introduce maintenance overhead, which goes against the goal of a unified deployment standard.
AWS OpsWorks and Chef would require developers to learn new configuration tools, which does not address the concern of avoiding new domain-specific languages. OpsWorks is not widely used for deployments and would complicate AWS integration.
AWS CDK allows developers to define infrastructure in Python or TypeScript, addressing their preference for familiar languages. It creates CloudFormation templates, aligning with standard deployment practices. Integrating CDK as a CodeBuild job in CodePipeline standardizes deployment.