Extinction of Dinosaurs -> Rise of Microservices.

Slides:



Advertisements
Similar presentations
Database Architectures and the Web
Advertisements

Spring, Hibernate and Web Services 13 th September 2014.
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
8.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
DATABASE APPLICATION DEVELOPMENT SAK 3408 The Web and DBMS.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Microservices under the microscope
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Architectural Design, Distributed Systems Architectures
Course Instructor: Aisha Azeem
Transactional Web Services, WS-Transaction and WS-Coordination Based on “WS Transaction Specs,” by Laleci, Introducing WS-Transaction Part 1 & 2, by Little.
N-Tier Architecture.
UNIT-V The MVC architecture and Struts Framework.
Client/Server Architectures
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Database Architectures and the Web
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Architectural Design, Distributed Systems Architectures
Eric Westfall – Indiana University James Bennett – Indiana University ADMINISTERING A PRODUCTION KUALI RICE INFRASTRUCTURE.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Final presentation Simon Zambrovski Tutor: Muhammad Farhat Kaleem Design choices and strategies for implementing WS-BusinessActivity.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Principles and Techniques of Evolutionary Architecture Rebecca Parsons Chief Technology Officer ThoughtWorks.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Activiti Dima Ionut Daniel. Contents What is Activiti? Activiti Basics Activiti Explorer Activiti Modeler Activiti Designer BPMN 2.0 Activiti Process.
EJB Enterprise Java Beans JAVA Enterprise Edition
Apache Solr Dima Ionut Daniel. Contents What is Apache Solr? Architecture Features Core Solr Concepts Configuration Conclusions Bibliography.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Self-Contained Systems
Database Architectures and the Web
OpenLegacy Training Day Four Introduction to Microservices
N-Tier Architecture.
CSC 480 Software Engineering
CHAPTER 3 Architectures for Distributed Systems
Introduction to Microservices Prepared for
Database Architectures and the Web
#01 Client/Server Computing
New Mexico State University
Ashish Pandit IT Architect, Middleware & Integration Services
Web Development Using ASP .NET
Web Application Architectures
.NET vs. J2EE Architecture
Web Application Architectures
Web Application Architectures
Mark Quirk Head of Technology Developer & Platform Group
#01 Client/Server Computing
Presentation transcript:

Extinction of Dinosaurs -> Rise of Microservices

© Tieto Corporation Dinosaurs What were they like? Big Heavy Clumsy Ancient Why did they extinct? Massive asteroid impact Catastrophic effect on an environment Haven‘t adapted fast enough They didn't have a space program ;-)

© Tieto Corporation A little bit of context Enterprise Applications Client-side user interface HTML pages and javascript Running on user’s machine Server-side application Handle HTTP requests Execute domain logic Access database Select and populate HTML Database

© Tieto Corporation Monolith vs. Microservices Monolith All functionality in single process Scales by replicating the monolith Microservices Every element of functionality in a separate process Scales by replicating services

© Tieto Corporation What is it? “Java, the Unix way” -- James 33 rd Degree 2012 “Fine grained SOA” -- Adrian Cockcroft (Netflix)

© Tieto Corporation What is it? Set of small services Separate processes Lightweight communication Organized around business capabilities Independently deployable Scalable

© Tieto Corporation Services not Libraries Component – independently replaceable and upgradeable Libraries Components linked in a program Called using in-memory function calls Services Independently deployable and runnable Called using web service request or RMC – more expensive More explicit component interface

© Tieto Corporation Dumb pipes and smart endpoints Dumb pipes Lightweight communication HTTP or lightweight messaging “Be of the web, not behind the web” -- Ian Robinson Smart endpoints As decoupled and cohesive services as possible Doing routing and choreography decisions

© Tieto Corporation Decentralized Data Management vs.

© Tieto Corporation Decentralized Conceptual Model

Implementation details

© Tieto Corporation Component types Clients Business components Handlers Data access components

© Tieto Corporation Single component design

© Tieto Corporation Single component modules Schema OXM Component Server

© Tieto Corporation Integrations Interface versioning Tolerant Reader “Be conservative in what you do, be liberal in what you accept from others.” -- Jon Postel Consumer-Driven Contracts Error Handling Client vs. Server exceptions

© Tieto Corporation Supporting functions Logging & traceability Unique Process Call ID salsa.OrderManager#enterOrder.ProductManager#validateOrder Client Trace ID 4aacef0f2a69469d:-36fc953d:1449aee3f22:5730 Monitoring JMX & Rest Info, stats, probes Centralized configuration

© Tieto Corporation Pros vs. Cons Summary Pros Microservice is „small“ Can be deployed independently Development scalability Improved fault isolation Eliminates long-term commitment to a technology Cons Complexity of distributed system Testing Inter-service communication Distributed transactions Coordination between teams (?) Management and deployment complexity Resources consumption

Questions? About microservices and things we do, carnivorous plants, chameleons, crickets, ground worms or dinosaurs?

Thank you!!!

© Tieto Corporation Frameworks JCore Spring, Spring WS Hibernate / JPA Embedded Jetty Liquibase Constretto

© Tieto Corporation Decentralized Governance Use right language for the job Tools prior written-down standards Checkstyle, FindBug, SonarQube

© Tieto Corporation Organized around Business Capabilities “Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure.” -- Melvyn Conway, 1967

© Tieto Corporation Traditional organization Focus on technology layer Changes lead to cross team projects Logic is forced to “home” layer – logic everywhere

© Tieto Corporation Infrastructure & Automation Git on Gerrit Every component is separate project Build pipeline Gerrit -> staging -> peer reviews -> merge build Automate deployments and testing System “configuration” verification and propagation