Introduction to Microservices Prepared for

Slides:



Advertisements
Similar presentations
Enterprise Web Architecture and Performance Shennon Shen & Scott Carey --- Plumtree Software Inc.
Advertisements

Hydra Partners Meeting March 2012 Bill Branan DuraCloud Technical Lead.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Fraser Technical Solutions, LLC
1 © Talend 2014 Service Locator Talend ESB Training 2014 Jan Bernhardt Zsolt Beothy-Elo
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Choon Oh Lee OSGi Service Platform. About OSGi Service Platform What it is, Where it is used, What features it provides are Today’s Content.
Tomcat Spencer Uresk. Notes This is a training NOT a presentation Please ask questions This is being recorded
Last update October 18, 2004 Advanced Programming 2004 Java Beans.
SOA-14: Deploying your SOA Application David Cleary Principal Software Engineer.
ArcGIS Server for Administrators
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Mick Badran Using Microsoft Service Fabric to build your next Solution with zero downtime – Lvl 300 CLD32 5.
Design Patterns Cloud Sharath Feb
Globus online Delivering a scalable service Steve Tuecke Computation Institute University of Chicago and Argonne National Laboratory.
Extinction of Dinosaurs -> Rise of Microservices.
Cloud Design Patterns Sharath Sahadevan,
Deploying Elastic Java EE Microservices in the Cloud with Docker
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
Configuration & Registry Microservice Deep Dive
Unit 3 Virtualization.
AuraPortal Cloud Helps Empower Organizations to Organize and Control Their Business Processes via Applications on the Microsoft Azure Cloud Platform MICROSOFT.
A prototypical tool to discover architecture changes based on multiple monitoring data sources for a distributed system Patrick Schäfer, , Munich.
Cloud Native Applications using Spring Cloud Netflix
DevOps Cloud Native Microservices
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Containers as a Service with Docker to Extend an Open Platform
Java Microservices in the cloud
Distributed Tracing How to do latency analysis for microservice-based applications Reshmi
Dockerize OpenEdge Srinivasa Rao Nalla.
Introduction to Distributed Platforms
Netscape Application Server
OpenLegacy Training Day Four Introduction to Microservices
Microservices with Azure Service Fabric Building and Running Services at Scale
Google App Engine Mandeep Singh (37926)
Docker Birthday #3.
Distributed Tracing Of Microservices
Keyhub Identity and Access Management App is Powered by Azure and Offers Customers Easy Authentication, Authorization for Mobile Devices MICROSOFT AZURE.
Cherwell Service Management is an IT Service Management Solution that Makes it Easier for Users to Capitalize on Power of Microsoft Azure MICROSOFT AZURE.
Cloud Native: Rapid Application Development
Distributed Service Bundles
EdgeX System Management Nov 6th 2017
Distribution and components
The Enterprise API Integration Platform Prepared for
Power BI Security Best Practices
Introduction to J2EE Architecture
Advanced Integration and Deployment Techniques
Drupal VM and Docker4Drupal For Drupal Development Platform
Lessons Learned from Microservices at Scale
OpenNebula Offers an Enterprise-Ready, Fully Open Management Solution for Private and Public Clouds – Try It Easily with an Azure Marketplace Sandbox MICROSOFT.
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
Event driven Microservices with VERT.X & Kubernetes
Guide to Access Control Systems
Microsoft Build /8/2018 5:15 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Spring Cloud Netflix Sinisha Mihajlovski.
Scalable SoftNAS Cloud Protects Customers’ Mission-Critical Data in the Cloud with a Highly Available, Flexible Solution for Microsoft Azure MICROSOFT.
Logsign All-In-One Security Information and Event Management (SIEM) Solution Built on Azure Improves Security & Business Continuity MICROSOFT AZURE APP.
Data Security for Microsoft Azure
CloneManager® Helps Users Harness the Power of Microsoft Azure to Clone and Migrate Systems into the Cloud Cost-Effectively and Securely MICROSOFT AZURE.
Connecting, Managing, Observing, and Securing Services
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
SmartMaster 2016 Controller
SharePoint Online Authentication Patterns
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.
Platform Architecture
Why Build Another Application Server
Configuration management suite
ESB Modernization Prepared by: OIT As of May 23, 2016.
DBOS DecisionBrain Optimization Server
Presentation transcript:

Introduction to Microservices Prepared for OpenLegacy Training Day Four Introduction to Microservices Prepared for

Agenda Introduction to Microservices Microservice Architecture Components and Frameworks Inter-Process Communications OpenLegacy Microservices

In the beginning, there was a Monolith … ? Explain about how applications were built before. Explain the problem with the old “Monolith” architecture.

What is a Microservices Architecture? Microservices architecture is a service‑oriented architecture composed of loosely coupled elements that have bounded contexts Scale out vs. Scale up If you keep scaling up, you’ll hit a limit Horizontal scaling gives you a longer runway Redundancy and Isolation For Resiliency Make more than one of anything Isolate the blast radius for any given failure - Loosely coupled means that you can update services independently

Tight Coupling Doesn’t Work

Loose Coupling

Microservices Architecture Example

Components and Frameworks Service Discovery (Netflix Eureka) Gateway (Netflix Zuul) Fault Tolerance (Netflix Hystrix) Config Server (Spring Cloud) UAA (Spring Security) Log Analysis and Aggregation (ELK Stack) - Fast slide, just to show the components in a list

Service Discovery Implemented using Netflix Eureka Eureka is a REST (Representational State Transfer) based service that is primarily used in AWS cloud to locate services for load balancing and failover of middle-tier servers

Gateway Implemented using Netflix Zuul Zuul is an edge service providing dynamic routing, monitoring, resiliency, security, etc.

Fault Tolerance Implemented using Netflix Hystrix Hystrix is a Latency and Fault Tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failures and enable resilience in complex distributed systems where failure is inevitable

Config Server Spring Cloud Config Server features: HTTP, resource-based API for external configuration (name-value pairs, or equivalent YAML content) Encrypt and decrypt property values (symmetric or asymmetric) Easily embeddable in a Spring Boot application using @EnableConfigServer Config Client features (for Spring applications): Bind to Config Server and initialize Spring Environment with remote property sources

UAA – User Account and Authentication UAA is a multi-tenant Identity Management service It is primarily an OAuth2 provider, issuing tokens for client applications to use when they act on behalf of business users UAA can also act as an SSO service using those credentials (or others) It has endpoints to manage user accounts and register OAuth2 clients, and a variety of other management functions

Log Analysis Logs are written using Spring Cloud Sleuth + Logback We can monitor logs in real-time using Zipkin Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both collection and lookup of this data. Zipkin’s design is based on the Google Dapper paper.

Elasticsearch Logstash Kibana Log Aggregation Writing, indexing and viewing of logs in a distributed environment is implemented with the ELK stack. Elasticsearch Logstash Kibana

Elasticsearch

Logstash

Kibana

Inter-Process Communication (IPC) Netflix Ribbon Ribbon is a client-side IPC library that is battle-tested in Cloud @LoadBalanced Annotation to mark a RestTemplate bean to be configured to use a LoadBalancerClient

Demo

Deployment Packaging Docker Cloud Foundry

Packaging JAR Spring Boot Maven plugin A JAR (Java ARchive) is a package file format typically used to aggregate many Java class files and associated metadata and resources (text, images, etc.) into a single file for distribution Spring Boot Maven plugin Spring Boot Maven Plugin provides Spring Boot support in Maven, allowing you to package executable jars or war archives, and run an application “in-place” Can be packaged as JAR or WAR Can be deployed to traditional containers like Tomcat as a WAR Can be ran anywhere as a “self-executable” JAR Spring Boot also has a plugin for gradle

Docker Docker is the world’s leading software container platform Dockerfile Docker builds images automatically by reading instructions from a Dockerfile Docker Compose Compose is a tool to define and run multi-container Docker applications We provide dockerfiles with all of our projects We provide a default docker compose for the projects We provide a default docker compose for the ELK stack (pre-configured for openlegacy)

Cloud Foundry Cloud Foundry is the industry standard open source Cloud application platform to develop and deploy Enterprise Cloud applications. Manifest Manifest provides consistency and reproducibility, and helps automate deployment, especially of multiple concurrent applications Cloud Foundry is the industry standard open source cloud application platform for developing and deploying enterprise cloud applications. It automates, scales and manages cloud apps throughout their lifecycle. Applications can be written in just about any language and are deployed in containers on multiple cloud infrastructures. We provide default manifests for all of our projects

Exercise https://github.com/openlegacy/deloitte-training-2017 Username: ol-training Password: training2017

Tom Fingerman tom.f@openlegacy.com

Questions?  Tom Fingerman tom.f@openlegacy.com