Supportive technologies in development

I would like to share my view on the experience we have here in Arcusys with supporting the software development to 50+ developers and over 100 projects. To allow more in-depth focus on these matters this post will have an overview on the general subject and the different components/parts of our systems would be later covered in articles in a form of series.

In our company there are constant changes regarding the need and demand on server environments and other development resources. Traditionally development server could have been set up to dedicated PC tower or rack server from the ground for the development tasks, but that of course does not scale to multiple projects. Modern solution is to virtualize hardware one way or another.

In Arcusys we have been using IAAS/PAAS solutions for several years, first Eucalyptus and now Openstack, providing a cloud computing services to our needs. This has allowed our developers to focus to the software development instead of maintaining server environments. As an example, a Liferay developer who is starting a new development work clicks few buttons in order to have the type of server resource to match their needs and then can focus on the development and implementation in a quaranteed-to-work environment. When the development is done the resources can be freed with few clicks to the resource pool to be used elsewhere.

With continuous integration/continuous delivery processes done using Jenkins and Gerrit services, and as recent addition in some projects, puppet, we have managed to reduce the human interaction and total process time on delivering changes from development to customer production environment while increasing the quality of software products by releasing energy to the tasks that need our developer efforts. The benefits of the efficient use of human and computer resources can be seen in every step from the developer to the customer and from the system administration to the company management.

But reaching this point has required lots of adjustments throughout our company and still does as the company and its needs grow and change. The development policies and procedures have been unified within projects while still allowing to meet special requirements the projects possibly need. Also, we have changed the ways to handle the permanent storage data, for example special content needed in a project for proper testing, to improve and fasten the reproducibility of changes.

We test every software change in our development in multiple steps before it reaches the customers, including internal staging and customer reviews before publishing to production. In order to achieve all this, the developer only needs to accept the results of previous steps in order to proceed to the next one, no sweat.

All in all, we have managed to transfer a great portion of wisely selected work to computers. Thus, our developers can focus on worrying about the end quality of the product they are working on, instead of all the infrastructure related to the projects.

Jussi Kekkonen

Katso viimeisimmät julkaisut
Lue lisää

Blogi

Tulevaisuuden työkalut tänään - mitä tarkoittavat ohjelmistorobotiikka, keinoäly ja koneoppiminen?

Osaako yrityksesi hyödyntää ohjemistorobotiikan (RPA, Robotic process automation), keinoälyn (AI, artificial intelligence), sekä koneoppimisen, machine learning, hyödyt? Järjestelmät kehittyvät kokoajan, ja niistä voi myös hyötyä hetki hetkeltä enemmän.

Lue lisää

Blogi

Maksimoi aivojesi luovan puolen käyttö – saat upeita tuloksia

Mitä jos yrityksenne voisi varmistaa, että jokainen työntekijä oppii uusia taitoja mahdollisimman tehokkaasti? Luova ongelmanratkaisukulttuuri on ratkaisu, joka saa luovuuden pulppuamaan ja yrityksen tehokkuuden kasvamaan. NASAn astronautti ja tutkija Charles Camarda kertoo, miten se onnistuu.

Lue lisää

Blogi

MarsSuit Project – seuraavan sukupolven avaruuspuvulla askel kohti Marsin pintaa

Kalifornian yliopisto UC Berkeley haastoi opiskelijansa mukaan uuteen MarsSuit Project -haasteeseen. Opiskelijoiden päämääränä on NASAn virallisen kilpailutuksen voittaminen tarjoamalla heille uudenlainen avaruuspuku erityisesti Marsia varten.