What is Microservices Architecture?
A company, no matter small or big, can create an application and they may want to update or maintain their application. They can be faced with some difficulties by performing this. You need to use it but sometimes it can facilitate some complex things. Of course, some people are thinking it’s not good every time. But it’s better to know why do we use it.
Simply microservice means the weest function doing a particular task by using minimum system properties needed. You can use every language program language in microservices and they’re stateless.
Let’s look more closely,
It helps you easily an application to deploy, update, etc. If you built an application and your application is running several services together it will be hard for you to update, or maintain it. You may need to close its access for a while. That’s not a good option. Or it can cause a crash in your entire application when an error emerges. To avoid this, you may want to use microservices. Softwares are doing this with applications like Kubernetes.
Well, what exactly do microservices provide to us?
- Have their own CPU, stack, databases, and runtime environment.
- Communicating with another one generally by using Rest API and so on method.
- Every application is separate from the other. If you have new features, you can able to update easily without touching the overall application or when an error arises in a system on your application, doesn’t crush your entire application. That’s pretty good, right? It’s a sensible feature to reduce the costs.
- If it has users too much, you can make them use your application without any delay
- The ideal method to reduce costs is to use microservices. That’s because microservices just use the hardware components commensurately. For example, if you need to have 18 MB RAM, then you can make it use that much.
How do they work?
Which infrastructure is used or which systems build upon, depends on just those who built it. It provides flexibility. Docker container is an example. If you look for docker container architecture you may face Kubernetes. We will discuss it later. But simply, it enables the management of multiple containers.
What are the disadvantages of it?
Until now, we talked about how beautiful it is and some theoretical introduction but we have to know some difficulties to use it. Actually, if you look at some other sources, you will see headlines like this: “Do you not need the microservices.” I won’t say you like this. But I want you to know what is microservices difficulties.
- One of the most important things for me, you can use multiple services in your cluster. The possibility of failure the communication among them is higher. There are also some improvements in order to avoid it. But this one is really a topic needed to be considered.
- The developer has to solve network latency and load balancing problems.
That’s all I have to say about microservices for now. You will understand the subject better when we look at the concepts of the container, Docker, Kubernetes, Infrastructure As a Code in the future.
See you! :)
You can contact with me from: