no coding required
play

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


  1. No Coding Required Building a Kubernetes Native iPaaS @KurtStam, PhD Red Hat Middleware Engineering Saturn 2018

  2. #MicroAdventures

  3. 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)

  4. 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)

  5. 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) ●

  6. 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)

  7. 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

  8. 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.

  9. Syndesis Model 12

  10. Syndesis Infrastructure using Ambassador Pattern

  11. Syndesis Meta 14

  12. Syndesis Rest - JsonDB 15

  13. Custom Application Controller: Integration 16

  14. Integration Pod using Adapter Pattern 17

  15. Demo: Twitter Search to Database Twitter Keyword: #SATURN18

  16. 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

  17. 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.

  18. Comments? Questions? @KurtStam, PhD Red Hat Middleware Engineering Saturn 2018

  19. Developer Extensions (code) ● Connectors ● Custom JDBC Drivers ● Steps ○ Camel Routes ○ Action Beans ● Community of Extensions at: ○ https://github.com/syndesisio/syndesis-extensions 23

  20. Citizen Integrator Extensions (Swagger) Swagger API Connector imports ● OAuth 2 Support ○ 24

Recommend


More recommend