No Coding Required Building a Kubernetes Native iPaaS @KurtStam, - - PowerPoint PPT Presentation

no coding required
SMART_READER_LITE
LIVE PREVIEW

No Coding Required Building a Kubernetes Native iPaaS @KurtStam, - - PowerPoint PPT Presentation

No Coding Required Building a Kubernetes Native iPaaS @KurtStam, PhD Red Hat Middleware Engineering Saturn 2018 #MicroAdventures Open Source: Freedom, Community, Sharing Evolution of Open Source Middleware Internet: Middleware


slide-1
SLIDE 1

No Coding Required

Building a Kubernetes Native iPaaS @KurtStam, PhD

Red Hat Middleware Engineering

Saturn 2018

slide-2
SLIDE 2
slide-3
SLIDE 3

#MicroAdventures

slide-4
SLIDE 4

Open Source: Freedom, Community, Sharing

Evolution of Open Source Middleware Internet:

  • Middleware Infrastructure JEE/ESB (JBoss, Apache)
  • End User Applications (Firefox)

Cloud:

  • PaaS: Automation of Shipping and Deployment

○ (Containers + Kubernetes/OpenShift)

  • iPaaS: - ‘Camel in the Cloud’ (Syndesis)
slide-5
SLIDE 5

iPaaS = PaaS + Integration

Inherits all the characteristics from a PaaS and adds Integration capabilities The Red Hat PaaS consists of: Docker Containers OpenShift (Kubernetes Implementation)

slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

Kubernetes Container Patterns

Kubernetes provides automated deployment, operations, and scaling of applications Patterns:

  • Liveness and readiness probes
  • ConfigMap & Secrets
  • Graceful termination (rolling upgrade or node drain for maintenance)
slide-9
SLIDE 9

Syndesis iPaaS

Integration capabilities leveraging over 200 Apache Components. Syndesis Connectors add DataShape In/Out Create an integration from templates Publish the integration (as Pod)

slide-10
SLIDE 10

Syndesis target user: Engage users at all levels

Integration for the novice and the expert Novice users want a curated experience with a no-code toolchain Expert users want flexibility, drill-down, extensibility Bridge user populations, allowing experts to help novices

slide-11
SLIDE 11

Syndesis Development Process

OpenShift and Camel are the upstream projects UX Driven to avoid Camel specifics leaking into the UI Each merged PR creates new Docker SnapShot builds to DockerHub Each developer has local MiniShift and we all share a common staging environment UI and Backend developer working simultaneously using JSON data graphs stored in database.

slide-12
SLIDE 12

12

Syndesis Model

slide-13
SLIDE 13

Syndesis Infrastructure using Ambassador Pattern

slide-14
SLIDE 14

14

Syndesis Meta

slide-15
SLIDE 15

15

Syndesis Rest - JsonDB

slide-16
SLIDE 16

16

Custom Application Controller: Integration

slide-17
SLIDE 17

17

Integration Pod using Adapter Pattern

slide-18
SLIDE 18
slide-19
SLIDE 19

Demo: Twitter Search to Database

Twitter Keyword:

#SATURN18

slide-20
SLIDE 20

Lessons Learned (1)

MonoRepo: Easy to lose track of all pieces that go into the build. Java: JVM tends to consolidate services to reduce memory footprint - Tune and set limits Java. UX first worked quite well but UX was always the bottleneck Angular UI ‘template-based’ as much as possible

slide-21
SLIDE 21

Lessons Learned (2)

Camel: We drove a lot of changes upstream into Camel to support extensibility Kubernetes Cloud changes everything - Makes it super easy to start but there is a learning curve to debug distributed issues. MiniShift: Each Developer their own MiniShift, allows for hooking up the

  • debugger. Perfect for controlling the development environment.
slide-22
SLIDE 22

Comments? Questions?

@KurtStam, PhD

Red Hat Middleware Engineering

Saturn 2018

slide-23
SLIDE 23

23

Developer Extensions (code)

  • Connectors
  • Custom JDBC Drivers
  • Steps

○ Camel Routes ○ Action Beans

  • Community of Extensions at:

○ https://github.com/syndesisio/syndesis-extensions

slide-24
SLIDE 24

24

Citizen Integrator Extensions (Swagger)

  • Swagger API Connector imports

OAuth 2 Support