Today, digital transformation is an inevitable reality and necessity for businesses. Keeping up with this transformation is a prerequisite for businesses to achieve sustainable development. The fastest way to meet this requirement is probably to provide digital transformation mediums as a cloud service.
But in some cases, on-premise solutions are needed instead of cloud services. Many parameters such as habits, security, financial strategies play a role in this decision.
At Sensemore, we offer an end-to-end cloud service in the field of machine health monitoring and predictive maintenance. The IoT sensors we produce send the measurement data to our cloud application over the internet and all analysis and alarm reporting processes are carried out in the cloud application.
Although our focus is on cloud application and environment tools development, we still need to be able to respond to on-premise requirements.
Challenges of on-premise applications
Most of the challenges of on-premise application are caused by environment differences.
- Distribution and migration of the application to be installed
- Installing applications and library dependencies
- Ensuring operating system consistency
Many more topics could probably be added to this list, but even as it stands, it sums up the issue. The user company has to meet these requirements. For this, you need to contact and agree with the IT staff. Naturally, it is necessary to have an IT infrastructure that can provide this support.
Luckily, there is actually a technology that we know produces answers to many of these problems. Docker
Docker is a technology that allows you to move and run your applications in a platform-independent and dependent-independent manner. When you dockerize your application you will have a docker image.
Docker images can run in any environment with a docker engine installed.
Independent of the operating system and additional application and library requirements.
It feels so good as a developer to not care where your app runs 🙂
Real world scenario of installation on-premise docker application
We got the power of docker behind us. We wrote and dockerized an application that includes parts that will run on-premise.
In the end, there were only two requirements we requested from our client.
- Internet connection
- A server with Docker engine installed
We made an appointment for installation and went to visit the company. We downloaded our Docker application to the server and ran the following command.
~/sensemore-iot-management$ docker-compose up
Yes!, just one command. And all the rest magically went on without errors, thanks to Docker. The application was installed on the host computer within minutes, it ran without problem and the commissioning was completed.
With Docker, installations are fast, applications are accessible, secure, and scalable. Exactly the features expected from a digital transformation medium.