4 ms·
We have been deploying infrastructures composed of Hadoop and Kubernetes clusters in JavaScript for years with Nikita (https://nikita.js.org https://nikita.js.o
by wdavidw 5y ago
We have been deploying infrastructures composed of Hadoop and Kubernetes clusters in JavaScript for years with Nikita (https://nikita.js.org https://nikita.js.org) and the developer experience is great. We released patches and features very fast, writing unit tests is easy and the all process is very flexible. Most of our customers impose the usage of Ansible to accomplish similar tasks, and we lose the simplicity, control and agility. To achieve expressiveness similar to YAML, we use CoffeeScript which looks and feel like YAML with the benefit of a programming language. No need to work around templating limitations, not speaking about configuration management (it is so complex to work around it that we have an article just on this topic in the pipeline).
- bovermyer 5y agoI'm surprised that CoffeeScript is still in use anywhere. Before my current job, I would have been shocked to see JavaScript used as the primary infrastructure language, as I was so used to Chef and Ansible being the only CM tools, and Python being the de facto standard infra automation language. Now, though, using JS for infra is starting to grow on me. I can't see myself using CoffeeScript ever again, but tools like zx and Pulumi are very interesting.
- wdavidw 5y agoI still use it a lot, particularly in unit tests and configuration. Take the tests of the CSV package, for example https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/test/option.comment.coffee#L32-L46 https://github.com/adaltas/node-csv/blob/master/packages/csv..., once you get used to its syntax, it is easier to read than plain JS. For Nikita, TypeScript would be appealing for code completion. In term of type checking, it will be double usage since all arguments are checked at runtime with JSON schema.