Skip to content

Latest commit

 

History

History
88 lines (73 loc) · 17.6 KB

tech-enablement-training-essential-skills-and-pre-requisites.md

File metadata and controls

88 lines (73 loc) · 17.6 KB

Tech Enablement Training - Essential Skills and Pre-requisites

Introduction

This document aims to put together all the items which will enable us to come up with a proper training plan for a partner team that will be working on the DIGIT platform.

Technical Prerequisites

Below listed are the technical skill sets that are required to work on the DIGIT stack. It is expected the team planning on attending training is well versed with the mentioned technologies before they attend eGov training sessions.

Development Team Skillset

  • Open API Contract - Swagger2.0
  • YAML/JSON
  • Postman
  • Postgres
  • Java and REST APIS
  • Basics of Elasticsearch
  • Maven
  • Springboot
  • Kafka
  • Zuul
  • NodeJS, ReactJS
  • WordPress
  • PHP

DevOps Team Skillset

  • Understanding of the microservice architecture.
  • Experience with AWS, Azure, GCP, and NIC Cloud.
  • Strong working knowledge of Linux, command, VM Instances, networking and storage.
  • To create Kubernetes cluster on AWS, Azure, and GCP on NIC Cloud.
  • Kubectl installation & commands (apply, get, edit, describe k8s objects)
  • Terraform for infra-as-code for cluster or VM provisioning.
  • Understanding of VM types, Linux OS types, LoadBalancer, VPC, Subnets, Security Groups, Firewall, Routing, DNS)
  • Experience setting up CI like Jenkins and creating pipelines.
  • Deployment strategies - Rolling updates, Canary, Blue/Green.
  • Scripting - Shell, Groovy, Python and GoLang.
  • Experience in Baking Containers and Dockers.
  • Artifactory - Nexus, Verdaccio, DockerHub, etc.
  • Experience with Kubernetes ingress, setting up SSL certificates and renewal
  • Understanding of Zuul gateway
  • Gitops, Git branching, PR review process. Rules, Hooks, etc.
  • Experience in Helm, packaging and deploying.
  • JBoss Wildfly, Apache, Nginx, Redis and Postgres.

Hardware Pre-requisites

Trainees are expected to have laptops/ desktops configured as mentioned below with all the software required to run the DIGIT application

Software Assets

There are knowledge assets available on the Net for general items and eGov assets for DIGIT services. Here you can find references to each of the topics of importance. It is mandated the trainees do a self-study of all the software mentioned in the prerequisites using the reference materials shared.

Topic Reference Preparedness Check
Git

https://www.atlassian.com/git

​​https://www.tutorialspoint.com/git/index.htm

​​https://www.udemy.com/course/git-complete/

Do you have a Git account?Do you know how to clone a repository, pull updates, push updates?Do you know how to give a pull request and merge the pull request?
Microservice Architecture

https://www.tutorialspoint.com/microservice_architecture/index.htm

​​https://www.udemy.com/course/microservices-with-spring-boot-and-spring-cloud/

Do you know when to create a new service?How to access other services?
ReactJS

https://reactjs.org/tutorial/tutorial.html

​​https://www.udemy.com/course/react-the-complete-guide-incl-redux

​​https://www.tutorialspoint.com/reactjs/reactjs_overview.htm

How to create react app?How to create a Stateful and Stateless Component?How to use HOC as a wrapper?Validations at form level using React.js and Redux
Postgres

https://www.postgresqltutorial.com/

​​https://www.udemy.com/course/the-complete-python-postgresql-developer-course/

​​https://www.tutorialspoint.com/postgresql/index.htm

How to create a database and set up privileges?How to add an index on a table?How to use aggregation functions in psql?
Postman

https://www.postman.com/resources/videos-tutorials/

​​https://www.udemy.com/course/postman-the-complete-guide/

Call a REST API from Postman with proper payload and show the responseSetup any service locally(MDMS or user service has least dependencies) and check the API’s using postman
REST APIs

https://www.tutorialspoint.com/rest_api/index.asp

​​https://www.youtube.com/watch?v=rtWH70_MMHM

What are the principles to be followed when making a REST API?When to use POST and GET?How to define the request and response parameters?
Kafka

https://www.udemy.com/course/apache-kafka/​​https://kafka.apache.org/intro

​​https://www.tutorialspoint.com/apache_kafka/apache_kafka_introduction.htm

How to push messages on Kafka topic?How does the consumer group work?What are partitions?
Docker and Kubernetes

https://www.tutorialspoint.com/kubernetes/index.htm

​​https://www.udemy.com/course/docker-and-kubernetes-the-complete-guide/

​​https://www.tutorialspoint.com/docker/index.htm

How to edit deployment configuration?How to read logs?How to go inside a Kubernetes pod?How to create a docker file using a base image?How to port-forward the pod to the local port?
JSON https://www.tutorialspoint.com/json/index.htm json-path/JsonPath How to write filters to extract specific data using jsonPaths?
YAML https://www.udemy.com/course/yaml-essentials/ How to read an API contract using swagger?
Zuul https://www.javatpoint.com/zuul-api-gateways What does Zuul do?
Maven

https://www.udemy.com/course/maven-quick-start/

​​https://www.tutorialspoint.com/maven/index.htm

What is POM?What is the purpose of maven clean install and how to do it?What is the difference between the version and SNAPSHOT?
Springboot

https://www.tutorialspoint.com/spring_boot/index.htm

​​https://www.udemy.com/course/spring-hibernate-tutorial/

How does Autowiring work in spring?How to write a consumer/producer using spring Kafka?How to make an API call to another service using restTemplate?How to execute queries using JDBC Template?
Elastic search

https://www.udemy.com/course/elasticsearch-complete-guide/

​​https://www.tutorialspoint.com/elasticsearch/index.htm

How to write basic queries to fetch data from elastic search index?
Wordpress

https://www.tutorialspoint.com/wordpress/index.htm

​​https://www.udemy.com/course/wordpress-for-beginners-course/

DIGIT Architecture

Orientation - Platform Overview

​​DIGIT Architecture and Technical overview

What comes as part of core service, business service and municipal services?How to calls APIs from one service in another service?
DIGIT Core Services Product requirements Which are the core services in the DIGIT framework?
DIGIT DevOps

DevOps Partners - KT Content​​

DIGIT Deployment

DIGIT MDMS MDMS Configuration How to read a master date from MDMS?How to add new data in an existing Master?Where is the MDMS data stored?
DIGIT UI Framework Getting started How to add a new component to the framework?How to use an existing component?
DSS Product - DSS