05/06/2022 10:31 | Category: aws

Tags: serverlessdeveloper_associatecertification

aws serverless intro

Serverless allows developers to run application code in the cloud without managing any server infrastructure. AWS handles the infrastructure management tasks to avoid having that bog down development time, instead we just focus on writing code.

Automated infrastructure management tasks

  • Capacity provisioning
  • Patching operating systems
  • Auto scaling infrastructure
  • High availability

Competitive advantage

  • Increases speed to market - eliminates overhead of managing servers and releases

code quickly

  • Very scalable - we can have a million+ users on a site that would scale automatically
  • Lower costs - never pay for over-provisioning
    • Serverless applications are event-driven and only charged when code is executed
  • Focus on the application - by not focusing on the infrastructure you can focus

on business logic * AWS offers a range of serverless technologies that integrate seamlessly

Example serverless technologies

Note: Typically serverless technologies are stateless; however, they can call other services that would hold state.

  • Lambda - enables you to run code as functions without provisioning servers
  • Simple queue service (sqs) - Message queuing service to decouple and scale apps
  • Simple notification service (sns) - messaging service for sending texts, mobile notifications, emails
  • API Gateway - allows you to create, publish, and secure APIs at any scale
  • DynamoDB - a fully managed NoSQL database
  • S3 - object storage and web hosting

Example serverless architecture

An example serverless architecture for a website using Auth0, S3, API Gateway, Firebase (NoSQL), Lambda, credit payments.

Example serverless architecture

Serverless exam tips

  • Serverless - Enables you to build scalable applications quickly without any server management
  • Low cost - serverless apps are event-driven and only charge when the code is executed
  • AWS handles heavy lifting - including provisioning, scaling, patching, etc.