DEV Community

Cover image for Paving the way to Serverless - AWS Application Composer
dejanualex for AWS Community Builders

Posted on

Paving the way to Serverless - AWS Application Composer

Low-code vs. No-code

Low-code/No-code platforms have been proposed in recent years as a solution to lower the entry point in the programming field allowing non-coders to build applications and decreasing the application implementation time. At its core, a low-code/no-code platform aims to minimize hand-coding and to provide a fast and consistent way to deliver applications or even solutions that can be seen as an investment for some businesses.

One key aspect is that there's quite a separation between low-code and no-code because they have different target audiences. I would say that no-code is focused more on people which don't have any technical background versus low-code which is more towards people that already know how to code and want to speed up the process and maybe eliminate some of the toils of manual coding.

The path to Serverless

Generally, I'm a little bit skeptical when it comes to these type of platforms because they pose some important challenges such as how to integrate with existing projects and to what extent are they flexible in terms of customizations, and last but not least the abstractions introduced by these platforms are rather general.

What I really like about AWS Application Composer is that the abstraction matches the domain. What I mean by this is the fact that one of the main features of AWS Application Composer is to lower the entry point into the serverless world.

"Sometimes developers choose a synchronous system because it's convenient. They look so much simpler …" - Werner Vogels

Sometimes developing/architecting serverless means refactoring your mindset since they're more often asynchronous systems, which usually involves writing code functions (handlers) that will run when initiated by an event. The main idea is that in the end, you're going to have an event-driven application that will consume backend services on a flexible pay-as-you-go model.

"Serverless: The native architecture of the cloud that enables you to shift more of your operational responsibilities to AWS" - https://aws.amazon.com/serverless/

AWS Application Composer

  • AWS Application Composer has a GUI visual design canvas with an intuitive workflow, in which you can drag and drop resources from the Resources palette, and also edit the resource's properties.

AWS Lambda Function resource

  • You can work in two modes connected and unconnected. If you work in the connected mode you must have a browser that supports the File System Access AP, which will allow the web page to gain access to your local file system in order to read, write, or save files. As you design, Application Composer automatically creates/updates your AWS CloudFormation and AWS Serverless Application Model (AWS SAM) templates, following AWS best practices and it will sync it with the local file system.

Application Composer Connected Mode

  • You can easily design a Serverless application architecture, for example, a basic CRUD application that manages some items in a database can be designed in a couple of minutes, by dragging an API Gateway some Lambda Functions, a DynamoDB and defining your paths and resources.

App architecture

Conclusions

  • Personally, I feel this is a new way of working with AWS resources, and AWS Application Composer is not only for developers but also for architects.

  • At the end of the day your need to understand what that abstraction will do for you, and actually to get the best things out of these platforms you really need technical people.

  • Gartner predicts that by 2024, 65% of application development projects will rely on low-code development.

Top comments (1)

Collapse
 
avinashdalvi_ profile image
Avinash Dalvi

Nicely detailed out. 👍🏻