NGINX Inc.

Decision at NGINX Inc. about Go

Avatar of pleshakov

Go

We have a number of open source projects that integrate NGINX with some tool or platform. For example, NGINX Prometheus Exporter (https://github.com/nginxinc/nginx-prometheus-exporter) , NGINX Plus Integration with AWS Auto Scaling groups (https://github.com/nginxinc/nginx-asg-sync), NGINX Ingress Controller (https://github.com/nginxinc/kubernetes-ingress) and a few others. Those projects are either small or medium in size.

We choose to use Go for our projects, in particular for the following reasons: - Small learning curve - both for our developers but also for external contributors - Powerful development environment with great plugins for popular editors or stand-alone IDEs - Existing libraries and SDKs for the technologies we integrate with (Kubernetes, Prometheus, AWS) - Great concurrency mechanisms - Ability to release binaries with no additional dependencies - Good performance and stability

6 upvotes·1.1K views