One of the elements that any software development groups envies OpenStack is the project ability to coordinate and maintain a working product based on several hundred contributors wihtout missing a single deadine. This is mostly due to the organisation of the OpenStack project and to the great work of the infrastructure team within the project.
As more and more of our contacts are wondering about this miracle that happens every 6 months, we realized that many of them would like to use similar tooling to deliver their own project. For the past few months eNovance has been working on streamlining tooling to deliver this and started a new product offering called the “Software Factory”.
This session will explain what changes and modules we had to make to Git, Gerrit, Jenkins and other tools to support OpenStack Nova, Swift, Cinder out of the box in order to provide and intergrated software factory for about any language.
This presentation was given on Tuesday Nov 5th at the IceHouse OpenStack Summit
1. OpenStack as a
Software Factory
Mehdi Abaakouk
mehdi@enovance.com
Nick Barcet
nick@enovance.com
@nijaba
2. Who Are We?
American Head Office
Montréal,
Canada
R&D office
San Francisco, USA
European Head Office
Paris, France
Founded
2008
R&D office
Bangalore, India
Team
90+
Growth
200%
Asian Head Office
Singapore
Partnership with
Clients
200+
10. Everything in Git
● Process description and code
● Infrastructure used to handle the process
● Code to deploy the infrastructure
100 times better than documentation of a
manual process that is never up to date...
11. This is so good that we had to offer
to share it with others...
15. Improve efficiency
●
●
●
●
●
Nothing is local, everything is shared
Control access rights
Contributive model
No need for a full release team
Factorize hardware needs
⇒ Stop learning how to build and get coding
16. Reproducible environments
● Dynamically provision test environments
when needed by Jenkins
● Allow developers to generate a test
environment for debugging at will
● Store validated releases and customer
specific environments (in Swift)
17. Parallelize work
● Validate code changes and multiple
deployments environments at once
● Accommodate more devs working on the
same projects
● Limit wait times
⇒ Industrializes development and...
19. How do we deliver it?
- eDeploy + Puppet
- Heat + Puppet
- Scalable Git
- Scalable Artefact repo
- Manage project
- Onsite consulting
⇒ Private cloud
⇒ Deploy Software Factory
⇒ Swift as backend
⇒ Swift again
⇒ Django based web UI
⇒ Implement specific workflow
+ Specific connectors
+ Specific dvcs, languages...
20. Where are we with it?
● Dogfooding within eNovance
● First customer trial in progress
V1.0 GA planned in 3 months