Automation is central when operating and scaling complex systems. The more servers and services there are to manage, the harder it gets for a team to fulfill their operational duties without proper automation in place.
Automation is a workforce multiplier that helps teams to manage ever-growing infrastructure but it can do much more:
Provide the accuracy that no human could achieve.
Repeat the same process multiple times on multiple nodes with the same results.
Extend functionalities and improve reliability by incrementing the coverage of your processes.
- Center of focus
Liberate the minds and save time for a more important engineering workforce.
Make processes faster with less room for mistakes.
- Continuous enhancement
Enable more safeguards over time in all stages of a process.
Empower users to do otherwise difficult or impossible tasks in a self-service manner.
- Time to Market
Accelerate deployments for both users and system administrators, with shorter and fewer interruptions.
A constant objective has been to optimize and facilitate the classical developer and operator workflow of writing, testing, versioning, configuring, and deploying. Here's our approach:
We carefully crafted a comprehensive and intuitive API. The code is easy to understand and it looks good. It makes the writing of tests a pleasant experience, we hope you will agree with us.
In Nikita, everything is a file. No database to persist states, no agent to deploy and monitor, no server to expose any API. You could implement such dependencies but you are not forced to. Because everything is a file, it is natural to version your source code with any SCM (Git, Mercurial...) and rely on NPM, the Node.js package manager, to package your code and its release versions.
Because it only relies on files, deploying Nikita projects is GitOps ready. The code can entirely be stored in a version control system like Git and is quickly integrated into a CI/CD workflow if requested. There is nothing to install on the target machine and Nikita itself will not install anything either for its purpose. On the host machine, only the Node.js engine to execute the code and NPM to deploy its dependency is expected.