Implementing Continuous Availability in Java EE Environment
Nykyri, Heikki (2018)
Nykyri, Heikki
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201803012946
https://urn.fi/URN:NBN:fi:amk-201803012946
Tiivistelmä
Continuous availability is a highly desired functionality in the field of information technology, especially in the computer systems. Continuous availability means that there should be no service breaks which users can see. For example, users should be able to use the system even when there are updates going on.
The case company Elisa Appelsiini Oy has the system running on the Java EE environment. The system ́s user base has grown steadily and currently the system is being used around the clock. The current environment does not support software updates without a service break. That is why it was crucial to develop and improve the current environment towards continuous availability.
The main problem was to make the environment support updates that users cannot see. Another big issue was to change the deployment process on how the application is delivered to the production. To overcome these issues, it was investigated how to update the application without a service break. There was also a need to make changes to the deployment process to support application updates. Fortunately, the Java EE platform supported updating applications without the service breaks if the application met certain requirements. The deployment process change was necessary to support the application updates. There were limits to how the application could be updated and to tackle those limits the deployment process to support small updates was made. The automated tests and an environment for the tests to increase the speed of production updates were added.
There were multiple applications running on the Java EE environment and this thesis was scoped to concern just one application. The rest of the applications can be transformed later. This design guideline was created simultaneously with the implementation. The design guideline lists all necessary requirements the application must meet to support updates.
The result was successful and the application can be updated without a service break. The key finding was how difficult it is to change an old deployment process to a new one. Mainly it was people’s mind sets that had to be changed which turned out to be quite hard. Eventually with good reasoning the new deployment process was taken in use.
The case company Elisa Appelsiini Oy has the system running on the Java EE environment. The system ́s user base has grown steadily and currently the system is being used around the clock. The current environment does not support software updates without a service break. That is why it was crucial to develop and improve the current environment towards continuous availability.
The main problem was to make the environment support updates that users cannot see. Another big issue was to change the deployment process on how the application is delivered to the production. To overcome these issues, it was investigated how to update the application without a service break. There was also a need to make changes to the deployment process to support application updates. Fortunately, the Java EE platform supported updating applications without the service breaks if the application met certain requirements. The deployment process change was necessary to support the application updates. There were limits to how the application could be updated and to tackle those limits the deployment process to support small updates was made. The automated tests and an environment for the tests to increase the speed of production updates were added.
There were multiple applications running on the Java EE environment and this thesis was scoped to concern just one application. The rest of the applications can be transformed later. This design guideline was created simultaneously with the implementation. The design guideline lists all necessary requirements the application must meet to support updates.
The result was successful and the application can be updated without a service break. The key finding was how difficult it is to change an old deployment process to a new one. Mainly it was people’s mind sets that had to be changed which turned out to be quite hard. Eventually with good reasoning the new deployment process was taken in use.