内容简介:Serverless is no longer a novel technology to the software industry. Besides, its nearly six years, since Amazon Web Services (AWS) introduced Lambda, known to be the birth of Serverless computing. Since then, different Serverless solutions emerged with di
Best serverless solutions for different categories.
Mar 30 ·9min read
Serverless is no longer a novel technology to the software industry. Besides, its nearly six years, since Amazon Web Services (AWS) introduced Lambda, known to be the birth of Serverless computing. Since then, different Serverless solutions emerged with diversity, ranging from computing, databases, and streaming data, to name just a few.
However, out of these Serverless solutions, some of them always keep customer satisfaction at its peak. Therefore I will be highlighting some of the best solutions out there based on my experience and carefully evaluating them as of the year 2020.
1. Serverless Computing | AWS Lambda
From its inception, AWS Lambda kept its promise with constant innovation year on year. If you look at the Lambda ecosystem with the number of integrations with other services, its incomparable for none out there. It has 15 AWS Event Triggers and 23 Partner Event Sources as of the time of writing this article, which shows its actual capability. Besides, its programming language support and online code editing with the integration with Amazon Cloud9 IDE is impressive.
Some of the latest features like Layers, and improvements over integrating with VPC, granular security control with policies when integrating with other services truly stands it out from the rest.
Alternatives
Alternatives in this category are Microsoft Azure Functions, which is next in line under my preferences. You can also consider Google Cloud Functions if you are using Google Cloud as your platform.
2. Serverless Identity Management | Auth0
When it comes to Identity Management, Auth0 leads its way. Auth0 supports various integrations, addressing any identity-related requirement. For example, the Single Sign-On support for external identity federation as well as a provider, the list is enormous, and Auth0 has already leapfrogged beyond its competition.
Alternatives
Typically users also consider the identity solution considering the ecosystem of hte application. For example, I would prefer AWS Cognito UserPools if I’m planning to deploy an application in AWS Cloud. Similarly, Azure B2C is another service considerable if you use the Azure Platform.
However, when comparing AWS Cognito UserPools and Azure B2C, I would say AWS Cognito UserPools has the edge, in my opinion, considering the features it enhanced over the last few years. My favorite features are the custom Domain support and AWS Lambda triggers to customize the JWT token, which is not available in Azure B2C as of writing this article.
3. Serverless Real-time Communication | PubNub
If you are implementing realtime application features such as chat messaging, realtime notifications &, etc., it’s important to consider web socket communication. Rather than implementing web sockets and manage the scaling, it is way convenient to go ahead with platforms like PubNub , which provides the end to end delivery of messages at scale. With the advanced features, it offers including the flexible permission model that stands out from the rest.
Alternatives
One of the top options is Google Firebase . It also provides realtime communication capabilities with the underlying data storage that is easy to implement integration by any application. Few other alternatives are Azure SignalR and AWS AppSync that you could consider your application requirements.
4. Serverless Component Management | Bit.dev
Bit.dev is a very popular cloud component hub. It is, essentially, a place to share, organize and collaborate on individual JS components.
Bit.dev works perfectly with Bit , an open-source tool for independent versioning and publishing of components (from any codebase to Bit.dev’s private registry).
One of the cool features Bit.dev has recently come out with is automated PRs to Github projects that consume shared components (that happens whenever a shared component gets updated). I’ve found it quite useful as a way to “smooth” and improve collaboration.
Bit.dev supports Vanilla JS, NodeJS, TypeScript, React, React with TS, Angular, VueJS and many others.
Alternatives
Alternatives in this category, more or less, could be a combination of numerous tools but I couldn't find a single analog product.
5. Serverless NoSQL Database | Azure CosmosDB
Considering the NoSQL database solutions out there, Azure CosmosDB stands out with its support for a comprehensive list of APIs, including SQL, MongoDB, Cassandra, Tables, or Gremlin.
Alternatives
One of the popular choices for this is AWS DynamoDB. From my experience, the main limitation with AWS DynamoDB in comparison is the developer friendliness of the API and query capabilities. Although AWS DynamoDB supported a massive scale and improved its features over the years, I see a challenge in using it as the only database storage for a web application, where AWS DynamoDB query limitations become a significant drawback for the application development.
6. Serverless Content Management | Contentful
If you look at content management, it has shifted its course for headless solutions with the separation of content management and content presentation. Contentful CMS is the leading headless content management service that offers all the capabilities in one place. It provides the flexibility of extending the content management dashboard as well as the feature-rich API supporting all the necessary demands for both content management and delivery.
Alternatives
Few other alternatives you can look for Prismic , ButterCMS , which also comes with a reasonable feature set in comparison to contentful.
7. Serverless Relational Database | AWS Aurora Serverless
AWS Aurora Serverless offering stands out with its unique pricing model where you pay only for the consumption at a time where instance-based pricing was the norm. Since AWS Aurora supports MySQL and Postgres (On Preview at the time of writing this article), it’s an easy adoption for many developers.
Alternatives
One of the clear competitors entered this area lately is the Azure SQL Server Serverless solution. For people who use .NET or familiar with SQL Server, this is the serverless solution most of them will consider. Within this category, it will be fierce competition in the year 2020.
8. Serverless Log Management, Telemetry, and Monitoring | DataDog
DataDog is the leading solution provider in this segment, supporting various platforms. They have built the specialty from infrastructure monitoring to application-level telemetry, which addresses the needs of a broader audience considering its reach.
Alternatives
If you develop your application using .NET, Azure App Insight is the most preferred solution. Another option is to use AWS CloudWatch, which is more towards the infrastructure level log management if you are running your application in AWS Cloud.
9. Serverless File Storage | Amazon S3
Amazon S3 was one of the earliest services AWS offered to its customers. Since then, it has been the category leader and still considers as an option well beyond the AWS Cloud for file storage. The availability and durability of file storage, flexible APIs, and SDKs make it unique and become a developer-friendly solution for many file storage needs.
Alternatives
Azure Blog Storage is an alternative if your application is running in the Azure Cloud Platform.
10. Serverless DevOps | Microsoft Azure DevOps
One of the best services Microsoft has recently created is its Azure DevOps platform. It is a combination of Source Control, Task Management, Continous Integration, and Continous Delivery (CI/CD), Artifacts &, etc., which provides all the functionality needed for DevOps in one place. The clear advantage of Azure DevOps is its capability to extend beyond Azure having an extensions market place is simply amazing.
Alternatives
Few other popular tools involved CircleCI , TravisCI , Bamboo (Atlassian Dev Tools), which mainly focus on CI/CD aspects of an application. If you are using AWS Cloud, the combination of AWS Code Commit , AWS Code Pipeline , AWS Code Build , and AWS Code Star provides an alternative. However, I would still prefer the elegance of Azure DevOps as a single solution ahead of its competition.
11. Serverless Content Delivery | AWS CloudFront
AWS CloudFront is one of my favorite services in AWS Cloud, which provides the capability to as a Content Delivery Network (CDN) and a Proxy. This combination supports most of the advance use cases, where simple mediation of the messages is also possible with AWS Lambda integration. One of the main advantages of the service is its consumption-based pricing model, tight integration with AWS services as well as the flexibility to extend beyond AWS.
Alternatives
Azure CDN is an alternative if you are using the Azure Platform. Another popular CDN provider you can consider if you plan beyond AWS and Azure is Akamai .
11. Serverless API Management | AWS API Gateway
AWS API Gateway is one of the leading serverless solutions for API Management with a flexible request-based pricing model. This pricing model also creates new avenues in using it as a Micro Gateway for Microservice development in comparison to other API Management solutions out there.
Alternatives
One of the direct options with AWS API Gateway is Azure API Management . However, I see its instance-based pricing model as a significant drawback, especially in using Azure API Management as a Micro Gateway.
12. Serverless Workflow Orchestration | Zappier
Zappier is the leader in Workflow orchestration, where it supports thousands of app integrations out of the box. The unique advantage of Zappier is that it requires zero to none developer experience to orchestrate and workflow, by using their user interface wizards.
Alternatives
One of the apparent competition comes from Microsoft Logic Apps for Zappier, where it supports a range of app integrations as well as support to extend using Azure Functions.
Besides, for the programmer level, workflow orchestrations, you can consider AWS Step Functions or Azure Durable Functions depending on the selection of the Cloud platform you are using for your application.
Summary
After going through my top selections, you might wonder, are these the only categories out there for Serverless solutions. Besides, if we categorize them slightly differently with a specialization, the category leaders could differ as well. Therefore, it is possible to list or derive more categories. But I have limited this article with the above categories, considering my familiarity with the services and alternatives.
When selecting Serverless solutions for your applications, it is also essential to factor the platform that you are using. For example, if you are using AWS Cloud as the underlying platform, you might prefer using AWS Cognito as oppose to Auth0 considering other factors such as ease of governance, integration with other AWS services &, etc.
Therefore consider the above list as more of a guide for you to evaluate each of the Serverless solutions. Also, I would recommend evaluating the alternatives under each category before selecting a best-fit for your application needs. At last, if you have different recommendations under each category, feel free to comment below with your reasoning.
以上所述就是小编给大家介绍的《13 Top Serverless Solutions for 2020》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。