I am pleased to announce that my upcoming book “Vert.x in Action: Asynchronous and Reactive Applications in Java” is now available from the Manning early-access program (MEAP): (See below for the exclusive Red Hat Developer discount code)
As enterprise applications become larger and more distributed, new architectural approaches like reactive designs, microservices, and event streams are required knowledge. The Eclipse Vert.x framework provides a mature, rock-solid toolkit for building reactive applications using Java, Kotlin, or Scala. Vert.x in Action teaches you to build responsive, resilient, and scalable JVM applications with Vert.x using well-established reactive design patterns.
Vert.x in Action teaches you to build highly-scalable reactive enterprise applications. In this practical developer’s guide, Vert.x expert Julien Ponge gets you up to speed in the basics of asynchronous programming as you learn to design and code reactive applications. Using the Vert.x asynchronous APIs, you’ll build services including web stack, messaging, authentication, and access control. You’ll also dive into deployment of container-native components with Docker, Kubernetes, and OpenShift. Along the way, you’ll check your app’s health and learn to test its resilience to external service failures.
Continue reading “Upcoming Book: Vert.x in Action (MEAP)”
This post is the first in a series of three related posts that describes a lightweight cloud-native distributed microservices framework we have created called EventFlow. EventFlow can be used to develop streaming applications that can process CloudEvents, which are an effort to standardize upon a data format for exchanging information about events generated by cloud platforms.
The EventFlow platform was created to specifically target the Kubernetes/OpenShift platforms, and it models event-processing applications as a connected flow or stream of components. The development of these components can be facilitated through the use of a simple SDK library, or they can be created as Docker images that can be configured using environment variables to attach to Kafka topics and process event data directly.
Continue reading “EventFlow: Event-driven microservices on OpenShift (Part 1)”
Microservices and serverless architectures are being implemented, or are a part of the roadmap, in most modern solution stacks. Given that Java is still the dominant language for business applications, the need for reducing the startup time for Java is becoming more important. Serverless architectures are one such area that needs faster startup times, and applications hosted on container platforms such as Red Hat Openshift can benefit from both fast Java startup time and a smaller Docker image size.
Let’s see how GraalVM can be beneficial for Java-based programs in terms of speed and size improvements. Surely, these gains are not bound to containers or serverless architectures and can be applied to a variety of use cases.
Continue reading “Natively compile Java code for better startup time”
Join us for the next online DevNation Live on June 7th at 12pm EDT for Your Journey to a Serverless World—An Introduction to Serverless, presented by Kamesh Sampath and hosted by Burr Sutter. Serverless computing is an emerging architecture that represents a shift in the way developers build and deliver software systems. By removing application infrastructure concerns, development and deployment are simplified, allowing developers to focus on writing code that delivers value. Additionally, operational costs can be reduced by only consuming resources when needed to respond to application events.
In this session, we’ll learn what serverless is and what it means to a developer. Then, we’ll quickly deploy a serverless platform using Apache OpenWhisk on Kubernetes. Using this platform, we’ll demystify which Java™ programming model you should use in a serverless environment. And finally, we’ll look at tools that can make your serverless journey quick, easy, and productive.
Watch the recorded session and view the slides.
Continue reading “Next DevNation Live: Your Journey to a Serverless World—An Introduction to Serverless, June 7th, 12pm EDT”
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:
- Event-driven architectures have been around for a while. What are they, why are they powerful, and why are back en vogue?
- Messaging is often used as a backbone for event-based distributed systems. What options do we have for cloud-native event-driven architectures?
- Integration is necessary for any organization. How do streaming, cloud-native architectures, and microservices fit in?
- 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”
Join us for the next online DevNation Live on May 17th at 12pm EDT for Serverless and Servicefull Applications: Where Microservices Complements Serverless hosted by Burr Sutter. Serverless is a misnomer. Your future cloud-native applications will consist of both microservices and functions, wrapped in Linux containers, but in many cases where you, the developer, will be able to ignore the operational aspects of managing the infrastructure and even much of the runtime stack.
In this technical session, we will start by using Apache Whisk, a Functions-as-a-Service (FaaS) engine, deployed on Kubernetes and Red Hat OpenShift to explore how you can complement cloud-native Java applications (microservices) with serverless functions. Next, we’ll open up a serverless web application architecture and deploy an API Gateway into the FaaS platform to examine the microservices talking to the serverless functions. We finish with a look at how event sinks and event sources map in the serverless world.
Watch the recorded session and view the slides.
Continue reading “Next DevNation Live: Serverless and Servicefull Applications: Where Microservices Complements Serverless, May 17th, 12pm EDT”
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:
- It responds to events by invoking functions
- Functions are loaded and executed on demand
- 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”
Have you ever thought to yourself, “Today’s world would be so much richer if we had 29 kinds of hummus?” Neither has Stephanos Bacon, Senior Director of Portfolio Strategy for Red Hat Application Platforms. His entertaining presentation moved from the options available to humans hungry for hummus to a discussion of the bewildering array of choices available to developers and architects. Although too many choices can be a bad thing1, it’s important to understand what choices are relevant today and that the relevance of those choices is always shifting.
There are several things that don’t change, however. Some of the concerns that have been with us since before the dawn of time2 include:
- Making developers as productive as possible
- Balancing productivity with governance and compliance
- Delivering software predictably and in a timely manner
- Making software as robust as possible
- Prioritizing usability and accessibility
But beyond these goals, there are three factors that are always in flux:
Continue reading “Red Hat Summit: Clouds today, serverless tomorrow”
You’re in an IT department. How does the rest of the organization see you? As a valuable asset whose code and APIs make a difference in the marketplace, or as a necessary evil that should be trimmed as much as possible? Containers, microservices, and serverless computing can make you more responsive, flexible, and competitive, which in turn makes your organization more effective. And that puts you solidly in the asset column.
After sprinting through the streets of San Francisco from the stage of the opening keynote at Red Hat Summit 2018 (replay available here), Burr Sutter hosted a packed house in Moscone South to talk about these technologies. Containers are widely accepted (see the announcement from Red Hat and Microsoft for an example), microservices are increasingly popular as an approach to modernizing monolithic applications, and serverless computing is emerging as an important new programming model.
Continue reading “Red Hat Summit: Containers, Microservices, and Serverless Computing”
If you are interested in serverless computing / Functions-as-a-Service (FaaS), and are not following the OpenShift blog, you should checkout The State of Functions-as-a-Service on Kubernetes. This video is part of the OpenShift Commons Briefing series, which has a lot of great content for developers who interested in cloud-native applications and microservices running on OpenShift and Kubernetes.
FaaS, or serverless as some call it, is a promising compute paradigm suitable for event-driven scenarios. In this briefing, Red Hat’s Michael Hausenblas and Brian Gracely reviewed the current open source offerings for FaaS on Kubernetes (Apache Open Whisk, kubeless, OpenFaaS, etc.) and discussed the pros and cons, on an architectural level and a user experience (UX) point of view. They also covered the topic FaaS vs. containers from a developers as well as an operators perspective.
This talk builds on material gathered by the Serverless Working Group , which is part of the Cloud Native Computing Foundation (CNCF). CNCF serves as the vendor-neutral home for many of the fastest-growing projects on GitHub, including Kubernetes, Prometheus, and Envoy.
Video, slides, and other resources:
Continue reading “State of Functions-as-a-Service on Kubernetes (OpenShift Commons Briefing)”