Great learning has been turning the lives of young people successfully. These young professionals have been motivated to contribute to the betterment of people around them. Our students have researched and offered solutions for complex problems that have helped people to manage life more easily. Solutions extended by our alumnus to challenges have been efficient and made things more manageable. One such solution to a problem that frequent travellers encounter has been researched using various AWS tools and explained in this article.
Objective and field of the study
When you travel, it becomes quite tranquillizing if the room services are excellent and then you find yourself satisfied. The satisfaction level of you as a customer is a subjective thing, and it depends on a multitude of factors. Those factors may be qualitative and quantitative. These factors may be room type, tariff price, number of bedrooms, number of accommodates allowed etc. but for determining the performance of numerous rooms/hotels become tedious task. therefore, after collecting the relevant data of Airbnb room/hotel listings at Singapore and performing different statistical analysis and tests, we can have an insight of the factors that impact the most and least on the overall satisfaction level of customers.
The field of study in our project is the variability of customers with different parameters on their overall satisfaction in room/hotel listings of Airbnb at Singapore. The specific objective of this project is to analyze how customer reviews on types of rooms, price, location etc. will influence customer satisfaction. The goal of the analysis was to figure out whether room type, price, location and number of reviews will help the customers to book the rooms/hotels.
AirPG is a community marketplace that allows property owners and travellers to connect with each other to rent unique vacation spaces around the world.
Since our solution mimics AirBNB, we follow their functional style.
AWS Tools used
We, as a team planned to divide the work according to each members, preference and expertise. We used AWS tools for this project since most of us were already trained in AWS tools as part of our course with Great Learning.
Amazon S3( Simple Storage Service) to upload and store relevant data from Airbnb.
Amazon EMR to analyze the massive amount of data that we had to process during the study.
Amazon Quicksight for the representation of analyzed data in a visible format.
Role of Cloud
Cloud services selected and their impact on the use case
|Module||Technology||Implemented as part of the project (Yes/No)|
|Use sign up Module||Amazon Cognito User Pool||Yes|
|User Authentication Module||Microservice with Cognito, API Gateway and Lambda||Yes|
|Add/Insert Data Module||DynamobDB/Microservice
|Add to Cart functionality||Microservice||Yes|
|Kubernetes Implementation||Amazon Elastic Kubernetes Service (Amazon EKS) was used to implement this so to make it easy to deploy, manage, and scale containerized applications using Kubernetes on AWS||Yes|
|Worker Nodes||EC2 Instances were provisioned to support worker nodes and deploy containers||Yes|
|Load Balancer||Load Balancer component was used to expose port and provide a single point of entry for multiple containers||Yes|
|Cloud Formation||Cloud Formation was used to assist with the creation of VPC with subnets, EKS Cluster with Worker Nodes||Yes|
|Code Pipeline||Code Pipeline was used to help implement CI/CD process. This was set up to work with Git Repo. Any code changes in the Git Repo were immediately picked up by the code Commit, used by code Build to create an Image and then the image was deployed to the cluster using Code Deploy||Yes|
|CloudWatch||Amazon CloudWatch is a monitoring and observability service. CloudWatch provides you with data and actionable insights to monitor your applications, respond to system-wide performance changes, optimize resource utilization and get a unified view of operational health.||Yes|
|SNS||Amazon Simple Notification Service (SNS) is a highly available, durable, secure, fully managed pub/sub messaging service that enables you to decouple microservices, distributed systems, and serverless application. Amazon SNS provides topics for high-throughput, push-based, many-to-many messaging||Yes|
Role of the team members
Responsibilities of each member was clearly mentioned and tasks were assigned to them based on their area of expertise.
Veeranna Muppaty was assigned to gather Airbnb data, Implementation plan and architecture diagrams.
Surendra Polla was entrusted with the responsibility of implementation and analysis of data using Hadoop and other AWS tools.
Subash Kandangarupurath role was to implement and visualize data using quicksight or other Opensource tools.
Collaborating with each other and developing the assigned task was a great experience. Everyone in the team were equally motivated and completed assigned tasks in time which led to the completion of the project as expected and within the planned budget.
Most of what we implemented was good, but soon we realised that the most significant cost factor is the EKS cluster. Building the EKS cluster and keeping it running, even without using it, created a huge bill for us and was draining all our monetary resources. Even during testing, we realized that we could not just build it and keep it running. This also meant that daily we had to create EKS Cluster for testing and then delete it.
To solve this issue our team came up with an idea, For development, we set up docker and Kubernetes in our local machine and integrated AWS Tools using AWS CLI, which helped us to save cost remarkably.
For development, we have set up docker and Kubernetes in our local machine, and integrated AWS services using AWS CLI, this helped us to save cost, as EKS cluster as mentioned in above point.
Based on the analysis, we realised that Microsoft Azure would have been a better choice for this project compared to AWS since pricing for EKS Cluster in Azure is much cheaper than in AWS.
Configuring was the next tedious task. EKS was a challenge and creation of YAML file for configuration was difficult too. Internet was of very less help when we searched for configuration techniques.
Based on the issues we encountered during the implementation of the project, we learned that Azure would have been a better option for this project and decided to try Azure before we would put this in production.
After the conclusion of the study, we had an insight into the factors that influence the most and least on the overall satisfaction of the customers. Our vigorous cloud computing training at Great Learning helped us a lot to complete the study successfully. It was a great experience implementing what we have learned in the course. The more we practice the better we gain through tools/services provided by the public cloud providers.