Microservices with Uniface in Docker
Authors: Tony Rusinovic, Jonke Korzelius and Jorge Núñez-Orellana
In our article '5 Reasons to put microservices on your To-Do list in 2021 ' we presented the benefits of deploying applications as Microservices. As follow-up we want to share our thoughts on Microservices deployment with Uniface, the role of containerization, and planned product enhancements that will help you to deploy Uniface applications as Microservices. It is also a topic of the Uniface Universe webinar on June 10th.
Do you want to know our thoughts on how to assist you in deploying Uniface Microservices?
At Uniface, we always try to enable you to embrace technological trends to serve your business. With the arrival, and hype, of Microservices, we want to explore in which area we can help you most.
We hypothesize that if we simplify deployment we are making a good contribution to use Microservices. In this article, we explain in short our thoughts and our goal, and we want you to share with us your thoughts in the interactive session of the webinar where a panel will be answering questions and clarify our thinking.
Microservices vs Service-Oriented Architecture
First, what is the Microservices architecture all about?
The Microservices architecture is generally considered to be an evolution of the Service-Oriented Architecture. During the development cycle, the Microservices philosophy empowers earlier delivery of specific functionality because it enables teams to concentrate on an area, feature, or function within the domain. Teams can be flexible and vary in size depending on the development needs of the domain. Microservices is a development paradigm that requires you to think from the start of your project about deploying your application or extending your current monolithic application. Uniface is well equipped to support this way of working, e.g. using services implementing APIs that communicate with each other, or you can communicate via web services or database records to synchronize the separate domains,
Zooming in to Microservices
Microservices englobes the concept of focus (domain) and execution (deployment). Building a microservice does not require a brand new application nor eliminates large applications. It offers businesses the opportunity to focus on a shorter delivery cycle to meet market demands. We all know that reducing the scope of any change and/or implementation provides focus. If added to that focus you also streamline the process you gain traction and deliver fast, enabling a shorter feedback loop. With Microservices, the emphasis extends to also include deployment to improve the time to market of the innovation/change/extension.
In essence, with Uniface you can do whatever is needed to develop and deliver Microservices. At Uniface we are conscious that we can assist our customers at different stages in the development/deployment life-cycle of their business applications. Jason Huggins will share with you a deeper dive into Domain Driven Development and Microservices in the next Uniface Universe Webinar. We recommend you to have a look at it to see a bit more of the development aspects.
We think deployment of applications using containers that host a Uniface Microservice will initially add most value, so that is what we will focus on first.
Microservices and Containerization
When deploying applications, Microservices and containers are a great match. Containers provide the lightweight infrastructure on which Microservices can run in isolation, provide the option to scale up Microservices that experience high workloads or require much processing power. Due to its lightweight nature initialization and execution of containers is fast. Containers make it possible to quickly adapt production environments to changing workloads without the need to have resources on standby. Docker and Kubernetes are the most popular frameworks to orchestrate containers in enterprise environments.
At Uniface we are focusing on simplifying and accelerating application Microservices deployment by providing Uniface Docker images that support the typical deployments of Uniface in production environments. Below is just a possibility of how a Uniface web application could be deployed.
- A Docker image with Tomcat and the Uniface WRD on which web content for the application is deployed.
- Another Docker image with the Uniface runtime on which the application is deployed.
- Orchestration of the environment including scaling is handled by Kubernetes.
Webinar Uniface Microservices in Docker
In the webinar on the 10th of June you will see:
- how we deploy a business application composed of 3 microservices following the above architecture
- have the opportunity to ask your questions to Product Management, R&D and our cloud architect.
Join us in the webinar and share your thoughts with the Uniface panel about Uniface Microservices in Docker!