AWS Cdk Project Template For Devops

This repository provides best practices and template framework for developing AWS Cloud Development Kit(CDK)-based applications effectively, quickly and collaboratively.

Blockchain & Cloud ComputingTypeScriptMIT-0

Abstract

AWS Cdk Project Template For Devops is an open-source Blockchain & Cloud Computing project. This repository provides best practices and template framework for developing AWS Cloud Development Kit(CDK)-based applications effectively, quickly and collaboratively. AWS Cloud Development Kit(CDK) is an open source software development framework to define your cloud application resources using familiar programming languages. After coding using CDK Construct and Stack, if you run it through CDK CLI, it is finally compiled and deployed through AWS CloudFormation. It is built using TypeScript, AWS. The complete source code is publicly available on GitHub under the MIT No Attribution, making it a useful reference for students building a Blockchain & Cloud Computing mini project or final-year project.

1. Introduction

AWS Cloud Development Kit(CDK) is an open source software development framework to define your cloud application resources using familiar programming languages. After coding using CDK Construct and Stack, if you run it through CDK CLI, it is finally compiled and deployed through AWS CloudFormation.

AWS CDK supports TypeScript, JavaScript, Python, Java, C#/.Net, and (in developer preview) Go. The template codes of this repository are implemented in TypeScript, because it clearly defines restrictions on types. Restrictions on types provide automated/powerful guide within IDE.

Because AWS CDK is provided in a language that supports OOP(Object-Oriented Programming), it is possible to configure and deploy cloud resources in the most abstract and modern way. This repository provides a template framework by maximizing these characteristics.

2. Objective

This repository provides best practices and template framework for developing AWS Cloud Development Kit(CDK)-based applications effectively, quickly and collaboratively.

This project demonstrates how TypeScript, AWS can be applied to a real-world Blockchain & Cloud Computing problem.

4. Technology Stack

TypeScriptAWS
  • AWS CLI: aws --version
  • Node.js: node --version
  • AWS CDK: cdk --version
  • jq: jq --version
  • Purpose: It should be possible to independently deploy each stack by removing the strong coupling between each stack.
  • Purpose: Frequently reused workloads should be abstracted and easily reused without duplication of code.
  • Stack Configuration
  • Stack Implementation

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Node.js (LTS) and npm / yarn / pnpm
  • VS Code or any code editor
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/aws-samples/aws-cdk-project-template-for-devops.git
cd aws-cdk-project-template-for-devops
  1. Purpose: Code and configuration should be separated so that they can be freely deployed to various AWS account/region without modifying the code.
  2. Approach: Prepare a json file for each distribution in config directory in order to isolate the configuration from the code as much as possible. The following figure shows the configuration files in config directory.
{
    "Project": {

    },

    "Stack": {

    }
}
export APP_CONFIG=config/app-config-demo.json
cdk deploy *DataProcessingStack --context APP_CONFIG=config/app-config-demo.json
sh script/setup_initial.sh config/app-config-demo.json

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a CI/CD pipeline with GitHub Actions
  • Deploy to a public test network or cloud free tier
  • Add monitoring and cost alerts

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Why does this problem need a blockchain or cloud-native design?
  2. Explain the smart contract / infrastructure components and how they interact.
  3. How are gas costs or cloud costs kept under control?
  4. How is the system secured (keys, IAM, access control)?
  5. How would the solution scale to many more users?

9. Source Code & License

This project is developed by aws-samples and published on GitHub under the MIT No Attribution. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Blockchain & Cloud Computing project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Blockchain & Cloud Computing Internship