Skip to main content

AWS Amplify as low-code for infrastructure

[PLACEHOLDER]

Low-code development platforms are dominating many conversations lately. Many believe that low-code development platforms will account for millions of USD in revenue in the next five (5) years. An article by Forbes highlights that “it will account for more than 65% of application development activity by 2024”. Some believe it will be the answer to all their development needs.


 But low-code is not a new concept. The difference now is that its audience has amplified. For developers (or even advanced users) who have been in the Microsoft  ecosystem for a while have already experienced the assembly of software solutions with little effort using tools such as Microsoft Excel, Access, Visual Studio (assembling forms) and others.

Putting Microsoft aside, and prior to this “low-code revolution” which has reached high altitude in the last couple of years, there have been many online veterans which allow a user to assemble simple to medium complexity applications in different areas:

  • Marketing automation with low to no code
  • Websites
  • Database management
  • AI
  • Work management
  • e-commerce
  • Others
- Microsoft, Mendix, Salesforce, Wix -
-   Zoho, outsystems, Stripe, Shopify  -

 

Before we go any further with this article let us answer the question of what is a low-code/no-code platform? 

Low-code/no-code is a platform that provides non-technical, and technical users the tools to develop applications that are operational (at least at a “vanilla state”), or require additional coding for specific elements, with less effort (and knowledge) that is needed for the traditional way of producing code. The LCDP (Low Code Development Platforms) creates applications using a graphical interface, which the consumer uses for assembling the desired functionalities.

The focus of this article

In this article I will focus on one of my own experiences under the low-code umbrella where I leveraged cloud computing services. I chose Amazon AWS services in the space of “code as infrastructure”. The three (3) items I would like to highlight before we start:

  1. This falls into the low-code end that requires expertise
  2. We are focusing on “code as infrastructure”, with fewer lines of code possible. This is to accelerate and facilitate the DevOps for some app use cases
  3. If you are looking for the no code/low code solutioning, similar to Microsoft PowerApps from Amazon AWS then I suggest to look at Amazon HoneyCode

The problem statement in our hands was to build a webapp (mobile first) as a gift to our colleagues. The pandemic has brought many challenges around the globe and we wanted to let our team members abroad know that we were here for them. Without going into details, the solution was inspired by the #virtualhug movement. As we continued working on our concept, we landed on the following paragraph that defined the app: “A virtual hug a day, keeps the sorrow away! Just the act of imagining that you are hugging someone can make you feel positive, empathetic and less stressed.” 

The premise was to deliver this webapp in seven (7) days, easy to deploy, but without spending too much time on setting the deployment architecture. There was no Content Management System (CMS) system in place, but it should be quick and easy to make content updates. Those updates should reflect on production relatively quickly for our audience to view on the webapp.

We had a core team of three (3) people for this delivery: 

  1. A project manager (PM) for coordination
  2. A designer, to help me in bringing the concept into the webapp Minimum Viable Product (MVP)
  3. Me as the sponsor and developer

As I said before, I needed to reduce efforts on the development and the deployment. Therefore I turned to Amazon AWS for a "serverless" approach, and with the hope to find my answers for an easy deployment process.

The stack that we ended up using was:

  • NuxtJS
  • AWS S3
  • AWS Amplify
  • AWS CloudFormation
  • Microsoft Visual Code as the editor

The hero of this article is AWS Amplify, which took care of many lines of code, which without a tool like this, I would have had to write in order to set up “code as infrastructure” and host the webapp.

Note: This is not a blog for teaching AWS Amplify and Cloudformation. If you are looking for that then I would recommend the ThemePark course provided by Amazon AWS: https://www.eventbox.dev/published/lesson/innovator-island/0-introduction/1-overview.html 

Checkpoint...

If you have reached this point of the article then you might be thinking “this looks advanced, where is the low-code in this stack!?”. I want to remind you that this article is focusing on the DevOps aspect. I hope things are a bit clearer as you read the next few paragraphs.

What is AWS Amplify?

Based on Amazon AWS definition: “AWS Amplify is a set of tools and services that can be used together or on their own, to help front-end web and mobile developers build scalable full stack applications, powered by AWS. With Amplify, you can configure app backends and connect your apps in minutes, deploy static web apps in a few clicks, and easily manage app content outside the AWS console. Amplify supports popular web frameworks including JavaScript, React, Angular, Vue, Next.js, and mobile platforms including Android, iOS, React Native, Ionic, Flutter.”

How did we leverage AWS Amplify for the deployment, in a low-code approach?

I followed the vanilla commands after creating the required AWS Role using the AWS Management Console, and installing the AWS Amplify-CLI on my laptop, where my project resided. With it I was able to have within minutes:

  1. Continuous Integration/Continuous Deployment (CI/CD) pipeline
  2. CI/CD connected to my code repository, which is on Bitbucket (outside of AWS)
  3. Hosting the app in an UAT environment leveraging the AWS S3 bucket
  4. The CloudFormation which is used for the “code as infrastructure” for the provisioning

The provisioning, and the many scripts, and the integrations, were all made with just a few command line prompts removing hours of me putting together this code pipeline.




 Finally, it was great to see that we exceeded our expectations as we were able to successfully deploy the webapp to production two (2) days earlier, shrinking our timeline from seven (7) to five (5) days.


Trending posts

Your platform as a positive force in the world

If you are managing a platform, even if it is small, then you are leveraging one of the elements and popular channels used to build digital communities. These platforms, and channels, can come in the shape of websites, blogs, mobile apps, podcasts, vlogs, social media, or a combination of the ones mentioned. Photo by Tatiana Syrikova from Pexels   There are many reasons for building a community, such as sharing knowledge, promoting businesses, branding, the need for engaging with others, etc. However as Spiderman’s Uncle Ben said: “With great power comes great responsibility.” If you like to build better communities with more collaboration and less silos then how would you do it? How can communities come together to drive a “ positive force ”? The current world is mired in conflicts. How long are we willing to go on in such disarray? All the continents are in some kind of “a demonstration of partisanship, intolerance and selfishness”. There are nations in the Americas, Africa, Middl

Takeaways from Satya Nadella's Hit Refresh

source:  https://www.chapters.indigo.ca/en-ca/ Like many of you, I have used Microsoft’s products for a long time. Windows was the first operating system I used. I myself started using Windows even before I knew what operating systems were. Microsoft Word, Excel and Powerpoint were the first few applications I learned to use as part of my computer literacy. Similarly MSN (those of you who still remember it) and hotmail were the first chat and email accounts I used. However, a few years ago after numerous bad experiences with Windows Operating Systems (OS) including the infamous Windows Vista and my increasing admiration of Apple products, like the iPhone and iPod, I finally bought a Macbook Pro. Consequently I started using Apple’s productivity suite of Pages, Numbers and Keynote for my personal use. However, I still continued to rely on Windows OS and Microsoft Applications at work. This is because most of the companies I worked for continued to rely heavily on Microsof

What it means to be product led

Many successful organizations including Miro, Figma, Spotify, Atlassian are using products as vehicles to drive customer acquisition and growth. These organizations use their products at the centre of their strategy to win customers and retain them.    Photo by Miguel Á. Padriñán via Pexels If you use any of these tools you are aware of the free trials and freemium versions of these products. These organizations use free versions to generate prospects, drive adoption and convert to paying customers. These organizations are always customer focused and drive to provide friction-less customer experience.  Recently I learned about the inner workings of these organizations by taking the course from Mind your Product and Pendo . Currently the course is available for free and I recommend signing up for the course while the offer is available. Please find the details at the end of the post.  I found the course very insightful and I summarized three (3) key pillars of being a product led organ

Adobe Summit 2022 - Experience Platform

 Our hero image features many air balloons flying, scattered in a blue sky. Each of them has characteristics in their designs that are “part of a whole”, which in this case is an exhibition that is part of a festival. Now, let us leverage this analogy, mapping it to the elements that are relevant for this post’s agenda. Think about the pieces of data scattered through different systems, which combined (behaviour and PII data) becomes part of a whole: an enriched consumer profile that can provide you a “360 view”. This allows corporations to find opportunities, and turn them into value: “enabling ways to engage with that customer(s) to meet a cluster of business goals.” Photo by Lad Fury from Pexels   The objectives for this article are: To provide our takeaways from two (2) Adobe summit 2022 sessions, related to the Adobe Experience Platform and Real-time CDP (Customer Data Platform). Those sessions being S401 (AEP a modern foundation - by Klaasjan Tukler) and  S408 (DMP vs CDP:

This blog uses cookies to improve your browsing experience. Simple analytics might be in place for pageviews purposes. They are harmless and never personally identify you.

Agreed