• Saturday

    • 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.