Inter-Reactive Kotlin Applications

Inter-Reactive Kotlin Applications

Kotlin coroutines is one of the major features of Eclipse Vert.x 3.5.

Most of us are used to writing interactive code and going the reactive way is not a trivial paradigm shift for everyone: programming using asynchronous APIs can be more challenging than using a direct synchronous style, in particular, if you have several operations that you want to do in sequence. Also, error propagation is often more complex when using asynchronous APIs.

Continue reading “Inter-Reactive Kotlin Applications”

Share
Hexagonal Architecture  as a Natural fit for Apache Camel

Hexagonal Architecture as a Natural fit for Apache Camel

There are architectures and patterns that look cool on paper, and there are ones that are good in practice. Implementing the hexagonal architecture with Camel is both: cool to talk about, and a natural implementation outcome. I love going hexagonal with Camel because it is one of these combinations where the architecture and the tool come together naturally, and many end up doing it without realizing it. Let’s see why that is the case.

Continue reading “Hexagonal Architecture as a Natural fit for Apache Camel”

Share

The State of Microservices Survey 2017 – Eight trends you need to know

During the fall of 2017, we conducted a microservices survey with our Red Hat Middleware and Red Hat OpenShift customers. Here are eight interesting trends discerned by the results:

I. Microservices are being used to re-architect existing applications as much as for brand new projects

There seems to be a strong emphasis in the market by technology vendors for positioning microservices as being only for new projects.  However, our survey reveals that organizations are also using microservices to re-architect existing and legacy applications.

Sixty-seven percent of Red Hat Middleware customers and 79 percent of Red Hat OpenShift customers indicated this. This data tells us that microservices offer value to users all along their IT transformation journey — whether they are just looking to update their current application portfolio or are gearing up new initiatives. So, if you are only focused on greenfield projects for microservices, it may be a good idea to also start evaluating your existing applications for a microservice re-architecture analysis. Microservices introduce a set of benefits that our customers have already started seeing, and they are applying these benefits not just to new projects but to existing ones as well.

II. Customers prefer a multi-runtime/multi-technology/multi-framework approach for microservices

Continue reading “The State of Microservices Survey 2017 – Eight trends you need to know”

Share
How to customize OpenShift RBAC permissions

How to customize OpenShift RBAC permissions

Recently I’ve received a question from a customer who would like to restrict user permission in OpenShift Container Platform in order to be compliant with his company’s security policies.

OpenShift has rich and fine-grained RBAC capabilities out of the box, which gives you the possibility to setup exactly who can do actions (verbs in OpenShift word) on every kind of resource.

Before we begin to dive deep into this topic, I have provided links to some resources I think will be of use to help better understand the concepts of roles, roles scope, RoleBinding, groups, etc.

Continue reading “How to customize OpenShift RBAC permissions”

Share
Open vSwitch without stale ports

Open vSwitch without stale ports

Open vSwitch is growing every day and being used in large-scale deployments. Usually, that means there are few ports configured in the vswitch that will be always available, like physical Ethernet ports and several other ports providing networking connectivity to virtual machines or containers. Those other ports are software devices and very often they cannot be reused after a reboot or a system crash for example.

This blog post will talk about how to make sure the vSwitch comes up clean after a system crash or bad shutdown. The idea is that once vSwitch is up, there is no need for another component (usually a remote controller) to iterate over a large number of stale ports and clean them up.

Continue reading “Open vSwitch without stale ports”

Share
Steps to replace nip.io with xip.io in CDK/Minishift

Steps to replace nip.io with xip.io in CDK/Minishift

If you’re a Red Hat Container Development Kit (CDK) or upstream Minishift user, you would have been affected by the unavailability of nip.io. When you create a route for an application running in OpenShift (provided by Minishift) it uses nip.io for routing to the Minishift VM IP address. As a result, it is impossible to access the route created with nip.io suffix.

Continue reading Steps to replace nip.io with xip.io in CDK/Minishift

Share
Red Hat at the ISO C++ Standards Meeting (November 2017): Parallelism and Concurrency

Red Hat at the ISO C++ Standards Meeting (November 2017): Parallelism and Concurrency

Several Red Hat engineers attended the JTC1/SC22/WG21 C++ Standards Committee meetings in November 2017. This post focuses on the sessions of SG1, the study group on parallelism and concurrency. SG1 had a full schedule as usual, with Executors, Futures, and deferred reclamation mechanisms (e.g., RCU) being major discussion topics. We also started to track the state of proposals and topics we will need to discuss in a publicly accessible bug tracker.

Continue reading “Red Hat at the ISO C++ Standards Meeting (November 2017): Parallelism and Concurrency”

Share
Provisioning with Red Hat Satellite 6

Provisioning with Red Hat Satellite 6

Satellite is Red Hat’s content management, provisioning, configuration management, and lifecycle management solution to help keep your infrastructure running efficiently and more securely while reducing costs and overall complexity. Regardless of your what your environment looks like, you can benefit from the configuration management capabilities that Satellite provides.

Continue reading “Provisioning with Red Hat Satellite 6”

Share