How BHSoft utilizes AWS to build serverless web application

Among a wide range of services that we offer, BHSoft also has a reputation for our cloud solution. In this article, we will dig into how BHSoft utilizes AWS to help a Finnish customer to build a web application that allows users to manage and control construction equipment based on location.

In general, the web application obtains information from a number of machines. These machines are integrated with heavy construction equipment such as excavator, wheel loader, surface drill or dozer which are operating at various construction areas. The main task of these machines is to upload their log points along with all essential information (operation situation, operation result, machine location)  onto the web platform. Each machine uses its own project ID to join the project, syncing with the project data (project planning, work order, etc.)

BHSoft helped the client build this web platform.  We used a full range of AWS services to manage the back end part and API of the web application. We also used AWS CodeCommit to store code, AWS CodeBuild to build code and deploy as well as AWS CodePipe to automate development phases for better and faster release of features/ updates. 

Below is the full list of AWS services that BHSoft used in this project along with how and why they are useful in this specific case.

Diagram shows list of AWS services BHSoft uses to build customer’s web application

 

1.  Amazon S3

We built the front end part with Angular 8 and then host it on Amazon S3. Basically we configured Amazon S3 to host the static resources for the customer’s web application. By using the static website hosting feature on an S3 bucket, we hosted a customer’s static website at a very low cost with great scalability that can handle millions of users.

 2. Amazon Cognito

We used Amazon Cognito to manage users’s accounts and authenticate users. Users are able to register new accounts, verify their email address and sign into the site. Amazon Cognito provides user management and authentication functions to secure the backend API. Amazon Cognito is also convenient for testing and guest login. 

3. AWS Lambda

We built a REST API using Java and AWS Lambda, each endpoint of the REST API is a separate serverless function that is deployed on AWS Lambda. Using Lambda saved us from paying for idle server time. This also helped us reduce the billing cost as well as cut down the project cost for customers.

4. Amazon API gateway

Amazon API Gateway provides tools for creating and documenting web APIs that route HTTP requests to Lambda functions. We added the API Gateway to route the request to the Lambda Cluster. The API gateway also implements security, e.g. verify that the client is authorized to perform the request. This method is very useful in securing access to the API with authentication and authorization controls. 

In need of a reliable partner for cloud solution? Contact us via hello@bachasoftware.com