<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mary Grygleski</title>
    <description>The latest articles on DEV Community by Mary Grygleski (@mgrygles).</description>
    <link>https://dev.to/mgrygles</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F37708%2F6477eecc-a46a-49d2-99b0-1ac32ec7ce76.jpg</url>
      <title>DEV Community: Mary Grygleski</title>
      <link>https://dev.to/mgrygles</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mgrygles"/>
    <language>en</language>
    <item>
      <title>An interview chat with Scale By The Bay</title>
      <dc:creator>Mary Grygleski</dc:creator>
      <pubDate>Mon, 18 Oct 2021 05:56:35 +0000</pubDate>
      <link>https://dev.to/mgrygles/an-interview-chat-with-scale-by-the-bay-45d7</link>
      <guid>https://dev.to/mgrygles/an-interview-chat-with-scale-by-the-bay-45d7</guid>
      <description>&lt;p&gt;Mary Grygleski is a Senior Developer Advocate at IBM with the Liberty/Websphere team, focusing on Liberty, Microprofile, Jakarta EE, Java, Open Source, Cloud, and Distributed Systems. She transitioned from Unix/C to Java around 2000 and has never looked back since then. She considers herself as a polyglot and loves to continue learning new and better ways to solve real-life problems. She is an active tech community builder outside of her day job, and currently the president of the Chicago Java Users Group (CJUG), as well as a co-organizer for several IBM-sponsored meetup groups in the Greater Chicago area.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;strong&gt;In your work with technology, what is the task, situation, setup when you’re the happiest and in the flow?&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I am the happiest when I feel that I am trusted, with my manager essentially entrusting me to decide on how to do my work.  I was a software engineer for over 20 years for different companies, before becoming a developer advocate in 2018.  There were a few occasions in which I was given a project to finish, and was given the freedom to choose the libraries and frameworks to get my work done.  Obviously I did not just go blindly with my assignment, and I sought approval and advice from those who were more experienced than I was.  Overall it gave me great satisfaction when I felt trusted to get the job done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;strong&gt;What was the most positive thing you realized, or that just happened to you, during the pandemic?&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Strange as it may seem, there are some positive things that have happened - or are still happening, to me during the pandemic.  The fact that the meetups that I am hosting for the Chicago JUG are all digital, we are now having new members joining from not just Chicago, but from all over the world!  Even though our meetup times are very late for some of these new friends who are based in, for example, Europe and India, we post the recordings on our YouTube channel, so I think everyone is benefitting from that as well.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;strong&gt;Which person, in tech or anywhere, gives you the most inspiration?&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are more than just one person, but now that I am being asked, I have to mention Venkat Subramaniam being one of the most inspirational for me.  He is amazingly knowledgeable and articulate, but more importantly, he is so humble too.  I remember the first time meeting him in person about 5 years ago, when I was the meeting director at CJUG and scheduled him for a meetup, I picked him up at the hotel in the Chicago suburb where he was giving a few workshops that week, and then we took the commuter train into the city where the meetup venue was.  I have to say that it was one of the most memorable train rides that I ever had!  He and I struck up some fantastic conversations, not just technical stuff but life itself!  I myself could not even believe that I was riding the train with a tech legend!  I learned a lot from him, and to this day, I feel that my advocacy work has been influenced by how he carries himself - being very genuine and sincere in what I do as speaker, that I am out to share the knowledge and not a bit about myself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;strong&gt;Should we stay online, go all-in for in-person, or do a hybrid setup next year? Which one do you personally prefer?&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a tough question!  While I would love that you go for an all in-person conference next year, the fact that the pandemic is still posing a high risk, it would not be good that any event should expose people to the risk.  So I’d say let’s play it by ear, and perhaps a hybrid setup would be more realistic and should, hopefully, give SBTB the flexibility of going either way depending on the situation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We are happy to invite you to the 9th conference &lt;a href="https://www.scale.bythebay.io/" rel="noopener noreferrer"&gt;Scale By the Bay&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Format: Online&lt;br&gt;
Dates: 28th-29th of October 2021&lt;br&gt;
Learn the schedule&lt;br&gt;
Register to attend&lt;br&gt;
Visit our website&lt;br&gt;
Join us on Twitter&lt;br&gt;
Watch the videos from the previous years for inspiration ;)&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>conversation</category>
      <category>developer</category>
      <category>conference</category>
    </item>
    <item>
      <title>What is a developer advocate? [TL;DR version]</title>
      <dc:creator>Mary Grygleski</dc:creator>
      <pubDate>Sun, 26 Sep 2021 08:20:42 +0000</pubDate>
      <link>https://dev.to/mgrygles/what-is-a-developer-advocate-tl-dr-version-24o8</link>
      <guid>https://dev.to/mgrygles/what-is-a-developer-advocate-tl-dr-version-24o8</guid>
      <description>&lt;p&gt;Time seems to have sped up for me after becoming a developer advocate a little over 3 years ago.  Interestingly, I have been asked quite a few times about what a developer advocate is and what s/he does.  Last time I got asked this question was right after I got home from &lt;a href="https://kcdc.info" rel="noopener noreferrer"&gt;the wonderful conference in Kansas City&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://twitter.com/mgrygles?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;@mgrygles&lt;/a&gt; don’t know if you remember me from the lunch talk we had at kcdc. &lt;br&gt;&lt;br&gt;What is a developer advocate??&lt;/p&gt;— Cameron Young (&lt;a class="mentioned-user" href="https://dev.to/sigfualt"&gt;@sigfualt&lt;/a&gt;) &lt;a href="https://twitter.com/sigfualt/status/1441102887619219462?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;September 23, 2021&lt;/a&gt;
&lt;/blockquote&gt; 

&lt;p&gt;I will definitely share with you a longer version of what I believe a developer advocate is, but for now, here's my &lt;em&gt;TL;DR&lt;/em&gt; response: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hi &lt;a href="https://twitter.com/sigfualt?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;@sigfualt&lt;/a&gt; - Of course I remember you and our very enjoyable conversation over lunch at KCDC! You've asked a great question. I'd say, a developer advocate🥑 is &lt;strong&gt;&lt;em&gt;a combination of a teacher, developer/ technologist, speaker, entertainer, writer, media producer/travel agent 😄...&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;— Mary Grygleski (&lt;a class="mentioned-user" href="https://dev.to/mgrygles"&gt;@mgrygles&lt;/a&gt;) &lt;a href="https://twitter.com/mgrygles/status/1441133571087892484?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;September 23, 2021&lt;/a&gt;
&lt;/blockquote&gt; &lt;br&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;...more, an event organizer, and a juggler 🤹‍♀️🤹‍♂️🤹&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;— Mary Grygleski (&lt;a class="mentioned-user" href="https://dev.to/mgrygles"&gt;@mgrygles&lt;/a&gt;) &lt;a href="https://twitter.com/mgrygles/status/1441135174373105675?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;September 23, 2021&lt;/a&gt;
&lt;/blockquote&gt; 

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/sigfualt"&gt;@sigfualt&lt;/a&gt;: Thanks for the great question!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>devadvocacy</category>
      <category>community</category>
      <category>techevangelization</category>
    </item>
    <item>
      <title>Deploying and Consuming Kafka event-driven messages in a Java-enabled Multi-Cloud environment</title>
      <dc:creator>Mary Grygleski</dc:creator>
      <pubDate>Mon, 20 Sep 2021 21:08:39 +0000</pubDate>
      <link>https://dev.to/mgrygles/deploying-and-consuming-kafka-event-driven-messages-in-a-java-enabled-multi-cloud-environment-47gm</link>
      <guid>https://dev.to/mgrygles/deploying-and-consuming-kafka-event-driven-messages-in-a-java-enabled-multi-cloud-environment-47gm</guid>
      <description>&lt;p&gt;In an ever-increasingly complex world that we are living in, our expectation also rises exponentially in terms of how we demand information to be instantaneously ready for us as we are searching for them.  In the computing world, there is an increasing need to handle the processing of huge volumes of data in the most efficient manner, and this is when the event-driven approach in messaging and sysem design has come to the forefront, when cloud and cloud-native computing have taken he world by storm.  So can event messages become public "consumables" like what REST APIs have been since the last decade?  &lt;/p&gt;

&lt;p&gt;We'll take a look and step through a basic example of a multi- and cloud scenario, in which we'll leverage on the Kafka message broker running in a managed cloud platform - Confluent, and is responsible for producing messages to a topic, from which the Kafka consumer client as enabled by MicroProfile Reactive Messaging's Kafka Connector, and encapsulated in the Open Liberty runtime which gets powered underneath by the very efficient IBM Semeru Runtimes - the OpenJ9 JVM, and the client is launched using OpenShift onto the IBM Cloud.   On the producer side, the Confluent Cloud can be launched on one of their support external cloud providers - Microsoft Azure, Amazon AWS, or the Google Cloud Platform.&lt;/p&gt;

&lt;p&gt;Let's dive in:&lt;/p&gt;

&lt;h4&gt;
  
  
  Preliminary Steps (before any deployment work):
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Message producing side is handled by the Confluent Cloud.  The details will not be discussed here, as this article focuses primarily on the message consumer side.  Please refer to the documentations on the Confluent website, such as &lt;a href="https://kafka-tutorials.confluent.io/creating-first-apache-kafka-producer-application/confluent.html" rel="noopener noreferrer"&gt;How  to build your first Apache KafkaProducer application&lt;/a&gt;.  Another way, a quicker way, is to leverage on the Confluent Cloud console to create a topic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Logon to &lt;a href="https://cloud.ibm.com" rel="noopener noreferrer"&gt;the IBM Cloud&lt;/a&gt;, or sign up for a &lt;a href="https://cloud.ibm.com/registration" rel="noopener noreferrer"&gt;free-tier account&lt;/a&gt; if you have not done so yet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Accessing your OpenShift cluster (please see one of the following ways accordingly):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;(FOR WORKSHOP PARTICIPANTS)
If you are given a temporary OpenShift cluster at an IBM workshop:
&lt;strong&gt;&lt;a href="https://developer.ibm.com/conferences/digital-developer-conference-hybrid-cloud/" rel="noopener noreferrer"&gt;IBM Digital Developer Conference - Hybrid Cloud 2021&lt;/a&gt;&lt;/strong&gt;
Please refer to the instructions that have been provided to you as a &lt;strong&gt;&lt;em&gt;Bookmark URL&lt;/em&gt;&lt;/strong&gt; in the &lt;strong&gt;&lt;strong&gt;#ddc-labs-courses&lt;/strong&gt;&lt;/strong&gt; Slack channel.&lt;/li&gt;
&lt;li&gt;(FOR CUSTOMERS/TRIAL CUSTOMERS)
If you are ready to create a new OpenShift cluster, please refer to the IBM Cloud documentation on &lt;a href="https://cloud.ibm.com/docs/openshift?topic=openshift-getting-started" rel="noopener noreferrer"&gt;how to create your Red Hat OpenShift cluster&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;h3&gt;
  
  
  Interact with your OpenShift cluster using one of the following ways:
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;     * OpenShift console (via the IBM Cloud console)
     * OpenShift CLI (`oc`)
     * IBM Cloud shell (via the IBM Cloud console)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Once you are logged on to your OpenShift cluster, you will need to install the Open Liberty operator.  This will help us to deploy and manage our Open Liberty microservices application on the cluster.  You can do so via the OpenShift console, or on the command-line.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once the Open Liberty operator has been installed, you may want to verify that has succeeded.&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; oc api-resources --api-group=openliberty.io
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a private Docker credential:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker limits container image pull requests for free DockerHub subscriptions. For more information, see &lt;a href="https://www.docker.com/increase-rate-limits" rel="noopener noreferrer"&gt;Understanding Docker Hub Rate Limiting&lt;/a&gt;. If you have a Docker account with a Pro or Team subscription, you can add a private credential to avoid any errors as a result of the limits.&lt;/p&gt;

&lt;p&gt;To add a private credential, navigate to the OpenShift web console and select &lt;strong&gt;Workloads &amp;gt; Secrets&lt;/strong&gt; from the sidebar menu. Ensure that the selected project is openshift-config. Search for &lt;strong&gt;pull-secret&lt;/strong&gt; and click the three vertical dots menu; then &lt;strong&gt;Edit Secret&lt;/strong&gt;. Scroll down and click &lt;strong&gt;Add credentials&lt;/strong&gt;. Enter &lt;strong&gt;&lt;em&gt;docker.io&lt;/em&gt;&lt;/strong&gt; to the Registry Server Address field, &lt;strong&gt;&lt;em&gt;your Docker user ID&lt;/em&gt;&lt;/strong&gt; to the Username field, and &lt;strong&gt;&lt;em&gt;your Docker password&lt;/em&gt;&lt;/strong&gt; to the Password field. Click the &lt;strong&gt;Save&lt;/strong&gt; button to save the credential.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Preparing to deploy the inventory microservice to OpenShift:
&lt;/h3&gt;

&lt;p&gt;Use the example microservice (and currently we have named it as &lt;em&gt;&lt;em&gt;inventory&lt;/em&gt;&lt;/em&gt;) by cloning from the following repository:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/mgrygles-lab/guide-ddc.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;To deploy the inventory microservice, you must first package it, then create and run an OpenShift build to produce runnable container image of the packaged microservice.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Packaging the microservice&lt;br&gt;
Ensure that you are in the start directory and run the following commands to package the system and inventory microservices:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  mvn clean install
  mvn clean package
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Building and pushing the images&lt;br&gt;
Require: a build template to configure how to build your container images. We have provided the build template for you.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Examine the &lt;strong&gt;build.yaml&lt;/strong&gt; template file.&lt;/p&gt;

&lt;p&gt;build.yaml&lt;br&gt;
The build.yaml template includes two objects. The ImageStream object provides an abstraction from the image in the image registry. This allows you to reference and tag the image. The image registry used is the integrated internal OpenShift Container Registry.&lt;/p&gt;

&lt;p&gt;The BuildConfig object defines a single build definition and any triggers that kickstart the build. The source spec defines the build input. In this case, the build inputs are your binary (local) files, which are streamed to OpenShift for the build. The uploaded files need to include the packaged WAR application binaries, which is why you needed to run the Maven commands. The template specifies a Docker strategy build, which invokes the docker build command, and creates a runnable container image of the microservice from the build input. The template is parameterized with the APP_NAME parameter so that you can use the same template to create the objects for the system and inventory microservices separately.&lt;/p&gt;

&lt;p&gt;Run the following commands to create the objects for the system and inventory microservices:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       oc process -f build.yaml -p APP_NAME=inventory | oc create -f -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Next, run the following commands to view the newly created ImageStream object and the build configuration for the microservice:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       oc get all -l name=inventory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Look for the following resources similar to the following:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;NAME&lt;/th&gt;
&lt;th&gt;TYPE&lt;/th&gt;
&lt;th&gt;FROM&lt;/th&gt;
&lt;th&gt;LATEST&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;buildconfig.build.openshift.io/inventory-buildconfig&lt;/td&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;Binary&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;---&lt;/td&gt;
&lt;td&gt;---&lt;/td&gt;
&lt;td&gt;---&lt;/td&gt;
&lt;td&gt;---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NAME&lt;/td&gt;
&lt;td&gt;IMAGE&lt;/td&gt;
&lt;td&gt;REPOSITORY-TAG&lt;/td&gt;
&lt;td&gt;UPDATED&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;imagestream.image.openshift.io/inventory-imagestream&lt;/td&gt;
&lt;td&gt;image-registry.openshift-image-registry.svc:5000/guide/inventory-imagestream&lt;/td&gt;
&lt;td&gt;1.0-SNAPSHOT&lt;/td&gt;
&lt;td&gt;2 days ago&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Ensure that you are in the ddc directory and trigger the builds by running the following commands:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  oc start-build inventory-buildconfig --from-dir=inventory/.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The local inventory directory is uploaded to OpenShift to be built into the Docker image. Run the following command to list the builds and track their status:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   oc get builds
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Look for the output that is similar to the following example:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;NAME&lt;/th&gt;
&lt;th&gt;TYPE&lt;/th&gt;
&lt;th&gt;FROM&lt;/th&gt;
&lt;th&gt;STATUS&lt;/th&gt;
&lt;th&gt;STARTED&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;inventory-buildconfig-1&lt;/td&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;Binary@f24cb58&lt;/td&gt;
&lt;td&gt;Running&lt;/td&gt;
&lt;td&gt;13 seconds ago&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You may need to wait some time until the build is complete. To check whether the build is complete, run the following commands to view the build logs until the Push successful message appears:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;     oc logs build/inventory-buildconfig-1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Run the following command to view the ImageStream objects:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;     oc get imagestreams
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Run the following commands to get more details on the newly pushed images within the streams:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;     oc describe imagestream/inventory-imagestream
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The following example shows part of the inventory-imagestream output:&lt;/p&gt;

&lt;p&gt;Name:                     inventory-imagestream&lt;br&gt;
Namespace:                guide&lt;br&gt;
Created:                  2 minutes ago&lt;br&gt;
Labels:                   name=inventory&lt;br&gt;
Annotations:              &lt;br&gt;
Image Repository:         image-registry.openshift-image-registry.svc:5000/guide/inventory-imagestream&lt;br&gt;
Image Lookup:             local=false&lt;br&gt;
Unique Images:            1&lt;br&gt;
Tags:                     1&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now you’re ready to deploy the images.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Deploying the images
&lt;/h3&gt;

&lt;p&gt;You can configure the specifics of the Open Liberty Operator-controlled deployment with a YAML configuration file.&lt;/p&gt;

&lt;p&gt;Examine the &lt;strong&gt;deploy.yaml&lt;/strong&gt; configuration file.&lt;/p&gt;

&lt;p&gt;deploy.yaml&lt;br&gt;
The deploy.yaml file is configured to deploy the OpenLibertyApplication resource, named inventory, which is controlled by the Open Liberty Operator.&lt;/p&gt;

&lt;p&gt;The applicationImage parameter defines what container image is deployed as part of the OpenLibertyApplication CRD. This parameter follows the /[:tag] format. The parameter can also point to an image hosted on an external registry, such as Docker Hub. &lt;/p&gt;

&lt;p&gt;One of the benefits of using the  ImageStream object is that the operator redeploys the application when it detects a new image is pushed. The env parameter is used to specify environment variables that are passed to the container at runtime. You need to specify the bootstrap address required to communicate with the Kafka cluster as an environment variable.&lt;/p&gt;

&lt;p&gt;Update the [kafka-bootstrap-address] variable to the bootstrap address of the remote Kafka cluster that's hosting the producer, such as:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    pkc-epwny.eastus.azure.confluent.cloud:9092
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Run the following command to deploy the inventory microservice with the previously explained configurations:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      oc apply -f deploy.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Next, run the following command to view your newly created OpenLibertyApplications resource:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      oc get OpenLibertyApplications
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You can also replace OpenLibertyApplications with the shortname olapps.&lt;/p&gt;

&lt;p&gt;Look for output that is similar to the following example:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;NAME&lt;/th&gt;
&lt;th&gt;IMAGE&lt;/th&gt;
&lt;th&gt;EXPOSED&lt;/th&gt;
&lt;th&gt;RECONCILED&lt;/th&gt;
&lt;th&gt;AGE&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;inventory&lt;/td&gt;
&lt;td&gt;guide/inventory-imagestream:1.0-SNAPSHOT&lt;/td&gt;
&lt;td&gt;true&lt;/td&gt;
&lt;td&gt;True&lt;/td&gt;
&lt;td&gt;10s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A RECONCILED state value of True indicates that the operator was able to successfully process the OpenLibertyApplications instance. Run the following commands to view details of your microservice:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       oc describe olapps/inventory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This example shows part of the olapps/inventory output:&lt;/p&gt;

&lt;p&gt;Name:         inventory&lt;br&gt;
Namespace:    guide&lt;br&gt;
Labels:       app.kubernetes.io/part-of=system&lt;br&gt;
              name=inventoryy&lt;br&gt;
Annotations:  kubectl.kubernetes.io/last-applied-configuration:&lt;br&gt;
                {"apiVersion":"openliberty.io/v1beta1","kind":"OpenLibertyApplication","metadata":{"annotations":{},"labels":{"name":"inventory"},"name":"inv...&lt;br&gt;
API Version:  openliberty.io/v1beta1&lt;br&gt;
Kind:         OpenLibertyApplication&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;h3&gt;
  
  
  Now, we should be ready to perform the basic test.  As messages are being produced from the Kafka producer, examine the log file on the Kafka consumer client side to see that the messages get delivered accordingly.
&lt;/h3&gt;

</description>
      <category>java</category>
      <category>eventdriven</category>
      <category>cloudnative</category>
      <category>microservices</category>
    </item>
    <item>
      <title>Introducing the no-cost IBM Semeru Runtimes to develop and run Java applications</title>
      <dc:creator>Mary Grygleski</dc:creator>
      <pubDate>Wed, 04 Aug 2021 04:57:43 +0000</pubDate>
      <link>https://dev.to/ibmdeveloper/introducing-the-no-cost-ibm-semeru-runtimes-to-develop-and-run-java-applications-1ik8</link>
      <guid>https://dev.to/ibmdeveloper/introducing-the-no-cost-ibm-semeru-runtimes-to-develop-and-run-java-applications-1ik8</guid>
      <description>&lt;p&gt;With the launch of IBM Semeru Runtimes, IBM makes it easier than ever to develop and run Java applications more cost-effectively in hybrid cloud environments, from public cloud to data centers.&lt;/p&gt;

&lt;p&gt;IBM Semeru Runtimes use the class libraries from OpenJDK, along with the Eclipse OpenJ9 Java Virtual Machine to enable developers to build and deploy Java applications that will start quickly, deliver great performance, all while using less memory.&lt;/p&gt;

&lt;h4&gt;
  
  
  Key highlights of these runtimes include:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Provides a stable, no-cost environment for developing Java workloads&lt;/li&gt;
&lt;li&gt;Available across a wide variety of hardware and software platforms, including on-premises, in public cloud, or on container orchestrators like Kubernetes and OpenShift&lt;/li&gt;
&lt;li&gt;Includes commonly used JDK releases like the JDK 8 and JDK 11 Long Term Support (LTS) releases&lt;/li&gt;
&lt;li&gt;Performance benefits from deep technology investment in Eclipse OpenJ9&lt;/li&gt;
&lt;li&gt;Zero usage restrictions, so you can use these runtimes for development or in production&lt;/li&gt;
&lt;li&gt;Download IBM Semeru Runtimes to get started today.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Download &lt;a href="https://www.ibm.com/semeru-runtimes/downloads" rel="noopener noreferrer"&gt;IBM Semeru Runtimes&lt;/a&gt; to get started today.
&lt;/h4&gt;

&lt;p&gt;IBM Semeru Runtimes will be available in two editions with different licenses: the IBM Semeru Runtime Open Edition has an open source license (GPLv2+Classpath extension), whereas the IBM Semeru Runtime Certified Edition has an IBM license. Both of the IBM Semeru Runtimes pass the comprehensive Eclipse AQAvit quality assurance test suite to provide a stable and supportable engine that can run any kind of Java application.&lt;/p&gt;

&lt;p&gt;As the name indicates, the IBM Semeru Runtime Certified Edition is also Java TCK-certified. In support of the new naming convention, the current IBM SDK, Java Technology Edition Version 11, will be renamed to the IBM Semeru Runtime Certified Edition starting with the July 2021 update release.&lt;/p&gt;

&lt;p&gt;IBM commercial support for the IBM Semeru Runtimes is optionally available with&lt;a href="https://www.ibm.com/cloud/support-for-runtimes" rel="noopener noreferrer"&gt; IBM Runtimes for Business&lt;/a&gt;, which includes flexible licensing to meet your needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  IBM’s long-term support for the Java language
&lt;/h2&gt;

&lt;p&gt;As a long-time leader in the Java ecosystem, IBM has invested in Java technology and innovation for decades. In 2016, we contributed our J9 Java Virtual Machine to the Eclipse Foundation. Our developers have worked directly in the Eclipse OpenJ9 project since then to support the growing community of Java users.&lt;/p&gt;

&lt;p&gt;Additionally, we helped to found and have supported the AdoptOpenJDK community as it grew to become one of the top providers of no-cost, OpenJDK-based binaries for Java developers. We continue to support this community at its &lt;a href="https://developer.ibm.com/languages/java/blogs/ibm-joins-eclipse-adoptium-and-offers-free-certified-jdks-with-eclipse-openj9/" rel="noopener noreferrer"&gt;new home&lt;/a&gt; in the Eclipse Adoptium project.&lt;/p&gt;

&lt;p&gt;As part of our ongoing investment in Java technologies, we are providing IBM Semeru Runtimes at no cost to the Java community. We want to enable the developer ecosystem and businesses to continue to use the same OpenJ9-based OpenJDK binaries that have been the foundation of IBM’s Java-based software for 15 years. Our Java offerings, including IBM WebSphere Liberty and IBM WebSphere Application Server, will use the new IBM Semeru Runtimes going forward.&lt;/p&gt;

&lt;p&gt;If you want to learn more about how OpenJ9 JVM innovation has been helping to optimize Java workloads running in containers for many years, take a look at this &lt;a href="https://blog.openj9.org/2021/06/15/innovations-for-java-running-in-containers/" rel="noopener noreferrer"&gt;recent post&lt;/a&gt; on the OpenJ9 Blog. The blog post explains some of the container-awareness features of OpenJ9, such as portable ahead-of-time (AOT) compilation and multi-layer embedded shared-class cache (SCC) for fast startup times and low memory footprint.&lt;/p&gt;

&lt;p&gt;You can also learn about the significant &lt;a href="https://www.eclipse.org/openj9/performance/" rel="noopener noreferrer"&gt;performance advantages &lt;/a&gt;OpenJ9 provides for different kinds of Java workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give it a try
&lt;/h2&gt;

&lt;p&gt;Hybrid clouds need the flexibility of open and no-cost runtimes, and IBM Semeru Runtimes are a great choice. Whether you need a stable no-cost environment for developing Java workloads in the cloud, the performance benefits of a runtime deeply integrated across a broad set of platforms, or the experience of a mature Java provider for a large estate of critical Java workloads, we welcome you to &lt;a href="https://www.ibm.com/semeru-runtimes/downloads" rel="noopener noreferrer"&gt;download &lt;/a&gt;and try IBM Semeru Runtimes.&lt;/p&gt;

&lt;p&gt;We look forward to continuing to openly innovate with Java and to support all Java communities with OpenJ9 and our IBM Semeru Runtimes.&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>openjdk</category>
      <category>semeruruntimes</category>
    </item>
  </channel>
</rss>
