In the previous blog i shared how Jib, an open source tool maintained by Google accelerates the development of docker images for java based application.But if you are doing deployment in a Kubernetes environment then you should try Skaffold, another open source container tool from google which simplifies common operational tasks that you perform when … Continue reading Containers and Developer Experience – 2
Packaging and shipping software as containers has numerous benefits, but doing it without the right tools and techniques leads to poor developer experience.Some of the challenges that i faced are: Local Installation of Docker : Getting Docker installed with root account or account with root privileges has been a challenge due to organizations security policies and this had … Continue reading Containers and Developer Experience
A Kubernetes cluster is a set of physical or virtual machines and other infrastructure resources that are needed to run your containerized applications.Each machine in a Kubernetes cluster is called a node and there are 2 types of node in the clusterMaster node(s): this node hosts the Kubernetes control plane and manages the worker nodes … Continue reading Minikube, kubectl and local development & deployment of apps in Kubernetes
Containers help to package an application, it's required libraries and dependencies to run it in any environment. It simplifies the packaging and distribution of application and have become increasingly popular as organizations shift to cloud-native development and hybrid multi-cloud environments.If i have a web application which needs a java runtime, web server, database and message … Continue reading What is Kubernetes and why do you need it ?
Microservice is a trending and popular architecture to build applications as it allows organizations to be agile and adopt DevOps and continuous testing practices.Spring Boot is a very popular technology choice to build java based microservices, but it consumes a good amount of memory and spring's runtime reflection approach leads to longer startup times as … Continue reading Java microservices with GraalVM
The HotSpot JVM which i shared in the previous blog is suited and optimized for traditional on-premise based applications to provide high throughput and stability.New modern applications are being built for cloud as distributed systems developed using microservices, event driven, asynchronous and reactive design which should scale quickly and efficientlyHotSpot JVM and JIT compiler is … Continue reading GraalVM : A JVM written in Java for high performant applications !!
When we write a Java program and issue a javac command , the program is compiled to bytecode.To execute this program, we issue a java command and when we do so, the bytecode generated by javac is interpreted by the Java Virtual Machine (JVM) to produce machine code which is ultimately fed to CPU to … Continue reading Execution of a Java Program & Role of Just In Time (JIT) Complier
JWT (JSON Web Token) is a very popular way to do user authorization in microservices. It is a standard which is used to create access tokens for an application and enables secure communication between between two parties.The Industry standard specification RFC7519 outlines how information in JWT should be structured.It is widely used in microservices based … Continue reading What is JWT and why do we need it in a microservices based application?
Dependency injection is a technique used in software engineering to develop loosely coupled systems.It is a technique that allows an object to receive other objects that it depends on by some other program than it explicitly calling the dependent object.Let us understand why this is needed by an example. I have a Notification Interface which … Continue reading What is Dependency Injection & why do we need it ?
Just found the built in Task Manager for Google Chrome that allows you to see how much memory and CPU web pages, extensions, and Google processes are consuming while Chrome is running. A very useful feature to find out which web page or chrome extension is consuming more memory, CPU and slowing down your system. … Continue reading Chrome Task Manager