Container-native integration testing

Integration testing is still an important step in a CI/CD pipeline even when you are developing container-native applications. Integration tests tend to be very resource-intensive workloads that run for a limited time.

I wanted to explore how integration testing technologies and tools could leverage a container orchestrator (such as Red Hat OpenShift) to run faster and more-dynamic tests, while at the same time using resources more effectively.

In this post, you will learn how to build behavior-driven development (BDD) integration tests using Cucumber, Protractor, and Selenium and how to run them in OpenShift using Zalenium.

The code for the example of this article can be found on GitHub in redhat-cop/container-pipelinesh.

Continue reading “Container-native integration testing”

Share
Red Hat Developer

Announcing updated Red Hat Developer Studio and Container Development Kit

I’m extremely pleased to announce the release of Red Hat Container Development Kit (CDK) 3.5 and Red Hat Developer Studio 12. Whether you are developing traditional or cloud-based applications and microservices, you can run these tools on your Windows, macOS, or Red Hat Enterprise Linux laptop to streamline development:

  • Red Hat Container Development Kit provides a pre-built container development environment to help you develop container-based applications quickly using Red Hat OpenShift and Kubernetes.
  • Red Hat Developer Studio (previously named JBoss Developer Studio) provides a desktop IDE with superior support for your entire development lifecycle. It includes a broad set of tooling capabilities and support for multiple programming models and frameworks. Developer Studio provides broad support for working with Red Hat products and technologies including middleware, business automation, and integration, notably Camel and Red Hat Fuse. Developer Studio is based on Eclipse 4.8 (Photon).

A number of Red Hat Enterprise Linux (RHEL) development tools have been updated. These include Rust 1.26.1, Go 1.10.2, Cargo 1.26, and Eclipse 4.8 (Photon).

Our goals are to improve usability of our tools for developers, while adding new features that matter most for users of Red Hat platforms and technologies.

Overview of new features:

Continue reading “Announcing updated Red Hat Developer Studio and Container Development Kit”

Share

Announcing Red Hat Developer Studio 12.0.0.GA and JBoss Tools 4.6.0.Final for Eclipse Photon

Attention desktop IDE users: Red Hat Developer Studio 12.0 and the community edition, JBoss Tools 4.6.0 for Eclipse Photon, are now available. You can download a bundled installer, Developer Studio, which installs Eclipse 4.8 with all of the JBoss Tools already configured. Or, if you have an existing Eclipse 4.8 (Photon) installation, you can download the JBoss Tools package. This article highlights some of the new features in both JBoss Tools and Eclipse Photon, covering WildFly, Spring Boot, Camel, Maven, and many Java related improvements including full Java 10 support.

Developer Studio / JBoss Tools provides a desktop IDE with a broad set of tooling covering multiple programming models and frameworks. If you are doing container / cloud development, there is integrated functionality for working with Red Hat OpenShift, Kubernetes, Red Hat Container Development Kit, and Red Hat OpenShift Application Runtimes. For integration projects, there is tooling covering Camel and Red Hat Fuse that can be used in both local and cloud deployments.

Continue reading “Announcing Red Hat Developer Studio 12.0.0.GA and JBoss Tools 4.6.0.Final for Eclipse Photon”

Share

Smart-Meter Data Processing Using Apache Kafka on OpenShift

There is a major push in the United Kingdom to replace aging mechanical electricity meters with connected smart meters. New meters allow consumers to more closely monitor their energy usage and associated cost, and they enable the suppliers to automate the billing process because the meters automatically report fine-grained energy use.

This post describes an architecture for processing a stream of meter readings using Strimzi, which offers support for running Apache Kafka in a container environment (Red Hat OpenShift). The data has been made available through a UK research project that collected data from energy producers, distributors, and consumers from 2011 to 2014. The TC1a dataset used here contains data from 8,000 domestic customers on half-hour intervals in the following form:

Continue reading “Smart-Meter Data Processing Using Apache Kafka on OpenShift”

Share

Using Red Hat Data Grid to power a multi-cloud real-time game

The scavenger hunt game developed for the audience to play during the Red Hat Summit 2018 demo used Red Hat Data Grid as storage for everything except the pictures taken by the participants. Data was stored across three different cloud environments using cross-site replication. In this blog post, we will look at how data was flowing through Data Grid and explain the Data Grid features powering different aspects of the game’s functionality.

Continue reading Using Red Hat Data Grid to power a multi-cloud real-time game

Share

Red Hat Data Grid on Three Clouds (the details behind the demo)

If you saw or heard about the multi-cloud demo at Red Hat Summit 2018, this article details how we ran Red Hat Data Grid in active-active-active mode across three cloud providers. This set up enabled us to show a fail over between cloud providers in real time with no loss of data. In addition to Red Hat Data Grid, we used Vert.x (reactive programming), OpenWhisk (serverless), and Red Hat Gluster Storage (software-defined storage.)

This year’s Red Hat Summit was quite an adventure for all of us. A trip to San Francisco is probably on the bucket list of IT geeks from all over the world. Also, we were able to meet many other Red Hatters, who work remotely for Red Hat as we do.  However, the best part was that we had something important to say: “we believe in the hybrid/multi cloud” and we got to prove that live on stage.

Photo credit: Bolesław Dawidowicz

 

Continue reading “Red Hat Data Grid on Three Clouds (the details behind the demo)”

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

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 OpenShift

Externalized HTTP Session in an OpenShift 3.9 Environment

In this article, I will show how you can implement a common use case that often happens when you migrate a classic Java EE application into a Red Hat OpenShift environment.

Scenario

Usually a classic Java EE application stores a user’s information, such the profile’s configuration, in the HTTP session. In a typical production scenario, there are several application server instances that build a cluster and are used to implement high availability, failover, and load balancing. To make sure that stateful information is preserved across the application server instances, you must distribute your session as described in the Java EE 7 specification section EE.6.4, “Servlet 3.1 Requirements.”

Continue reading “Externalized HTTP Session in an OpenShift 3.9 Environment”

Share

An API Journey: From Idea to Deployment the Agile Way–Part III

This is part III of a three-part series describing a proposed approach for an agile API lifecycle: from ideation to production deployment. If you missed it or need a refresher, please take some time to read part I and part II.

This series is coauthored with Nicolas Massé, also a Red Hatter, and it is based on our own real-life experiences from our work with the Red Hat customers we’ve met.

In part II, we discovered how ACME Inc. is taking an agile API journey for its new Beer Catalog API deployment. ACME set up modern techniques for continuously testing its API implementation within the continuous integration/continuous delivery (CI/CD) pipeline. Let’s go now to securing the exposition.

Continue reading “An API Journey: From Idea to Deployment the Agile Way–Part III”

Share