Slide 1

Slide 1 text

Microservices = Death of the ESB ?! Kai Wähner [email protected] @KaiWaehner www.kai-waehner.de LinkedIn / Xing à Please connect!

Slide 2

Slide 2 text

Key Messages –  Microservices = SOA done right! –  Integration is key for success – the product name does not matter! –  Real time event correlation is the game changer!

Slide 3

Slide 3 text

Agenda –  Digitalization –  Enterprise Service Bus –  Microservices –  Architecture and Requirements –  Challenges

Slide 4

Slide 4 text

Agenda –  Digitalization –  Enterprise Service Bus –  Microservices –  Architecture and Requirements –  Challenges

Slide 5

Slide 5 text

Everything is connected and generates a lot of data © Copyright 2000-2015 TIBCO Software Inc.

Slide 6

Slide 6 text

New Applications, New Requirements •  Purposeful: Users are looking for tools not toolboxes. •  Adaptable: Similar application services can be consumed via a variety of channels, in a variety of contexts. •  Sustainable: Applications services need to support user experience by combining performance and flexibility © Copyright 2000-2015 TIBCO Software Inc.

Slide 7

Slide 7 text

© Copyright 2000-2013 TIBCO Software Inc. “Applications created today using the good-old traditional architecture will be a business-constraining legacy before they are completed.” Yefim Natis, Software Defined Applications Webinar, May 8th 2015 Too Slow, Too Complex

Slide 8

Slide 8 text

Agenda –  Digitalization –  Enterprise Service Bus –  Microservices –  Architecture and Requirements –  Challenges

Slide 9

Slide 9 text

Integration is key for success! Integration will get even more important in the future than it is today! The number of different data sources and technologies increases even more than in the past CRM, ERP, Host, B2B, etc. will not disappear DWH, Hadoop cluster, event / streaming server, In-Memory DB – all of them have to communicate Cloud, Mobile, APIs, Big Data, Internet of Things are no option, but our future! EVERYTHING HAS TO BE INTEGRATED!

Slide 10

Slide 10 text

Evolution of Integration Microservices   Web  APIs   Real-­‐3me   Web     Oriented     Architecture   Enabling  Technologies   In-­‐Memory,  Mul3core   REST,  JSON   Demand  Drivers   Mobile,  Cloud   Fast  Data,  IoT   Services     Web  Services   Real-­‐3me   Service     Oriented   Architecture   Enabling  Technologies   XML,  SOAP,  WS-­‐*   Process  Modeling   Demand  Drivers   E-­‐Commerce   BPM   Interfaces   Adapters   Real-­‐3me   Enterprise     Applica3on   Integra3on     Enabling  Technologies   Client-­‐Server   Messaging  Middleware   Demand  Drivers   ERP   Analy3cs   Records   Batch  Jobs   Non-­‐real3me   Enabling  Technologies   Mainframe   ETL,  Databases   Data   Integra3on   Demand  Drivers   Data  Processing   MIS   Are  we   there  yet?   Level-­‐Up  by     u2lizing  the   lessons,   assets  and   prac2ces  of   the  previous   Level     Accelera2ng  Produc2vity  &    Agility    

Slide 11

Slide 11 text

Acting in Real Time gets more and more important! Time Business Value Business Event Data Ready for Analysis Analysis Completed Decision Made $$$$ $$$ $$ $ Action Taken Event Processing speeds action and increases business value by seizing opportunities while they matter

Slide 12

Slide 12 text

12 Branding of Integration Software © Copyright 2000-2015 TIBCO Software Inc. •  Keywords PAST: Application Integration, EAI, Broker, Application, Integration, Enterprise, Hub and Spoke, Backbone, Scalability, Platform, Batch •  Keywords PRESENT: Service Integration, Bus, SOA, Service, ESB, Flexibility, Distribution, Events, EDA, Real Time, Event Correlation, Open, Standards, Extensibility •  Keywords FUTURE: Integration of Everything, Cloud, IoT, Gateway, Microservice, API, Public Independence, Continuous Delivery, Self-Service, Prediction, In-Memory

Slide 13

Slide 13 text

13 TIBCO Branding © Copyright 2000-2015 TIBCO Software Inc. TIBCO     offers  middleware  for  mission-­‐cri3cal  real  3me     Integra3on  and  Event  Processing     for  20+  Years…  

Slide 14

Slide 14 text

14 TIBCO Website (Year 2000) © Copyright 2000-2015 TIBCO Software Inc.

Slide 15

Slide 15 text

15 TIBCO Website (Year 2005) © Copyright 2000-2015 TIBCO Software Inc.

Slide 16

Slide 16 text

16 TIBCO Website (Year 2010) © Copyright 2000-2015 TIBCO Software Inc.

Slide 17

Slide 17 text

17 TIBCO Website (Year 2015) © Copyright 2000-2015 TIBCO Software Inc.

Slide 18

Slide 18 text

18 Internet Archive Wayback Machine © Copyright 2000-2015 TIBCO Software Inc. Check your favorite software vendor: http://web.archive.org/web (or skip it as you will find very similar information)

Slide 19

Slide 19 text

19 Enterprise Service Bus (ESB) © Copyright 2000-2015 TIBCO Software Inc. An  enterprise  service  bus  (ESB)  is  a  soUware   architecture  model  used  for  designing  and   implemen3ng  communica3on  between  mutually   interac3ng  soUware  applica3ons  in  a  service-­‐ oriented  architecture  (SOA).  Its  primary  use  is  in   enterprise  applica3on  integra3on  (EAI)  of   heterogeneous  and  complex  landscapes.     h@p://en.wikipedia.org/wiki/Enterprise_service_bus  (Wikipedia,  2015)  

Slide 20

Slide 20 text

20 Central ESB © Copyright 2000-2015 TIBCO Software Inc. hXp://stage.reflectsoUware.com/SOA/Enterprise%20Integra3on%20EAI%20vs.%20SOA%20vs.%20ESB.pdf  

Slide 21

Slide 21 text

21 Distributed ESB © Copyright 2000-2015 TIBCO Software Inc. hXp://stage.reflectsoUware.com/SOA/Enterprise%20Integra3on%20EAI%20vs.%20SOA%20vs.%20ESB.pdf  

Slide 22

Slide 22 text

22 Is the ESB dead? #NoESB © Copyright 2000-2013 TIBCO Software Inc. Gartner   hXps://www.gartner.com/user/registra3on/webinar? resId=2855231&commId=128383&channelId=5500&srcId=null   Akana  (former  SOA  SoUware)   hXps://blog.soa.com/noesb/  

Slide 23

Slide 23 text

23 Is the ESB dead? #NoESB © Copyright 2000-2013 TIBCO Software Inc. •  Do not care about branding •  What is a “modern” ESB? –  flexible, distributed, scalable infrastructure –  build, deploy and monitor any kind of (micro)services in an agile, efficient way with open standards –  Development and deployment can be done on-premise, in the cloud, or a mixture of both –  Be aware of re-branded central EAI brokers with old code base and new name. Watch out for API-only platforms, which re-implement ESB features. •  What to use an ESB for? –  Integration, orchestration, routing, (some kinds of) event processing / correlation / business activity monitoring –  API and REST are great. However, have you ever used a mature and powerful SAP connector? Or what about Internet of Things – it needs messaging (WebSockets, MQTT, AMQP, …)? –  You can also build business applications via (micro)services, which implement your requirements and solve your business problems –  Deploy these services independently from each other with a standardized interface to a scalable runtime platform – automatically –  The services are decoupled and scale linearly across commodity hardware –  Think of an ESB as a “service delivery platform”, not just an integration platform

Slide 24

Slide 24 text

24 By the way… © Copyright 2000-2015 TIBCO Software Inc. TIBCO  BusinessWorks       is  the  integra3on  and  service  delivery  plaform  of  TIBCO  for  15+  years…     …  it  was  never  branded  “Enterprise  Service  Bus”!  

Slide 25

Slide 25 text

Agenda –  Digitalization –  Enterprise Service Bus –  Microservices –  Architecture and Requirements –  Challenges

Slide 26

Slide 26 text

•  Services implementing a limited set of functions •  Services developed, deployed and scaled independently Microservices “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 27

Slide 27 text

Shorter time to results •  Scale development and reuse of services •  Use the right technology for the job Increased flexibility •  Change / improve any Microservice without major disruption on apps or other services Benefits of Microservices “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 28

Slide 28 text

28 Mhhh…. Sounds  like  SOA!   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 29

Slide 29 text

Microservices clearly specify important differences to SOA (as we see SOA implemented in most enterprises today): •  No commitment to a unique technology •  Greater flexibility of architecture •  Services managed as products, with their own lifecycle •  Industrialized deployment •  Dumb routes and smart endpoints instead of a heavyweight ESB Sounds like SOA? Avoid  a  jungle  of  technologies!   Integra3on  s3ll  to  be  done  somewhere!   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 30

Slide 30 text

Agenda –  Digitalization –  Enterprise Service Bus –  Microservices –  Architecture and Requirements –  Challenges

Slide 31

Slide 31 text

Requirements for a Microservices Architecture ①  Service Contracts ②  Exposing new and existing Services ③  Discovery of Services ④  Coordination Across Services ⑤  Managing Complex Deployments and their Scalability ⑥  Visibility and Correlation across Services “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 32

Slide 32 text

Requirements for Microservices Architecture #1: Services Contract 32 “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 33

Slide 33 text

33 Service Contracts Service  provider  express  the  purpose  of  the   Microservice,  and  its  requirements     Other  developers  can  easily  access  this   informa3on   Service  contracts,  and  the  ability  for   developers  to  discover  them,  serve  that   purpose.   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 34

Slide 34 text

•  Examples: IDL (CORBA), Java Interface, JMS Messages, SOAP, REST, … •  In Practice today: –  SOAP: Internal, standards-based, XML Schema, easy mappings and transformations, performance no issue (anymore) –  REST (i.e. RESTful HTTP without HATEOAS): External, XML or JSON, Good architecture for mobile devices (simplicity, separation of concerns, no state, uniform interface) –  Messaging (e.g. WebSockets, MQTT): Good for millions of devices (IoT, sensors) •  De facto standard for Microservices as of today: REST •  Internet of Things will move Messaging forward! 34 Technologies for (Micro)Service Contracts “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 35

Slide 35 text

Requirements for Microservices Architecture #2: Exposing new and existing Microservices “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 36

Slide 36 text

36 Services come in various forms Integration Service Monolith application SOA Integration Service Service Service Service Service API Gateway SaaS Service “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 37

Slide 37 text

Smart endpoints and dumb pipes “When  building  communica3on  structures  between  different  processes,  we've  seen  many  products  and   approaches  that  stress  pumng  significant  smarts  into  the  communica3on  mechanism  itself.  A  good   example  of  this  is  the  Enterprise  Service  Bus  (ESB),  where  ESB  products  o-en  include  sophis3cated   facili3es  for  message  rou3ng,  choreography,  transforma3on,  and  applying  business  rules.     The  Microservice  community  favours  an  alterna3ve  approach:  smart  endpoints  and  dumb  pipes.   Applica3ons  built  from  Microservices  aim  to  be  as  decoupled  and  as  cohesive  as  possible  -­‐  they  own  their   own  domain  logic  and  act  more  as  filters  in  the  classical  Unix  sense  -­‐  receiving  a  request,  applying  logic  as   appropriate  and  producing  a  response.  These  are  choreographed  using  simple  RESTish  protocols  rather   than  complex  protocols  such  as  WS-­‐Choreography  or  BPEL  or  orchestra3on  by  a  central  tool.     The  two  protocols  used  most  commonly  are  HTTP  request-­‐response  with  resource  API's  and  lightweight   messaging.  The  best  expression  of  the  first  is            Be  of  the  web,  not  behind  the  web            -­‐-­‐  Ian  Robinson”   hXp://mar3nfowler.com/ar3cles/microservices.html#SmartEndpointsAndDumbPipes   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 38

Slide 38 text

Smart endpoints and dumb pipes “When  building  communica3on  structures  between  different  processes,  we've  seen  many  products  and  approaches   that  stress  pumng  significant  smarts  into  the  communica3on  mechanism  itself.  A  good  example  of  this  is  the   Enterprise  Service  Bus  (ESB),  where  ESB  products  o-en  include  sophis3cated  facili3es  for  message  rou3ng,   choreography,  transforma3on,  and  applying  business  rules.     The  Microservice  community  favours  an  alterna3ve  approach:  smart  endpoints  and  dumb  pipes.  Applica3ons   built  from  Microservices  aim  to  be  as  decoupled  and  as  cohesive  as  possible  -­‐  they  own  their  own  domain  logic   and  act  more  as  filters  in  the  classical  Unix  sense  -­‐  receiving  a  request,  applying  logic  as  appropriate  and  producing  a   response.  These  are  choreographed  using  simple  RESTish  protocols  rather  than  complex  protocols  such  as  WS-­‐ Choreography  or  BPEL  or  orchestra3on  by  a  central  tool.     The  two  protocols  used  most  commonly  are  HTTP  request-­‐response  with  resource  API's  and  lightweight   messaging.  The  best  expression  of  the  first  is            Be  of  the  web,  not  behind  the  web            -­‐-­‐  Ian  Robinson”   Agreed!       However,  be  aware  that  you  have  to  do  “ESB  tasks”  (integra3on,  rou3ng,  transforma3on,  etc.)  in  the  service  then!       Why?  It  has  to  be  done  somewhere!  Agree?   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 39

Slide 39 text

Integration as foundation of Microservices §  Access any data to use in Microservices §  Expose standard transport from Microservices §  Assemble new Microservices “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc. TIBCO   BusinessWorks  6  

Slide 40

Slide 40 text

Leverage any technology to create Microservices Abstract complex APIs using: •  Standard connectors –  File, JDBC, SOAP, REST, JMS, etc. •  Application connectors –  SaaS (SFDC, Marketo), SAP, Big Data, Mobile, legacy applications, etc. •  Plugin development kit •  Programming languages –  Java, Scala, Ruby, etc. §  Onboard new technologies §  New channels §  New data sources “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc. TIBCO   BusinessWorks  6  

Slide 41

Slide 41 text

41 Create REST APIs service quickly §  Top-down or bottom-up modeling §  Automatic docs and testing web UI “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc. TIBCO   BusinessWorks  6  

Slide 42

Slide 42 text

Requirements for Microservices Architecture #3: Discovery of Services 42 “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 43

Slide 43 text

The new “Open API” Economy Your   Enterprise   Closed  APIs   EDI   Web   B2B  SOA   FTP   Pre-­‐defined  integra3on  points   Limited,  trusted  partners   Strictly  constrained  interac3ons   Enterprise  friendly   Open  APIs   Opportunis3c  access  points     Many  partners,  untrusted   Encourage  new  ideas   Developer  friendly   Your   Enterprise   Partners   Innovators   Known   Par3es   Consumers   Unknown   Par3es   Suppliers   Coope33on   Employees   API   API   API   API   API   API   API   API   API   API   API   API   API   API   API   API   API   API   API   API   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 44

Slide 44 text

•  Developer  self-­‐service   •  API  Lifecycle   •  API  Mone3za3on   API  Portal   •  Security  &  Access  Control   •  Event  Based  Policy  Mgt.   •  Federated  Internet  Scale   API  Gateway   •  Repor3ng  /  Visualiza3on   •  SLA’s  &  KPI’s   •  Full  Audi3ng   API  Analy3cs   API Management – TIBCO API Exchange Cloud  Based   Or   On-­‐Premise   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 45

Slide 45 text

Requirements for Microservices Architecture #4: Coordination across services 45 “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 46

Slide 46 text

46 Coordination across services via NEW services ?! Smart  service,  dumb  pipe  (no  ESB  in  the  middle)…         How  to  coordinate?   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 47

Slide 47 text

Coordination across Services •  Apps / business services are composed from Microservices •  Some Microservices can be composed to accelerate developments §  Graphical design and debug §  Stateful or stateless §  Service or event driven “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc. TIBCO   BusinessWorks  6  

Slide 48

Slide 48 text

Requirements for Microservices Architecture #5: Managing complex deployments and their scalability “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 49

Slide 49 text

49 Continuous Delivery hXp://en.wikipedia.org/wiki/Con3nuous_delivery   Benefits       •  Accelerated  Time  to  Market   •  Building  the  Right  Product   •  Improved  Produc3vity  and  Efficiency   •  Reliable  Releases   •  Improved  Product  Quality   •  Improved  Customer  Sa3sfac3on     Combined  with  “Cloud”     •  Private  /  Public  /  Hybrid  PaaS   •  Flexible  Infrastructure   •  Elas3city     “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 50

Slide 50 text

50 Frameworks and Products for Continuous Delivery and DevOps •  Build Management –  Ant, Maven, Gradle, … •  Continuous Integration –  Jenkings, Bamboo, … •  Continuous Delivery –  Chef, Puppet, Salt, … •  Deployment (Elastic VMs / Cloud / Containers) –  Amazon Web Services, Microsoft Azure, CloudFoundry –  VMware, Openstack, Vagrant –  Docker, Spring Boot “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 51

Slide 51 text

TIBCO Silver Fabric •  DevOps in the TIBCO Universe –  Out-of-the-box support for TIBCO products such as BusinessWorks –  Complementary (not XOR!) to build, continuous integration and delivery, cloud, container and VM tools (see last slide)! •  Continuously deploy, configure and manage your applications and middleware, on premise or in the cloud. •  DevOps – Continuous Integration / Delivery –  Configuration Manager for Global Variables –  End-to-End Scripting, Automation & Visibility •  Manages quality of deployed applications –  Ports Management & Elastic Load Balancer –  Dashboard & Full Visibility –  SLA based auto scaling & elasticity Self Service Administration “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 52

Slide 52 text

TIBCO TEA: Unified Administration “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 53

Slide 53 text

#6: Visibility and Correlation across Services Requirements for Microservices Architecture “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 54

Slide 54 text

The New Era: Fast Data Processing •  Events are analyzed and processed in real-time as they arrive. •  Decisions are timely, contextual, and based on fresh data. •  Decision latency is eliminated, resulting in: ü  Superior Customer Experience ü  Operational Excellence ü  Instant Awareness and Timely Decisions © Copyright 2000-2015 TIBCO Software Inc. Act & Monitor Analyze Store

Slide 55

Slide 55 text

Voltage Temperature Vibration Device history Temporal analytic: “If vibration spike is followed by temp spike then voltage spike [within 12 minutes] then flag high severity alert.” Event Processing (Correlation of Events) “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 56

Slide 56 text

56 Microservices and the need for a “Bus”? Event  correla3on  is  the  requirement,   where  you  really  need  a  “bus”.       However,  this  “bus”  is  not  an  ESB,  but   an  in-­‐memory  event  server.   “How to Build Microservices” by Kai Wähner © Copyright 2000-2015 TIBCO Software Inc.

Slide 57

Slide 57 text

Live Datamart •  TIBCO Live Datamart •  “live business intelligence” platform for real-time streaming data •  push based query results and alerts, human interaction Event Processing: Stream & Event-Based
 Event Server •  TIBCO BusinessEvents •  rules-based event processing platform for real-time reasoning Streaming Analytics •  TIBCO StreamBase •  applies mathematical and relational processing to real- time data streams. Integra3on   Partners SaaS Applications Big Data Sources Market Data IoT Mobile Social TERR Predictive Analytics

Slide 58

Slide 58 text

Agenda –  Digitalization –  Enterprise Service Bus –  Microservices –  Architecture and Requirements –  Challenges

Slide 59

Slide 59 text

59 Necessary Rules and Guidelines © Copyright 2000-2015 TIBCO Software Inc. Stefan  Tilkov,  h@ps://speakerdeck.com/s2lkov/microservices-­‐talk-­‐berlin  

Slide 60

Slide 60 text

60 Avoid a zoo of technologies and frameworks! © Copyright 2000-2015 TIBCO Software Inc. Java   JavaScript   Java  Process   (JAR  File)   Java  EE   App  Server   Node.js   Server   .NET   Plaform   C#  +  F#   Scala  +  Groovy   Framework  1   Framework  2   Framework  X   No  Framework   Tool  1   Tool  2   No  Tool   Tool  X   Middleware   Plaform  

Slide 61

Slide 61 text

61 DevOps / Continuous Delivery © Copyright 2000-2015 TIBCO Software Inc. Theory Every team is responsible for development, test, deployment and operations. Therefore, technology and tool choice do not matter. Practice People and intellectual property leave companies. An enterprise strategy exists to reduce risks and costs. The team cannot control everything (e.g. when using Open API or SaaS services).

Slide 62

Slide 62 text

62 Microservices is a lot of effort! © Copyright 2000-2015 TIBCO Software Inc. •  Significant operations overhead •  Substantial DevOps skills required •  Implicit interfaces •  Duplication of effort •  Distributed system complexity •  Asynchronicity is difficult •  Testability Challenges hXp://highscalability.com/blog/2015/4/8/microservices-­‐not-­‐a-­‐free-­‐lunch.html   ”[…]  when  considering  Microservice  like  architectures,  it's  really  important  to  not  be   aXracted  to  the  hype  on  this  one  as  the  challenges  and  costs  are  as  real  as  the   benefits."  

Slide 63

Slide 63 text

Microservices - A new approach to build applications Build only what you need •  Adapt when your need change Develop / maintain / deploy faster •  From services to applications, apps and APIs Reuse and scale •  Scale the way your business needs with policies Accelerate innovation •  Use services as a launching point, not a burden Leverage your data •  Create differentiating services © Copyright 2000-2015 TIBCO Software Inc.

Slide 64

Slide 64 text

Did you get the Key Message?

Slide 65

Slide 65 text

Key Messages –  Microservices = SOA done right! –  Integration is key for success – the product name does not matter! –  Real time event correlation is the game changer!

Slide 66

Slide 66 text

Questions? Kai Wähner [email protected] @KaiWaehner www.kai-waehner.de Xing / LinkedIn à Please connect!