Without Risks and Side Effects: Containers Enable Flexible and Dynamic Software Solutions
The InterSystems IRIS data platform provides the infrastructure for the development and easy deployment of updates to the pharmacy software awintaONE®
Containers are revolutionizing agile IT development environments as an innovative option for deploying and homogeneously managing software solutions. A good example of this is provided by awinta GmbH, the market leader for pharmacy software in Germany. For the continuous development of its awintaONE software, the company relies on containerization as part of the InterSystems® solution portfolio. This makes it possible to solve all programming requirements “out of the box” and provide pharmacy users with the most modern merchandise management system in the industry.
Containers enable software developers to package their applications and services — in other words, to put all the elements that are indispensable for execution into a common box. Such a container therefore already comprises everything needed for the easy deployment and smooth operation of the solution. The biggest advantage of the concept of containerization can be summed up in a simple formula: “Runs here, runs everywhere.” If a container runs on the developer’s system, it runs unchanged on the customer’s system. In addition, the technology simplifies and accelerates the continuous development of software under a DevOps approach. At awinta, this leads to a significant boost in flexibility and automation, as a look at the process makes clear.
High Demands on Database Management
As a subsidiary of NOVENTI Health SE, awinta is the market leader for pharmacy software in the German healthcare market, with around 7,000 supported customers. The company, headquartered in Bietigheim-Bissingen, is a regular winner of top industry awards, including the 2018 Cooperation Award in the category “Best IT Partner” and two Pharmacy Favorite awards at Expopharm 2017.
For more than 20 years, awinta executives have relied on solutions from InterSystems to enable their company’s awintaONE software. The awintaONE solution is designed for communication among all partners in the e-health sector. Thanks to its multiclient capability, any number of business areas and branches can be managed and added to it.
After years of using the proven InterSystems Caché® database management software, awinta now uses the comprehensive InterSystems IRIS® data platform. Ralf Spielmann, system/database architect and chapter manager for database development at NOVENTI, summarizes the advantages offered by InterSystems technology as follows: “Whatever needs to be programmed, I don’t have to look for additional third-party tools to meet a specific requirement. I have never experienced a situation where I could not meet a requirement with InterSystems technology, because here I get everything from a single source and don’t have to burden myself with additional technologies.”
Full Focus on Flexibility and Automation
The awintaONE solution package forms one of the newest software lines among awinta’s offerings. The entire application logic of this pharmacy software has always been implemented with data management technology from InterSystems. Due to the native support of container technology with InterSystems IRIS, it is now possible to provide the entire application code in containers.
“As a result, we have become much more flexible than before, because when you create a container like this, you use it, and when you need another one, it stops and you start the next one,” explains Spielmann. “In this respect, we are now much more versatile. We achieve a very high level of automation in workflows thanks to containers under a DevOps approach. This extends from code creation to the delivery of the finished result.”
Far-Reaching Advantages When Used in Home Offices
Since all development work on awintaONE is already based on container technology, the company achieves efficiency gains through improved collaboration among developers. After all, without the container approach, the concerted interaction of programmers at five different cities throughout Germany and Romania would be unthinkable. The alternative would be that all developers would have to work with a central development server — hardly conceivable, and impractical simply because of the unavoidable latencies in data transmission. With the help of containers, all developers, whether in their home office or anywhere else in the world, has the development environment they need for their own tasks at their fingertips on their local computers and can collaborate easily and seamlessly with colleagues.
This proves to be a real benefit especially in exceptional situations such as the COVID-19 pandemic. “If we had had to just switch this over during the pandemic, we would have had problems,” Spielmann explains. “You could certainly collaborate in other ways, but not as efficiently as we do by using containers.” Although a Linux server could be provided to every developer, continually synchronizing updates to avoid overlap within individual sections would certainly have set awinta’s development back significantly.
A Powerful Tool for Deployments and Updates
To establish a consistent foundation for an efficient development process, awinta relies on the DevOps approach. This methodology improves the process between developers and operations, i.e., users or testers. The DevOps approach is a popular use case for containers because they help to support and streamline the process. Instead of a full application program, only the latest containers with small program updates are made available. In this way, the concept fulfills the requirement of the DevOps model to move forward in software development by taking incremental steps while remaining faster and more agile.
Developers are no longer obliged to keep an eye on the monolithic overall construction of the application even for the smallest code changes. Instead, they can concentrate fully on optimizing specific program processes. An additional advantage is that developers receive feedback more quickly through container-based DevOps, and team members can synchronously engage regardless of where they are located. The core element for all programming tasks is a build machine running InterSystems technology. The Git repository, where the individual lines converge, is located on a source control server. The developer’s local code is continuously compared against this central source control server. Through an automated build process, all changes and extensions checked in by the various developers are picked up, and a new version of the container image is created. Thanks to continuous image synchronization, the developers always work with the latest version of the code and thus reach their goal faster.
Continuous Delivery at the Highest Standard
NOVENTI is currently implementing a project at awinta to switch from using monolithic applications to using container clusters to deliver microservices for operations such as retrieving inventory or triggering a pricing function.
Spielmann illustrates the advantage of containers in day-to-day business: “If an update is to be rolled out to customers using the conventional procedure, the process, including server restart, takes around 15 minutes. At the same time, every developer knows the small residual risk that exists with every automatic installation, configuration, or update of a system on-site. With containers, on the other hand, the version change takes just eight seconds with a click of the mouse.”
In traditional structures, each machine may be slightly different, but a container always behaves the same. The result is shorter release cycles, simple deployment of new features in thousands of pharmacies, and extremely short update times for awinta’s customers. The basis for this dynamic process structure is the InterSystems IRIS data platform.
For awinta, the use of containers marks a turnaround in the deployment of IT assets, making changes in the merchandise management system much easier — from electronic prescriptions and Germany’s cash register security ordinance to VAT adjustments or framework agreements. Thanks to their interoperable and scalable architecture, which is precisely tailored to the requirements of developers, the full potential of containers can be used even more efficiently when creating and deploying new applications and services.