AI Research and Product Accelerator

DevOps

Dev-Ops - Tooling

As discussed before, every tech stack has its own set of tooling for CI/CD. Following is an example of tooling if you are backend micro-services developer in Java.

It is Simple...One will need an IDE to develop and Debug. Need a place to store the complex code repos for version management etc. Need a build tool to build the repo.

then Jenkins type tools helps to build the code automatically and help you build release engineering pipeline, picking right pieces of code in a complex system and deploy to containers, where vagrant tools can be handy.

What it helps is, it puts the power in the hands of development teams, enabling them to test their code similar to production. Helps eliminate mistakes done during manual deployment process.

On the other hand, if you are managing tech-ops(esp in big companies), certain toolset will be interesting to you, as you want to streamline the process for engineering.

IDE:

https://www.jetbrains.com/idea/

Source Code Management

GIT : Source Code Repository. Integrates well with other tools.

Continuous Integration (CI) Tools

Jenkins : - Jenkins is continuous integration system, used to automate the deployment process.

Package Managers and Build Tools

https://maven.apache.org/ - maven is a build tool used with Jenkins.

https://gradle.org/ : Grade is newer alternative.

Repository Managers

https://dzone.com/articles/maven-repository-manager-nexus - Nexus

https://www.jfrog.com/artifactory/ - Artifactory

Containers/Virtualization Platforms and Tools

https://www.docker.com/ - Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.

Puppet : https://puppet.com/ - Helps developers/tech-ops people to deploy various versions of software artifacts and keep the systems up-to-date, so that developers can deploy their software and test with systems that resembles the production systems.

We have Vagrant type tools, that helps developer work on multiple deployment environments.

https://www.vagrantup.com/ : Vagrant is an open-source software product for building and maintaining portable virtual software development environments.  Check this artcile, https://www.devteam.space/blog/docker-vs-vagrant-which-is-better-for-development/ to figure out what suites best for you.

 

P.S: Check this picture from Artifactory Site...Gives a good idea of the landscape around various package managers for various dev environments...

DevOps-Tools .png

GITHub Market Place : Helps you keep updated with latest tools that integrate with Github for various categories around security, continuous integration, code quality/review, deployment and monitoring etc. ,  

BlackPepper Labs