Re:Why We Use Go
by viraptor on Wednesday May 27, 2015 @12:08AM
(#9609284)
Openstack is a very good example of a very large python codebase split into smaller projects. But it's still a large codebase. It's still hard to work with different components and the only thing that happens to hold it together are loads and loads of tests and lints which try to come close to what static analysis could provide.
[ Parent
| on HN ]
Related - Openstack Swift investigating using Go: http://lists.openstack.org/pipermail/openstack-dev/2015-Apri...
Swift has a very fortunate position here. Specifically, the interaction surface is very low (mainly user app<->Swift and Glance<->Swift) and the interface is very restricted. It's just an object store.
It may be a great project for migration, just like Glance (although that one doesn't need that much performance).
The projects I don't think will ever be able to move are Neutron and Nova. Even parts of Nova are so tightly connected that it would need a major redesign before rpc can really split scheduler and other pieces into different projects. Also Keystone probably has too many integration layers / plugins by now to migrate to anything.
(I'm glad that this happened BTW, the more languages in OpenStack, the better isolated and simpler the interfaces will become)