<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ashish Choudhary on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/yrashish/</link><description>Articles written by Ashish Choudhary on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 20 Jan 2022 08:28:34 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/yrashish/index.xml" rel="self" type="application/rss+xml"/><item><title>Introducing the GKE Autopilot Cluster</title><link>https://foojayio.github.io/website/today/introducing-the-gke-autopilot-cluster/</link><pubDate>Thu, 20 Jan 2022 08:28:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/introducing-the-gke-autopilot-cluster/</guid><description>&lt;p&gt;&lt;strong&gt;Learn about Google Kubernetes Engine Autopilot features. Also, let&amp;rsquo;s find out if it is worth managing your Kubernetes worker nodes yourself!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following is an excerpt from my book &lt;strong&gt;Effortless Cloud-Native App Development Using Skaffold&lt;/strong&gt; from Packt Publishing.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636304168731/qHmKbqm_y.jpeg" alt="B17385_Mockup Cover_High Res.jpg" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The book is available for order from &lt;a href="https://www.amazon.com/Effortless-Cloud-Native-Development-using-Skaffold/dp/1801077118" target="_blank" rel="noopener noreferrer"&gt;Amazon.com&lt;/a&gt;
 and directly from &lt;a href="https://www.packtpub.com/product/effortless-cloud-native-apps-development-using-skaffold/9781801077118" target="_blank" rel="noopener noreferrer"&gt;Packt&lt;/a&gt;
. The excerpt below comes from chapter 8: &amp;ldquo;Deploying a Spring Boot Application to the Google Kubernetes Engine Using Skaffold&amp;rdquo;.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Monitoring Spring Boot Applications (Part 1)</title><link>https://foojayio.github.io/website/today/monitoring-spring-boot-applications-part-1/</link><pubDate>Wed, 12 Jan 2022 16:34:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/monitoring-spring-boot-applications-part-1/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In part 1 of this series, we will learn about JDK Flight Recorder and how we can use it to monitor a Spring Boot application.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="h3-0-introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Application monitoring is one thing that we as developers cannot overlook. It doesn&amp;rsquo;t matter if you run a monolith or microservices application because application monitoring is a must for production workloads to know what&amp;rsquo;s happening with your application. If you are using Spring Boot, there are different ways to monitor an application. The most popular way to monitor a Spring Boot application is to enable the &lt;a href="https://github.com/spring-projects/spring-boot/tree/v2.6.0/spring-boot-project/spring-boot-actuator" target="_blank" rel="noopener noreferrer"&gt;spring-boot-actuator&lt;/a&gt;
 module to achieve the desired result.&lt;/p&gt;</description></item><item><title>What is GitOps? What are its benefits?</title><link>https://foojayio.github.io/website/today/what-is-gitops-what-are-its-benefits/</link><pubDate>Fri, 17 Dec 2021 16:19:17 +0000</pubDate><guid>https://foojayio.github.io/website/today/what-is-gitops-what-are-its-benefits/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s understand what GitOps is and its benefits. You will also learn how ArgoCD can help with the continuous delivery of Kubernetes-based applications.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The following article is an excerpt from my book &lt;strong&gt;Effortless Cloud-Native App Development Using Skaffold&lt;/strong&gt; from Packt Publishing.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636304168731/qHmKbqm_y.jpeg" alt="B17385_Mockup Cover_High Res.jpg" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;It is available for order from &lt;a href="https://www.amazon.com/Effortless-Cloud-Native-Development-using-Skaffold/dp/1801077118" target="_blank" rel="noopener noreferrer"&gt;Amazon.com&lt;/a&gt;
 and directly from &lt;a href="https://www.packtpub.com/product/effortless-cloud-native-apps-development-using-skaffold/9781801077118" target="_blank" rel="noopener noreferrer"&gt;Packt&lt;/a&gt;
. This excerpt comes from chapter 9: Creating a Production-Ready CI/CD Pipeline with Skaffold:&lt;/p&gt;
&lt;h3 id="h3-0-what-is-gitops"&gt;What is GitOps&lt;/h3&gt;
&lt;p&gt;The word GitOps was coined by a company named Weaveworks. The idea behind GitOps is to consider Git as a single source of truth for your application and declarative infrastructure. Using Git to manage your declarative infrastructure makes it easy for developers because they interact with Git daily. Once you add configuration inside Git, you get the benefits of version control, such as reviewing changes using pull requests, audit, and compliance.&lt;/p&gt;</description></item><item><title>Spring Boot, Java 16, and New Java Records</title><link>https://foojayio.github.io/website/today/spring-boot-java-16-records/</link><pubDate>Tue, 23 Mar 2021 09:55:23 +0000</pubDate><guid>https://foojayio.github.io/website/today/spring-boot-java-16-records/</guid><description>&lt;p&gt;In this article, we will discuss Records, which is an official feature in Java 16, and we will apply this knowledge while using it in conjunction with a Spring Boot application.&lt;/p&gt;
&lt;h3 id="h3-0-introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;On March 16th, 2021, Java 16 was GA. With this new release, tons of new exciting features are added. Check out &lt;a href="https://foojayio.github.io/website/today/highlights-of-new-jeps-in-java-16/"&gt;the highlights here on Foojay&lt;/a&gt;
 to know more about these changes.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll focus on Java Records, defined in &lt;a href="https://openjdk.java.net/jeps/395" target="_blank" rel="noopener noreferrer"&gt;JEP 395&lt;/a&gt;
. Records were first introduced in JDK 14 as a preview feature, proposed by JEP 359, and with JDK 15 they remained in preview with JEP 384. However, with JDK 16, Records are now no longer in preview: they&amp;rsquo;re an official part of the Java language now.&lt;/p&gt;</description></item><item><title>Running Spring Boot Applications on OpenShift</title><link>https://foojayio.github.io/website/today/running-spring-boot-applications-on-openshift/</link><pubDate>Thu, 04 Mar 2021 08:36:17 +0000</pubDate><guid>https://foojayio.github.io/website/today/running-spring-boot-applications-on-openshift/</guid><description>&lt;p&gt;This article will demonstrate how to deploy a Spring Boot application on OpenShift (Minishift).&lt;/p&gt;
&lt;h3 id="h3-0-introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Cloud platforms have dramatically changed the way we develop and deploy modern applications. Not so long ago, everything was on-premise infra. However, things have changed dramatically over the years. Now, there are a number of vendors offering solutions for different cloud computing models, i.e., Saas, Paas, and Iaas.&lt;/p&gt;
&lt;p&gt;This article will cover Openshift developed by Redhat, which comes under the Paas cloud computing model.&lt;/p&gt;</description></item><item><title>Deploying Spring Boot Application on Kubernetes</title><link>https://foojayio.github.io/website/today/deploying-spring-boot-applications-on-kubernetes/</link><pubDate>Fri, 26 Feb 2021 17:51:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/deploying-spring-boot-applications-on-kubernetes/</guid><description>&lt;p&gt;In this article, I will explain how you can create a pod, deploy a Spring Boot application, and manage the single node cluster with Lens IDE on Docker Desktop.&lt;/p&gt;
&lt;h3 id="h3-0-what-you-will-learn"&gt;What you will learn.&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;How to Enable Kubernetes With Docker Desktop for Mac&lt;/li&gt;
&lt;li&gt;How to Create a Pod&lt;/li&gt;
&lt;li&gt;How to Deploy a Working Spring Boot Application on Kubernetes&lt;/li&gt;
&lt;li&gt;How to Monitor and Manage Kubernetes Cluster with Lens IDE&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Moving on, you may not know this, but you can have a functional single-node Kubernetes cluster running locally with your Docker Desktop by following the below steps. But wait, What is Docker Desktop?&lt;/p&gt;</description></item><item><title>Demystifying Google Container Tool, Jib: Java Image Builder</title><link>https://foojayio.github.io/website/today/demystifying-google-container-tool-jib-java-image-builder/</link><pubDate>Thu, 18 Feb 2021 18:42:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/demystifying-google-container-tool-jib-java-image-builder/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This article covers some internals of image layering created by container image builder Jib and explore what distroless images are and their benefits.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Are you wondering what Jib is, actually? You should probably read my previous &lt;a href="https://ashishtechmill.com/containerizing-spring-boot-application-with-jib" title="article" target="_blank" rel="noopener noreferrer"&gt;article&lt;/a&gt;
 before going ahead.&lt;/p&gt;
&lt;p&gt;In short, Jib is an excellent tool for Java developers who are interested in containerizing Java applications, but not so interested in creating and maintaining Dockerfile or installing Docker. A Java developer can add a plugin to Maven or Gradle, and that&amp;rsquo;s it. You don&amp;rsquo;t have to learn new technology just to containerize your Java application.&lt;/p&gt;</description></item><item><title>CI/CD Workflow for Spring Boot Applications on Kubernetes via Skaffold</title><link>https://foojayio.github.io/website/today/ci-cd-workflow-for-spring-boot-applications-on-kubernetes-via-skaffold/</link><pubDate>Tue, 19 Jan 2021 07:37:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/ci-cd-workflow-for-spring-boot-applications-on-kubernetes-via-skaffold/</guid><description>&lt;p&gt;In this post, we will create a Local CI/CD workflow for a Spring Boot Application and deploy it to Kubernetes using Skaffold.&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/ci-cd-workflow-for-spring-boot-applications-on-kubernetes-via-skaffold/Screenshot-2020-12-08-at-8.26.16-AM.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;It is a known fact that developing applications with Kubernetes is cumbersome. That is the reason there is an ecosystem being developed around it so that developers can focus on what matters most to them i.e. writing code. On that note, in this article, I will be covering another tool Skaffold developed by &lt;a href="https://skaffold.dev/" target="_blank" rel="noopener noreferrer"&gt;Google&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Local Variable Type Inference: Declare Var, Not War</title><link>https://foojayio.github.io/website/today/local-variable-type-inference-declare-var-not-war/</link><pubDate>Mon, 04 Jan 2021 08:29:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/local-variable-type-inference-declare-var-not-war/</guid><description>&lt;p&gt;In this article, I will try to explain the new feature, from Java 10, &amp;ldquo;local variable type inference&amp;rdquo;, which also provides the new reserved type name &amp;ldquo;var&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Java is changing rapidly and with the new release cycle of 6 months, we are continually getting new features to try out with every release. In Java 10, a new feature Local-Variable Type Inference was added. It is aimed at reducing boilerplate code and improving readability when declaring local variables with initializers.&lt;/p&gt;</description></item><item><title>Containerizing Spring Boot Applications with Jib</title><link>https://foojayio.github.io/website/today/containerizing-spring-boot-applications-with-jib/</link><pubDate>Tue, 29 Dec 2020 19:29:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/containerizing-spring-boot-applications-with-jib/</guid><description>&lt;p&gt;In this post, we will learn about how to create docker or &lt;a href="https://opencontainers.org/" title="OCI" target="_blank" rel="noopener noreferrer"&gt;OCI&lt;/a&gt;
 compliant images, without installing any docker client and without using a Dockerfile, for a Spring Boot application.&lt;/p&gt;
&lt;p&gt;We will be doing all of this with the help of Jib.&lt;/p&gt;
&lt;h4 id="what-is-jib"&gt;What Is Jib?&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Jib is Java containerizer from Google that lets Java developers build containers using build tools like Maven and Gradle.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But that&amp;rsquo;s not all that is really interesting about Jib because you don&amp;rsquo;t need to know anything about installing docker, maintaining Dockerfiles, etc.&lt;/p&gt;</description></item></channel></rss>