Serverless Compute (Lambda) Flashcards

1
Q

What is a Microservices Architecture?

A

o A Microservices Architecture is the opposite of a Monolithic Architecture: instead of having all system functions in one codebase, components are separated into microservices and operate independently. Operations, updates and scaling can be done on a per-microservice basis
o Microservices allow direct communication between components and end user. If one part of the system requires more capacity, that service alone can be scaled and updated as needed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are APIs?

A

o An API (Application Programming Interface) is an interface accessed ( = consumed) by another service or application
o An API Endpoint hosts one or more APIs and makes them available on a network (private or public internet). APIs remain static – they are abstracted from what the code inside the service is doing. API consumers don’t care how things are done, only that the interface works

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an Event-Driven Architecture?

A

o When using an Event-Driven Architecture, a system operates around events that represent an action or a change of state (a button being clicked, a file being uploaded, the temperature dropping below a certain level). It is efficient because events are generated and pushed, rather things being continuously polled (polling requires always-on compute and does not scale well)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a Serverless Architecture?

A

o Serverless Architectures consists of 2 main principles:
 Backend as a Service (Baas): using 3rd-party services where possible, rather than running your own (e.g. Auth0 or Cognito for Authentication, Firebase or DynamoDB for Data Storage)
 Function as a Service (Faas): using event-driven architecture where possible. The functions defining the applications are only active (= invoked) when needed, i.e. when an event is received

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Lambda?

A

o Lambda is a FaaS product. Functions are code, which is executed in a runtime. Functions are invoked by events, perform actions for up to 15 minutes, and then terminate. Functions are stateless – each run is clean
o Functions can consume internet API endpoints or other services
o Functions can be allowed access to VPCs – allowing private resource access
o Lambda support many prebuilt runtimes, and custom ones can be created
o Access to AWS services is provided by the function’s execution role. This role is assumed by Lambda, and temporary security credentials are available to the function via STS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is API Gateway?

A

o API Gateway is a managed API endpoint service. It can be used to create, publish, monitor and secure APIs as a service. API Gateway can use other AWS services for compute (FaaS/IaaS) as well as to store and recall data
o APIs can be migrated to API Gateway in a monolithic form, and gradually moved to a microservices architecture, and then, once components have been fully broken up, a serverless and FaaS based architecture
Monolith ==> Microservice ==> Serverless

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Step Functions?

A

o Step Functions is a serverless visual workflow service that provides state machines
o It replaces SWF (Simple Workflow Service) for server based workflows
o A State Machine can orchestrate other AWS services with simple logic, branching and parallel execution, and it maintains a state; they can perform work via tasks
o Step Functions allows for long-running serverless workflows (up to 1 year), overrunning the limitation of Lambda being stateless and limited in execution to 15’
o A State Machine can be defined using Amazon State Language (ASL)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly