SlideShare a Scribd company logo
Pros & Cons of Microservices Architecture
Patterns, Practices that work!
Architecting applications for the cloud
Pros and Cons of Micro
Services
• Ashwini Kuntamukkala
• Sr. Enterprise Solutions Architect, Vizient, Inc
• Twitter @akuntamukkala
Business
Technology
Processes
Pros & Cons of Microservices Architecture

Recommended for you

Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)

Azure Synapse Analytics is Azure SQL Data Warehouse evolved: a limitless analytics service, that brings together enterprise data warehousing and Big Data analytics into a single service. It gives you the freedom to query data on your terms, using either serverless on-demand or provisioned resources, at scale. Azure Synapse brings these two worlds together with a unified experience to ingest, prepare, manage, and serve data for immediate business intelligence and machine learning needs. This is a huge deck with lots of screenshots so you can see exactly how it works.

azure synapse analyticssql data warehouse
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview

The data lake has become extremely popular, but there is still confusion on how it should be used. In this presentation I will cover common big data architectures that use the data lake, the characteristics and benefits of a data lake, and how it works in conjunction with a relational data warehouse. Then I’ll go into details on using Azure Data Lake Store Gen2 as your data lake, and various typical use cases of the data lake. As a bonus I’ll talk about how to organize a data lake and discuss the various products that can be used in a modern data warehouse.

data lakeadls gen2modern data warehouse
Data Lake: A simple introduction
Data Lake: A simple introductionData Lake: A simple introduction
Data Lake: A simple introduction

An introduction to IBM Data Lake by Mandy Chessell CBE FREng CEng FBCS, Distinguished Engineer & Master Inventor. Learn more about IBM Data Lake: https://ibm.biz/Bdswi9

data lakedata warehousebig data
Why do we end up here time and again?
• Act first, think later
• Ill conceived scope
• Hastened delivery
timelines
• Short sightedness
• Shipping code pretending
to be agile
• Improper tooling
• Cutting corners
• Early success bolts on
more functionality
• Technical debt goes into
backlog forever
• Improper domain analysis
• Accidental Architecture
• Design Patterns turn into
anti-patterns
• Not paying attention to
non-functional
requirements
Are we doing things right or doing the right things?
Common smells
• Large and growing code
repositories
• No separation of
concerns
• Tight coupling and less
cohesion
• Circular dependencies
• Big bang releases
• Painful regression tests
• Buggy and painful
troubleshooting
experience
• Missing and minimal
automation
• Complex deployment
pipelines with manual
steps
• Difficult training and on-
boarding process
• …
Ok…we have a problem. What’s the solution?
Micro services...but is it really?
• Buzz word?
• Fad?
• COTS?
• Library?
• Framework?
• Platform?
• Architecture Pattern?
Building applications as suite of services. As well as the
fact that services are independently deployable and
scalable, each service also provides a firm module
boundary, even allowing different services to be written
in different programming languages. They can also be
managed by different teams.
Micro Services
- Martin Fowler

Recommended for you

Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases

There is a lot of confusion about the place and purpose of the many recent non-relational database solutions ("NoSQL databases") compared to the relational database solutions that have been around for so many years. In this presentation I will first clarify what exactly these database solutions are, compare them, and discuss the best use cases for each. I'll discuss topics involving OLTP, scaling, data warehousing, polyglot persistence, and the CAP theorem. We will even touch on a new type of database solution called NewSQL. If you are building a new solution it is important to understand all your options so you take the right path to success.

nosqlrelational databasesrdbms
Data ops in practice
Data ops in practiceData ops in practice
Data ops in practice

DataOps is a methodology and culture shift that brings the successful combination of development and operations (DevOps) to data processing environments. It breaks down silos between developers, data scientists, and operators, resulting in lean data feature development processes with quick feedback. In this presentation, we will explain the methodology, and focus on practical aspects of DataOps.

#bigdata#dataops
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data Mesh

This document discusses data mesh, a distributed data management approach for microservices. It outlines the challenges of implementing microservice architecture including data decoupling, sharing data across domains, and data consistency. It then introduces data mesh as a solution, describing how to build the necessary infrastructure using technologies like Kubernetes and YAML to quickly deploy data pipelines and provision data across services and applications in a distributed manner. The document provides examples of how data mesh can be used to improve legacy system integration, batch processing efficiency, multi-source data aggregation, and cross-cloud/environment integration.

Don’t get caught up in the buzz. Are you solving the correct problem?
Micro Services
Gone Wild!
Small autonomous services
that work together
modeled around a business domain
- Sam Newman
UI
Services
DB
UI
Service-A
DB-A
Service-B
DB-B
Service-C
DB-C
Monolith - Single App
Multiple Services
Sharing same database
Composite App
Multiple Micro-Services
Database per Micro-Service
Monoliths
• Natural starting point as it is
easier to get started and deliver
value
• Simpler build and deployment
• Simpler scalability
• Simpler security
• Low latency due to intra-
process communication
• Simpler testing
• Simpler logging and monitoring
• Simpler data and database
management
• Simpler transaction
management
• Large code base
• Simple change requires whole
app to be redeployed
• Increased complexity as
functionality is coupled together
• Single type of database doesn’t
meet all requirements
• Tend to get difficult to work with
over time
• Huge resource requirements
• Reduced agility over time
• Coarse-grain transactions
Pros Cons

Recommended for you

Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...

Data lineage tracking is one of the significant problems that financial institutions face when using modern big data tools. This presentation describes Spline – a data lineage tracking and visualization tool for Apache Spark. Spline captures and stores lineage information from internal Spark execution plans and visualizes it in a user-friendly manner.

apache sparkspark summit
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...

This document discusses using Dataiku as an end-to-end enterprise AI platform to drive data science at scale using PostgreSQL, Greenplum, and Dataiku. It highlights how Dataiku allows business analysts, data engineers, and data scientists to collaborate on a single platform for data preparation, machine learning modeling, and model deployment. It also provides examples of how customers like a major software company have leveraged Dataiku to automate the deployment of over 12,000 predictive models.

greenplum summit 2019
Introduction to Azure Data Lake
Introduction to Azure Data LakeIntroduction to Azure Data Lake
Introduction to Azure Data Lake

This document provides an introduction and overview of Azure Data Lake. It describes Azure Data Lake as a single store of all data ranging from raw to processed that can be used for reporting, analytics and machine learning. It discusses key Azure Data Lake components like Data Lake Store, Data Lake Analytics, HDInsight and the U-SQL language. It compares Data Lakes to data warehouses and explains how Azure Data Lake Store, Analytics and U-SQL process and transform data at scale.

dataazuredata lake
Source:
http://samnewman.io/talks/principles-of-microservices/
http://samnewman.io/index.html
Micro Services - Pros
• Smaller manageable
functional units
• Multiple smaller code bases
• Single service provides
single functionality
• Single responsibility per
service
• Clearer separation of
concerns
• Independently scalable
services
• Polyglot persistence as
applicable
• Polyglot programming
language as applicable
• Independently deployable
• Easier on-boarding process
• Frequent functionality
releases
• Decentralized ownership
• Team that develops it,
manages it
Micro Services - Cons
• Distributed System Architecture
– Design
– Development
– Deployment
– CAP theorem
• Handle Increased orchestration
• Handle Increased surface area
– Attacks
– Failure
• System and App Observability
• Troubleshooting challenges
• Call Traceability
• Data consistency issues
– Eventual consistency
– Compensatory & reconciliatory
procedures
• Log aggregation
• Rigorous test suite
• Increased latency due to remote
calls
• Strict Service Versioning
• Distributed Configuration
Management
• Organizational Maturity
– Company Culture
– Engineering practices
– IT Operations
– Software defined networks
– On-demand infrastructure
provisioning
• Architectural complexity
Source: https://martinfowler.com/bliki/MicroservicePrerequisites.html
• On demand IT provisioning
• System and App Monitoring
• Mature CI/CD pipelines
• DevOps culture

Recommended for you

Microsoft Data Platform - What's included
Microsoft Data Platform - What's includedMicrosoft Data Platform - What's included
Microsoft Data Platform - What's included

This document provides an overview of a speaker and their upcoming presentation on Microsoft's data platform. The speaker is a 30-year IT veteran who has worked in various roles including BI architect, developer, and consultant. Their presentation will cover collecting and managing data, transforming and analyzing data, and visualizing and making decisions from data. It will also discuss Microsoft's various product offerings for data warehousing and big data solutions.

Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices

This document provides an introduction to microservices, including: - Microservices are small, independently deployable services that work together and are modeled around business domains. - They allow for independent scaling, technology diversity, and enable resiliency through failure design. - Implementing microservices requires automation, high cohesion, loose coupling, and stable APIs. Identifying service boundaries and designing for orchestration and data management are also important aspects of microservices design. - Microservices are not an end goal but a means to solve problems of scale; they must be adopted judiciously based on an organization's needs.

microservicesservice-oriented architecturearchitecture
Data Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and GovernanceData Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and Governance

Organizations are faced with an increasingly complex data landscape, finding themselves unable to cope with exponentially increasing data volumes, compounded by additional regulatory requirements with increased fines for non-compliance. Enterprise architecture and data governance are often discussed at length, but often with different stakeholder audiences. This can result in complementary and sometimes conflicting initiatives rather than a focused, integrated approach. Data governance requires a solid data architecture foundation in order to support the pillars of enterprise architecture. In this session, IDERA’s Ron Huizenga will discuss a practical, integrated approach to effectively understand, define and implement an cohesive enterprise architecture and data governance discipline with integrated modeling and metadata management.

datadata managementidera
Qualifications for micro services
- Application
- Organization
Application Qualification Criteria
• What need does this application
solve?
• Is this a business sensitive
application?
• Who is the audience?
• What are the non functional
requirements?
• What type of application is it?
– OLTP
– OLAP
– BI
– Integration
– Batch
– Mash up …
• Is it a data or compute intensive?
• What is the domain model?
• Does domain model decompose
into smaller functional units?
• What data source type fits the
need?
– Traditional RDBMS
– NoSQL
• Graph
• Key Value
• Document
• Column
• Is eventual consistency
acceptable?
• Future scope
Organizational Qualification Criteria
• Engineering
– Design and Implement Cloud-Native
applications
• 12 Factor Apps
• Operations
– Continuous Integration
– Continuous Deployment
– On-demand Infrastructure provisioning
– Software Defined Networking
• Data
– Partitioning
– Replication
– Warehousing
– Marts
– Governance
– Virtualization
• Caching Infrastructure
– In memory data grid
– Session storage
• Messaging Infrastructure
– Asynchronous
– Durability
• Security
– SSL
– OAuth, JWT
– Credential Relay
– Service to Service
• Culture
– Cooperation
– Collaboration
– Communication
– Embrace change
– Cutting edge
– Open Source
• PaaS Adoption
Common mistakes
• RDD
– Resume driven development
• RDA
– Resume driven architecture
• Not using PaaS
• Let’s build micro-services architecture because
it is cooler

Recommended for you

Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OK

The document discusses the role of data engineers and data pipelines. It begins with an introduction to big data and why data volumes are increasing. It then covers what data engineers do, including building data architectures, working with cloud infrastructure, and programming for data ingestion, transformation, and loading. The document also explains data pipelines, describing extract, transform, load (ETL) processes and batch versus streaming data. It provides an example of Credit OK's data pipeline architecture on Google Cloud Platform that extracts raw data from various sources, cleanses and loads it into BigQuery, then distributes processed data to various applications. It emphasizes the importance of data engineers in processing and managing large, complex data sets.

data engineerbig datacredit ok
Announcing Databricks Cloud (Spark Summit 2014)
Announcing Databricks Cloud (Spark Summit 2014)Announcing Databricks Cloud (Spark Summit 2014)
Announcing Databricks Cloud (Spark Summit 2014)

Presentation by Databricks CEO Ion Stoica at Spark Summit 2014, giving an update on Spark adoption and announcing the Databricks Cloud service.

sparkspark summithadoop
Azure SQL Data Warehouse
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure SQL Data Warehouse

This document provides an overview of Azure SQL Data Warehouse. It discusses what Azure SQL Data Warehouse is, how it is provisioned and scaled, best practices for designing tables in Azure SQL DW including distribution keys and data types, and methods for loading and querying data including PolyBase and labeling queries for monitoring. The presentation also covers tuning aspects like statistics, indexing, and resource classes.

data warehouseantonios chatzipavlissql
Building Cloud-Native
Applications
So you think you are ready to embark on this journey…
12 Factor Applications – Heroku (https://12factor.net)
Criteria Explanation
Codebase One codebase tracked in revision control, many deploys
Dependencies Explicitly declare and isolate dependencies
Configuration Store configuration in the environment
Backing Services Treat backing services as attached resources
Build, release, run Strictly separate build and run stages
Processes Execute the app as one or more stateless processes
Port binding Export services via port binding
Concurrency Scale out via the process model
Disposability Maximize robustness with fast startup and graceful shutdown
Dev/Prod parity Keep development, staging and production as similar as
possible
Logs Treat logs as event streams
Admin processes Run admin/management tasks as one-off processes
API Gateway
+
Micro Proxy
Client/UI
Service
Registry
Service
DB
Service
DB
Service
DB
Monitoring
Dashboard
Configuratio
n Server
Auth Z/N
Server
Log
Aggregation
Sample
Microservices Architecture
Cache
Message
Broker
Highly recommended reads

Recommended for you

Moving to Databricks & Delta
Moving to Databricks & DeltaMoving to Databricks & Delta
Moving to Databricks & Delta

At wetter.com we build analytical B2B data products and heavily use Spark and AWS technologies for data processing and analytics. I explain why we moved from AWS EMR to Databricks and Delta and share our experiences from different angles like architecture, application logic and user experience. We will look how security, cluster configuration, resource consumption and workflow changed by using Databricks clusters as well as how using Delta tables simplified our application logic and data operations.

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx

The document discusses migrating a data warehouse to the Databricks Lakehouse Platform. It outlines why legacy data warehouses are struggling, how the Databricks Platform addresses these issues, and key considerations for modern analytics and data warehousing. The document then provides an overview of the migration methodology, approach, strategies, and key takeaways for moving to a lakehouse on Databricks.

Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1

This document provides an overview of microservice architecture, including its key characteristics, benefits, problems, and solutions. Microservices are small, independent services that are organized around business capabilities. They communicate through APIs and can be developed and deployed independently. Benefits include scalability, flexibility, and ease of development and testing. Challenges include configuring and monitoring distributed services. Common solutions involve service discovery, load balancing, centralized logging/monitoring, and externalizing configuration. The document also discusses architectural patterns, anti-patterns, and references further resources on microservices.

microservicesarchitectureparadigm
Domain Driven Design – Eric Evans
• Focus on core domain
• Collaboration between domain
experts and software experts
• Unambiguous language
• Explicit context boundaries
• Exploration and
experimentation
Popular Building blocks for Cloud Native Applications
• Service Registry
– Eureka
– Consul
– etcd
• Micro Proxy
– Zuul
• Client side load balancing
– Ribbon
• API Gateway
• Circuit Breakers
– Hysterix + Turbine
• Traceability
– Zipkin
• Configuration Server
• Spring Boot & Spring Cloud
– https://start.spring.io/
• Dropwizard
– http://www.dropwizard.io/
Micro services : PaaS
::
Cars : roads
PaaS Choices

Recommended for you

Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric

Azure Service Fabric is now Generally Available! In this meetup we will start from the beginning and define what is microservice. Next we will have a deep dive in Azure Service Fabric. Azure Service Fabric is one of the most interesting Azure service. Used internally in Microsoft for 5 years and backing up one of the most demanding Azure services today such as Azure SQL, Document DB, Cortana and Skype for Business. We will be talking about the two models that are supported by Azure Service Fabric: - Reliable Services (We will explore the reasons for having both stateful and stateless offerings in this model) - Reliable Actors Then we will talk how you can create Azure Service Fabric cluster on premise or in another cloud. We will demo deployments in Azure for the various models. Azure Service Fabric is the most advanced and complete offering for developing and hosting microservices in Azure. It builds on years experience Microsoft acquired running one of the most demanding services such as Azure SQL. Moreover, Azure Service Fabric solves very difficult distributed computing problems such as data synchronization, zero downtime deployment, update and rollback operations at large scale. Join us to learn more about Azure Service Fabric and start using it immediately after the meetup!

microsoft azureservice fabricmicroservices
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development

For enterprises trying to stay ahead of the game, having a robust and fast application development program can make or break their market presence. The challenge for developers, however, is to build responsive, devise-agnostic applications in days, not months.

application developmentdockerress
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices

The introduction covers the following 1. What are Microservices and why should be use this paradigm? 2. 12 factor apps and how Microservices make it easier to create them 3. Characteristics of Microservices Note: Please download the slides to view animations.

javaspring bootsoa
Hands-on lab exercises
• We will use
complimentary tier
offered by Pivotal at
Pivotal Web Services
• Enterprise support for
Cloudfoundry, running
on AWS
• We will use Openshift
Origin VM on our
laptops for hands-on
exercises
Questions?
Further Reading Material
• https://martinfowler.com/articles/microservices.html
• https://www.safaribooksonline.com/library/view/building-
microservices-with/9780134192468/
• Principles of microservices architecture – Sam Newman
• http://samnewman.io/books/building_microservices/
• https://dzone.com/articles/microservice-architecture-with-
spring-cloud-and-do

More Related Content

What's hot

DataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data ArchitectureDataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data Architecture
DATAVERSITY
 
Introduction to Azure Databricks
Introduction to Azure DatabricksIntroduction to Azure Databricks
Introduction to Azure Databricks
James Serra
 
Modernizing to a Cloud Data Architecture
Modernizing to a Cloud Data ArchitectureModernizing to a Cloud Data Architecture
Modernizing to a Cloud Data Architecture
Databricks
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
James Serra
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
James Serra
 
Data Lake: A simple introduction
Data Lake: A simple introductionData Lake: A simple introduction
Data Lake: A simple introduction
IBM Analytics
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
James Serra
 
Data ops in practice
Data ops in practiceData ops in practice
Data ops in practice
Lars Albertsson
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data Mesh
LibbySchulze
 
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spark Summit
 
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
VMware Tanzu
 
Introduction to Azure Data Lake
Introduction to Azure Data LakeIntroduction to Azure Data Lake
Introduction to Azure Data Lake
Antonios Chatzipavlis
 
Microsoft Data Platform - What's included
Microsoft Data Platform - What's includedMicrosoft Data Platform - What's included
Microsoft Data Platform - What's included
James Serra
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Paulo Gandra de Sousa
 
Data Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and GovernanceData Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and Governance
DATAVERSITY
 
Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OK
Kriangkrai Chaonithi
 
Announcing Databricks Cloud (Spark Summit 2014)
Announcing Databricks Cloud (Spark Summit 2014)Announcing Databricks Cloud (Spark Summit 2014)
Announcing Databricks Cloud (Spark Summit 2014)
Databricks
 
Azure SQL Data Warehouse
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure SQL Data Warehouse
Antonios Chatzipavlis
 
Moving to Databricks & Delta
Moving to Databricks & DeltaMoving to Databricks & Delta
Moving to Databricks & Delta
Databricks
 
DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
Databricks
 

What's hot (20)

DataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data ArchitectureDataOps - The Foundation for Your Agile Data Architecture
DataOps - The Foundation for Your Agile Data Architecture
 
Introduction to Azure Databricks
Introduction to Azure DatabricksIntroduction to Azure Databricks
Introduction to Azure Databricks
 
Modernizing to a Cloud Data Architecture
Modernizing to a Cloud Data ArchitectureModernizing to a Cloud Data Architecture
Modernizing to a Cloud Data Architecture
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 
Data Lake: A simple introduction
Data Lake: A simple introductionData Lake: A simple introduction
Data Lake: A simple introduction
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
Data ops in practice
Data ops in practiceData ops in practice
Data ops in practice
 
Time to Talk about Data Mesh
Time to Talk about Data MeshTime to Talk about Data Mesh
Time to Talk about Data Mesh
 
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
 
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
Driving Datascience at scale using Postgresql, Greenplum and Dataiku - Greenp...
 
Introduction to Azure Data Lake
Introduction to Azure Data LakeIntroduction to Azure Data Lake
Introduction to Azure Data Lake
 
Microsoft Data Platform - What's included
Microsoft Data Platform - What's includedMicrosoft Data Platform - What's included
Microsoft Data Platform - What's included
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Data Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and GovernanceData Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and Governance
 
Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OK
 
Announcing Databricks Cloud (Spark Summit 2014)
Announcing Databricks Cloud (Spark Summit 2014)Announcing Databricks Cloud (Spark Summit 2014)
Announcing Databricks Cloud (Spark Summit 2014)
 
Azure SQL Data Warehouse
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure SQL Data Warehouse
 
Moving to Databricks & Delta
Moving to Databricks & DeltaMoving to Databricks & Delta
Moving to Databricks & Delta
 
DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
 

Similar to Pros & Cons of Microservices Architecture

Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1
Amin Arab
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
WaveMaker, Inc.
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdf
RichieBallyears
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
David Chou
 
Microservices - opportunities, dilemmas and problems
Microservices - opportunities, dilemmas and problemsMicroservices - opportunities, dilemmas and problems
Microservices - opportunities, dilemmas and problems
Łukasz Sowa
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
Comsysto Reply GmbH
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
MahmoudZidan41
 
Designing microservices part2
Designing microservices part2Designing microservices part2
Designing microservices part2
Masashi Narumoto
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
cornelia davis
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
VMware Tanzu
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
cornelia davis
 
Comparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsComparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutions
Mike Ensor
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
Richard Hudson
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
Ayyappan Paramesh
 
Building a serverless app
Building a serverless appBuilding a serverless app
Building a serverless app
Vinay Krishna
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
Lalit Kale
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Mohammad Dameer
 
Cloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba CloudCloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba Cloud
Ferdin Joe John Joseph PhD
 

Similar to Pros & Cons of Microservices Architecture (20)

Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdf
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Microservices - opportunities, dilemmas and problems
Microservices - opportunities, dilemmas and problemsMicroservices - opportunities, dilemmas and problems
Microservices - opportunities, dilemmas and problems
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Designing microservices part2
Designing microservices part2Designing microservices part2
Designing microservices part2
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Comparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsComparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutions
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
 
Building a serverless app
Building a serverless appBuilding a serverless app
Building a serverless app
 
Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Cloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba CloudCloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba Cloud
 

Recently uploaded

7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 

Recently uploaded (20)

7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 

Pros & Cons of Microservices Architecture

  • 2. Patterns, Practices that work! Architecting applications for the cloud Pros and Cons of Micro Services • Ashwini Kuntamukkala • Sr. Enterprise Solutions Architect, Vizient, Inc • Twitter @akuntamukkala
  • 5. Why do we end up here time and again? • Act first, think later • Ill conceived scope • Hastened delivery timelines • Short sightedness • Shipping code pretending to be agile • Improper tooling • Cutting corners • Early success bolts on more functionality • Technical debt goes into backlog forever • Improper domain analysis • Accidental Architecture • Design Patterns turn into anti-patterns • Not paying attention to non-functional requirements Are we doing things right or doing the right things?
  • 6. Common smells • Large and growing code repositories • No separation of concerns • Tight coupling and less cohesion • Circular dependencies • Big bang releases • Painful regression tests • Buggy and painful troubleshooting experience • Missing and minimal automation • Complex deployment pipelines with manual steps • Difficult training and on- boarding process • … Ok…we have a problem. What’s the solution?
  • 7. Micro services...but is it really? • Buzz word? • Fad? • COTS? • Library? • Framework? • Platform? • Architecture Pattern?
  • 8. Building applications as suite of services. As well as the fact that services are independently deployable and scalable, each service also provides a firm module boundary, even allowing different services to be written in different programming languages. They can also be managed by different teams. Micro Services - Martin Fowler
  • 9. Don’t get caught up in the buzz. Are you solving the correct problem? Micro Services Gone Wild!
  • 10. Small autonomous services that work together modeled around a business domain - Sam Newman
  • 11. UI Services DB UI Service-A DB-A Service-B DB-B Service-C DB-C Monolith - Single App Multiple Services Sharing same database Composite App Multiple Micro-Services Database per Micro-Service
  • 12. Monoliths • Natural starting point as it is easier to get started and deliver value • Simpler build and deployment • Simpler scalability • Simpler security • Low latency due to intra- process communication • Simpler testing • Simpler logging and monitoring • Simpler data and database management • Simpler transaction management • Large code base • Simple change requires whole app to be redeployed • Increased complexity as functionality is coupled together • Single type of database doesn’t meet all requirements • Tend to get difficult to work with over time • Huge resource requirements • Reduced agility over time • Coarse-grain transactions Pros Cons
  • 14. Micro Services - Pros • Smaller manageable functional units • Multiple smaller code bases • Single service provides single functionality • Single responsibility per service • Clearer separation of concerns • Independently scalable services • Polyglot persistence as applicable • Polyglot programming language as applicable • Independently deployable • Easier on-boarding process • Frequent functionality releases • Decentralized ownership • Team that develops it, manages it
  • 15. Micro Services - Cons • Distributed System Architecture – Design – Development – Deployment – CAP theorem • Handle Increased orchestration • Handle Increased surface area – Attacks – Failure • System and App Observability • Troubleshooting challenges • Call Traceability • Data consistency issues – Eventual consistency – Compensatory & reconciliatory procedures • Log aggregation • Rigorous test suite • Increased latency due to remote calls • Strict Service Versioning • Distributed Configuration Management • Organizational Maturity – Company Culture – Engineering practices – IT Operations – Software defined networks – On-demand infrastructure provisioning • Architectural complexity
  • 16. Source: https://martinfowler.com/bliki/MicroservicePrerequisites.html • On demand IT provisioning • System and App Monitoring • Mature CI/CD pipelines • DevOps culture
  • 17. Qualifications for micro services - Application - Organization
  • 18. Application Qualification Criteria • What need does this application solve? • Is this a business sensitive application? • Who is the audience? • What are the non functional requirements? • What type of application is it? – OLTP – OLAP – BI – Integration – Batch – Mash up … • Is it a data or compute intensive? • What is the domain model? • Does domain model decompose into smaller functional units? • What data source type fits the need? – Traditional RDBMS – NoSQL • Graph • Key Value • Document • Column • Is eventual consistency acceptable? • Future scope
  • 19. Organizational Qualification Criteria • Engineering – Design and Implement Cloud-Native applications • 12 Factor Apps • Operations – Continuous Integration – Continuous Deployment – On-demand Infrastructure provisioning – Software Defined Networking • Data – Partitioning – Replication – Warehousing – Marts – Governance – Virtualization • Caching Infrastructure – In memory data grid – Session storage • Messaging Infrastructure – Asynchronous – Durability • Security – SSL – OAuth, JWT – Credential Relay – Service to Service • Culture – Cooperation – Collaboration – Communication – Embrace change – Cutting edge – Open Source • PaaS Adoption
  • 20. Common mistakes • RDD – Resume driven development • RDA – Resume driven architecture • Not using PaaS • Let’s build micro-services architecture because it is cooler
  • 21. Building Cloud-Native Applications So you think you are ready to embark on this journey…
  • 22. 12 Factor Applications – Heroku (https://12factor.net) Criteria Explanation Codebase One codebase tracked in revision control, many deploys Dependencies Explicitly declare and isolate dependencies Configuration Store configuration in the environment Backing Services Treat backing services as attached resources Build, release, run Strictly separate build and run stages Processes Execute the app as one or more stateless processes Port binding Export services via port binding Concurrency Scale out via the process model Disposability Maximize robustness with fast startup and graceful shutdown Dev/Prod parity Keep development, staging and production as similar as possible Logs Treat logs as event streams Admin processes Run admin/management tasks as one-off processes
  • 23. API Gateway + Micro Proxy Client/UI Service Registry Service DB Service DB Service DB Monitoring Dashboard Configuratio n Server Auth Z/N Server Log Aggregation Sample Microservices Architecture Cache Message Broker
  • 25. Domain Driven Design – Eric Evans • Focus on core domain • Collaboration between domain experts and software experts • Unambiguous language • Explicit context boundaries • Exploration and experimentation
  • 26. Popular Building blocks for Cloud Native Applications • Service Registry – Eureka – Consul – etcd • Micro Proxy – Zuul • Client side load balancing – Ribbon • API Gateway • Circuit Breakers – Hysterix + Turbine • Traceability – Zipkin • Configuration Server • Spring Boot & Spring Cloud – https://start.spring.io/ • Dropwizard – http://www.dropwizard.io/
  • 27. Micro services : PaaS :: Cars : roads
  • 29. Hands-on lab exercises • We will use complimentary tier offered by Pivotal at Pivotal Web Services • Enterprise support for Cloudfoundry, running on AWS • We will use Openshift Origin VM on our laptops for hands-on exercises
  • 31. Further Reading Material • https://martinfowler.com/articles/microservices.html • https://www.safaribooksonline.com/library/view/building- microservices-with/9780134192468/ • Principles of microservices architecture – Sam Newman • http://samnewman.io/books/building_microservices/ • https://dzone.com/articles/microservice-architecture-with- spring-cloud-and-do

Editor's Notes

  1. This presentation demonstrates the new capabilities of PowerPoint and it is best viewed in Slide Show. These slides are designed to give you great ideas for the presentations you’ll create in PowerPoint 2011! For more sample templates, click the File menu, and then click New From Template. Under Templates, click Presentations.