🧪 Containerized Chat Application Deployment with Terraform IaC to AWS

Source: p-lemonish 2025.

This time we are showcasing a highly job-market-relevant advanced-level software development and cloud project. Indeed, software-based systems - self-built or off-the-shelf - are often deployed to American Hyperscaler cloud (in this case Amazon Web Services) using Infrastructure as a Code, which is the current best practice to handle deployments to Public Cloud. It is likely that, in the future, the IaC concept will be supplemented by Infrastructure as Prompt.

The learner whose project we are showcasing here seems to have had an active presence on GitHub from 2023 onwards working with 20+ repositories on their account. I guess this is another best practice: to build a skill portfolio on GitHub. Not that the author of the website had to bother with such things during their university studies 20 years ago - I don’t even know if we had Git at that time - and it certainly was a different job market. Anyway, personal reflections aside, we are particularly interested in three repositories related to this showcase:

Those repos, in combination, produce a working online chat application and an IaC deployment of the stack to the AWS cloud, while implementing some Well-Architected Framework best practices into the design. This project may just be the gold standard for getting maximum benefit out of UAS studies, leveraging courses to build an evolving solution piece by piece, ready for bachelor’s thesis where the pieces could be integrated.

The Focus with this project is not a polished UI. Instead the project focused on delivering what is more important for technical professinals: a working ICT system with IaC deployment. Note that this project was not used as a scaffold towards such a bachelor’s thesis, but with excellent execution the thesis could have been a candidate for a grade of 5, a moneytary stipend and a triumph along Via Sacra. 🏛️🌿🏛️

Project Attribution: The showcased project is the work of a UAS learner. It is showcased on pekkakorpi-tassi.fi with the permission from the author of the project. The project is featured as an inspiration and reference.

Keywords: Chat Application, AWS, React.js, S3, Go, Docker, ECS, Redis, ALB, IaC, Terraform Published: 25.5.2026

ℹ️ Would you like to know more?

The author of this website became of about the learner and this project in the scope of SAA-C03 certification training. During the training, learners had a major learning task: to create an IaC deployment of an off-the-shelf or self-developed web application to a chosen Public Cloud platform.

Because the AWS Academy learning environment offers a Learner Lab sandbox with a somewhat restricted cloud account that can support, for example Terraform and Ansible, many learners choose to do IaC implementations on that platform due to zero monetary risk. Less restrictive Azure student subscriptions could also have been used, but the Azure offering is recommended to be leveraged towards the end of UAS studies due to 12-month availability constraint.

There are also other second-tier, small-scale public cloud providers that could have been used as a target for the deployment. The scope of such niche platforms is limited, and thus as platforms they are less job-market-relevant. Therefore, using a widely used cloud platform here made sense from a platform skill-building perspective.

This showcased project highlights the ability to:

  • Work from a clean slate to progressively build an expanding technical solution.
  • Demonstrate the ability to work in an independent and self-guided manner to produce tangible results.
  • Produce an indisputable demonstration of commanding a wide spread of job-market-relevant technologies.
  • Include and implement Well-Architected Framework best practices in the solution architecture.

Having some kind of “pet project” - such as the one we have at hand that can be used in the scope of general ICT development from UAS course to UAS course - can really help the learner to understand how cloud services REALLY work. The learner who implemented this project noted to the author of this website, in the same vein, that they learned public cloud best by using it.

A pet project does not have to be a self-developed solution. An off-the-shelf solution can work just as well. UAS has to enable the learners opportunities to have hands-on learning during their UAS studies so they can find such a pet project. Indeed, the current direction of cloud architecture and operations trainings at UAS is to move more toward practical learning and make the conceptual part of the advanced training lighter.

Service Abstraction Level of this Project:

  • Physical Server
  • VPS
  • IaaS
  • PaaS
  • BaaS
  • Serverless
  • SaaS

More accurate breakdown of technology stack as outlined by the learner who created this project is:

  • Technology Stack
    • React.js
    • Go
    • Redis
  • Cloud Resources
    • CloudFront, S3, ALB, ECS, ECR, ElastiCache
    • VPC, NSG, IGW, NAT Gateway
  • Well-Architected Aspects
    • Scalability
      • CDN
      • Load Balancing
      • Cache
      • Storage
    • Portability
      • Containers
      • Orchestration
    • High Availability
      • Auto Recovery
      • Failover
    • Security
      • Private Network Communication

Unfortunately, there are some observable signs that longer-term projects such as this are currently not the norm but rather an exception among UAS learners. However, this project should be viewed as a goal and an inspiration for any learner who wants to - and has the ability to - reach high technical skills during their UAS studies.

The author of this website does not have information how much UAS studies actually supported the learner in this project, but one assumes the learner has likely also self-studied critical ICT skills outside the UAS setting. For a new cloud learner, a project such as this can be intimidating, as it sets such a high standard. However, even slightly less industrious output would work as a great portfolio piece for any UAS graduate who aims for a technical career.

I am not to critizing this project at all - it is super great - but let’s consider some additional aspects of modern ICT system development and deployment that could be included in a multi-stage project such as this or in a bachelor’s thesis. The main point is to give some ideas for cloud-interested UAS learners about what kind of skill-building they could include in their own portfolio pieces:

  • Practice Basic Technical DevOps Practices
    • All work is tracked in Kanban board.
    • Issue linkage with each Git commit.
    • Conventional Commits used.
    • Semantic Versioning used with Version Bump.
  • Leverage AI holistically
    • Utilize AI-Assisted Programming
    • Utilize AI-Integrated Code Editor and Terminal
    • Train and include basic ML model to the project.
    • Utilize LLM in the project to perform some small task.
  • Increase Level of Deployment Automation
    • Separate IaC and Configuration Management (if leveraging IaaS).
    • Implement simple CI/CD Pipeline to handle build, test and deployment.
    • Utilize Terraform, OpenTofu, CloudFormation, Bicep or similar template-based technology.
    • Utilize CDK 2.0, Pulumi or similar programmatic IaC technology.
  • Address basic Observability concerns
    • Tag all Cloud resources.
    • Implement common library for logs and metrics.
    • Make basic Cloud events visible and enable push notifications of key events.
      • Important Control Plane Events
      • Important Data Plane Events (Metrics, Logs, Events)
      • Important Budget Events
  • Enable basic Quality Assurance features
    • Unit test everything.
    • Test also Cloud infrastructure templates.
    • Add Quality Gate for code complexity, failed tests and test coverage.
    • Add Vulnerability Scanning to automation.

The showcased project is a really interesting starting point for any UAS student who may be thinking about which direction they should go with their ICT studies and where to invest their time and effort. Building General ICT Skills is, of course, the priority, because these skills are also The Cloud Skills. However, American Hyperscalers being the standard for the vast majority of the Cloud deployments it would be quite reckless not to get some major Public Cloud platform experience (AWS, Azure, Google, OCI) during UAS studies. Investing in AWS and Azure platforms particularly seems to be quite critical. To repeat, basic cloud skills are on a surface level the same between American Hyperscalers and small-scale public cloud providers, but the scope of employment opportunities, skill recognition, cloud service provider service breadh and depth are so great, that we are almost not talking about the same thing when comparing first-tier and second-tier cloud providers. Of course, it would be cool if we had actual European Hyperscalers, but let’s take reality as it currently is and be realistic and pragmatic about it.

Anyways, I guess this is as much as need to be said about this project. 10/10. It has been a source for many good ruminations on our part, and I hope UAS learners can get some good ideas from reading this showcase. As a closing thought, the learner who implemented the showcased project had these thoughts to share with the readers of this piece:

“This project originally started from my own curiosity about the Go programming language. Instead of doing another introductory course, I wanted to learn Go by building something practical, which is usually how I approach new programming languages. Since I already knew JavaScript and React, I created a simple frontend and focused mainly on the Go backend and, later, the cloud deployment. When my cloud-related courses required deploying an application, this chat application was a natural choice because I already understood the stack and could focus on the cloud resources and infrastructure design needed to support it properly. If the readers of this showcase find my project interesting and useful, then I would appreciate it if they could add some stars to the GitHub repositories of this project or follow me on GitHub.”