Java Architectures A New Hope. Eberhard Wolff

Similar documents
Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

Four times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow

MICROSERVICES I PRAKTIKEN från tröga monoliter till en arkitektur för kortare ledtider, högre skalbarhet och ökad feltolerans

Docker and Oracle Everything You Wanted To Know

Microservices Implementations not only with Java. Eberhard Wolff Fellow

How to re-invent your IT Architecture. André Christ, Co-CEO LeanIX

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Using DC/OS for Continuous Delivery

API, DEVOPS & MICROSERVICES

Accenture Cloud Platform Serverless Journey

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

CONTINUOUS MONITORING OF PERFORMANCE BENCHMARKS IN KERNEL FILE SYSTEMS DRIVER DEVELOPMENT

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Logging, Monitoring, and Alerting

August, HPE Propel Microservices & Jumpstart

[Docker] Containerization

Java in der Cloud Aktuelle Möglichkeiten und Entwicklungen

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

CS-580K/480K Advanced Topics in Cloud Computing. Container III

The four forces of Cloud Native

Logging in the age of

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

Deployment Patterns using Docker and Chef

Microservices with Red Hat. JBoss Fuse

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Whooo s calling Whooo?

Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation

Microservices a security nightmare? GOTO Nights Zürich - March 3, 2016 Maximilian Container Solutions Switzerland

In-cluster Open Source Testing Framework

Con$nuous Deployment with Docker Andrew Aslinger. Oct

Microservice Deployment. Software Engineering II Sharif University of Technology MohammadAmin Fazli

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Architekturen für die Cloud

Monitor your containers with the Elastic Stack. Monica Sarbu

MODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift

Ingest. David Pilato, Developer Evangelist Paris, 31 Janvier 2017

Ingest. Aaron Mildenstein, Consulting Architect Tokyo Dec 14, 2017

Docker at Lyft Speeding up development Matthew #dockercon

CNA1699BU Running Docker on your Existing Infrastructure with vsphere Integrated Containers Martijn Baecke Patrick Daigle VMworld 2017 Content: Not fo

The SMACK Stack: Spark*, Mesos*, Akka, Cassandra*, Kafka* Elizabeth K. Dublin Apache Kafka Meetup, 30 August 2017.

API Connect. Arnauld Desprets - Technical Sale

Creating a Hybrid Gateway for API Traffic. Ed Julson API Platform Product Marketing TIBCO Software

SBB. Java User Group 27.9 & Tobias Denzler, Philipp Oser

Send me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.

Project Direction Proven ability to lead and manage a wide variety of design and development projects in team and independent situations.

Microservices log gathering, processing and storing

VMworld 2017 Content: Not for publication #CNA1699BE CONFIDENTIAL 2

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

UP! TO DOCKER PAAS. Ming

DEVOPS COURSE CONTENT

Mastering SOA Challenges more cost-effectively. Bodo Bergmann Senior Software Engineer Ingres Corp.

Container in Production : Openshift 구축사례로 이해하는 PaaS. Jongjin Lim Specialist Solution Architect, AppDev

DevOps Course Content

Microservices on AWS. Matthias Jung, Solutions Architect AWS

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Distributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems

containerization: more than the new virtualization

Modular Java Applications with Spring, dm Server and OSGi

CONTAINER CLOUD SERVICE. Managing Containers Easily on Oracle Public Cloud

DevOps in the Cloud A pipeline to heaven?! Robert Cowham BCS CMSG Vice Chair

How to Keep UP Through Digital Transformation with Next-Generation App Development

Containers & Microservices For Realists. Karthik

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

A Hands on Introduction to Docker

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016

Down-to-Earth Microservices with Vanilla Java

AGILE RELIABILITY WITH RED HAT IN THE CLOUDS YOUR SOFTWARE LIFECYCLE SPEEDUP RECIPE. Lutz Lange - Senior Solution Architect Red Hat

Continuous Delivery for Cloud Native Applications

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform. Jarosław Stakuń Senior Solution Architect/Red Hat CEE

DELIVERING WITH MICROSERVICES HOW TO ITERATE TOWARDS SOPHISTICATION

Oracle Application Container Cloud

Going Journey to Docker Production. Add picture here. Bret Fisher. DevOps Consultant Docker Captain Author of Udemy's Docker Mastery

Microservices Architekturen aufbauen, aber wie?

BUILDING A GPU-FOCUSED CI SOLUTION

CADEC 2016 MICROSERVICES AND DOCKER CONTAINERS MAGNUS LARSSON

Continuous integration & continuous delivery. COSC345 Software Engineering

Building a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core. Gill

The Long Road from Capistrano to Kubernetes

Web Service. Development. Framework and API. Management. Strategy and Best Practices. Yong Cao The Boeing Company RROI #: CORP

The age of orchestration

What I ll be talking about. About me & bol.com The CI/CD bol.com Current setup. The future in the cloud

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

A U.S. based so,ware development and technical consul9ng company. Technical Capabilities Overview

Application monitoring with BELK. Nishant Sahay, Sr. Architect Bhavani Ananth, Architect

Continuous Delivery of Micro Applications with Jenkins, Docker & Kubernetes at Apollo

Upcoming Services in OpenStack Rohit Agarwalla, Technical DEVNET-1102

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info

How to Put Your AF Server into a Container

IBM Planning Analytics Workspace Local Distributed Soufiane Azizi. IBM Planning Analytics

Microservices and Container Development

There is no such thing as a microservice!

Microservices What, Why? ( 마이크로서비스를꼭써야하나 )

Oracle Applications in a Changing Business World. Legacy Oracle Applications Won't Be Around Forever. Will You?

Any platform. Achieve more. Team agility

Achieving Continuous Delivery - Micro Services. - Vikram Gadang

Monitor your infrastructure with the Elastic Beats. Monica Sarbu

What is it? Ian Robinson, Alasdair Nottingham, Geoff Pirie, WebSphere Chief Architect. Open Liberty Project Lead. Open Liberty Product Manager

Transcription:

Java Architectures A New Hope Eberhard Wolff http://ewolff.com

What happens with a talk titled like this?

Architecture of Enterprise Java Apps

How can I implement a new feature???

!

ECommerce System New Stuff Spring & OSGi

ECommerce System New Stuff New Spring Stuff & OSGi

HTTP Links No legacy code Any technology Small code base " New Stuff

Micro Services Component Model Component Separate process Individual deployment unit GUI+Logic Small services+gui unlike SOA

Online Shop Order Billing Catalog Search

Online Shop Order Billing Catalog Spring Batch Search Spring MVC Oracle elasticsearch MongoDB

Service might be even smaller

Continuous Delivery

Continuous Delivery: Build Pipeline Automated Acceptance Testing Manual Explorative Testing Commit Stage Automated Capacity Testing Release

Without Micro Services Modify order process slightly Billing, Search & Catalog unchanged Order Billing Catalog Search

Order Billing Catalog Search

Continuous Delivery: Everything Tested etc Automated Acceptance Testing Manual Explorative Testing Commit Order Billing Stage Search Catalog Automated Capacity Testing Release

Build Pipeline Just one component changed! Lots of unneeded work Takes much too long

With Micro Services Automated Acceptance Testing Manual Explorative Testing Commit Order Stage Automated Capacity Testing Release

Release Just a single component Faster feedback Easier deployment Rollback of single service also easier

How to scale agile? Implement more feature

Conways Law Architecture copies communication structures of the organization

Online Shop Order Billing Catalog Search Component = Team

Micro Service Team independent from each other No code dependencies Can use individual technology stack Can even deploy independently Speed up development

Architecture Challenges Code Reuse? Handling interfaces? Managing dependencies between (>100) Services? Global architecture? Global refactorings?

Install and configure App Server for each Microservice??

Simple Java Application? What about Operations?

Spring Boot Demo

Why Spring Boot? Easier deployment i.e. just a JAR Built in operations support

Other Technologies Dropwizard by Yammer vert.x Play Framework

Micro Services as a Component System

Components Collaborate Link Micro Service REST Messaging Micro Service Data Replication

Micro Service can easily integrate with Legacy

Deploy & Operate?

Component Model No restriction on language etc Individual processes + infrastructure (database etc) JARs, WARs, EARs: No good fit Virtual machines as components? Overhead??

Docker No true virtualization Linux Containers (lxc) i.e. shared kernel i.e. separate file systems

Docker File Systems Read only base images +read/write image Read / Write Can be stacked Application Java Ubuntu

Docker Linux only So: Run it in VM Controlled by Vagrant

Docker Demo

Vagrant VM Docker Container Redis 6379 6379 Port 6379

Communication Between Docker Container Via ports Via data volumes

Docker is a Component System

Example Log file analysis ELK Stack Elasticsearch: Store Logstash: Parse Kibana: Web based GUI Install three servers Automate installation...!

Dockerized ELK Stack 1 Vagrantfile (25 lines) 6 Dockerfiles (total 28 lines) 1 HTML file (11 lines) 1 Config (Logstash) (29 lines) Total: 93 lines, 9 files Including one RegExp!

Vagrant VM Container user-registration 8080 Container logstash 9200 Container elasticsearch 9200 Container kibana 8080 8081 Volume /log link 9200 8080 Port 8081 Port 9200 Port 8080 Browser

Demo ELK Stack

Links https://github.com/ewolff/userregistration http://www.heise.de/developer/ artikel/episode-44-modularisierte- Architektur-fuer-grosse- Systeme-2195818.html http://projects.spring.io/spring-boot/ http://www.docker.com/ http://www.docker.com/tryit

Micro Services A new hope against Java Monoliths Also great for legacy Spring Boot for implementation Docker as component model & runtime

Thank You!! eberhard.wolff@gmail.com @ewolff