Agility and security.

In search of the perfect stack.

May 29, 2020

In these times, agility in the delivery of applications that help us to iterate new models of data processing is essential. In the IT sector nothing lasts forever, and sometimes we find ourselves even talking about a life span of a few weeks. Knowing how to adapt to these changes is essential. The key is to be agile starting on day one, which allows us to be fast and develop our models continuously and efficiently.

There are technologies that allow this fast pace of development, such as Cloud, Kubernetes, Prometheus, Docker and a lot of others. Today the concept of server has changed: a few years ago we took it out of a box, we installed the operating system, we installed it in a rack, etc. Nowadays, with the existence of Cloud platforms, this concept has evolved enormously:now a server is an instance in which you can modify features, turn it off and even destroy it when you no longer need it. This flexibility allowed by Cloud is essential and, combined with the development of software based on microservices, it gives us many possibilities.

Cloud together with Kubernetes make the perfect stack for IOMED. The company has been betting on it, which gives us the agility to release new versions of our models on a daily basis. All this technology allows us to adapt to each client at all times, since nothing is static or permanent. Our infrastructure scales depending, for example, on the characteristics of the clinical records that need to be analyzed, on whether there is a lot of data to anonymize or on whether we need to increase the speed of data processing. In this way we are efficient with resources both on our Cloud platform and on our client’s Cloud platforms.

We must not forget that speed must not be at odds with safety. This type of infrastructure allows us to iterate very quickly, in order to provide new functionalities but also keeping our systems updated.

Quoting a specific case, at IOMED every time we release a new version of an application, it is scanned for vulnerabilities. If any problem is detected in this sense, it is not sent to production until these issues have been resolved, maintaining security as a fundamental pillar. Also, we would not be able to work efficiently if we had to constantly keep watching out for services which might stop working. If this happens, Kubernetes will restart the application and everything will keep working. In the same way, if a server stops working, the Cloud will delete it and provide a new one. It seems almost magic, and it is this “magic” what allows us to dedicate less human work to this, investing it in more valuable tasks.

Cloud technologies together with Kubernetes are and will be essential in the creation of new applications, software development, continuous improvement and maintenance of security. Working with them and making improvements are the key to adapting to a changing world.