Unlimited Scaling using Amazon Web Services devrajbaruah
VenueNow is an online reservation system for booking meeting room, conference room, training room or any other rent-able office space. This product has been designed to be hosted on both client managed servers or cloud servers. This case study will explain the technical architecture and development process used for this application. Choice of technology stacks and architecture has been largely influenced on following needs for the application.
Highly efficient and rapidly scalable to handle growing client and customer across the globe without large upfront investments in hardware and other IT resources.
Minimal time and other resources to be spent on maintenance of infrastructure.
Near zero downtime, High Availability and Reliability of the application.
Low cost and small technical team to build and support the product.
Shorter time to on board new client.
Secured environment to protect customer’s data.
Choice of using Amazon managed services in our application has enabled us to scale to unlimited number of clients without any high initial investment on infrastructure. Since most of the infrastructure’s maintenance is taken care by Amazon, our resources are efficiently utilized in core business development.
In order to meet the above requirement, we decided to use hybrid of Multi-tenancy and Single-tenancy architecture which enabled us to share IT resources cost-efficiently and securely among multiple applications and tenants (businesses, organizations, etc.). AWS Cloud was the first choice to host the entire infrastructure as it provides rapid access to flexible and low cost IT resource. Setting up AWS account is much simpler, and more affordable as we only pay for what we use.
Here is the brief description of components used in this application:
AMAZON ROUTE 53
Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service.
Amazon Auto Scaling helps to maintain application availability. It automatically increase the number of Amazon EC2 instances during demand spikes to maintain performance and decrease capacity during lulls to reduce costs.
Amazon CloudFront is a content delivery web service. It has been used to easily distribute the static content to end users with low latency.
AMAZON ELASTIC BEANSTALK
Amazon Elastic Beanstalk: AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java and other programming languages. It automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring. At the same time, we retain full control over the AWS resources powering the application and can access the underlying resources at any time.
AMAZON S3 BUCKETS:
Amazon Simple Storage Service (Amazon S3) has been used to store the application build file for the deployment and to store static file to be used with amazon cloud front.
ElastiCache is a web service that makes it easy to deploy, operate and scale an in-memory cache in the cloud. The service improves the performance of web applications by allowing retrieving information from fast, managed, in-memory caches, instead of relying entirely on slower disk-based databases.
Amazon Relational Database Service (Amazon RDS) makes it easy to setup, operate, and scale a relational database in the cloud. It provides cost efficient and re-sizable capacity while managing time-consuming database management tasks, freeing us to focus on our applications and business. It automatically patches the database software and backs up database, storing the backups and enabling point-in-time recovery. In addition, Amazon RDS makes it easy to use replication to enhance availability and reliability for production workloads. Using the Multi-AZ deployment option we can run critical workloads with high availability and built-in automated fail over from our primary database to a synchronously replicated secondary database in case of a failure.
ELASTIC LOAD BALANCER
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances in the cloud. It enables us to achieve greater levels of fault tolerance in our applications, seamlessly providing the required amount of load balancing capacity needed to distribute application traffic.
Complete Customers Satisfaction
We have ten years of experience working with Fortune 50 companies who demand that work be done right the first time, on budget and on time. All the lessons we’ve learned and experience we’ve earned developing software for large clients we apply to all our projects for all our customers no matter their size.
Get started with a free Project Evaluation & Review
(no strings attached)