MICROSERVICES @ COMPUTER
A server essentially is known of the service running on it, for example a web server is actually a computer running software such as Apache Web Service, that made possible for our personal computer’s web browser to connect and retrieve information from webpages on the web server. One server is capable of running multiple services, which means that other than serving web, the same server also can be, such as a file server.
With the advancement of hardware technology, we have seen the specification of a computer today, being far better than before, it is now equipped with high speed CPUs, bigger RAM, better graphic and so on, that make the computer performs much better. Technically what pushed such demand is actually comes from software. It is a fact that software innovations are far ahead compared with hardware.
Not that long ago, virtualization technology suddenly become popular especially when companies like Microsoft releases their product named Microsoft Hyper-V. This even exist in our personal computer’s operating system, that just need us to enable it. What this give us is that, we can run multiple operating system on our computer. For example, let say our laptop is running Microsoft Windows, what we need is just to install the free Oracle VirtualBox, and within that, we can have Apple Mac OS X; Linux Ubuntu, and also Microsoft Windows operating systems installed and running along side by side.
After awhile, developers started questioning, why do we need to install the whole operating system in multiple copies, where the need is just certain service. Virtualization is somehow seen as wasting computer resources.
Not long after that we started to see a new technology called container, which gives the ability for us to run specific service without the need to install the operating system. What is inside this container is actually called a microservice. Platform called Docker starts to become popular, which enable user to pull any software image from the repository and run at almost instantaneously without worrying on the dependencies. Docker or Podman are well preferred by most desktop user, but for IT team who need enterprise grade solution, they will go for Kubernetes.
The beauty of Kubernetes is that we can combine multiple computer together and share their resources as one namespace. Technically the smallest unit in this technology is called container which contain a microservice, multiple of containers will be governed in a pod, and we can have multiple of pods in a computer which is also called as node, we then can cluster these nodes to cater our complex computing needs.
Soon we will be having microservice alike concept even on our mobile phone, where that platform can allow us to run application that not native to our phone, such that Apple iPhone can run Google Android application and vice versa.