Internship Projects/Mentors


Title

Kubernetes Native Client integration platform

Status

UNSELECTED

Difficulty

MEDIUM



Description 

Overview

Proposing to build a supersonic cloud-based tool to enable developers to integrate the required libraries and packages to their application. It’s a Kubernetes Native based framework with advanced cluster networking support besides other package integrations.

Goals

  1. Build front end screens to enable the selection of languages and then their libraries.
  2. Using Go for Backend, allow installation of environments like Kubernetes, library packages based upon user requirements and generate the skeletal application.

Additional Information

Useful links:- Some useful blogs. Kubernetes and cloud-native applications.

Learning Objectives

This project will have various phases and at each step and those phases can be:-

  • Front-end screens:- Developing Javascript-based screens depending upon the user selections of Languages to be used and their respective libraries and support of packages. It will also include some blogs regarding the project, project guide, and UI design for the screens. It includes setting up the initial documentation.
  • Addition of library support:- In this phase, the focus will be upon working at the backend using Golang. Adding the respective libraries' support and provisioning addition of Kubernetes Native Client support+ database support. Eg:- For Java- JDBC driver support + Rest Client + Apache Kafka ,etc.
  • Automating the application generation:- In this phase, the focus will be upon generating the application based upon the user’s selection of libraries. The output would be in the form of a compressed folder (.zip) containing the project folder.
  • Addition of unit tests - performing integration testing:- In this phase, the focus will be upon testing of the generated application and also adding up additional features. Unit tests to be added upon each of the group of libraries.

Expected Outcome

A platform consisting of the supersonic tool which can be used to generate an application with the required skeletal packages and environments. Kubernetes client support should be tested properly along with its cluster networking.

Relation to LF Networking 

This project is an integration of Kubernetes Native support to applications and working upon cluster network maintenance[Much related to OPNFV].

Education Level

Students can be from Undergraduate level or higher.

Skills

Required:-  Kubernetes, Containers, Full Stack   

Languages:- Golang, HTML, CSS, Javascript.

Future plans

Project can be extended over showing up detailed cluster networking control and scale up or roll down the clusters. 

Preferred Hours and Length of Internship

Full-time ( 40 hours per week - 12 weeks internship )

Mentor(s) Names and Contact Info

Abhik Chakraborty; Email: achakraborty@cs.iitr.ac.in; Contact number: +918787493441; Github: https://github.com/Abhik1998