Hey guys… I have recently completed my first lab on lambda, and I see we must deploy our code before being able to test it. My question is where does lambda deploys our code to? Is it like lambda is an environment itself that the code should be deployed to it first before we can run it, or does it deploy the code to another environment?
From the Lambda documentation: https://docs.aws.amazon.com/lambda/latest/dg/welcome.html
“Lambda is a compute service that lets you run code without provisioning or managing servers. Lambda runs your code on a high-availability compute infrastructure and performs all of the administration of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code monitoring and logging.” When you “deploy” your code, you are making it live. Until you “deploy” your code, it will not execute any action. For example, if the code is processing data uploaded to an S3 bucket, it will not actually start taking that action until the code is deployed. This is also true for any changes done to already existing functions.
My understanding of the process of deployment is making the code ready to be used by the end-user usually through putting it on a live server. Does it mean Lambda automatically makes something like an EC2 instance in the background and run our code on that all by itself?
Its more accurate to assume the resources, such as a live server, are already active and ready for you to process. Im not 100% sure how they actually provision/decommission servers for lambda execution, but its safe to assume that the resources are already there for oyu to use. There are service limits and quotas to be aware of, however quotas are not something that I believe you need to be aware of until the Solutions Architect level: https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html