“A [person] thinks that by mouthing hard words he or she understands hard things.” – Herman Melville
How many times have you met with a team of engineers, architects, or even clients to talk about the designs of a software feature, and a single word used caused mass confusion because everyone had a slightly different definition? (Ugh, why are words so hard?!)
I have never found a more challenging concept to talk about than Representational State Transfer (REST). What does REST and being RESTful mean? Are resources the same thing as entities? Where do representations come into the mix? This blog post will answer these questions and describe the RESTful architectural style.
Continue reading “REST Architecture”
Many organizations often have existing user data-stores that hold information about users and their credentials. Typically, enterprise applications would have different user bases and the underlying user account management systems might be different for each of the applications.
To handle the complexity associated with multiple user data-stores, each application layer will have to have a suitable authentication module that handles authentication & authorization with the underlying user account management systems. This results in the proliferation of authentication modules for each application and it gets closely tied with application life-cycle.
In this session, you’ll learn how Keycloak/RHSSO provides a unified way to federate different user account systems. More specifically, you’ll see how effectively the user accounts from an external LDAP server and a MySQL database (that holds user accounts) could be federated with the help of Keycloak/RHSSO.
Continue reading “User Federation with Red Hat Single Sign On”
“I don’t have permission to do this!” That’s one of many phrases that I used to hear from a couple of developers when trying to introduce them to a Configuration Management tool. This barrier was, and still is in some cases, a major obstacle in companies that didn’t adhere to the DevOps movement and practices, a problem that I like to call as “The Wall”. If you are questioning, yes, I am a huge Pink Floyd fan!
“The Wall” is characterized when, for some reason(s), developers, and operations don’t find a middle ground and share the responsibilities. What it will probably result in is a rigid and unreliable application. In a world, where requirements are constantly modified due to customer behavior, these teams will likely fail, when trying to achieve a stable, resilient, and flexible platform. It’s not easy to deal with this cultural problem, and one of the main pillars that support this is technical complexity. All sides have their own specifics, problems, architecture, languages… If we just throw packages from one side to the other, we are just adding “another brick in the wall”. There is a necessity to translate this entanglement and meet halfway, working with platforms like Kubernetes, a container orchestrator that can provide a smooth approach when introducing teams to areas that they didn’t know before.
Continue reading “Breaking Silos using the power of Infrastructure as Data in Kubernetes”
Kogito is a cloud-native business automation framework for building intelligent business applications. It is based on battle-tested runtime components (like Drools, jBPM, OptaPlanner), and it allows the development of process and business rules centric cloud-native applications for orchestrating distributed microservices and container-native applications. It takes advantage of the many benefits of the container-native platforms (like Kubernetes, OpenShift) as it was designed from the ground up for those platforms.
Some of the distinguishing characteristics of Kogito are as follows:
Continue reading “Cloud-native business automation with Kogito”
Container-native applications are becoming more and more complex, consisting of various services and features, each component with its own security constraints and complex network policy rules. This makes it more difficult to perform day two operations once the cloud-native applications are deployed.
While upgrades, patches, and provisioning can be done using Ansible playbooks or Helm Charts, application lifecycle, storage lifecycle, and other deeper analysis cannot be done and requires application support team intervention.
Operator Framework initiative introduced Operator-SDK framework several years ago to standardize Kubernetes Operators development and make it easier for the Kubernetes community to create Operators and control container-native applications lifecycle.
Continue reading “How to control Container-Native Applications with Ansible Operator”
Congratulations to Raoul Baudach, Linux Operations Engineer for Swisscom AG, for being named the 2020 Runner-Up Red Hat Certified Professional of the Year.
Continue reading “Spotlight Blog | Congratulations to the Red Hat Certified Professional of the Year Runner Up”
Do you ever heard about AMQ Streams? It is a Kafka Platform based on Apache Kafka and powered by Red Hat. A big advantage of AMQ Streams is that as all Red Hat tools, it is prepared to run on the OpenShift platform.
This article’s about a common feature of Apache Kafka, called Kafka Connect. I’ll explain how it works with OpenShift.
Continue reading “Receiving “Telegram” messages with Apache Kafka Connect on OpenShift”
This post is about an experience at a customer engagement in which I had the opportunity to use an open source library from the Java Spring Framework with which I was not familiar. The customer has a ReactJS web client using a RESTful service as a controller. The web client needs to invoke services on the back end. However, for security reasons, the web client has no direct access to the back end, so the web client calls a controller REST API, which in turn makes a pass-through call to the back end service REST API.
I was tasked to provide a way for the web client to be notified of ongoing events taking place on the back end whenever a long-running multi-step process was invoked. Since Spring Boot was used for both the web controller and back end, WebFlux was chosen.
Continue reading “Java Spring Webflux Experience”