Microservices and Containers in the Middleware World



Similar documents
Private Cloud Management

April 2016 JPoint Moscow, Russia. How to Apply Big Data Analytics and Machine Learning to Real Time Processing. Kai Wähner.

RED HAT CONTAINER STRATEGY

Container Clusters on OpenStack

The Virtualization Practice

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

DevOps. Josh Preston Solutions Architect Stardate

Red Hat Cloud Ecosystem

How to choose the right Technology, Framework or Tool to Build Microservices. Kai

DevOps with Containers. for Microservices

Alan Conley, John Belamaric. Bloxfest - Containers

Apache Stratos Building a PaaS using OSGi and Equinox. Paul Fremantle CTO and Co- Founder, WSO2 CommiCer, Apache Stratos

Red Hat Openshift Christoph Eberle

Da Internet delle persone a Internet delle cose. Giovanni Pirola Regional Service Manager Red Hat, Inc. November 19th 2014

Modern App Architecture for the Enterprise Delivering agility, portability and control with Docker Containers as a Service (CaaS)

API Management Introduction and Principles

Cisco Integration Platform

Platform Architecture & Integration with OpenShift

Kai Wähner. The Next-Generation BPM for a Big Data World: Intelligent Business Process Management Suites (ibpms)

Delivering secure, real-time business insights for the Industrial world

Considerations for Adopting PaaS (Platform as a Service)

White paper: Delivering Business Value with Apache Mesos

API MORNING. IBM Bluemix. The Digital Innovation Platform IBM Corporation

OpenShift 3.0 in the Sogeti Services Factory

Plan for Success with a Hybrid Cloud! Thanks to IBM Power Systems OpenStack SoftLayer and UrbanCode

Microservices on AWS

Sacha Dubois RED HAT TRENDS AND TECHNOLOGY PATH TO AN OPEN HYBRID CLOUD AND DEVELOPER AGILITY. Solution Architect Infrastructure

REFERENCE ARCHITECTURE FOR SMAC SOLUTIONS

Beyond the SOA/BPM frontiers Towards a complete open cooperative environment

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Oracle Applications and Cloud Computing - Future Direction

How To Develop An Org Cloud Based Powerware For An Onpremise Cloud Environment

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

PLATFORM-AS-A-SERVICE, DEVOPS, AND APPLICATION INTEGRATION. An introduction to delivering applications faster

Evolution of the Modern Software Supply Chain The Docker Survey, 2016

Kubernetes-Murano Integration in Mirantis OpenStack 7.0

Enterprise PaaS Evaluation Guide

Cloud Computing and Big Data What Technical Writers Need to Know

Rapid Development of Smart and Self-Adaptive Cloud, Mobile & IoT Applications - Accelerating the Last Mile of Cloud Computing

Introduction to Cloud Computing

Introducing Red Hat s JBoss Portfolio

Using Red Hat Systems Management Tools in a Hybrid Cloud

Service Orchestration

Java PaaS Enabling CI, CD, and DevOps

Intel IT Cloud Extending OpenStack* IaaS with Cloud Foundry* PaaS

The future of middleware: enterprise application integration and Fuse

Software as a Service (SaaS) and Platform as a Service (PaaS) (ENCS 691K Chapter 1)

A Complete Open Cloud Storage, Virt, IaaS, PaaS. Dave Neary Open Source and Standards, Red Hat

WELCOME TO Open Source Enterprise Architecture

The Impact of PaaS on Business Transformation

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

OpenShift. Marek Jelen, OpenShift, Red Hat

Modern Application Architecture for the Enterprise

NCTA Cloud Architecture

DevOps Course Content

Optimizing Service Levels in Public Cloud Deployments

Big Data, Cloud Computing, Spatial Databases Steven Hagan Vice President Server Technologies

One click Hadoop clusters - anywhere

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen

How To Understand The 2013 Cio Agenda For A Cloud Server

IDC MarketScape: Worldwide Public Deployment-Centric Cloud Application Platform 2015 Vendor Assessment

Software Defined Everything

VMware on VMware: Private Cloud Case Study Customer Presentation

OWB Users, Enter The New ODI World

CHAPTER 8 CLOUD COMPUTING

Cloud Essentials for Architects using OpenStack

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Methods and tools for data and software integration Enterprise Service Bus

The State of Containers and the Docker Ecosystem: Anna Gerber

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

Cisco Intelligent Automation for Cloud

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

Federal Secure Cloud Testing as a Service - TaaS Center of Excellence (CoE) Robert L. Linton

Deploying Your Application On Public Cloud

What's the Difference Between OpenStack & A Cloud Management Platform?

Lunch and Learn: BlueMix to Mainframe making development accessible in the

perspective Microservices A New Application Paradigm Abstract

ENTERPRISE MOBILE BACKEND AS A SERVICE EVALUATION CHECKLIST

Private/hybrid cloud management platform: HP Cloud Service Automation

Oracle Reference Architecture and Oracle Cloud

Red Hat JBoss Overview Intelligent Integrated Enterprise!!!! Blaine Mincey Sr. Middleware Solutions Architect

IBM Websphere Application Server as a Service

The Internet of Things

Your Journey to the Cloud with Red Hat

Cloud Computing 101 Dissipating the Fog 2012/Dec/xx Grid-Interop 2012

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

Cloud Computing. Chapter 1 Introducing Cloud Computing

Agility for the Digital Enterprise Get There Faster

Transcription:

Microservices and Containers in the Middleware World April 2016 JPoint Moscow, Russia Kai Wähner Technology Evangelist kwaehner@tibco.com LinkedIn / Xing @KaiWaehner www.kai-waehner.de

Key Takeaways A cloud-native architecture enables flexible and agile development Modern middleware leverages containers and Microservices Just using Jenkins and Docker is not enough

Agenda 1) Digital Transformation 2) Middleware 3) Microservices and Containers 4) A Cloud-Native Architecture 5) Cloud Native Middleware 6) Live Demo

Agenda 1) Digital Transformation 2) Middleware 3) Microservices and Containers 4) A Cloud-Native Architecture 5) Cloud Native Middleware 6) Live Demo

The Digital Transformation cannot be stopped!

Evolving Demands from the Business AGILITY & SPEED WEB SCALE REDUCED CYCLE TIMES FAIL FAST LOWER COST

Agenda 1) Digital Transformation 2) Middleware 3) Microservices and Containers 4) A Cloud-Native Architecture 5) Cloud Native Middleware 6) Live Demo

Middleware Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue. Middleware makes it easier for software developers to implement communication and input/output, so they can focus on the specific purpose of their application. (https://en.wikipedia.org/wiki/middleware) Wikipedia

Middleware - Buzzwords Keywords PAST: Application Integration, EAI, Broker, Process, Application, Integration, Enterprise, Hub and Spoke, Backbone, Scalability, Platform, Batch Keywords PRESENT: Service Integration, Bus, SOA, BPM, Service, ESB, Flexibility, Distribution, Events, EDA, Real Time, Event Correlation, Open, Standards, Extensibility Keywords FUTURE: Integration of Everything, Gateway, ibpms, Cloud, IoT, Microservice, API, Continuous Delivery, Self-Service, Prediction

Middleware The Double Burden?... ESB frameworks are generally characterized as heavyweight complex, centralized and difficult... Electronic Services: Concepts, Methodologies, Tools and Applications, Information - Science Reference (15. Juli 2010)

Middleware Example: Enterprise Service Bus (ESB) An enterprise service bus (ESB) is a software architecture model used for designing and implementing communication between mutually interacting software applications in a serviceoriented architecture (SOA). Its primary use is in enterprise application integration (EAI) of heterogeneous and complex landscapes. http://en.wikipedia.org/wiki/enterprise_service_bus (Wikipedia, 2016)

Is the ESB dead? #NoESB Akana (former SOA Software) https://blog.soa.com/noesb/ Gartner https://www.gartner.com/user/registration/webinar?resid=2855231&commid=128383&channelid=5500&srcid=null

Definition of the Term ESB in 2016 What to use an ESB for? Integration, orchestration, choreography, routing, (some kinds of) event processing / correlation / business activity monitoring Legacy Integration (e.g. with a powerful SAP or Mainframe connector) API and REST integration and business services Messaging (WebSockets, MQTT, AMQP, ) Internet of Things Deploy these services independently from each other with a standardized interface to a scalable runtime platform; automatically.

Agenda 1) Digital Transformation 2) Middleware 3) Microservices and Containers 4) A Cloud-Native Architecture 5) Cloud Native Middleware 6) Live Demo

Microservices Suite of small services running in its own process Communication via lightweight mechanisms Built around business capabilities Independently deployable, written in different languages and using different data stores Bare minimum of centralized management Shorter time to results and increased flexibility

Various Forms of Microservices API Gateway Integration Service Integration Service SaaS Service BPM Service Service Service Service Service Monolith application SOA

How to deploy independent Microservices? == The Momentum of Containers Garden / Warden

Why Containers? http://www.slideshare.net/andersjanmyr/docker-the-future-of-devops

Build, Ship, and Run Any App, Anywhere http://www.slideshare.net/ andersjanmyr/ docker-the-future-of-devops

An Open Standard for Containers... https://www.opencontainers.org/

Agenda 1) Digital Transformation 2) Middleware 3) Microservices and Containers 4) A Cloud-Native Architecture 5) Cloud Native Middleware 6) Live Demo

Cloud Native enables... scalable services resiliency automatic load balancing and failover DevOps usage public cloud platforms, but also private or hybrid vendor-agnostic deployment focus on business problems

Cloud-Native Architecture Microservices and Containers are just the Foundation!

Requirements for a Cloud-Native Architecture Microservices and Containers [as discussed ] Continuous Integration and Continuous Delivery Scripting / Automatic Test and Deployment Service Discovery Dynamic Distributed Configuration Management Scalability and Failover Cluster Management (Scheduling and Orchestration) Load Balancing (Server-side and Client-side) Cloud Native Platform Self-Service Agile Infrastructure Private / Public / Hybrid PaaS

Continuous Integration and Continuous Delivery Scripting / Automatic Test and Deployment BENEFITS Accelerated Time to Market Building the Right Product Improved Productivity and Efficiency Reliable Releases Improved Product Quality Improved Customer Satisfaction Build Management Ant, Maven, Gradle, Continuous Integration Jenkins, Bamboo, Continuous Delivery Chef, Puppet, Salt, http://en.wikipedia.org/wiki/continuous_delivery

Continuous Integration and Continuous Delivery Internal Service Discovery for a Scalable Runtime Service Registry Eureka Apache Zookeeper Consul Etcd Cluster Frameworks with implicit Service Registry Kubernetes Mesos Marathon Amazon AWS ELB https://docs.pivotal.io/spring-cloud-services/service-registry/ PaaS Cloud Platforms reusing an existing Service Registry Pivotal Cloud Foundry is based on Eureka

Continuous Integration and Continuous Delivery External Service Discovery for an Open API Examples for API Management: JBoss apiman, Apigee, Akana, TIBCO Mashery, Layer7

Continuous Integration and Continuous Delivery Dynamic Distributed Configuration Management Features Effect changes dynamically at runtime Change multi-dimensional properties based on a complex request or deployment context Use Cases Enable / disable features based on request context Change UI presentation logic Override behaviors of patterns (e.g. Circuit Breaker) Change log level after observing issues in a service Examples Netflix Archaius, Spring Cloud Config http://techblog.netflix.com/2012/06/annoucing-archaius-dynamic-properties.html

Scalability and Failover Cluster Management (Scheduling and Orchestration) Features Orchestrate the combination of container scheduling and managing hosts Select relevant hosts (applying rules and constraints) Load containers onto the specific hosts Start, stop, and manage the life cycle of the process Designed to be fault-tolerant and scalable Examples Swarm (Docker-native) Fleet (CoreOS low-level framework) Kubernetes (open source d by Google) Adopted by others (IBM, Red Hat, Microsoft ) Mesos Marathon (most powerful and complex) For large scale; multi-use (e.g. Containers, Hadoop) https://www.oreilly.com/ideas/swarm-v-fleet-v-kubernetes-v-mesos https://www.digitalocean.com/community/tutorials/the-docker-ecosystem-an-introduction-to-common-components

Scalability and Failover Server-side and Client-side Load Balancing (LB) Features Distributes network or application traffic across a number of servers Used to increase capacity (concurrent users) and reliability of applications Server-Side External Load Balancing ( Edge Services ) Client-Side Internal Load Balancing ( Mid-Tier Services ) www.devcentral.f5.com Why also Client-Side LB? Inter-Service-Communication (1 hop instead of 2 hops) Implicit LB, no need for an external LB Traditional LB with IP addresses and host names not sufficient Registering and de-registering servers with load balancer on the fly No restrictions on the protocol or method of communication Examples F5 internal / DMZ, server-side Netflix Ribbon internal / within cloud platform, client-side AWS ELB (Elastic Load Balancer) public cloud, server-side

Cloud Native Architecture What Cloud Native Solutions are available?

Cloud Native Platform (Infrastructure-as-a-Service) IaaS Choose your IaaS Servers Storage Private or Hybrid Cloud Network Reduced costs of Infra Self-hosted & Controlled Env

Cloud Native Platform (Platform-as-a-Service) Choose your PaaS / Container Cloud-Native App Dev OS & Containers Scalability Self-service agile infrastructure Routing Logging / Monitoring Elasticity & Scalability PaaS

Cloud Native Platform IaaS Servers Storage Network Choose your IaaS Choose your PaaS / Container Private or Hybrid Cloud Cloud-Native App Dev Reduced costs of Infra Self-service agile infrastructure Self-hosted & Controlled Env Elasticity & Scalability OS & Containers Scalability Routing Logging / Monitoring PaaS

PaaS Platforms on top of IaaS in 2016 What container and PaaS tools are used to manage OpenStack applications? OpenStack Survey, April 2016: http://www.openstack.org/assets/survey/april-2016-user-survey-report.pdf

Cloud Foundry

Kubernetes (K8S) http://kubernetes.io/docs/getting-started-guides/#cloud

Kubernetes on Google Cloud Platform

Apache Mesos http://www.slideshare.net/docker/building-web-scale-apps-with-docker-and-mesos/30

SaaS The Other Cloud Native Alternative you have no control! You just use the service! https://www.linkedin.com/pulse/saas-vs-paas-iaas-ultimate-guide-when-use-what-sonia-patel

Container-as-a-Service Containers as a service (CaaS) is a form of container-based virtualization in which container engines, orchestration and the underlying compute resources are delivered to users as a service from a cloud provider. The basic resource for CaaS is a container, rather than a virtual machine (VM) or a bare metal hardware host system http://searchcloudcomputing.techtarget.com/definition/containers-as-a-service-caas

Agenda 1) Digital Transformation 2) Middleware 3) Microservices and Containers 4) A Cloud-Native Architecture 5) Cloud Native Middleware 6) Live Demo

Microservices and Containers in the Middleware World Some Middleware examples Integration Services / APIs, Integration, Orchestration API Management Publish and Monetize Microservices (internal, partner, public) Log Management Monitor distributed Microservices in a central way Event Processing Correlation of Microservices events in real time All the above Middleware components control and leverage other Microservices have to support Microservice characteristics itself (Containers, CI / CD, Elastic Scalability, etc.) to fit into a cloud-native architecture

Integration PaaS PaaS Integration Platform Omnichannel client apps Integration Apps & Services Build consumable Web APIs out of backend web services like SOAP, SAP, Oracle, IBM MQ, etc. API Choreography Microservices Microservices Microservices (Node/Java/Python) (Node/Java/Python) (Node/Java/Python) Functional Microservices Functional Microservices Build focused business functionality-oriented apps without getting into code complexity Integration Apps & Services ESB & Common Services API Choreography Visually choreograph APIs leveraging the PaaS Integration Tooling (e.g. data mapper, connectors) Backend Legacy Apps

SaaS Integration Solution Web-based Integration Edge-Services Citizen Developer

API Creation API Packaging and Distribution API Management API Management PORTAL ANALYTICS API PACKAGER TRAFFIC MANAGEMENT SECURITY APIs API Gateway ADVANCED SECURITY TRAFFIC MANAGEMENT TRANSFORM

Sensors Application Logs Transactions Monitoring Configuration Messaging Data Discovery Streaming Analytics Log Management WEB UI WS API Analysis Tools Operational Intelligence Platform Centralize and Store of Record Search, Auto-id, OOTB Parsing, Correlation Forensics and Alerts Reports

Event Processing Temporal analytic: If vibration spike is followed by temp spike then voltage spike [within 12 minutes] then flag high severity alert. Voltage Temperature Vibration Correlation of Microservice Events in Real Time Device history

Agenda 1) Digital Transformation 2) Middleware 3) Microservices and Containers 4) A Cloud-Native Architecture 5) Cloud Native Middleware 6) Live Demo

Cloud Native Architecture for the Live Demo Partner App.com Web App Android App iphone App ROUTER HEALTH MGR LOGGING CONTROLLER NATS SVC BROKER SaaS Gateway App Gateway App BW CE App BW CE App MongoDB PaaS BW CE App Node App Spring App Java App Cloud Foundry Legacy TIBCO ESB eftl EMS BW6

Live Demo Cloud-Native Microservices with Pivotal Cloud Foundry, Docker, Kubernetes, TIBCO BusinessWorks Container Edition, TIBCO Mashery and Papertrail Cloud (PaaS, Microservices, Container) IDE (REST, APIs, Integration) Administration (Deployment, Versioning) Operations (Failover, Scalability, Log Management) Log Management (Distributed Search and Correlation) Open API (Packaging, External Discovery)

Key Takeaways A cloud-native architecture enables flexible and agile development Modern middleware leverages containers and Microservices Just using Jenkins and Docker is not enough

Questions? Kai Wähner kwaehner@tibco.com @KaiWaehner www.kai-waehner.de LinkedIn / Xing Please connect!