Since Linux is stable, secure and robust, still it is not prefered by a person with less or no knowledge of how command line interface works. Linux OS can perform many tasks which Windows can not. These all amazing features should reach the non-techies also. There are many requirements a developer has such as starting a web server and configuring it, monitoring the load on the web server and predicting the health of the web server on the basis of the load, deploying a docker container or another virtual node on the top of the virtual machine due to excessive load, monitoring the health of the nodes and the containers and hence operating on them accordingly. 1.Web server deployment and monitor the load and hence make suitable predictions. 2.Docker: 2.1. Container launch 2.2 Monitor the health of the container 3.Launch another virtualized node and monitor its health. 4.Remote login to another system. 5.Managing the Firewall.
Our project aims to provide the following features to work with docker: If the user wants to launch a new container, he can provide the image he wants to use,the configuration he wants like The name of the container. Whether the user wants to expose the container to the internet (here we will use the pat setting) ie in case of a web server, or keep it private ie in case of using as a database container where security is the main concern. Whether the user wants to share any folder from the base operating system ie the linux os to the container. Provide his own network settings and also he has an option to make a persistent storage or in other words a virtual pendrive which he can attach to the container so that even if the container is off or terminated the data won't get lost. Once the container is launched our program monitors the health of the container, in case of a web server container our program will automatically launch a new container when the load increases to a certain level. After the monitoring we provide the report in the form of a pdf, where we include our predictions, the health report, and other informations.
Our project also aims to automate the virtualization aspect wherein the user will not only have an option to launch a container but also an entire node just by a click of a button. Here too we include the same features but on the virtualization level.
We are using red hat linux for our project, and other than deployment we also aim to provide some features of red hat linux which are much more hectic to do manually, like monitoring the logs of various programs, checking and giving the information of who logged on to the system and when, etc.
Our future goal is to make all these features ie manage the whole infrastructure from a mobile application ie from just one tap on the screen of the users mobile, he can get all these features we are doing on our linux os, hence our goal is to connect the application with the linux os and hence send the commands to do the required jobs.