Let’s talk about how to build a serverless architecture on the cloud?
2024.04.03
Today let’s talk about the serviceless ecosystem of the three major cloud service providers AWS, GCP and Azure.
Serverless architecture has revolutionized the way organizations build, deploy, and manage applications. By abstracting server management and basing billing on consumption , serverless architecture provides a way to increase efficiency and reduce costs.
Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure are at the forefront of this innovation. Each platform offers a comprehensive suite of serviceless products to address all aspects of cloud computing.
picture
01 Calculation
- AWS Lambda is the cornerstone of AWS serverless computing, allowing users to run code in response to events.
- Google Cloud Functions provides similar functionality in GCP, focusing on auto-scaling event-driven functions.
- Azure Functions supports a wide range of programming languages and triggers, including HTTP, timers, and webhooks.
02 Container management
- AWS Fargate supports serverless container deployments without the need to manage servers or clusters.
- Google Kubernetes Engine (GKE) Autopilot is a revolutionary operating mode provided by Google Cloud for running Kubernetes clusters. Launched in early 2021, Autopilot abstracts and automates many of the operational overhead associated with managing Kubernetes clusters, allowing developers and operations teams to focus more on their applications and less on the underlying infrastructure.
- Azure Logic Apps is a cloud service that helps you automate and orchestrate tasks, business processes, and workflows when you need to integrate applications, data, systems, and services across your enterprise or organization. It provides a visual designer for modeling and automating your processes into a series of steps called workflows.
03 API Management
- Amazon API Gateway supports creating, publishing, maintaining, monitoring, and securing APIs of any size.
- Google Cloud Endpoints and Apigee Edge provide API management, and Apigee provides more comprehensive functions for enterprise customers.
- Azure API Management provides a one-stop solution for publishing APIs to external and internal customers.
04 Messaging
- Amazon SNS (Simple Notification Service) and SQS (Simple Queue Service) provide messaging and queuing services respectively.
- Google Cloud Pub/Sub provides message queues for asynchronous service-to-service communication.
- Azure Service Bus provides messaging capabilities and focuses on high-value enterprise messaging.
05 database
- Amazon DynamoDB is a managed NoSQL database service known for its low latency and scalability.
- Google Cloud Firestore and Firebase Realtime Database provide real-time data synchronization.
- Azure Cosmos DB is a globally distributed, multi-model database service designed for high availability and low latency.
06 Storage
- Amazon S3 (Simple Storage Service) is an object storage service with industry-leading scalability, data availability, security, and performance.
- Google Cloud Storage provides powerful yet simple object storage solutions, available in various categories for different use cases.
- Azure Blob Storage provides scalable object storage for unstructured data with tiered storage and data lifecycle management capabilities.
07 Machine Learning
- AWS SageMaker gives every developer and data scientist the ability to quickly build, train, and deploy machine learning models.
- Vertex AI is a unified machine learning (ML) platform provided by Google Cloud, designed to help data scientists and machine learning engineers build, deploy and scale ML models more efficiently.
- Azure Machine Learning is a cloud-based environment that supports the entire machine learning lifecycle.
08 Data Analysis
- Amazon Kinesis makes it possible to process large-scale streaming data in real time.
- Dataflow is a fully managed service for streaming and batch data processing in the GCP ecosystem. It is designed to enable developers and data engineers to transform and enrich streaming (real-time) and batch (historical) data without the need to manage the underlying processing infrastructure.
- Azure Stream Analytics provides real-time analysis of fast-moving data streams from applications and devices.
09 Incident Management
- AWS EventBridge is a serverless event bus that connects application data from a variety of sources.
- Eventarc is a fully managed event service provided by GCP that enables developers to easily build event-driven applications. It allows events to be routed from Google Cloud sources and custom sources to various Google Cloud services and custom targets, promoting a unified event experience across Google Cloud services.
- Azure Event Grid allows for easy routing of various events based on event source, type, and topic.
10 Integration
- AWS Step Functions allows you to coordinate multiple AWS services into serverless workflows.
- Google Cloud Workflow integrates Google Cloud and HTTP-based API services in a serverless workflow.
- Azure Logic Apps help automate workflows across apps and services.
11 DevOps
- AWS CodeBuild, CodeDeploy, and CodePipeline provide a suite of CI/CD tools.
- Google Cloud Build, Cloud Deploy, and Artifact Registry provide solutions for continuous integration and delivery.
- Azure DevOps services provide development services that enable teams to plan work, collaborate on code development, and build and deploy applications.
12 big data
- AWS Glue is a fully managed ETL service from AWS that enables customers to easily prepare and load data for analysis. By automating the time-consuming steps of data preparation, AWS Glue simplifies the process of discovering, accessing, cleaning, and combining data from a variety of sources, providing a serverless environment.
- Google BigQuery is a fully managed, serverless, highly scalable cloud data warehouse from GCP that leverages the processing power of Google's infrastructure for ultra-fast SQL queries. BigQuery is designed for big data analysis, allowing users to easily analyze petabytes of data without having to manage database infrastructure.
- Azure Synapse Analytics is an unlimited analytics service that combines enterprise data warehousing and big data analytics. It allows you to query data on your own terms, across data warehouses, data lakes and big data analytics systems, at scale using on-demand or provisioned resources.
13 Content Management and Deployment
- AWS Amplify is a set of tools and services provided by AWS that enable developers to build and deploy scalable and secure full-stack applications, with a special focus on web and mobile applications. Amplify simplifies the application development process by providing a comprehensive suite of services including authentication, APIs (GraphQL and REST), storage, interactions, and more, all equipped with an easy-to-use interface and integrated with the powerful cloud infrastructure of AWS integrated. It supports popular frameworks and platforms such as React, Angular, Vue, Android, and iOS, making it a versatile choice for developers looking to leverage the power of the AWS cloud to enhance their application development workflows.
- Firebase is a platform developed by Google for creating mobile and web applications. It provides a range of tools and services to help developers build high-quality applications, improve application quality, and grow their user base. Key features include real-time database, authentication services, analytics, file storage and hosting. Firebase simplifies the development process by providing a real-time database and backend as a service, allowing developers to focus on creating user-centric applications without worrying about backend infrastructure. It integrates with GCP to provide scalable infrastructure and access to GCP's powerful data processing and analysis capabilities.
- Azure Static Web Apps simplifies the deployment process of static web applications. It automatically builds and deploys full-stack web applications from code repositories to a CDN. This service is optimized for modern web applications with a static front end and optional dynamic back end. Static Web Apps integrates with GitHub and Azure DevOps to enable continuous integration and deployment (CI/CD), making it easier for developers to launch web applications that scale with their business. It supports popular static site generators and frameworks, providing developers with a seamless development experience from source code to global deployment.