Introduction to Serverless Computing and AWS Lambda
Fon Nkwenti
Sr. Serverless Developer�Serverless Guru
Agenda
Name: Yunwen Eric
Company: Neero CM
Role: Mobile Developer
Communities: AWS User Group Douala 🇨🇲,GDG Bamenda
@yunweneric
@yunweneric
About Me
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
1.0
Introduction to Flutter and Amplify
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
Flutter is an open-source UI toolkit by Google for building natively compiled apps for mobile, web, and desktop from a single codebase. It uses the Dart programming language.
What is a Flutter?
A backend solution where infrastructure management is abstracted away, allowing developers to focus on code.
About Serverless
Serverless VS traditional architecture.
Aspect | Serverless | Traditional |
Infrastructure Management | No need to manage servers, handled by cloud provider | Servers must be provisioned, managed, and maintained manually |
Scalability | Automatic, scales up/down based on demand | Manual scaling or requires load balancing and server management |
Cost | Pay-per-use, charged based on execution time and resources | Fixed cost based on server capacity, regardless of usage |
Deployment Speed | Fast deployment, often with minimal configuration | Slower, requires configuring servers and infrastructure |
Use Case | Ideal for event-driven, short-lived, or stateless applications | Suited for long-running applications or those needing full control over resources |
Vendor Dependency | High vendor lock-in with cloud providers (AWS, Azure, etc.) | More flexibility to switch between providers or self-hosted options |
2.0
Set up AWS Amplify with a Flutter App
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
Prerequisite
Getting Started
Backend generated in tsc
Platform setup and constraints
Local Development setup with sandboxes
Break☕️
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
3.0
Implement Secure Authentication
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
Key Concepts of Authentication & Authorization
Amazon Cognito + Amplify Integration
Amazon Cognito + Amplify Integration
Amazon Cognito
Amazon Cognito Federated Identities or Identity Pools
Amazon Cognito User Pools
Amazon Cognito user pools
Amazon Cognito User Pools is a full-featured user directory service to handle user registration, authentication, and account recovery
Amazon Cognito Federated Identities or Identity Pools
Before you build
Amazon Cognito can be customized based on your security strategy for authentication. However, some initial configuration options cannot be changed after the backend resources are configured:
Find Rules Here
https://docs.amplify.aws/flutter/build-a-backend/auth/concepts/#before-you-build
EMAIL AUTH
Email Auth Backend Setup
Deploy Sandbox
Flutter Dependencies
Flutter Dependencies
Initialize the config generated
Using Authenticator UI Library
Using Client library
PHONE AUTH
Deploy Sandbox
Why does sandbox deployment fails?
Break☕️
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
4.0
Create and Deploy APIs
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
Create a schema and export resource
Connect to flutter frontend
DEMO
Explorations
5.0
Deploying backend to production
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.
Amplify.yml
The amplify.yml file is a configuration file used in AWS Amplify to define custom build and deployment processes for both the backend and frontend of your application. It specifies the phases for building, caching, and deploying your application.
Backend CI
Flutter Local CI
What is wrong with local Builds?
Thank You
Let’s connect
@yunweneric
@yunweneric
© 2020, PMazon Web Services, Inc. or its affiliates. All rights reserved.