The architectural complexity of an IT infrastructure is comparable to that of a building. Up-to-date and detailed building plans are indispensable. To ensure their availability, evolution and performance, a specific architecture capable of harmonizing the work of the various components is required.
As in the construction of a house, for which heating, sanitation and electrical systems are required, also for the IT infrastructure it is necessary to draw up directives and documentation on the topology, the components, the network, the data architecture, security, etc.
The challenge of IT today is to accompany the evolution of the needs of a rapidly developing market and of the company through effective choices in terms of application architecture. To meet the needs of business and customers, IT must be able to react faster, intervening on technologies and methodologies to ensure that the software is flexible and enabling the continuous innovation process of products and services
To achieve this, modern development techniques increasingly aim to meet the principles of scalability, flexibility and agility, characteristics that guarantee an application the ability to respond to continuous requests for updates quickly and effectively. At the same time, the use of agile development strategies and methods requires an architectural pattern that adapts to these modalities. In particular, the extensive use of the practice of containerization and the redesign of applications in a cloud-native key to microservices, associated with the DevOps methodology, are the ideal candidates to meet these needs.
Creating a microservices-containerized application means breaking down the system architecture into subsets with small and independent modules that communicate through a set of API (Application Programming Interface) methods.
Therefore, for developers it is possible to easily intervene on small pieces of code to cope with changes and updates respecting the scalability requirements, while the delegating groups to the operation will be able to act effectively following the methods of Continuous Integration and Continuous Delivery (CI / CD) with DevPOs methodology
This approach constitutes the clear difference from the monolithic applications used in the past.
To respond to this context and in relation to the analyses conducted to date, the Piacere project has reached an important milestone by defining its “framework architecture”.
Conceptually, the architecture can be divided into two macro areas called "Design" and "Runtime".
The architectural design area describes the components that have been conceived to be able to carry out the design and planning phase of the automation code as indicated in the following image
The components described provide the operator with the development, verification and DOML code repository tools.
The Runtime architectural area describes the components necessary for automated deployment and the dynamic environment that is created during the deployment phase itself and indicated below
The definition of the architecture constitutes an important turning point for the Pleasure project, effectively marking the operational start of the application developments that will aim to get to see a working prototype in 2021.