Developing an AI based software requires for the engineers to consider several characteristics for the infrastructure containing that software. In this post, we describe the different paths one can encounter when conceptualizing an AI infrastructure
The development of a software product with AI technologies is a process that can become complex, and that needs to be managed as a project. For this, specific data science project management methodologies such as CRISP-DM can be used.
These can also be combined with frameworks that facilitate its delivery to the client in an iterative and incremental manner, favoring the generation of value from early stages, such as Scrum.
However, the execution of an AI Development Project does not end with the implementation of the necessary algorithms and products, but with their deployment and availability to the end user. Therefore, it is necessary to define the best technical infrastructure, cloud or on-premise, for the optimal deployment and use of AI applications.
Without a doubt, the establishment of a correct technological infrastructure, which is prepared to satisfy both the current technical needs of the project, as well as to facilitate its scalability, maintainability and adaptability to future changes, is essential. There is a total of three phases to develop an AI infrastructure which form two different paths:
Following the different phases are described:
Phase 1: Analyze current IT infrastructure. Most likely, the IT department of the company where the new AI product is going to be deployed and put into production already has some type of technological infrastructure, with different types of servers and databases. Thus, considering the requirements of the IA product in development, in this phase the accessibility to the different data sources must be assessed, the state and structure of the business data storage systems must be analyzed, the performance of the current infrastructure must be measured, and possible weaknesses in the system should be detected. In order to carry out this phase successfully, it is necessary to establish clear objectives at a technical level, to count with the collaboration and commitment of the required IT personnel, as well as to have the management involved to make sure the business vision and the AI strategy are properly considered and aligned with the infrastructure adjustment. The final result of this phase will be a complete vision of the different types of information that can feed the new product, as well as the status and capabilities of the current infrastructure.
Phase 2.1: Adapt current IT infrastructure. In an ideal situation, the existence of an IT infrastructure that can be used directly for the deployment of new AI products, without the need to make any changes to it, could be considered possible. However, this scenario is certainly highly unlikely. In most cases, even in companies familiar with the deployment of software and AI products, it will be necessary to make adjustments to the current infrastructure. For this, a process consisting of three sub-phases should be carried out.
- The possible need to integrate and make accessible new sources of information that could be essential for the execution of the new product should be assessed.
- The necessary modifications should be made in the business data warehouse to be able to store the new information that could become necessary for the execution of the new data analytics processes.
- The necessary mechanisms for the ingestion/query of the required data should be implemented.
In these phases, not only the current needs should be considered, but also the maintainability and possible scalability of the new product in future scenarios. In this way, the satisfaction of both the technical and business requirements is guaranteed.
Phase 2.2: Create new IT infrastructure. Contrary to what was stated in the previous situation, there are times when the company does not have an IT infrastructure that can be used through small or moderate adaptations. There is even the possibility that no infrastructure has yet been defined, so it is necessary to design it from scratch. Undoubtedly, this scenario is the one that will require more work, more detailed monitoring, and a better alignment of technical and business needs. To carry it out, we establish 4 necessary sub-phases.
- The necessary storage systems must be defined, considering the data required for the execution of data analytics processes, assessing not only functional aspects, but also needs for efficiency, reliability, maintainability and scalability, establishing protocols and mechanisms necessary for its achievement.
- The mechanisms for data ingestion/query must be implemented in accordance with the needs of the project.
- A complete test plan must be established to test the performance of the new product, including the loading and information query processes.
- The necessary protocols must be established to guarantee the security and integrity of both the data and the processes in execution.
The result of the complete execution of these phases will be a correctly designed IT infrastructure for the deployment of the new product, prepared to face new demand scenarios, and guaranteeing the security and integrity of all its components.
At this point, although the development of the previous phases will conclude with an IT infrastructure prepared for the deployment of new AI products, in AI Shepherds we consider mandatory to carry out a final process of analysis and implementation of the necessary tools and environments to allow the control, maintenance and “tuning” of the deployed processes to the inhouse development team .
As can be seen, the execution of development projects with AI technologies ends with the implementation of the product. Having an infrastructure properly prepared for its execution will allow not only its current use, but also its exploitation at the highest level of performance, its adaptability to new needs, and its security.
In AI Shepherds, we are specialists when it comes to conceptualise and/or upgrade an IT infrastructure for AI. Contact us and let help you out in your project!