That blog post is structured in:
- Setup and configuration of Visual Studio Code
- Run the Authors microservice in the remote development container
- Debug the Authors microservice in the remote development container
That blog post is structured in:
This is a very short blog post about the usage of a Docker container in detached and attached mode. Some times participants in workshops want to reconnect to a docker container, because they closed their terminal session with the container which was in an interactive mode and they want to reconnect to their exiting container image.
In that blog post I want to point out the awesome topic, how to automate the deployment of a Microservice using a delivery pipeline on IBM Cloud.
Maybe you already know Niklas, Harald and I made the great project called Cloud Native Starter. That project includes a Hands-on workshop that is called “Build a Java Microservice and deploy the Microservice to Kubernetes on IBM Cloud”. In Lab 4 you have to deploy the Authors Microservice to Kubernetes on IBM Cloud. Sometimes we have limited time in workshops. The limited time is the reason why we want to reduce the manual effort for students in a workshop to a minimum, therefor we took the IBM® Cloud Continuous Delivery and I created a repeatable way with minimal human interaction. The delivery pipeline contains sequences of stages which retrieve inputs and run jobs, such as builds, and deployments.
That image shows two stages, one stage is called FETCH and the other DEPLOY_SERVICES. The FETCH stages contains a job called Fetch code and the DELOY_SERVICES has two jobs one for build and one for deployment.
With the realization of the automated setup for the creation of the toolchain, you can just press the button Create toolchain in the GitHub project and follow a guided wizard to deploy the Authors Microservice. (Visit the GitHub project Use a IBM Cloud toolchain to deploy a Java Microservices to Kubernetes on IBM Cloud to press the button ;-))
The Cloud Native Starter project now contains the new great topic, the development of Reactive Microservices with Java, quarkus, MicroProfile and Vue.js as front-end. The Reactive example implementation runs on minikube, local OpenShift and on IBM Cloud Kubernetes.
But what does reactive mean? Here is an extract of the definition in The Reactive Manifesto.
“Systems built as Reactive Systems are more flexible, loosely-coupled and scalable. This makes them easier to develop and amenable to change. They are significantly more tolerant of failure and when failure does occur they meet it with elegance rather than disaster. Reactive Systems are highly responsive, giving users effective interactive feedback.”
But be aware, our example is not a full Reactive System it shows reactive programming techniques.
Note: To understand the difference between these two topics, that badge on cognitiveclass is useful Reactive Architecture: Introduction to Reactive Systems.
In this blog post I want to share, how you deploy that awesome Reactive example to a free IBM Cloud Kubernetes Cluster and using the free quota of the IBM Cloud Container Registry. We avoid for the setup that you have to use any paid IBM Cloud services, because you want just to see how the Reactive example works on IBM Cloud.
To create a free Cluster you need a feature code to create a Trial Account or you create a pay as you go account and you only use the free services of IBM Cloud.
That is the major architecture of the Reactive example. Three Java Microservices, one Vue UI application and two infrastructure components running on Kubernetes.
But what is reactive programming in more detail? If you want to get more details of the Reactive topic, just visit the blog post Development of Reactive Applications with Quarkus from Niklas Heidloff and if you want to explore the setup for local OpenShift take a look into the blog post Cloud Native Starter on Red Hat OpenShift 4 from Harald Uebele.