This document discusses various Red Hat technologies for enabling cloud native applications and GitOps workflows. It introduces concepts like Knative for serverless workloads, Istio for microservices control, CodeReady Workspaces for developers, and CodeReady Containers for local development. Examples are given of technologies like Quarkus and GraalVM for optimized Java applications, and Tekton and OpenShift Pipelines for CI/CD automation. References are also provided for further exploring these Red Hat technologies.
13. So… What defines a
Cloud Native App
Distributed
Secure
API Centric
Event Driven
Multi-cloud Scalable
Polyglot
Java
.Net
Core
Node.js
Python
Go
Lang
Disposable
33. Enabling Cloud Native JAVA
Quarkus Improves Startup Time by a lot!
Quarkus + GraalVM 0.014 Seconds
REST
REST + CRUD
Quarkus + OpenJDK 0.75 Seconds
Quarkus + GraalVM 0.055 Seconds
Quarkus + OpenJDK 2.5 Seconds
Traditional Cloud-Native Stack 9.5 Seconds
Traditional Cloud-Native Stack 4.3 Seconds
34. What is Knative?
"Function as a Service
(FaaS) is serverless in
the same way a square
is a rectangle"
Serverless > Functions
Serverless > Microservices
Serverless > Containers
Serverless then is more than Functions, more than microservices and more than just containers.
FaaS is a specialization of what Serverless is, but definitely not the only way to think about Serverless.
35. What is Knative?
Serverless Defined
“computing execution model that depends
on services to manage server-side logic and
state where business logic run in stateless,
event-triggered compute linux containers"
event
action
result$
36. What is Knative?
SERVING
An event-driven model
that serves the container
with your application and
can "scale to zero".
EVENTING
Common infrastructure for
consuming and producing
events that will stimulate
applications.
DEPLOYING
A set of shared and
standard components for
building Kubernetes-style
CI/CD systems
38. What is Knative?
Key Features
● Familiar to Kubernetes users.
Native.
● Scale to 0 and autoscale to
N based on demand
● Applications and functions.
Any container workload.
● Powerful eventing model with
multiple event sources.
● Operator available via
OperatorHub
● Knative v0.8 (v1beta1 APIs)
● No vendor lock in
41. Keeping microservices
under control
Key Features
● A dedicated network for service to service
communications
● Observability and distributed tracing
● Policy-driven security
● Routing rules & chaos engineering
● Powerful visualization & monitoring
● Available via OperatorHub
46. Enabling Developers
● Browser-based web IDE and
dev environment in Kube
pods
● Red Hat supported Eclipse
Che
● Available on OCP and OSD
● Enabled via an operator
● Stacks based on Red Hat
Linux and Middleware
CodeReady Workspaces
47. Enabling Developers
● A developer-focused command-line
tool for rapid development
iterations on OpenShift.
● Simplifies building of microservices
applications on OpenShift.
● GA OpenShift 4.2
OpenShift’s Dev-Focused CLI: “odo”
$ odo create wildfly backend
Component ‘backend’ was created.
$ odo push
Pushing changes to component: backend
$ odo create php frontend
Component ‘frontend’ was created.
To push source code to the component run ‘odo push’
$ odo push
Pushing changes to component: frontend
$ odo url create
frontend - http://frontend-myapp.192.168.99.100.nip.io
$ odo watch
Waiting for something to change in /dev/frontend
48. Last but not least
● Sucessor to Minishift
● Allows to keep in sync with
our enterprise releases
● Supports Operator Hub!
● Available now!
Try all of this on your laptop with: CodeReady Containers
49. References
● Tekton documentation
● Tekton tutorial
● OpenShift Pipelines tutorial
● Open Container initiative (CRI-O, Buildha,
Podman & Skopeo
● Quarkus test drive
● Quarkus SpringBoot exercise
● OpenShift 4.x on your laptop
● Camel-K
● All things Quarkus
● Red Hat Istio Service Mesh
● Red Hat AMQ Streams - Kafka on OpenShift
● cri-O runtime
● OpenShift Do (odo cli)
● OpenShift free online training for developers
● Knative tutorial
● KEDA
● Red Hat CodeReady Workspaces
● Red Hat AMQ and GitOps
● Reactive programming and Vert.x
● Red Hat OpenShift Operator Framework
● OpenShift Istio (Kiali)
● OpenShift Istio (Jaeger)