- 32
- 10 765
Cloudmancer
United States
Приєднався 30 гру 2021
The AWS Guy - Learn modern serverless system design with Amazon Web Services!
AWS | CDK | Serverless | APIs | System Design
AWS | CDK | Serverless | APIs | System Design
Last Minute Plans for Attending AWS Re:Invent 2024
I will be attending re:Invent this year! This will be my first time, so sharing my very last minute plans. Are you going this year? Is there something specific you want to see about the event or a specific workshop or talk? Let me know down in the comments!
How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html
Buy me a coffee: www.buymeacoffee.com/cloudmancer
Chapters:
0:00 Im going to reinvent!
1:15 how Im preparing
QUESTION - What videos would you like to see me make next on this channel?
===============
My Gear
===============
Audio
Mic: amzn.to/3xomjc6
Mic mount: amzn.to/3TMUvWu
Audio interface: amzn.to/3VNOhIf
Over ear headphones: amzn.to/3J7lPJR
Studio
Camera: amzn.to/4cNJbSE
Camera monitor mount: amzn.to/3PSh8Yj
34’’ Monitor: amzn.to/3Jf1WR7
Monitor mount: amzn.to/49qezDN
Keyboard: amzn.to/4aLPK6u
Mouse: amzn.to/4aIIMin
===============
Connect with me
===============
YT: youtube.com/@cloudmancer
Github: github.com/Cloudmancermedia
Website: cloudmancer.io
LinkedIn: www.linkedin.com/in/ryanwilliams99/
Twitter: ryancloudmancer
TikTok: www.tiktok.com/@cloudmancer
===============
About me
===============
My name is Ryan and I am an AWS certified Solutions Architect and Developer. I teach modern serverless system design using AWS!
This video is NOT sponsored. Some links are affiliate links which means if you buy something I will receive a small commission.
#aws #cloudmancer #cdk #cloudformation
How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html
Buy me a coffee: www.buymeacoffee.com/cloudmancer
Chapters:
0:00 Im going to reinvent!
1:15 how Im preparing
QUESTION - What videos would you like to see me make next on this channel?
===============
My Gear
===============
Audio
Mic: amzn.to/3xomjc6
Mic mount: amzn.to/3TMUvWu
Audio interface: amzn.to/3VNOhIf
Over ear headphones: amzn.to/3J7lPJR
Studio
Camera: amzn.to/4cNJbSE
Camera monitor mount: amzn.to/3PSh8Yj
34’’ Monitor: amzn.to/3Jf1WR7
Monitor mount: amzn.to/49qezDN
Keyboard: amzn.to/4aLPK6u
Mouse: amzn.to/4aIIMin
===============
Connect with me
===============
YT: youtube.com/@cloudmancer
Github: github.com/Cloudmancermedia
Website: cloudmancer.io
LinkedIn: www.linkedin.com/in/ryanwilliams99/
Twitter: ryancloudmancer
TikTok: www.tiktok.com/@cloudmancer
===============
About me
===============
My name is Ryan and I am an AWS certified Solutions Architect and Developer. I teach modern serverless system design using AWS!
This video is NOT sponsored. Some links are affiliate links which means if you buy something I will receive a small commission.
#aws #cloudmancer #cdk #cloudformation
Переглядів: 122
Відео
Introducing AWS App Studio: Build Enterprise Apps with AI
Переглядів 94221 день тому
What is AWS App Studio? In this first look, we will be diving into this new AWS service, exploring its features, benefits, and use cases while showcasing how it empowers IT professionals and non-developers alike. Currently in preview mode, AWS App Studio is redefining low-code app development with the power of AI and LLM. How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v...
Secrets Manager vs Parameter Store: Which Should You Use?
Переглядів 179Місяць тому
Should you use AWS Secrets Manager or Parameter Store for your sensitive data in CDK projects? In this video, I tackle a great question from a viewer about securely managing secrets and configurations in AWS. We’ll explore the key differences, pros, and cons of both services, and I'll walk you through step-by-step examples of creating and referencing secrets in AWS CDK using TypeScript. How I b...
Manage Serverless AWS CDK Projects with This Simple Folder Structure
Переглядів 182Місяць тому
This is a simple folder structure I have ben using to organize my AWS CDK projects. This is primarily for serverless projects, however it is a good starting point for most CDK projects and can be easily modified as needed. How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html Video Resources Github repo: github.com/Cloudmancermedia/cdk-folder-structure-example.git G...
OAC vs OAI: Modernize CloudFront & S3 Security with the AWS CDK
Переглядів 1122 місяці тому
In this video, we dive into why Origin Access Control (OAC) is a better choice than Origin Access Identity (OAI) for securing your CloudFront and S3 setup. As a follow-up to the previous video on OAI, we’ll show you how OAC provides enhanced security, flexibility, and control for modern AWS architectures. Plus, we'll walk you through implementing OAC using the AWS CDK to manage your infrastruct...
Build a Serverless File Processing Pipeline With AWS Step Functions
Переглядів 3222 місяці тому
In this video, we’ll build a serverless file processing workflow with AWS Step Functions using Lambda, S3, DynamoDB, and SNS. You’ll learn how to automate tasks like file validation, data extraction, transformation, and database updates-all triggered automatically by file uploads. We’ll walk through creating the infrastructure using the AWS CDK, defining the Step Functions tasks, and handling b...
The Ultimate AWS CDK Free Resource Guide
Переглядів 1883 місяці тому
In this video I compile all the best free resources on the internet for learning and building architectures with the AWS CDK or Cloud Development Kit. This contains helpful tools, documentation, tutorials and GitHub repositories for any skill level and any level of architecture complexity. How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html All Video Resources: gi...
Easily Authorize API Calls With AWS Cognito and API Gateway
Переглядів 1433 місяці тому
In this video we break down process to deploy a Cognito User Pool to manage your user authentication and authorization. Then we create an API gateway and use the tokens generated by Cognito to authorize our API calls! All built and deployed using the AWS Cloud Development Kit (CDK) for Typescript. How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html Video Resources...
How To Deploy a NodeJS Docker Image Lambda Using the AWS CDK
Переглядів 3024 місяці тому
In this video we break down process to deploy a NodsJs Lambda Function as a Docker image using the AWS Cloud Development Kit (CDK) for Typescript. How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html Video Resources Github repo: github.com/Cloudmancermedia/cdk-deploy-lambda-docker Getting started with the CDK: docs.aws.amazon.com/cdk/v2/guide/getting_started.html D...
How To Build a CI/CD Pipeline With AWS CodePipeline Using the CDK Part 2
Переглядів 2064 місяці тому
In this video we build and deploy a CI/CD pipeline using AWS CodePipeline that deploys AWS infrastructure to our account using the AWS Cloud Development Kit (CDK) for Typescript. This is part two of a two part series on building a continuous integration/continuous deployment pipeline with AWS! How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html Video Resources Git...
How To Build a CI/CD Pipeline With AWS CodePipeline Using the CDK Part 1
Переглядів 8504 місяці тому
In this video we build and deploy a CI/CD pipeline using AWS CodePipeline that deploys AWS infrastructure to our account using the AWS Cloud Development Kit (CDK) for Typescript. This is part one of a two part series on building a continuous integration/continuous deployment pipeline with AWS! How I became a web developer in 13 months: ua-cam.com/video/y-5ZvW0oFXs/v-deo.html Video Resources Git...
Launch Your Single Page Web App in Under 10 Minutes with AWS!
Переглядів 2055 місяців тому
Launch Your Single Page Web App in Under 10 Minutes with AWS!
Introduction to Step Functions Using the AWS CDK!
Переглядів 4675 місяців тому
Introduction to Step Functions Using the AWS CDK!
Simplify Environment-Specific Deployments with AWS CDK Context
Переглядів 2535 місяців тому
Simplify Environment-Specific Deployments with AWS CDK Context
How to Use AWS Transcribe and Translate for Easy YouTube Subtitles!
Переглядів 1656 місяців тому
How to Use AWS Transcribe and Translate for Easy UA-cam Subtitles!
How to Deploy Lambda Layers Using the AWS CDK
Переглядів 7616 місяців тому
How to Deploy Lambda Layers Using the AWS CDK
How To Manage CDK Deployments with AWS CLI Profiles
Переглядів 1076 місяців тому
How To Manage CDK Deployments with AWS CLI Profiles
How To Deploy and EC2 Instance Using the AWS CDK
Переглядів 2436 місяців тому
How To Deploy and EC2 Instance Using the AWS CDK
How To Deploy a DynamoDB Table Using the AWS CDK
Переглядів 1627 місяців тому
How To Deploy a DynamoDB Table Using the AWS CDK
Overcome API Gateway's Timeout Limit Using the AWS CDK
Переглядів 2397 місяців тому
Overcome API Gateway's Timeout Limit Using the AWS CDK
How To Deploy a Lambda REST API Gateway Using the AWS CDK
Переглядів 6207 місяців тому
How To Deploy a Lambda REST API Gateway Using the AWS CDK
How To Deploy a Node JS Lambda Function Using the AWS CDK
Переглядів 4937 місяців тому
How To Deploy a Node JS Lambda Function Using the AWS CDK
How To Deploy an S3 Bucket Using the AWS CDK
Переглядів 4617 місяців тому
How To Deploy an S3 Bucket Using the AWS CDK
AWS CDK vs. CloudFormation: Which should you use?
Переглядів 4958 місяців тому
AWS CDK vs. CloudFormation: Which should you use?
Learn Modern Serverless System Design with Me!
Переглядів 59Рік тому
Learn Modern Serverless System Design with Me!
How I Became a Web Developer in Just 1 Year
Переглядів 1202 роки тому
How I Became a Web Developer in Just 1 Year
Love it! Looking for more videos.
Hi Pahud, thank you!
cool didn't know Jason Momoa moonlighted as a cloud architect
**hair flip**
Very helpful. Thank you. One thing I'm really struggling with though, is restricting Cloudfront access to certain S3 folders. I can do this via policy using OAI, but cannot find anything on how to achieve this with OAC. The only other way I've found is adding behaviors for all the directories, but this feels excessive and messy as they would all have the same configurations.
Hey, This is a problem that I have also encountered. I have not found any way to do it using OAC. I'll try looking to see if maybe there is a way with OAC but for folder-specific permissions OAI seems to be the easiest option.
@@cloudmancer Thanks for getting back to me! I have eventually managed to get this working by adding a DENY statement utilizing the NotResource policy element to the bucket after the OAC operation. As DENY statements take precedence over ALLOW, by using DENY with NotResource (listing the resources I want to allow), it seems to be working a treat.
That is a really innovative solution, nice job!
Are you going to re:Invent? What are you most excited about?
Great video, I will use it as a basis to redesign some pipeliens at my company. @cloudmancer Why did you put all the infrastructure required for the vue app into the pipeline stack (like bucket, dns, cloudfront) , I've thought the infrastructure stack is created for this very reason.
Hey, That was just an architecture decision on my part. You can place them where you feel is most appropriate. My reasoning was that the pipeline stack just contains things that usually don't change. Once the S3 bucket is up and hosting the web app, its probably not going to change unless I scrap the whole project, so I left it there. Other S3 buckets went in the infra repo since they might need to be modified or removed or renamed based on whatever new functionality I was developing. Same goes for the hosted zone. You could argue that the domain name might change if you are trying out new names for your website, so this would be a good argument for putting it in infra stack. The other benefit however is that most of the things in the pipeline stack reference each other, so it was also easier to do that when they exist in the same stack, however you could get around this by using outputs.
how to use this info in production? in prod you don't c&p the tokens to the shell
Hey, Yes correct, you would probably not do this through the CLI. You would instead add the token to the header of your API request in the code like "'Authorization": "Bearer ${idToken}", or something along those lines. This is how I usually do it with Axios by adding an interceptor to append that header to each API call before its made. Hope this helps!
Copy that, that thanks! Since you ask about topics for videos I think one important topic it vpc endpoint service (not vpc endpoints). Would be interesting how to set it up and more importantly how to configure my app to consume that service. Thanks in advance!
This is a great suggestion, I will look into it, thank you!
This is great. Do you know with API gateway + cognito authorizer, how to send unauthorized requests to cloudwatch logs or s3? Also would love to see a video on a detailed WAF and adding to API gateway, cloudfront, etc with cdk.
Hey! Yes, API Gateway supports logging unauthorized requests to CloudWatch if you enable logging in the API Gateway settings. To do this in the CDK, you can use the API Gateway Stage construct and specify a accessLogDestination with a CloudWatch log group. If you also wanted to set these logs up to go to S3, you could create a lambda to do that. I will look into doing a video about WAF and API Gateway/CloudFront for a video, thanks for the great suggestion! API GW Stage Construct: docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.Stage.html
you're incredible
Thank you for watching!
Update: As of the launch of this video, AWS App Studio is no longer in preview and is now generally available. With this change, you can use natural language after the initial app generation process to further modify the application and its components. This was one of my biggest sticking points with this service and I am so glad they implemented it! The steps I outline in the video are still necessary to get it working though. Which videos would you like to see next?
Interesting service, I wasn't familiar with it. I'll take a closer look. As you mentioned, at the company level, I don't see it being a fit, but it could work for something smaller. Recently, I'm using Elasticache for the first time, and there doesn't seem to be much information about it online.
I am interested to dive back into App Studio now that some of the shortcomings I noted have been addressed. I am not sure if the apps would still be enterprise grade, but I will check it out again. I have not used elasticache much myself.
Might have to try SSM; secretsmanager is currently my highest costing service. I don’t need to rotate anything at this point so can probably get away with ssm in the short term
I use SSM for almost everything! I agree, unless you need the rotation for something, SSM is almost always the best choice.
Clear and simple, thank you.
I am glad you found value in this! Thanks for watching
Which videos would you like to see me make next?
Good information! I use secret for password, api key... and Parameter Store for simpler things or for the output of certain services
Yes I agree, I love using parameter store to pass output values between cloudformation templates
Personal story format gets me everytime! 😁
Thanks for watching!
Hey Ryan, great content - I appreciate your video! Just a couple questions - are saving the artifacts in the S3 buckets (what you're doing in the infrastructure project) mandatory? I assume the artifact bucket creation in the pipeline project is mandatory. I am building a personal API system using API Gateway and Lambda functions - and I figure the stack & construct code for those resources would go into the infrastructure project?
Hey there, thank you! In the infra project, the bucket was just an example of something you might deploy in that stack, it does not need to be a bucket. It could be a lambda function, dynamo table, etc., anything your infrastructure needs that might get updated frequently. In the pipeline project, strictly speaking, the artifact bucket is not necessary. The CDK will actually create one by default if you don't specify it. However, I like making it because it allows you to set the bucket name rather than the randomly generated string of characters the CDK comes up with. For your arch, yes the API gateway and lambdas would go in the infrastructure project. This way as you make updates to and iterate on your endpoints, you can push it to source and have them continuously deployed to test them! Hope this helps.
Hey Ryan, thx a lot for your videos. I would be interested in a video where you publish your resources like a lambda function with layer(s) and an api gw in front to localstack with cdk. That would be nice in case you don’t want to directly deploy it to aws and get charged but have it for free on localstack and work with it until it has a certain degree of maturity so it can get deployed to the real aws cloud. Let me know what you think. Regards, Mario
Hey Mario, Thanks for the great suggestion! I will work on putting something together for you.
@@cloudmancer thank you very much. I’m looking forward to that. May I ask one more noob question? Could you evtl. explain one more time the lambda function directory structure once it gets transpiled to JavaScript. The problem I have is in understanding the difference between importing something from /opt/nodejs/* into the typescript code. And when it is deployed for example to localstack then it says that there is no /opt/nodejs/* directory or any content. So my concrete question would be - what is the real target directory structure that is needed at runtime in localstack or even in real aws itself. In my opinion the runtime in any target system (localstack and aws) is a Linux env with an opt/nodejs directory which contains my lambda function code. But maybe I am confused. Evtl. you have some link to some documentation where I can learn about the target runtime of lambda functions. As I was unfortunately not yet lucky to find some good docs. So far I found this resource helpful but did not yet solve my confusion. www.qloudx.com/how-to-split-typescript-based-lambda-functions-into-lambda-layers/ Would really appreciate your support as it is quite frustrating to get stuck already in the beginning of learning modern cloud architectures. Thx a lot in advance Ryan
i can recognize a good engineer from their hair. Great Content > _ <
lol thank you!
What other videos would you like to see next?
Great content, thanks for sharing!
I am glad you liked it!
What videos do you want to see me make next?
interesting, especially for very huge package or custom architecture (like installing Playwright, ML models, etc...). How to handle input messages in the lambda, like from sqs or api gateway? Thanks
Hey, All communication into a Lambda usually comes through the Event object in a Lambda function. This Event object represents the "event that triggered the function". For API Gateway this comes through the event body. In the case of SQS this comes through the event Records array.
@@cloudmancer true, keep thinking about a standard application. Thanks anyway
@@cloudmancer true, keep thinking about a standard application. Thanks anyway
Great video. Any chance you can do it in python?
Hey, thank you! I am not the best a python but I have a desire to get better. I have a python tutorial series on the CDK on my list of videos to make, I will keep you updated!
Great channel, lots of great information.
Thank you!
Ryan, a video on Wordpress end to end development? 1. Local development of Wordpress running on Docker 2. AWS Architecture to host 3. CI/CD Pipeline for code deployment
Hey, 1. I will look into something like this. 2. Did you mean website hosting? I have a video on S3 + Cloudfront + Route53 for single page web apps. Was there a specific hosting architecture you were looking for? 3. I have a two-parter on making a CI/CD pipeline for a serverless backend arch with a web application. Was there a different idea you had for a CI/CD pipeline? Let me know!
Might not be relevant, but how to test your dockerized function locally before pushing it to the cloud?
This is a great suggestion, it is on my list to get to!
@cloudmancer noticed you don't have any networking videos. Is that something you can potentially discuss? Creating a VPC, security groups, subnets etc...?
I have it on my list to get into some networking videos with the CDK. I will come up with something for you.
Unreal channel
Thanks for the kind words, let me know if there is anything else you would like to see.
@@cloudmancer Anything with ECS would be really nice (ie, A wordpress site, or Vue app)
Dude, can't believe this channel exists.
I am glad that it is of some value to you!
Could you please elaborate on the Docker part of this? I'm getting Error: spawnSync docker ENOENT
Hey, Sure I can try and assist with this, can you give me the full error?
great. I've got two questions: 1. is there a maximum size of the payload as in/out of the functions? I mean you pass the whole converted csv as out -> in. Maybe is "too much"? 2. How can we achieve an email if some step fails? Another lambda or a direct call to SNS? thanks
Hey there, 1. Yes there is a max payload size that a Lambda can return and this is 6 MB for synchronous invocations such as invoking Lambda directly via API Gateway, another Lambda function or a step functions invocation. If you had a particularly large data set, one solution might be to write it into a new file in S3 and pass the new object key down and have the subsequent lambda function read from the new file, rather than passing the raw data down in the state object. 2. Yes this is totally doable. All we would need to do is create a new FailedExecution SNS topic and a new lambda invoke task that could handle the failed execution. Then, rather than passing in the FailState into our addCatch, which fails the execution directly, we would instead pass in this new task. I would be interested to hear your experience if you implement something like this! I hope this helps.
@@cloudmancer thanks for your answer, those are just out of my curiosity. At the moment i'm not yet into step functions: i'd like to experiment and consider a refactoring. My current project involves three lambdas with different tech stack, communicating via sqs.
It sounds like your current project would be good for a step functions refactor, let me know if you do and what you come up with!
Very interesting project, I’m going to try it! You could add something with AI or containers!
You know building something with AI would be really fun, I will come up with a good idea
What videos would you like to see me make next?
Hi Ryan, thanks for great content - great value and love the format! In CDK is it possible to setup RBAC with a Cognito authorizer - protecting ApiGateway routes? If yes, then I’d like to make this a video request. Thanks again!
Hey, Off the top of my head, I am not sure if this is possible, but I will look into it!
Which topics would you like me to talk about next?
And that is why AWS created the Well Architected Framework in 2015 - because of all the crapy builds deviating from all the best practices ... AWS Pros require more than 300 hours of REAL study and the reading and deep understanding of hundreds of technical white papers - and even then, most will fail a real architecture interview if they don't have 5+ years of experience ... so yes there is value in the study, and combined with practice and dedication and the cert - the cert alone has limited value and just building something is complete BS: you need to have a deep understanding of HOW to build eg decoupling - what, why, how, when and then understand the pillars and lenzes ... again building something won't be sufficient !
I appreciate you input. I agree that "just building something" is insufficient, however you will never gain "a deep understanding of HOW to build" without starting just building something.
Excellen video bro, I really enjoyed, can you make a video teaching how to deploy utilities like, puppeteer (for ence converting html to pdf), or any other method to generate pdf on lambda
Good suggestion! I will look into this!
how to host built version of nextjs using docker and CI CD onto a vps such as linoe or azure?
That is very specific! I will look into this.
Which topics would you like to see me make videos on next?
Do also make one on the use of the OAC over the OAI as per the AWS recommendation.
Hey! I promise I will make a revision video with OAC in the future. In the meantime, you can check out a revised GitHub repository I made for you that actually has this change: github.com/Cloudmancermedia/cdk-spa-deployment-oac.git In the README I have some notes on how it was achieved and why its necessary for the workaround. I hope this helps!
@@cloudmancer thanks a bunch 👍
Can you make a video on the AWs Extensions as well?
Hey, I might be able to help with this, can you clarify what you mean by extensions? Did you mean VS Code extensions?
AWs Custom Resources using the AWS CDK- Lambda Based & SNS Based
Hey, sure, this is a good idea. Was there a specific architecture you wanted to see using custom resources and/or lambda + SNS? What are you looking to use these custom resources to achieve?
Please make a video on the AWS Custom resources using AWS CDK.
Sure, check out the reply on your other comment.
hi, can a custom url be assigned to it or do we jsut have to do with the generated url?
Hey, to my knowledge, function URLs are not customizable.
Thanks
Of course!
great video, i was able to follow and do the sample code.
Awesome thanks for the feedback!
I’m confused by how the change removed the problem of api gateways time limit
Hey, Strictly speaking, yes, this is a workaround and it does not do anything to change the default functionality of API Gateway. However most people who would encounter this problem are probably discovering it because they first tried to make a Lambda with API Gateway and it timed out. At least this is how the problem manifested itself for me.
dude what do you have inside your nose ? anyway good video recommendations
It's a septum piercing. Thanks!
: (
I have my repositories on Azure Repos, would you consider this to be a scenario where Cloudformation templates are a better option?
Hey! Did you mean you wanted to migrate existing infrastructure where the templates are version-controlled through Azure Repos? Or were you simply wanting to migrate your version-controlled repos from Azure to AWS CodeCommit? Without knowing too much detail about your situation or the architecture you have provisioned in Azure, if your situation is more the former, it might be worthwhile to look into Terraform templates since its more platform-agnostic. Let me know if this answers your question!
@@cloudmancer Thanks! The scenario is my source code is on Azure Repos but I want to deploy on AWS (without using CodeCommit, just the other resources). Using an agnostic platform sounds nice, I am also checking serverless framework as my architechture is purely serverless
Yes, in that case serverless framework would be a good choice! You can keep your repos version controlled wherever you want and it should not impede your ability to use the CLI to deploy the infra to AWS or wherever you want
What video would you like to see me make next?