How Serverless Architecture brings the most agility to API development
APIs have become a strategic investment for any business going through digital transformation because they allow business data and functionality to be accessed from any device anytime, anywhere. That in-turn opens up a whole new, data-driven revenue stream for businesses.
However, developing APIs is a painful exercise filled with many challenges whether you develop the APIs in-house or you are depending on 3rd party consultancy to do the development for you. In either case, the API development powered by traditional architecture is slow, expensive and has a lower quality than what you hoped for. Add to this the over growing challenges of coming with new ideas for Apps while remaining agile with the same number of development resources if not less.
With all of the above challenges, you will end up having no time to focus on the features that increases the adoption of your APIs. The top features you need to focus on to increase adoption of your APIs are:
The above would require businesses to move from the traditional architecture for APIs to API Serverless Architecture. API Serverless architectures refers to applications that significantly depend on third-party services?(knows as Backend as a Service or “BaaS”). In our case here it would refer to APIs that depends on AWS Cognito Identity Pool, AWS WAF, API Gateway, Lambda and DynamoDB. With API Serverless Architecture, APIs, SDKs to call the APIs as well as infrastructure is ready for you after a little bit of design, configuration & scripting. This is in turn gives you a boost in-terms of agility, quality, far lower cost for the development of your APIs and so much time to focus on the top features to increase adoption mentioned above.
There are several technical capabilities and business benefits that makes API Serverless Architecture very compelling. Mainly, agility and cost of the implemented solution. The cost model of API Serverless architecture provides the best value for money and decreases your Opex dramatically.
Why do you need to care about API Serverless Architecture
The increased level of sophistication for customer experience requirements combined with the requirement to remain agile; while having the same number of development resources, make it too challenging to continue to operate effectively using traditional approaches toward a robust API architecture and development.
API Serverless Architecture proposed in the architecture of this article is mainly composed of AWS Cognito Identity Pool, AWS WAF, API Gateway, Lambda & DynamoDB which are all serverless components. The benefits of API Serverless Architecture can be summarised as follows:
With the above benefits, you can do so much more with the same number of development resources if not less and also your activities would be more config with little or no development. You can also leverage DevOps in Serverless Architecture by adding them as a development resources to the API development team without not much re-skilling as they already have experience with AWS and experience writing scripts which is the only two skills needed here.
How the API Serverless Architecture looks like
Throughout this section, I would be describing a design based on AWS technologies. I think you can use other cloud providers to achieve the same. The reasons behind choosing AWS, is the maturity and popularity of the platform compared to other cloud platforms which means more free support online that covers many business use cases.
The below diagram illustrates the end to end process for exposing APIs and sharing them with external front-end developers.
领英推荐
The 8 hours implementation
Your steps for exposing your data securely as APIs on serverless architecture can be summarized as follows:
Bonus: Developer Portal Prototype Demo
With this article, I'm giving away a tested Developer Portal Prototype Demo to give you ahead start with the following features:
When you login to the developer portal (after you verify your email), you can see your API Key and check your Id Token issued by AWS Cognito from the top right drop down menu.
You can experience the Developer Portal prototype demo at https://www.myprototype.com.au
Conclusion
API Serverless Architecture if designed very well, it gives you a boost in-terms of agility, quality, security, far lower cost for the development of your APIs and so much time to focus on the top API features to increase its adoption.
There are other AWS products that can provide a bit of fine-grained authorisation as well as third party products like Axiomatics Policy Server. In the next article, I will detail how you can achieve fine-grained authorisation on your data using all of these products easily and quickly. Stay tuned!
All of my articles can be found here .
Notice of Non-Affiliation and Disclaimer:?The author of the article is not affiliated, associated, , endorsed by, or in any way officially connected with any of the software product vendors (Amazon AWS, Github, or SwaggerHub) mentioned in this article, or any of its subsidiaries or its affiliates.
Senior Full Stack Developer at NRMA, IAG
6 年Agree. I too believe it is better than then docker-ecs architecture.