An overview of Serverless services on AWS

    Due to constant digitalization many companies try to make a mark and opt for serverless applications and services.
    The pain points serverless services help to solve:
  • Scalability
  • Costs spent on in-house data centers & servers
  • Expenses on IT specialists to support & maintain in-house servers
    Learn about the most popular AWS serverless services grouped according to their functions. Serverless services will make your application secure, scalable, reliable, and available globally.

1. Computing

AWS Lambda

Amazon Lambda

What is AWS Lambda?

AWS Lambda is a serverless computing service that enables you to run code without the need to provision or manage servers. It allows you to focus solely on your code, automatically taking care of the underlying infrastructure, including server and OS maintenance, capacity provisioning, and automatic scaling.

Lambda features

Key features include automatic scaling based on the workload, support for multiple programming languages such as Python, Node.js, and Java, and seamless integration with other AWS services like S3 and DynamoDB. It also offers a pay-as-you-go pricing model, where you’re charged based on the number of requests and the duration your code executes.

How does it work?

AWS Lambda is event-driven, meaning it runs code in response to specific events like changes to data in an AWS S3 bucket or an update in a DynamoDB table. Once triggered, Lambda executes the function asynchronously, automatically scaling up or down as many copies of the function as needed to handle the rate of incoming events.

Typical use cases

  • Real-time file processing
    AWS Lambda’s event-driven architecture enables immediate processing of files as they are uploaded to an S3 bucket. This is particularly useful for applications that require quick data transformation or analysis, such as image resizing or log file analysis.
  • Data transformation
    Lambda works seamlessly with DynamoDB to convert data into different formats or structures. This is essential for integrating disparate data sources, preparing data for analytics, or even for migrating data between systems.
  • Backend APIs
    Lambda can host your API logic, providing a serverless way to manage API requests and responses. This eliminates the need for a traditional backend, offering automatic scaling and cost savings. It also integrates well with API Gateway for endpoint management.
  • IoT applications
    AWS Lambda is frequently used in IoT applications to execute code in response to events like sensor data changes or device state updates. It allows for real-time data processing and can integrate with other AWS services for data storage, analytics, and security features.

AWS Fargate

AWS Fargate

What is AWS Fargate?

AWS Fargate is a serverless compute engine designed for containers. It eliminates the need to manage the server infrastructure, allowing you to focus on designing and building your applications.

Fargate features

Key features include a simplified workflow, automatic scaling, and deep integration with Amazon ECS and EKS. It also offers enhanced security features, including task-level IAM roles and VPC isolation.

How does it work?

With Fargate, you package your application in containers, specify the CPU and memory requirements, and launch the application. Fargate takes care of all the operational aspects like server and infrastructure management, maintenance, and scaling.

Typical use cases

  • Deploying microservices
    AWS Fargate allows you to run containerized microservices without the hassle of managing servers. It automates the deployment, scaling, and management of containers, making it easier to build microservices architectures.
  • Batch processing
    AWS services like Fargate can execute multiple tasks in parallel, making it ideal for batch processing jobs. This is often used in scenarios like data ingestion, transformation, and batch analytics.
  • Backend services for APIs
    Supporting functionalities for APIs, often managed through AWS Lambda or API Gateway.
  • Data processing tasks
    AWS Fargate is often used for running data processing tasks in a serverless environment, eliminating the need to manage underlying infrastructure. It’s suitable for batch processing, real-time analytics, and ETL (Extract, Transform, Load) jobs, offering scalability and flexibility.

2. Databases

AWS DynamoDB

AWS DynamoDB logo

What is AWS DynamoDB?

AWS DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. It’s designed to handle large volumes of data and traffic, making it a go-to solution for big data applications.

DynamoDB features

Key features include automatic sharding to distribute data across multiple servers, built-in security with encryption at rest, and point-in-time recovery options. It also offers a flexible schema model, allowing you to add or remove attributes without affecting performance.

How does it work?

DynamoDB automatically partitions your data across multiple servers based on the hash key you provide. It scales up or down to meet your application’s demand, and you only pay for the read and write throughput you use.

Typical use cases

  • Real-time analytics
    DynamoDB, often facilitated by AWS CloudWatch, enables instant data analysis and monitoring. This is particularly useful for applications that require real-time insights for decision-making.
  • Mobile and web applications
    DynamoDB provides a robust backend for mobile and web applications, fully managed and scalable. It’s a go-to solution for developers who want to focus on application logic rather than database management.
  • IoT data storage
    DynamoDB is ideal for storing data from Internet of Things devices due to its scalability and performance. It can handle large volumes of data and is designed for high-velocity data streams.
  • Caching and session storage
    DynamoDB is commonly used for session storage, allowing web applications to maintain stateful information across multiple servers. It’s also employed for caching to speed up data retrieval, reducing the load on primary databases.

Amazon Aurora

Amazon Aurora

What is Amazon Aurora?

Amazon Aurora is a relational database service that’s part of the Amazon RDS family. It’s designed to be fully compatible with MySQL and PostgreSQL while offering up to five times the performance.

Aurora features

Key features include automatic backups to Amazon S3, seamless replication for enhanced availability, and automatic scaling. It also offers advanced security features, including encryption at rest and in transit.

How does it work?

Aurora automatically divides your database into 10GB segments and replicates it across multiple Availability Zones. This ensures high availability and fault tolerance. It also automatically scales up or down based on your application’s needs.

Typical use cases

  • Enterprise-level applications
    Aurora is suitable for large-scale applications requiring high performance and availability. It offers compatibility with MySQL and PostgreSQL, making it versatile for different database needs.
  • Financial systems
    Aurora provides a secure and reliable environment for managing and analyzing financial operations. It’s commonly used in banking and financial services for transaction processing and data analytics.
  • SaaS applications
    Aurora is commonly used in Software as a Service applications for its scalability and performance. It offers features like automatic backups and seamless replication, ensuring data integrity and availability.

 

3. Messaging

Amazon SNS

Amazon SNS

What is Amazon SNS?

Amazon Simple Notification Service (SNS) is a fully managed messaging service for both application-to-application and application-to-person communication.

SNS features

Key features include the ability to publish messages to multiple subscribers and endpoints, including email, SMS, and Lambda functions. It also offers message filtering and fan-out capabilities, allowing you to route messages to specific subscribers.

How does it work?

You can set up SNS topics and publish messages to these topics. Subscribers to these topics will receive the messages via the protocol they’ve chosen, such as email or SMS.

Typical use cases

  • Event notification systems
    SNS is perfect for systems that alert users to specific events or conditions. It can send notifications through various channels like email, SMS, or even trigger Lambda functions for custom workflows.
  • Workflow systems
    SNS can be used to manage and automate a sequence of tasks in a workflow. It’s often integrated with other AWS services to create comprehensive, automated solutions for business processes.
  • Time-sensitive information updates
    SNS is ideal for disseminating critical or timely data immediately. This is crucial in scenarios like emergency alerts or system failure notifications.

Amazon SQS

Amazon SQS

What is Amazon SQS?

Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables decoupling of the components of a cloud application.

SQS features

Key features include:

  • Unlimited queuing
  • Message retention policies
  • The ability to handle a high throughput of messages

It also offers features like:

  • Message timers
  • Batch operations
  • Dead-letter queues.

How does it work?

Messages are sent to a queue where they are stored until they are retrieved by a consumer or application. SQS ensures the messages are processed in the order they are received.

Typical use cases

  • Order processing queues
    SQS manages customer orders in a scalable manner, ensuring efficient and sequential processing. It’s a reliable solution for e-commerce platforms that experience variable order volumes.
  • Data ingestion pipelines
    SQS is used for collecting, processing, and storing data in a scalable way. It can handle high-throughput scenarios and ensures that data is processed in the order it’s received.
  • Background task queues
    SQS manages tasks that run behind the scenes, like sending emails or generating reports. It ensures that these tasks are executed efficiently, without overloading the system resources.

4. Monitoring

AWS CloudWatch

Amazon CloudWatch

What is AWS CloudWatch?

AWS CloudWatch is a comprehensive monitoring and observability service that provides actionable insights to monitor applications, respond to system-wide performance changes, and optimize resource utilization.

CloudWatch features

Key features include real-time monitoring of AWS resources, custom dashboards, and the ability to set high-resolution alarms. It also offers log storage and analysis, as well as automated actions based on triggers.

How does it work?

CloudWatch collects monitoring and operational data in the form of logs, metrics, and events. You can set up alarms and automated actions based on pre-defined thresholds or machine-learning algorithms that identify abnormal patterns.

Typical use cases

  • Monitor application performance
    Visualize performance data, create alarms, and correlate data to understand and resolve the root cause of performance issues in your AWS resources.
  • Resource optimization
    CloudWatch helps you understand how your resources are being utilized. You can set up custom dashboards to monitor key performance indicators, making it easier to identify underused resources and optimize costs.

Amazon QuickSight

Amazon QuickSight

What is Amazon QuickSight?

Amazon QuickSight is a business intelligence service that makes it easy to deliver insights to everyone in your organization. It allows you to create and publish interactive dashboards that can be accessed from any device.

QuickSight features

Key features include a serverless architecture, machine learning insights, and the ability to embed analytics into applications. It also offers a wide range of data connectors to various data sources, including AWS services and on-premises databases.

How does it work?

QuickSight pulls data from various sources, processes it, and then visualizes it in a way that’s easy to understand. You can create custom dashboards and reports that can be shared with others.

Typical use cases

  • Business reporting
    QuickSight enables the compilation and analysis of business metrics in real-time. It’s a powerful tool for executives and decision-makers who need immediate insights for strategic planning.
  • Data analytics
    QuickSight is used for examining large data sets to draw conclusions and make data-driven decisions. It can process data from various sources, including AWS services and on-premises databases, offering a comprehensive view of business operations.
  • Real-time dashboarding for monitoring KPIs
    QuickSight allows for the instant visualization of key performance indicators. This is particularly useful for monitoring real-time metrics in sectors like e-commerce, where immediate data can drive quick decisions.

5. Service Integration

AWS Step Functions
AWS Step Functions

What is AWS Step Functions?

AWS Step Functions is a serverless workflow service that lets you coordinate distributed applications using visual workflows.

Step Functions features

Key features include the ability to build, run, and visualize workflows that stitch together services like:

  • AWS Lambda
  • AWS Fargate
  • Amazon SNS

It also offers built-in error handling and retry mechanisms.

How does it work?

Defined state machines in Step Functions using JSON-based Amazon States Language. These state machines coordinate the components of the distributed application.

Typical use cases

  • Data processing pipelines
    Step Functions can sequence data processing steps, making it ideal for ETL operations or data analytics workflows. It offers built-in error handling and retry mechanisms, ensuring data integrity and process reliability.
  • Microservices orchestration
    Step Functions coordinates how microservices interact with each other. This is crucial for complex applications that involve multiple, independent services needing to work in harmony.
  • Automated workflows
    Step Functions allows you to automate sequences of tasks in a visual workflow. This is often used in scenarios like automated approval processes or complex business logic implementations.

Amazon API Gateway

Amazon API Gateway

What is Amazon API Gateway?

Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.

API Gateway features

Key features include support for RESTful and WebSocket APIs, automatic SDK generation, and built-in authentication and authorization.

How does it work?

API Gateway handles all the tasks associated with accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, authorization, and access control.

Typical use cases

Common scenarios include creating APIs that access AWS or other web services, as well as data stored in the AWS Cloud.

6. Security

Amazon Cognito

Amazon Cognito

What is Amazon Cognito?

Amazon Cognito is a fully managed service designed to handle user identity and authentication in a scalable and secure way. It allows you to manage user identities and authentication in a unified way across multiple app types and platforms.

Cognito features

Key features include support for social identity providers like Facebook and Google, as well as enterprise identity providers through SAML. It also offers user directory management and data synchronization across devices.

How does it work?

Amazon Cognito operates through two main components: User Pools for user directory management and Identity Pools for AWS resource access. User Pools handle user registration and login, while Identity Pools provide temporary AWS credentials to access AWS services.

Typical use cases

  • User authentication for mobile apps
    Cognito verifies the identity of mobile app users, providing a secure and scalable solution for mobile application development. It supports social identity providers like Facebook and Google, making it easier to implement social sign-ins.
  • Identity federation for enterprise applications
    Cognito offers unified identity management across multiple systems, including enterprise identity providers through SAML. This is particularly useful for businesses that have a diverse set of applications and services requiring a centralized identity solution.
  • Secure backend authentication for various services
    Cognito ensures that only authorized users can access server-side resources. It’s a robust solution for applications that require secure user authentication and authorization, such as financial or healthcare apps.

AWS KMS

AWS KMS icon

What is AWS KMS?

AWS Key Management Service (KMS) is a fully managed encryption service that simplifies the process of hosting and managing cryptographic keys, allowing you to more easily implement data encryption and secure data both in transit and at rest.

KMS features

Key features include centralized management of cryptographic keys, audit trails via AWS CloudTrail, and the ability to use the keys in cryptographic operations. It also supports automatic key rotation and offers a high level of durability and availability.

How does it work?

AWS KMS allows you to create, control, and rotate encryption keys used to secure data. You can define who can use these keys and who can administer them through policy-based controls.

Typical use cases

  • Encrypting data stored in various AWS services
    KMS allows you to secure data within Amazon Web Services by providing centralized management of cryptographic keys. This is essential for compliance with data protection regulations like GDPR or HIPAA.
  • Managing keys for applications that use AWS SDKs
    KMS is used for handling encryption keys in applications that use AWS SDKs. It provides a high level of security by allowing you to define who can use and administer these keys.
  • Extending on-premises security controls to the cloud
    KMS enables businesses to apply their local security measures to cloud services. This is crucial for hybrid cloud architectures where data may reside both on-premises and in the cloud.

7. Data Analytics

Amazon Kinesis

AWS Kinesis

What is Amazon Kinesis

Amazon Kinesis is a real-time data streaming service that can collect and analyze large amounts of data in real-time. It’s ideal for applications that require real-time analytics and dashboarding.

Kinesis Data Streams

Kinesis Data Streams is a real-time data streaming service that allows you to collect and analyze large volumes of data in real-time. It’s ideal for applications that require real-time analytics and dashboarding.

Kinesis Video Streams

Kinesis Video Streams captures, processes, and stores video streams for analytics and machine learning. It can handle various video formats and integrates seamlessly with other AWS services.

Kinesis Data Firehose

Kinesis Data Firehose is designed to load data streams directly into AWS data stores like S3, Redshift, or Elasticsearch. It can also transform the data before loading, making it a powerful tool for ETL operations.

Amazon Kinesis Data Streams features

Key features include scalability, real-time processing, and durability. It also supports multiple data producers and consumers, making it versatile for various use-cases.

Amazon Kinesis Video Streams features

Features include secure video storage, real-time analytics, and compatibility with various video formats. It also supports machine learning algorithms for advanced analytics.

Amazon Kinesis Data Firehose features

Automatic scaling, data transformation capabilities, and support for various data destinations are some of its key features. It’s designed for ease of use and integrates with popular data lakes and analytics services.

How does it work?

Kinesis services work by capturing large streams of data records from various sources like IoT devices, user activity on websites, or financial transactions. This data is then available for real-time processing and analytics.

Typical use cases

  • Creating real-time applications
    Amazon Kinesis is ideal for applications that require real-time analytics and dashboarding. It can handle large volumes of data from various sources like IoT devices, making it a go-to solution for real-time data processing.
  • Switching from batch to real-time analytics
    Kinesis allows organizations to transition from batch processing to real-time analytics. This is particularly useful for businesses that need to make quick decisions based on real-time data.
  • Analyzing IoT device data
    Kinesis is commonly used for collecting and analyzing data from Internet of Things devices. This enables businesses to gain insights into device performance, user engagement, and other key metrics.
  • Building video analytics apps that securely stream video from camera equipped devices.
    Kinesis Video Streams can securely stream video from camera-equipped devices, making it suitable for applications that require real-time video analytics. This is often used in security monitoring, healthcare, and retail analytics.

What companies/apps use Amazon Kinesis:

  • Wyze
  • Nextdoor
  • Zillow

AWS Glue

aws glue

What is AWS Glue

AWS Glue is a fully managed extract, transform, and load (ETL) service that makes it easy to prepare and load data for analytics. It can discover, access, and transform data from various sources.

Glue Data Catalog

The Glue Data Catalog serves as a centralized metadata repository for all your data across AWS and other data stores. It integrates with:

  • Amazon S3
  • RDS
  • Redshift

And others, making it easier to start your analytics projects.

Glue ETL

Glue ETL (Extract, Transform, Load) allows you to move data between data stores. It automatically generates Python or Scala code for data transformation, making it easier to prepare data for analytics.

AWS Glue DataBrew

DataBrew is a visual data preparation tool that allows you to clean and normalize data without writing any code. It’s particularly useful for data analysts and data scientists who are not familiar with coding.

AWS Glue features

Key features include serverless architecture, automatic schema discovery, and code generation for data transformation. It also supports a wide range of data sources and targets, making it versatile for various data integration scenarios.

How does it work?

AWS Glue crawls your data sources, identifies data formats, and suggests schemas and transformations. It then generates ETL code in Python or Scala to move, enrich, and transform the data from source to target.

Typical use cases:

  • Data warehousing
    AWS Glue is commonly used for centralized storage of large volumes of structured data. It’s optimized for query and analysis, making it a robust solution for business intelligence needs.
  • Data lake analytics
    Glue can analyze raw, structured, or unstructured data stored in a data lake. This is crucial for organizations that collect data from multiple sources and need a unified platform for analytics.
  • Data preparation for machine learning
    AWS Glue can clean and transform raw data into a format suitable for machine learning algorithms. This simplifies the data preparation process, allowing data scientists to focus on model training and evaluation.

It’s designed to simplify the process of making data ready for analytics, machine learning, or application development.

8. Machine Learning

AWS SageMaker

Amazon SageMaker

What is AWS SageMaker

AWS SageMaker is a fully managed machine learning service that enables you to build, train, and deploy machine learning models quickly. It provides a complete set of tools for data scientists and developers to experiment with and deploy models at scale.

SageMaker features

  • Built-in algorithms
  • Model training
  • Easy deployment

It also offers a complete set of tools for data scientists and developers to experiment with and deploy models at scale.

How does it work?

SageMaker provides a complete machine learning workflow that includes:

  • Data labeling
  • Training
  • Deployment

You can either use built-in algorithms or bring your own.

Typical use cases

  • Predictive analytics
    SageMaker is used for building models that can forecast future events or trends based on historical data. This is particularly useful in sectors like finance, healthcare, and retail where predictive insights can be game-changing.
  • Natural language processing
    SageMaker supports NLP algorithms that enable computers to understand and interpret human language. This is often used in customer service bots, sentiment analysis, and language translation services.
  • Recommendation systems
    SageMaker can build algorithms that suggest items or actions based on user behavior or preferences. This is commonly used in e-commerce platforms to personalize the user experience.

It’s designed to help organizations quickly build, train, and deploy machine learning models.

AWS Comprehend

Amazon Comprehend

What is AWS Comprehend

AWS Comprehend is a natural language processing (NLP) service that uses machine learning to find insights and relationships in text. It can be used for sentiment analysis, entity recognition, and language detection.

Comprehend features

  • Sentiment analysis
  • Entity recognition
  • Language detection

It uses machine learning to find insights and relationships in text.

How does it work?

Comprehend uses machine learning models to analyze text. You can integrate it into your applications via API calls, making it easy to add advanced text analytics features.

Typical use cases

  • Customer feedback analysis
    Comprehend is used to analyze customer feedback from various channels like social media or customer reviews. This helps businesses understand customer sentiment and improve their products or services accordingly.
  • Social media monitoring
    Comprehend can analyze large volumes of social media data to identify trends, public sentiment, and emerging issues. This is crucial for brand management and public relations strategies.
  • Content personalization
    Comprehend can be used to personalize content based on user behavior and preferences. This is often used in news aggregators or e-commerce platforms to enhance user engagement and increase conversion rates.

Ivan Shulak
Ivan Shulak Sr. Delivery Manager, Senior Application Architect at Romexsoft | AWS Certified Solutions ArchitectOracle Certified Professional, Java SE 8 Programmer | Keen on Java Application Development and Cloud Application Development.
Share The Post