Modern App Dev

Contract-First API Design with Apicurio and Red Hat Fuse/Camel

This is part one of my two-article series that demonstrates how to implement contract-first API design using Apicurio and Red Hat Fuse.  It covers how to create an OpenAPI standard document as the contract between API providers and consumers using Apicurio Studio. It also shows how to quickly create mock tests using Red Hat Fuse which is based on Camel.

There are two common approaches when it comes to creating APIs:

  • Code first (top-down)
  • Contract first (bottom-up)

Continue reading “Contract-First API Design with Apicurio and Red Hat Fuse/Camel”

Share

Next DevNation Live: Feature toggles and hypothesis-driven development, July 5th, 12pm EDT

Can you “foresee the feature?” Do you know if proposed changes to your application will have the desired impact to your business? Let’s drop the crystal ball approach and start practicing some hypothesis-driven development so you can test your assumptions. Not every new feature is guaranteed to be a success. Some might just waste time and increase your technical debt. Join us for the next online DevNation Live on July 5th at 12pm EDT for Feature Toggles and Hypothesis-driven Development, presented by Red Hat director of Developer Experience, Edson Yanaga.

In this session, we’ll demonstrate how feature toggles can be incorporated into your software development process to let you quickly assess the business results of changes. By toggling functionality on and off, you can measure the impact and make better decisions based on real data.

Join us to gain an understanding of how the use of hypotheses, not requirements, can help you deliver what your business actually requires while learning quickly what works and what does not.

Register now and join the live presentation at 12pm EDT, Thursday, July 5th.

Session Agenda

Continue reading “Next DevNation Live: Feature toggles and hypothesis-driven development, July 5th, 12pm EDT”

Share

Why Kubernetes is The New Application Server

Have you ever wondered why you are deploying your multi-platform applications using containers? Is it just a matter of “following the hype”? In this article, I’m going to ask some provocative questions to make my case for Why Kubernetes is the new application server.

You might have noticed that the majority of languages are interpreted and use “runtimes” to execute your source code. In theory, most Node.js, Python, and Ruby code can be easily moved from one platform (Windows, Mac, Linux) to another platform. Java applications go even further by having the compiled Java class turned into a bytecode, capable of running anywhere that has a JVM (Java Virtual Machine).

The Java ecosystem provides a standard format to distribute all Java classes that are part of the same application. You can package these classes as a JAR (Java Archive), WAR (Web Archive), and EAR (Enterprise Archive) that contains the front end, back end, and libraries embedded. So I ask you: Why do you use containers to distribute your Java application? Isn’t it already supposed to be easily portable between environments?

Continue reading “Why Kubernetes is The New Application Server”

Share

Announcing .NET Core 2.1 for Red Hat Platforms

We are very pleased to announce the general availability of .NET Core 2.1 for Red Hat Enterprise Linux and OpenShift platforms!

.NET Core is the open-source, cross-platform .NET platform for building microservices. .NET Core is designed to provide the best performance at scale for applications that use microservices and containers. Libraries can be shared with other .NET platforms, such as .NET Framework (Windows) and Xamarin (mobile applications). With .NET Core you have the flexibility of building and deploying applications on Red Hat Enterprise Linux or in containers. Your container-based applications and microservices can easily be deployed to your choice of public or private clouds using Red Hat OpenShift. All of the features of OpenShift and Kubernetes for cloud deployments are available to you.

.NET Core 2.1 continues to broaden its support and tools for microservice development in an open source environment. The latest version of .NET Core includes the following improvements:

Continue reading “Announcing .NET Core 2.1 for Red Hat Platforms”

Share

Introducing the Kafka-CDI Library

Using Apache Kafka in modern event-driven applications is pretty popular. For a better cloud-native experience with Apache Kafka, it’s highly recommended to check out Red Hat AMQ Streams, which offers an easy installation and management of an Apache Kafka cluster on Red Hat OpenShift.

This article shows how the Kafka-CDI library can handle difficult setup tasks and make creating Kafka-powered event-driven applications for MicroProfile and Jakarta EE very easy.

Continue reading “Introducing the Kafka-CDI Library”

Share

Using .NET Core in a “Disconnected” Environment

Security is a very important consideration when running your custom middleware applications.  The internet can be an unfriendly place.

Sometimes middleware users have a requirement for their software to run in a “‘disconnected” environment, which is one where the network is not routed to addresses outside the one the local node is on—in other words, no internet.

Continue reading “Using .NET Core in a “Disconnected” Environment”

Share

Application Modernization and Migration Tech Talk + Scotland JBug Meetup

I’m heading back to my friends in Scotland to speak at the JBoss User Group (JBug) Scotland next month. It’s a fun group of people who really seem to enjoy working with open source and JBoss software stacks.

First off, on June 6th there will be a wonderful tech talk on application modernization and migration. This is followed by the JBug Scotland hosting a  hands-on workshop. Come and get hands-on experience in a workshop showcasing application development in the cloud using containers, JBoss middleware, services, business logic, and APIs.

The events are on June 6th, 2018 from 14:00 onwards and are scheduled as follows.

Continue reading “Application Modernization and Migration Tech Talk + Scotland JBug Meetup”

Share
Red Hat Summit signage: Keep Exploring

Red Hat Summit: Lowering the risk of monolith to microservices

Christian Posta, Chief Architect at Red Hat, presented the story of a fictitious company1 moving a monolithic application to microservices.

When considering risk, we think we know the bad things that can happen and the probabilities of those bad things actually happening. Christian defines a monolith as a large application developed over many years by different teams that delivers proven business value while being very difficult to update and maintain. Its architecture, elegant at one point, has eroded over time. That makes it difficult to assess the risk of migrating a monolith.

Continue reading “Red Hat Summit: Lowering the risk of monolith to microservices”

Share
Red Hat Summit signage at Moscone South

Red Hat Summit: An Eventful Tour from Enterprise Integration to Serverless

Red Hat Senior Architects Marius Bogoevici and Christian Posta recently presented an overview of event-driven architecture, taking the audience from the basics of enterprise integration to microservices and serverless computing. Standing in front of a packed room at Red Hat Summit, their talk addressed four basic points:

  1. Event-driven architectures have been around for a while. What are they, why are they powerful, and why are back en vogue?
  2. Messaging is often used as a backbone for event-based distributed systems. What options do we have for cloud-native event-driven architectures?
  3. Integration is necessary for any organization. How do streaming, cloud-native architectures, and microservices fit in?
  4. Are Functions-as-a-Service (FaaS) the next utopian architecture? Where do functions fit in a world of microservices?

The entire session was done with three enterprise concerns in mind. First is the divide between agile systems and purpose-built systems. While the purpose-built system is optimized for a small set of use cases, it is very difficult to change if new use cases arise or the old use cases become irrelevant. We have to be agile to adapt to a constantly changing environment. Another concern is resource utilization. We want to eliminate waste and get the most out of our systems and resources, although the cloud in general and containers in particular make more distributed architectures practical. Finally, Christian made the observation that we cannot build complex systems from complex parts. The components we develop must be as simple and understandable as possible.

Continue reading “Red Hat Summit: An Eventful Tour from Enterprise Integration to Serverless”

Share
Signage for the Red Hat Summit at Moscone West in San Francisco

Red Hat Summit: Functions as a Service with OpenWhisk and OpenShift

Serverless computing (often called Functions-as-a-Service, or FaaS) is one of the hottest emerging technologies today. The OpenWhisk project, currently in incubation at Apache, is an open-source implementation of FaaS that lets you create functions that are invoked in response to events. Our own Brendan McAdams gave a presentation and demo that explained the basics of serverless, how the OpenWhisk project works, and how to run OpenWhisk in OpenShift.

Brendan outlined the three properties of a serverless / FaaS platform:

  1. It responds to events by invoking functions
  2. Functions are loaded and executed on demand
  3. Functions can be chained together with triggered events from outside the FaaS platform itself.

Continue reading “Red Hat Summit: Functions as a Service with OpenWhisk and OpenShift”

Share