The goals were to set up the entire infrastructure from scratch and then go through the needed stages to bring the infrastructure of the customer's e-business to the actual and modern way.
Recently we have completed a facility management project for one our US based customers where our DevOps service specialists were involved into the development from the jump. Such conditions gave them an opportunity to apply the most up-to-date and sought-after approaches and they witnessed the development of these approaches as the project itself was growing.
- At first our DevOps team applied the development scheme using VCS, CI and CD based on CVS/SVN, Cruise Control and Scripting. It formed the basis for the processes of continuous integration and delivery.
- For hosted systems we used Linux based bare metal servers hosted by the customer and configured by us.
- The systems of virtualization based on Xen/OpenStack and 'infrastructure as code' approach (Ansible) were used afterwards. By doing that our DevOps team could deploy complex systems in a very short time making them staying flexible meanwhile.
- DevOps service engineers also revised the whole VCS, CD and CI infrastructure of the project to make the forthcoming software deployment provision quick and qualitative.
- Jenkins-based build-systems were implemented and the code was placed to Mercurial and Git.
- With the time the testing/QA environments migrated to a cloud as the load increased. Ansible was used alongside.
- Taking into consideration the immense growth of the project and the increased load on the cloud our DevOps team decided to transport the monitoring system from Nagios to Zabbix as the latter is considered to be more powerful, flexible and appropriate for the goals of the project.
- Finally, production environment migrated to a cloud. Ansible was used alongside.
- Our DevOps specialists drastically minimized the downtime during the system update and speed up new systems preparation
- The team facilitated the internal development and QA processes.
- DevOps team went with further automatization of such processes as the deployment and support of product environments.
- The clients' feedback loop was automatized which allowed the interaction with the customers be faster and eventually better quality service is delivered.
- Switching to micro services and Docker-based containerization according the developmental policies was performed. This is quite a long run process and our DevOps team considers it as an ongoing process, as it needs being supported and maintained. The ongoing update of such tools and environments as OpenStack and Jenkins is our first priority.