-
- Private work.
- Started the mystery-escape-room-puzzle-riddle-advent-calendar last night!
- AWS refreshers.
- CLIs/SDKs.
- AWS CLI. The main one. Interact with resources from the command line. Generic.
- Boto3. The python SDK, allowing much of the same interactions as the generic AWS CLI, but from python.
- SAM CLI. For serverless app management.
- The Amplify CLI, and a few others like this.
- IaC.
- CloudFormation was the basis. Generic templates for provisioning most aws resources.
- Comes with a studio so you can graphically create/connect/move components in the full architecture.
- SAM extends cloudformation with common templates for serverless stacks.
- CDK is the SDK so that you can define these resources in high-level programming languages, rather than templates.
- Ultimately CDK and SAM both compile down to cloudformation templates.
- CloudFormation detail.
- Played with it a little bit.
- You CAN import a stack from existing resources. But you still have to provide a template, which is a skeleton list of all the resources. It does not auto-infer everything (which it should, since stuff like billing/cost mgmt clearly has all this info).
- You have to go to third party tools for “just provide my aws account and automatically discover all resources and configs” – CloudFormer by Anthropic, Terraformer by Gruntwork, few more.
- CDK detail.
- SAM detail.
- Simple example with (api gateway -> lambda -> dynamo) is 23 lines in SAM. >200 lines in the synthesized cloudformation template.
- You can init, build, test, deploy.
- SAM enables local testing by, for example, starting a container with the specified runtime/config and executing your lambda in it.
- You can also use SAM to test remotely (all the actual cloud resources).
- You can setup CI/CD pipelines. Not sure if this integrates with externals like gitlab, bamboo, whatever.
- Installed the SAM CLI into wsl2. Created a hello-world app with a single py lambda. Built and deployed.
- It’s a lambda function and an api gateway (primary resources). There are some secondaries (roles, permissions, etc).
- It deploys the full sam config to an s3 bucket, then converts the config to a cloudformation template, then cloudformation deploys the cloud resources.
- Interacted with the api gateway endpoint. Invoked the cloud lambda. Invoked the lambda locally. You can also host the API locally.
- Other.
- Tried the leetcode weekly contest for the first time. 4 questions worth 3 -> 4 -> 5 -> 6, totaling 18 points. Difficulties are easy -> med -> med -> hard. Lots of cheaters.
- Supercontest.
- Iteration on RDS RI cancellation.
- I may just deploy the existing html/css/js to s3 first (with cdk). Then I can upgrade to a full react app, hosted by amplify, later.
- Added codecatalyst to my aws builder profile. Basically provides templates for source, CI, CD. Application templates, at least for infra and workflows. Created a supercontest project in codecatalyst. Checked the offerings in the vscode extension.