Тёмный
Endre Synnes
Endre Synnes
Endre Synnes
Подписаться
Bye bye Kubernetes, hello Serverless! Follow my channel to learn how to develop serverless applications in the cloud. I’m a big fan of serverless applications and making the most out of every managed service that cloud providers can provide. The cloud provider that I’ll make use of is AWS.

My videos are aimed at developers just getting started with programming in general, and cloud development. I will also make videos for the more experienced developers where I explain best practices and deep dive into infrastructure as code, using The Serverless Framework and Terraform.


I will try to post new videos on a two-week basis on Mondays, but some videos may be delayed a week if I have too much else going on or if it is a topic that require more research on my part.
Terraform introduction
21:28
8 месяцев назад
What is AWS IAM?
16:36
11 месяцев назад
AWS Lambda SnapStart
10:32
Год назад
AWS Secrets Manager - Rotate Secrets
20:02
2 года назад
AWS Route53 - Health Check
9:29
2 года назад
AWS Secrets Manager and Lambda
8:16
3 года назад
11 functions part two
6:53
3 года назад
10 functions part one
3:52
3 года назад
Serverless - IAM and Plugins
6:02
3 года назад
Serverless - API and Lambda
5:45
3 года назад
An introduction to Serverless
5:06
3 года назад
09 nested loops
5:28
3 года назад
Комментарии
@vdemcak
@vdemcak 24 дня назад
One of the best Terraform tutorials I've ever seen...
@EndreSynnes
@EndreSynnes 20 дней назад
Thank you so much! 🤩
@ningggg6974
@ningggg6974 26 дней назад
Hi, I purchased a domain in godaddy and I followed these steps. However, it is still not working
@EndreSynnes
@EndreSynnes 20 дней назад
Hi 😄 could you elaborate what exactly dosen't work? Isn't the SSL Certificate successfully validated in AWS Certificate Manger?
@nonamespls3468
@nonamespls3468 Месяц назад
AWSLambdaSQSQueueExecutionRole is such a misleading and st*pid way to name a policy, you would think it allows Lamda to send message to SQS. But it only allows Lambda to read from SQS. Damn AWS really is bad at naming stuff.
@EndreSynnes
@EndreSynnes 20 дней назад
So true 😅 The only AWS managed policy that allows it (that I know of) is the "AmazonSQSFullAccess". Then again this way too wide of a policy to use in a production environment.
@rushikeshshinde999
@rushikeshshinde999 Месяц назад
Free or paid ssl certificate
@EndreSynnes
@EndreSynnes Месяц назад
The ssl certificate itself (created using AWS Certificate Manager) is free, as far as I know😊
@mournful_m
@mournful_m 2 месяца назад
Thanks a lot. It was very helpful for me.
@EndreSynnes
@EndreSynnes Месяц назад
I’m glad you found it helpful😄 btw I have created an updated version of this video, which also includes how to set it all up using Terraform: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-U9n6N56neuo.html
2 месяца назад
Perfect. Saved my life. I needed it and was doing it wrong. Thank you very much.👏👏👏
@EndreSynnes
@EndreSynnes 2 месяца назад
Thank you so much! Great to see it was helpful!😄
@seereal6736
@seereal6736 3 месяца назад
Thank you so much. I spent a lot of time searching Google without finding a solution, but after following your video, I finally managed to apply SSL to my website. I really appreciate your help!
@EndreSynnes
@EndreSynnes 3 месяца назад
That’s great you found it helpful 😄🙌🏼
@RaghavGade-by5os
@RaghavGade-by5os 3 месяца назад
Don't we have to register the domain?
@EndreSynnes
@EndreSynnes 3 месяца назад
Yes that’s right, I mention It as a prerequisite at 0:30 😄
@raghavgade2000
@raghavgade2000 3 месяца назад
When you regiter a domain from aws, it creates hostedzone automatically^ To those who're new to all purchasing domains. It will help you out. Look in the left panel of Route53 and you can find Register Domain option.
@EndreSynnes
@EndreSynnes 3 месяца назад
Yes that’s right, that way you also don’t need to manually register the name servers of your Hosted Zone with your domain prover. The reason why I didn’t register it with AWS was that it at that time were cheaper to register it elsewhere 😊
@gonzalomordecki2195
@gonzalomordecki2195 3 месяца назад
Thank you so much for the valuable time you spent on this video!
@EndreSynnes
@EndreSynnes 3 месяца назад
Thank you so much, I'm glad you liked It! 😄
@JessadaSrimoon
@JessadaSrimoon 4 месяца назад
Good tutorial, short, conceptual, and easy to understand, brother. I wonder about activating S3 static website hosting and blocking all public access. How can I set up my CloudFront to access objects in the bucket? The official documentation does not provide this scenario.
@EndreSynnes
@EndreSynnes 3 месяца назад
Hi, I'm sorry for the late response. Thank you so much! 😄 Just to clarify, you have enabled the "Static website hosting" feature on tour S3 bucket and also want to use CloudFront? If this is the case, I would say that enabling the "Static website hosting" feature on the S3 bucket partially defeats the purpose of setting up CloudFront in front of your S3 bucket. This is because the content will then be available on the S3 bucket URL anyways (bypassing CloudFront all together) without you being able to restrict who can assess it. I would suggest using a private bucket (as in my video), and setting up CloudFront. You could also set up WAF (docs.aws.amazon.com/waf/latest/developerguide/cloudfront-features.html) to further limit who can assess the content. I hope this was helpful, and please let me know if I misunderstood your question 😄
@melissaCScom
@melissaCScom 5 месяцев назад
Thank you for the detail! That worked. :)
@EndreSynnes
@EndreSynnes 5 месяцев назад
I’m glad you found it helpful 😄
@sutthaamuttha
@sutthaamuttha 5 месяцев назад
This video is a gem ❤
@EndreSynnes
@EndreSynnes 5 месяцев назад
Thank you so much! 😄
@deemon710
@deemon710 6 месяцев назад
It was surprising how simple the code is to redirect a user. I wonder is it possible to redirect a POST request, too?
@EndreSynnes
@EndreSynnes 5 месяцев назад
Hi 😄 Yes It can be quite simple to do that for HTTP GET requests 🙌 Depending on your requirements, doing redirects for POST requests may not be as simple. Do you want your users to be redirected as a respons for your POST request (this can be achieved quite easily)? Or do you want the POST request itself to be redirected to another API?
@deemon710
@deemon710 5 месяцев назад
@@EndreSynnes I wanted to modify the parameters they sent in their POST request and return a redirect with the updated params so they would make an updated POST request. In the end, I just did it for them and returned the response. But I'm still curious if it's possible to say 'naw, send your POST request here instead of to me. '
@EndreSynnes
@EndreSynnes 5 месяцев назад
@@deemon710 I see, my initial thought is that you have to handle this on the client/front-end🤔 I’m not sure a web browser is “smart enough” to perform the same POST request to another API given a 3xx response by itself 😅 Alternatively if you control both domains for the two applications, I guess you could just point the old domain to the new application as well, using for example Route53? Then again you wouldn’t be able to manipulate the parameters before hitting the new API. Unless you intend use a lambda function (or similar) to forward the http request to the new API🙈
@notEpicc
@notEpicc 6 месяцев назад
Amazing video! I'm doing a university assignment where i have to create a URL-shortener using AWS, and after watching hours of content about redirects and APIs and not understanding anything, it's amazing how simple and well-paced this video is!
@EndreSynnes
@EndreSynnes 6 месяцев назад
Thank you so much!😄 That sounds like an interesting assignment, especially that you are using AWS to do that😄 Thank you, it's great to see that people find my videos helpful!
@gabrielmoreno8240
@gabrielmoreno8240 6 месяцев назад
how can i do it without the "hello"
@EndreSynnes
@EndreSynnes 6 месяцев назад
Hi😄 What do you mean without the “hello”? The default root object: hello.html points to the hello.html inside the S3 bucket. You can of course change this to any file you want inside your S3 bucket😊 If you don’t set a default root object in CloudFront, then your user have to specify it when accessing your website (which isn’t ideal)😅 Please let me know if I misunderstood what you meant😊
@supriyochatterjee4095
@supriyochatterjee4095 6 месяцев назад
Great video, wish to see lots of videos on AWS Terraform in details with step by step explanations, please kindly make videos on AWS NETWORKING, S3,EC2, Backups, IAM Roles and everything related to AWS Infrastructure configuration and management using Terraform in details
@EndreSynnes
@EndreSynnes 6 месяцев назад
Thank you so much! 😄 Thank you for the suggestions, I will look into these AWS services using Terraform in future videos 😄
@andybarrell26
@andybarrell26 6 месяцев назад
I was hoping there was a way to send the message to the SQS queue without needing to know the exact SQS URL. Similar to how you can call other Lambdas without hitting the function URL when already in a Lambda.
@EndreSynnes
@EndreSynnes 6 месяцев назад
Hi 😄 I would also like that, but the only way to do that (that I have seen), is to first call the "get_queue_url" function: boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs/client/get_queue_url.html
@anshi_m1188
@anshi_m1188 7 месяцев назад
I followed every step as it is, but I'm still not getting https, please help!
@EndreSynnes
@EndreSynnes 6 месяцев назад
Hi 😄 I'm sorry for the late response. What do you mean you're not able to get HTTPS? Have you made use of the certificate in for example your CloudFront distribution or API Gateway?
@mhmaruf741
@mhmaruf741 7 месяцев назад
Hello Endre , I have created s3 bucket and uploaded index.html file that is website , created custom url under object url, now custom url is not working , showing Not Found The requested URL was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. Could you give me any solutions?
@EndreSynnes
@EndreSynnes 6 месяцев назад
Hi, I'm sorry the late respons. Were you able to figure out the issue? It's hard for me to tell what the issue could be without seeing the configuration, but It may be some missing permissions where CloudFront can't access the S3 content. I will be publishing a new video replacing this one today (11am CET). It will among other things contain an update regarding how CloudFront access content in S3.
@ethandv6225
@ethandv6225 7 месяцев назад
2 years later and this video is still extremely helpful and useful! Your style and pacing was great as well! Thanks for concise and helpful tutorial
@EndreSynnes
@EndreSynnes 7 месяцев назад
Thank you so much!😄
@farfara1987
@farfara1987 7 месяцев назад
short video with a big content. just great 👍 !
@EndreSynnes
@EndreSynnes 7 месяцев назад
Thank you so much!😄
@sudheer8
@sudheer8 7 месяцев назад
I have one qq related the redirect .. I have UI Application running on ECS and the Authentication is set in the Application using OAUTH2 .. I am accessing this application using route53 -> API Gateway -> NLB -> ALB -> ECS .. the first index page loads perfectly and then when I click login button with OAUTH2 ... authentication is successful and the OAUTH server is sending a redirect URL .. but after that second page is not loading ..its saying page cannot be found ... have you seen this issue before we have VPC Integration with API gateway and Lambda Authorizer is also enabled with API Gateway
@EndreSynnes
@EndreSynnes 7 месяцев назад
Hi, I'm sorry for the late response. Thanks for the question and explanation of your setup. Still, it's kind of hard to know exactly where this can go wrong since there are a lot of services and config in play 🤔 Did you manage to figure out the issue?
@carloscontreraschavez4567
@carloscontreraschavez4567 8 месяцев назад
excellent video, thank you very mutch Endre
@EndreSynnes
@EndreSynnes 7 месяцев назад
Thank you so much!😄
@RajeshA-f3u
@RajeshA-f3u 8 месяцев назад
Looks great. Can you create a service which can consume database (prefer Aurora RDS ) CRUD operations events and pass to a lambda function to trigger a notification.
@EndreSynnes
@EndreSynnes 7 месяцев назад
Thank you so much!😄 I’m not sure exactly what you mean, do wonder if you can perform CRUD operations to an Aurora RDS database from a lambda function, or do you want a lambda function to somehow listen to CRUD operations against an RDS database performed by some other application? Please let me know if I misunderstood 😄
@uchejordy3255
@uchejordy3255 8 месяцев назад
Thank you Sir
@uchejordy3255
@uchejordy3255 8 месяцев назад
Thank you Sir
@Mangeshz
@Mangeshz 9 месяцев назад
million thanks man...
@EndreSynnes
@EndreSynnes 9 месяцев назад
I’m glad you found it helpful 😄
@vishalpathriya7986
@vishalpathriya7986 9 месяцев назад
How can i add SSL in multiple subdomains?
@EndreSynnes
@EndreSynnes 9 месяцев назад
Hi, I assume you mean having multiple sub domains registered to one CloudFront distribution? I haven't done that for a long time myself, but as I recall there shouldn't be any reason why you can't just add another sub-domain under "Alternate domain name (CNAME)", as long as the certificate you are using also include that sub-domain😄 Please let me know if this was unclear or if you have any issues with this 😄
@AmazeOnCloud
@AmazeOnCloud 9 месяцев назад
Super useful Endre !! It's solved my issue.
@EndreSynnes
@EndreSynnes 9 месяцев назад
Thank you so much! I'm glad it was helpful 😄
@edwardvakhovsky891
@edwardvakhovsky891 10 месяцев назад
Fully followed the instructions, but it was done for the existing bucket and the site is still showing: Not Secure. I assume that some sort of record had to be deleted from the old set of records, but can't figure out which one
@edwardvakhovsky891
@edwardvakhovsky891 10 месяцев назад
Never mind. Found the answer. Needed to delete the aliased record with the domain name and recreate with the CloudFront
@EndreSynnes
@EndreSynnes 10 месяцев назад
I see, great that you figured it out 😄🙌🏼
@code.scourge
@code.scourge 10 месяцев назад
Love your videos on Serverless Framework
@EndreSynnes
@EndreSynnes 10 месяцев назад
Thank you🤩 I’m thinking about making more infrastructure as code videos in the future😄
@terrabyte-techy
@terrabyte-techy 10 месяцев назад
Thank you for the video, that was very helpful.
@EndreSynnes
@EndreSynnes 10 месяцев назад
Thank you so much! I’m glad you found it helpful😄
@SeunghoChun
@SeunghoChun 10 месяцев назад
nice instruction.
@EndreSynnes
@EndreSynnes 10 месяцев назад
Thank you!😄
@lokanathpanda7187
@lokanathpanda7187 10 месяцев назад
Hello Sir, Sir I want to share the message the members those are present in the dynamDb table, there the phone number is available. Then please tell me what should the process that i should follow to send the message.
@EndreSynnes
@EndreSynnes 10 месяцев назад
Hi😄 Just to clarify; you have a DynamoDB table where the phone numbers are stored, and want to send SMS to each one of them?
@lokanathpanda7187
@lokanathpanda7187 10 месяцев назад
@@EndreSynnes Thank you for replying to me. Yes, I have a Dynamodb where the mobile numbers are stored. Using those numbers I want to send the Sms to those people whose details are available in the Dynamodb table. In the message I want to share some other information that is present in the Dynamodb table. For example: Hello Mr.Deo We got the subscription fee of 499 on 19/12/23. Thank you. So the above information need to be updated in the message these informations are stored in the database. Sir please tell if it is possible to do it in AWS.
@ssss-u7w
@ssss-u7w 10 месяцев назад
thanks
@paarthmanhas784
@paarthmanhas784 10 месяцев назад
Hey. nice video! Quick question - how long does it take for certificate to issue?
@EndreSynnes
@EndreSynnes 10 месяцев назад
Hi, thank you so much!😄 Usually it takes a few minutes (maybe 5-10), but it could also take a couple hours. If it’s not valid by now (and you have followed all the steps mentioned in the video), I would assume there is a validation issue.
@omarcrosby
@omarcrosby Год назад
thanks for this
@zubairameen
@zubairameen Год назад
Best tutorial ever!
@EndreSynnes
@EndreSynnes Год назад
Thank you so much 🙌🏼😄
@witchestify
@witchestify Год назад
hello I need help, I dont have OAI menu on my AWS :(
@EndreSynnes
@EndreSynnes Год назад
Hi😄 Sorry for the late response, but yes you won't find OAI in the menu anymore. Since uploading this video, AWS have replaced OAI with OAC. I will create a new video using OAC sometime in the future, but for now, I recommend reading this blog post from AWS: aws.amazon.com/blogs/networking-and-content-delivery/amazon-cloudfront-introduces-origin-access-control-oac/ I hope this was helpful😄
@AnthonySherritt
@AnthonySherritt Год назад
You've saved me hours. Please put up a way to send you Thank$
@EndreSynnes
@EndreSynnes Год назад
Thank you so much, I will look into it!😄
@ffrank1323
@ffrank1323 Год назад
hmm seems not working with a wordpress site... unbelievable how much time you have to spend get a SSL certificate in CHATGPT-age ... thanks anyway for your video
@EndreSynnes
@EndreSynnes Год назад
Hi😄 I see, I haven't tried it with a Wordpress site myself, but did you manage to get a valid certificate for your domain? In other words, does it say it's valid in AWS Certificate Manager? 😄
@stephenlflf3871
@stephenlflf3871 Год назад
Can I pay you to show me how to implement this on client side with java?
@EndreSynnes
@EndreSynnes Год назад
Hi, I'm sorry for the late response. Thank you for the request, but I currently don't do freelance work. I will gladly make videos on topics that you, my viewers suggest, and I will gladly try to answer any question related to my videos here on RU-vid 😄
@shavis4811
@shavis4811 Год назад
Clean and clear demo, exactly what I was looking for. Thanks much !
@EndreSynnes
@EndreSynnes Год назад
Thank you so much! 😄
@piotrzajac5824
@piotrzajac5824 Год назад
For anyone who has problem with validation timeout: You need also to set CNAME record to hosted zone. Once the validation is triggered open details of the request and you will see columns with CNAME name and CNAME value - this needs to be added for aws for validation.
@EndreSynnes
@EndreSynnes Год назад
Yes, as shown in the video from 4:40 and onwards 😄 You could also manually create the Hosted Zone CNAME records by copying the values from the columns CNAME name and CNAME value. This way you can validate a certificate even if the Hosted Zone isn't in the same AWS account as the certificate 😄
@piotrzajac5824
@piotrzajac5824 Год назад
@@EndreSynnes sure, but considering few people here had issues with timeouts, i suppose they had watched in the same manner as I did and forgot to set it up😅
@EndreSynnes
@EndreSynnes Год назад
That's true, there have been some questions regarding validation issues 😅 Hopefully this thread will be helpful for some 😄
@lukasjunior6027
@lukasjunior6027 Месяц назад
how many time do u had have to wait for the validation?
@piotrzajac5824
@piotrzajac5824 Год назад
Thanks a lot. Exactly what I needed to know. I hate bloated aws documentation.
@EndreSynnes
@EndreSynnes Год назад
Thank you so much! 😄 Yes the documentation isn't always that good 😅
@ISavaXx
@ISavaXx Год назад
Good job. You did everything except the laststep and you did not show if the https is working
@EndreSynnes
@EndreSynnes Год назад
Thank you 😄 Yes you are right, I didn't make use of the domain or certificate in this video. This video was only intended to show how to deploy a hosted zone (domain) and how to create and validate a certificate for that domain. How to enable HTTPS on your applications depends on how the application is deployed. Therefore I have created separate videos on this, both for API Gateways (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-JKI0td7QXTQ.html) and CloudFront distributions (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-M0GfSXr75iU.html). Keep in mind that CloudFront have had some updates since I uploaded this video, so I will create a new one at some point. Still it's highly relevant and could be used as a guide for enabling HTTPS. I hope this was somewhat clarifying? 😄
@FanHour
@FanHour Год назад
Thanks Endre, helpful video, and what I'm looking for is that can we create a queue for the files that drop to an s3 bucket, I want those files to be processed in order, as far as I know, whenever new files drop to a bucket, the attached lambda triggers the function and runs for each file separetely with files are unaware of each other (tell me if I'm wrong). For example when I upload 10 files to a bucket at the same time, I want second file to trigger lambda (or whatsoever) after the first file is completely processed and so on, is there a way to do that, all I can find is that we can use SQS to trigger lambda, but I don't think this is what I'm looking for.
@EndreSynnes
@EndreSynnes Год назад
Sorry for the late response! Thank you so much! 😄 Well, this may be a bit complicated to answer in a RU-vid comment, but I'll try 😅 There is of course several ways to solve this (also if you really need to have sequential processing), but one way could be: First to have a Lambda function that triggers on upload to S3 and only stores a record containing the filename, upload-timestamp and a status ("new_file") in a DynamoDB table. Then maybe another function that looks for the oldest files (by timestamp) with status "new_file" and starts processing it from S3. Once finished processing the file, update the DynamoDB record with status as complete. Also, it could after that look for other records with status "new_file" and send an event which trigger the processing of the next record, until all records are marked as "complete". This may not be the best solution, but It may work if I understood your use case correctly😄
@santoshdutt3663
@santoshdutt3663 Год назад
Is it possible to use multiple SNS topics with one Lambda?
@EndreSynnes
@EndreSynnes Год назад
Hi 😄 I assume you mean sending to multiple SNS topics from one Lambda function? In that case, I haven't tried that myself, but I can't see any reason why you shouldn't be able to do that. I guess you could just use the Boto3 library as I have done here, and just send to multiple SNS topics. Then again what is the use case for this? Maybe EventBridge could be an alternative, with custom rules depending on the content of each message/record?
@rumortrader2143
@rumortrader2143 Год назад
Wow your explanantions are so simple, elegant and practical! I have been searching high and low for a video to explain API Gateway to me but everything else has been a waste of time compared to this.. please tell me you have a udemy course or something!
@EndreSynnes
@EndreSynnes Год назад
Thank you so much! 🤩 I'm glad you enjoyed it 🙌 No, I haven't created any Udemy course yet, but I may look into that in the future 😄