Skip to content

EthanAndreas/CloudAppDeployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Script, confiuration and application to deploy a cloud image hosting solution in an automated and resilient approach

version author author

Table of Contents

Abstract

This project is a collection of scripts, configuration files and applications to deploy a cloud image hosting solution in an automated and resilient approach. The project is based on the following technologies:

Deployment

Create application docker image


Frontend image :

• cd web
• docker build -t frontend .
• docker tag frontend <registry>/frontend:<tag>
• docker push <registry>/frontend:<tag>

Backend image :

• cd api
• docker build -t worker .
• docker tag worker <registry>/worker:<tag>
• docker push <registry>/worker:<tag>

<registry> is the Github registry where you want to push the image with their version <tag>.

Deploy the application


Deploy all the roles (Consul, Nomad, KeepAlived, Docker) :

ansible-playbook -i inventory/hosts.ini deploy.yml

Deploy only one role :

ansible-playbook -i inventory/hosts.ini deploy.yml --tags <role>

<role> is the role you want to deploy (consul, nomad, keepalived, docker).

Features and limitations

Features

  • The application is deployed in an automated way, the deployment is done with Ansible.
  • The application is deployed in a resilient way, the frontend and the backend are deployed on two different nodes, the load balancer is deployed each node.
  • The application is deployed in a scalable way, nodes can be added to the cluster without any problem.
  • The application is secured against breakdowns, it used Consul and Nomad, and the IP address connected to the web interface of the application is a floating IP address.

Limitations

  • The application is not fully functional, the frontend is not able to communicate with the backend, the load balancer is not able to redirect the traffic to the frontend.

Remark

There is a script clear_vm.sh to clear all the service used in this project. It must be execute on the VMs directly.

About

Deploy a cloud image hosting solution in an automated and resilient approach

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •