34
An easier way to integrate microservices!

Fuse integration-services

  • Upload
    ceposta

  • View
    1.095

  • Download
    0

Embed Size (px)

Citation preview

An easier way to integrate microservices!

Christian Posta Principal Middleware Specialist/Architect

Twitter: @christianposta

Blog: http://blog.christianposta.com

Email: [email protected]

•  Committer on Apache Camel, Apache ActiveMQ, Fabric8

•  Spent lot of time working with one of the largest Microservices, web-

scale, unicorn companies

•  Blogger / speaker about DevOps, open-source, integration, and

microservices

Cloud Native Architectures

Ifchangeishappeningontheoutsidefasterthanontheinsidetheendisinsight.

Jack Welch, former CEO, GE

Cloud Native Architectures

S&P company life expectancy

•  Trying to incorporate new technology? •  Trying to copy what others are doing? •  Tactical automation? •  Created a “DevOps” team? •  Exploring cloud services? •  Build/deploy automation? •  OpenSource? •  Piecemeal integration?

How are you keeping up with change?

Cloud Native Architectures

Cloud Native Architectures

•  Faster software delivery •  Own database (data) •  Faster innovation •  Scalability •  Right technology for the

problem •  Test individual services •  Isolation •  Individual deployments

Poll:areyoudoingmicroservices?YesNoNotsure

Cloud Native Architectures

Callitwhatyouwant;SOA,microservices–it’salljustdistributedsystems

Christian Posta – Red Hat

Cloud Native Architectures

Cloud Native Architectures

Cloud Native Architectures

Fallacies of distributed computing •  Reliable networking •  Latency is zero •  Bandwidth is infinite •  Network is secure •  Topology doesn’t change •  Single administrator •  Transport cost is zero •  Network is homogenous

https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

Cloud Native Architectures

Scalable, fault tolerant

Cloud Native Architectures

Do we need integration?

Cloud Native Architectures

Do we need integration?

Cloud Native Architectures

Evolution loop

Cloud Native Architectures

Yes; we need reliable integration! •  REST, RPC •  Messaging (ActiveMQ, JMS, AMQP, STOMP, Kafka, etc) •  Legacy (SOAP, mainframe, file processing, proprietary) •  Managed file processing •  Streaming •  Message transformation •  EIPs

Cloud Native Architectures

Apache Camel to the rescue! •  Small Java library •  Distributed-system swiss-army knife! •  Powerful EIPs •  Declarative DSL •  Embeddable into any JVM (EAP, Karaf, Tomcat, Spring

Boot, Dropwizard, Wildfly Swarm, no container, etc) •  Very popular (200+ components for “dumb pipes”)

Cloud Native Architectures

Apache Camel to the rescue!

•  Automatic retries, backoff algorithms •  Dynamic routing •  Powerful testing/mocking framework •  Circuit breakers •  Backpressure mechanisms •  Beautiful REST DSL with built in Swagger support

Cloud Native Architectures

Cloud Native Architectures

Typical problems developing microservices •  How to run them all locally? •  How to package them (dependency management) •  How to test? •  Vagrant? VirtualBox? VMs? •  Specify configuration •  Process isolation •  Service discovery •  Multiple versions?

Cloud Native Architectures

Shared infrastructure platforms headaches

•  Different teams •  Different rates of change •  VM sprawl •  Configuration drift •  Isolation / multi-tenancy

•  Performance •  Real-time vs batch •  Compliance •  Security •  Technology choices

Cloud Native Architectures

Reasonable solutions

•  Automate, automate, automate

•  Duct tape, shoe string, bungee cords

•  Rely on templates, versioning, scm

•  Fuse Fabric

Cloud Native Architectures

Immutable infrastructure/deploys •  “we’ll just put it back in Ansible”

•  Avoid chucking binaries / configs together and hope!

•  Cattle vs Pets

•  Don’t change it; replace it

•  System created fully from automation; avoid drift

•  Eliminate manual configuration/intervention

Cloud Native Architectures

Fuse Integration Services for OpenShift

•  Set of tools for integration developers

•  Build/package your Fuse/Camel services as Docker

images

•  Run locally on CDK

•  Deploy on top of OpenShift

•  Plugs-in to your existing build/release ecosystem

(Jenkins/Maven/Nexus/Gitlab,etc)

Cloud Native Architectures

Fuse Integration Services for OpenShift

•  Manage them with Kubernetes/OpenShift

•  Flat-class loaders

•  Take advantage of existing investment into Karaf with

additional options like “just enough app server”

deployments

•  Supports Spring, CDI, Blueprint

Cloud Native Architectures

Cloud Native Architectures

Using FIS on Red Hat CDK

•  Small VM run locally by developers

•  Full access to Docker, Kubernetes, OpenShift

•  Deploy your suite of microservices with ease!

•  Uses Vagrant/VirtualBox

•  Getting Started on Windows! http://bit.ly/1U5xU4z

Cloud Native Architectures

Docker and Kubernetes •  Virtualized, isolated, containerized apps

•  Lightweight packaging model (similar to git diffs)

•  Immutability built in

•  Cluster management

•  start/stop/liveness/health, service discovery, dns, routing

•  Deploy applications using “reconciliation of state” vs step-by-step scripting

Cloud Native Architectures

OpenShift Higher level constructs on top of lower level abstractions

A PaaS built on native Docker/Kubernetes

Adds enterprise-necessary features

security

users/groups/permissions/quotas

source-to-image builds

autoscaling

deployment config

software defined networking out of the box

Cloud Native Architectures

Typical problems developing microservices •  How to run them all locally? •  How to package them •  How to test? •  Vagrant? VirtualBox? VMs? •  Specify configuration •  Process isolation •  Service discovery •  Multiple versions?

Cloud Native Architectures

Cloud Native Architectures

5 min demo

Cloud Native Architectures

Cloud Native Architectures

What’s included in FIS?

•  Docker base images

•  Source to Image base images

•  Archetypes for new-project creation

•  Maven plugins

•  AMQ discovery (within OpenShift) plugin

•  HawtIO based camel tooling for web-based JVM/Camel

introspection/visualization

Cloud Native Architectures

10 min demo

Christian Posta Principal Middleware Specialist/Architect

Twitter: @christianposta

Blog: http://blog.christianposta.com

Email: [email protected]

Questions and

Discussion