- Provide a platform for customers using which they can search and enjoy suitable home-like stay while travelling.
- Help customers to publish and advertise their property using the same application which will make their business experience easier and better.
- Hospitality management project was started with the idea to provide a platform for customers using which they can search and enjoy a suitable home-like stay.
- Using this project, we tried to provide a seamless architecture to our end customers where they can easily log in the site and search a place depending upon their choice of location. In addition to this, customers can also post a property which means customers can also rent a place to the others.
- We have used Drupal to host our website in conjunction with multiple AWS services.
AWS Services Used
Business And Technical Challenges
We faced below-mentioned challenges while working on this application.
1. Deployment using code Deploy on EBS
Description: Issues in deleting security groups and updating application and whole site
Solution: Modified IAM role, and updated source code to overcome issues.
2. Challenges faced in creating a trigger on a database and in retrieving data from SQS
Description: Since Drupal creates a number of tables, by default it was difficult for us to find the actual booking table in AWS RDS on which table event could be triggered. Also, it was difficult to check whether the data pushed in the table is the same as what is to be used for analysis purpose. Since we had used EBS, we were not able to see baseline tables and its details on GUI to work on it.
Solution: We came up with a solution to use Chrome extension of SQL by providing the Host, Port, username, password details to connect to it and use it as per our need of the application
3. Cognito Integration with Drupal
Description: Currently the Drupal Cognito module only supports an “Email” Cognito flow process, which basically means email is used for the unique identifier as User Login. You must set this when you create your User Pool, it cannot be changed later. Username login is not supported at this point. One more challenge is If a user already exists in Cognito, you cannot create that user in your Drupal site.
Solution: Research and Analysis with multiple POCs helped us to achieve integrate Cognito part in our application with Drupal
- Integration of foreign application (Drupal) with AWS and its Services
- Use of lambda to invoke SNS/SQS
- Use of Cognito and Elastic Cache and its integration with code
- Connecting RDS with SNS and SQS through lambda and DB triggers
- Use of Code pipeline to deploy directly on EBS
- CICD on EC2 instances and blue/green deployment
- Load balancer and auto-scaling implementation and its need
- Use of S3 to store the data which can be used for processing like reporting which is our future use case
- Using CloudWatch for monitoring and its various capabilities to trigger events, alarms which can be shown as real-time data on dashboards
- Use of CloudWatch events to trigger SNS topics.
- Use of AWS SDK to achieve different functionality like receiving/sending messages to queues and uploading to S3.
Somesh Kishore – Somesh works as an I.T Analyst and is interested in AWS solution Architect role and technologies. He has around 7-8 years of experience in development within .Net technologies.
Swati Sanghvi – She is a Senior Consultant leads at ESB Middleware Application Support team at Capgemini and has 6 years of experience in Middleware design and development of applications and services. She is interested in exploring cloud technology and its different aspects.
Varun Agarwal: He is a technical lead at Sidgs Digisol Pvt. Ltd. and has 5 years of experience in web application development using Drupal. He is interested in sysops and DevOps and hence exploring the cloud technologies.
Shweta Pandey: She is working as Lead DevOps consultant at Group 4 Securities and interested in the cloud Architect role.
If you wish to upskill yourself in the cloud computing domain, check out Great Learning’s PG Program in Cloud Computing.