30 July 2018 - DevOps

AWS Infrastructure / Database Design & Development

Everdapt is a web and mobile app developer from France, who wanted IT Svit to provision the AWS infrastructure for running their web app that uses the Neo4j database. The problem the customer encountered was the fact Neo4j does not have native scalability and redundancy features, so this functionality had to be implemented.

Project requirements

IT Svit teamhad to deliver the following list of tasks:

  • Design the cloud architecture for deploying a web solution, using a specific database – Neo4j
  • Ensure the system scalability and fault-tolerance
  • Ensure the system security and redundancy
  • Prepare configuration and deployment scripts and guidelines

Project results

We have accomplished all the tasks within time and under budget. IT Svit team has achieved the following results:

  • We ensured the system scalability by using AWS CloudFront CDN for front-end scaling andAutoScaling groups for back-end cloud infrastructure components
  • The system is protected with a bastion host, ensuring the security of access
  • The application runs on several nodes located in various Amazon availability zones behind anAmazon Load Balancer to ensure optimal performance
  • The system is modular, so even if one component fails, it does not impact the system performance and the faulty component is rebooted automatically

 

Location: France
Partnership period: 3 weeks in December 2017
Team size: 2 people
Team location: Kharkiv, Ukraine
Services: Cloud infrastructure design and development, DevOps-as-a-Service, Web Development, product and infrastructure monitoring
Expertise delivered: AWS cloud administration, DevOps services, microservices and containerization, DevOps support team, cloud monitoring solutions
Technologies: AWS CloudFront CDN, Neo4j DB, Amazon Load balancer, Amazon EC2 and EBS, Kubernetes, Docker, Ansible, Jenkins

 

Product Overview

Client’s goals

The customer wanted us to analyze the existing system configuration, come up with recommendations on ensuring its stable performance and implement the whole structure. We explored the existing solution and understood the main limitation was the lack of built-in scalability and redundancy features for Neo4j, so this had to be provided externally.

The main challenges were the following:

  • Ensuring the redundancy for Neo4j database
  • The app itself was under development, so the final number of modules, their size or mode of interaction was unknown

The system had to be scalable, secure and easily configurable

Project implementation and challenges resolved

We knew that application consisted of the following components: Customer-facing UI, API, and a Neo4j database. To implement the required solution we’ve split the application deployment into three parts:

  • Amazon S3 storage behind the Amazon CloudFront CDN for Frontend part.
  • Several API instances in different Availability Zones behind the Amazon Application Load Balancer (ALB).
  • An Amazon Elastic Compute Cloud (EC2) instance for Neo4j database engine with Amazon Elastic Block Store (EBS) volume attached for data persistence.

Both the UI and the API parts operate in private networks, protected by Amazon CDN and Amazon ALB. This way the origin instances where the application is running are not available directly from the Internet. A bastion host is used for management tasks.

Contact Us




    Our website uses cookies to personalise content and to analyse our traffic. Check our privacy policy and cookie policy to learn more on how we process your personal data. By pressing Accept you agree with these terms.