SlideShare a Scribd company logo
Microservice 
architecture 
Žilvinas Kuusas 
VilniusPHP 0x19, 2014
Who am I? 
Žilvinas Kuusas 
lead developer @ Estina / iSign.io 
t: @kuusas 
e: zilvinas@kuusas.lt
What is a microservice? 
The microservice architectural style is an approach to developing a single 
application as a suite of small services, each running in its own process and 
communicating with lightweight mechanisms, often an HTTP resource API. 
These services are built around business capabilities and independently 
deployable by fully automated deployment machinery. There is a bare minimum 
of centralized management of these services, which may be written in different 
programming languages and use different data storage technologies. 
Martin Fowler 
http://martinfowler.com/articles/microservices.html
Microservice 
● No long-term relationships with technology 
stack 
● Easy to adopt emerging technologies 
● Loose coupling 
● Single responsibility 
● Fault isolation 
● Scalability

Recommended for you

Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...

( Microservices Architecture Training: https://www.edureka.co/microservices-... ) This Edureka's Microservices tutorial gives you detail of Microservices Architecture and how it is different from Monolithic Architecture. You will understand the concepts using a UBER case study. In this video, you will learn the following: 1. Monolithic Architecture 2. Challenges Of Monolithic Architecture 3. Microservice Architecture 4. Microservice Features 5. Compare architectures using UBER case-study

microservicesonlinetrainingmicroservicesforbeginnersmicroservicearchitecturetutorial
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices

Should you choose a microservices architecture over a monolith? What are the pros and cons in reality.

microservicessoftware-architecture
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture

The document discusses microservice architecture, including concepts, benefits, principles, and challenges. Microservices are an architectural style that structures an application as a collection of small, independent services that communicate with each other, often using RESTful API's. The approach aims to overcome limitations of monolithic architectures like scalability and allow for independent deployments. The key principles include organizing services around business domains, automating processes, and designing services to be independently deployable.

archtiecturemicroservice
UNIX philosophy 
rename 's/Airplane/Flight/' `find -name "*Airplane*.php”`
UNIX philosophy 
ls . | sort | tail -n 2 | sort -r | tail -n 1 | cut -c8-21
Microservice architecture 
Microservice architecture
Monolithic application 
Reality - monolithic application

Recommended for you

Microservices
MicroservicesMicroservices
Microservices

Learn all about microservices from Product Marketing Manager Dan Giordano. We'll cover how to get started, the benefits, potential challenges, and how SmartBear can help.

microservicesmicroservices architectureapis
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture

A introduction to Microservices Architecture: definition, characterstics, framworks, success stories. It contains a demo about implementation of microservices with Spring Boot, Spring cloud an Eureka.

architecturemicroservices patternsnetflix
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices

This document discusses the transition from monolithic architecture to microservices architecture. It begins by outlining challenges with monolithic systems like long development cycles and difficulties scaling. It then defines microservices as loosely coupled services that have bounded contexts. The document provides examples of how to evolve a monolith to microservices by starting with existing services and gradually decomposing the monolith. It acknowledges challenges in distributed systems and eventual consistency that come with microservices. Overall, the document presents microservices as enabling faster innovation, increased agility and delighted customers compared to monolithic systems.

retail-talks-2018
Service Oriented Architecture (SOA)
Benefits of monolith 
● Quick development 
● Simple deployments 
● Easy to scale 
● Everything in one place
Drawbacks of monolith 
● Lots of LOC 
● Slow builds 
● Development is hard to scale 
● Continuous deployments becomes difficult 
● Scaling application can be difficult 
● Requires a long-term commitment to a 
technology stack
Microservices 
Think about microservice as small, single-purpose 
application. Simple?

Recommended for you

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
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices

Microservices architectures are changing the way that organizations build their applications and infrastructure. Companies can now achieve new levels of scale and efficiency by disaggregating their large, monolithic applications into small, independent “micro services”, each of which perform different functions. In this session, we’ll introduce the concept of microservices, help you evaluate whether your organization is ready for microservices, and discuss methods for implementing these architectures. We’ll also cover topics such as using API gateways, enabling self-service infrastructure provisioning, and ways to manage your microservices.

cloud computingdevopsstartups
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps

This document provides an overview of microservices architecture, including concepts, characteristics, infrastructure patterns, and software design patterns relevant to microservices. It discusses when microservices should be used versus monolithic architectures, considerations for sizing microservices, and examples of pioneers in microservices implementation like Netflix and Spotify. The document also covers domain-driven design concepts like bounded context that are useful for decomposing monolithic applications into microservices.

microservicesddddomain driven design
Small application 
● Runs as individual process 
● Smaller means easier for developers to 
maintain 
● Changes does not affect whole system 
● Faster to build and deploy 
● ...or throw away and rewrite
Small application 
● Each service has it’s own database 
● Code duplication vs. code coupling 
● Shared code - libraries
Small application 
“If service is bigger than your 
head then it’s too big” 
Internet
Deploy independently 
● Each microservice runs in it’s own process, 
so deployment of one service won’t affect 
the whole application 
● Easier to scale development 
● Faster feature releases 
● Less downtime 
● Develop, build and deploy!

Recommended for you

Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices

1) Event-driven microservices involve microservices communicating primarily through events published to an event backbone. This loosely couples microservices and allows for eventual data consistency. 2) Apache Kafka is an open-source streaming platform that can be used to build an event backbone, allowing microservices to reliably publish and subscribe to events. It supports streaming, storage, and processing of event data. 3) Common patterns for event-driven microservices include database per service for independent data ownership, sagas for coordinated multi-step processes, event sourcing to capture all state changes, and CQRS to separate reads from writes.

apache kafkamicroservicesevent-driven
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices

Kevin Huang: AWS San Francisco Startup Day, 9/7/17 Architecture: When, how, and if to adopt microservices - Microservices are not for everyone! If you're a small shop, a monolith provides a great amount of value and reduces the complexities involved. However as your company grows, this monolith becomes more difficult to maintain. We’ll look at how microservices allow you to easily deploy and debug atomic pieces of infrastructure which allows for increased velocity in reliable, tested, and consistent deploys. We’ll look into key metrics you can use to identify the right time to begin the transition from monolith to microservices.

awsamazon web servicescloud
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...

Here is the version of my microservices talk that that I gave on September 17th at the SVforum Cloud SIG/Microservices meetup. To learn more see http://microservices.io and http://plainoldobjects.com

microservicesevent sourcingeventual consistency
Flexible solutions 
● Modular 
● Polyglot data persistence 
● Multi-framework
Right tool for the job
Application: two layers 
● System layer 
○ gateway: defines interfaces, communication 
mechanisms 
○ rarely changes 
● Service layer 
○ services with different internal architectures 
○ different technology stacks 
○ evolves rapidly
Application: two layers 
Application: two layers

Recommended for you

Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ

Building Cloud-Native App Series - Part 2 of 11 Microservices Architecture Series Event Sourcing & CQRS, Kafka, Rabbit MQ Case Studies (E-Commerce App, Movie Streaming, Ticket Booking, Restaurant, Hospital Management)

event sourcingevent stormingcqrs
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices

This is a talk I gave at PLoP 2017 - http://www.hillside.net/plop/2017/index.php?nav=program The microservice architecture is growing in popularity. It is an architectural style that structures an application as a set of loosely coupled services that are organized around business capabilities. Its goal is to enable the continuous delivery of large, complex applications. However, the microservice architecture is not a silver bullet and it has some significant drawbacks. The goal of the microservices pattern language is to enable software developers to apply the microservice architecture effectively. It is a collection of patterns that solve architecture, design, development and operational problems. In this talk, I’ll provide an overview of the microservice architecture and describe the motivations for the pattern language. You will learn about the key patterns in the pattern language.

microservicesmicroservice architecturepatterns
Microservices
MicroservicesMicroservices
Microservices

Microservices are an architectural style that structures an application as a collection of small, independent services that communicate with each other. Each service runs a unique process and focuses on doing a small job, such as user authentication or shopping cart functionality. The advantages of microservices include improved scalability, maintainability, and ability to upgrade parts of the system independently. However, adopting microservices also introduces additional operational complexity and communication overhead between services.

microervicesmicroervice
When to use it? 
● In the beginning it will slow down the 
development 
● Later - refactoring might be painful 
● It’s easier to merge services than split 
monolith into services 
● ...unless monolith already has loosely-coupled 
modules
Be realistic 
“Focus on building services that make 
development and deployment easier - not just 
tiny services”
Nanoservice antipattern 
A nanoservice is a service whose overhead 
(communications, maintenance, and so on) 
outweighs its utility.
How services communicate? 
● HTTP/REST 
● AMQP for asynchronous requests 
● Event Sourcing 
● Streams

Recommended for you

Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns

This is the video capture of the meetup described at https://www.meetup.com/lifemichael/events/287981390/ This video includes the two talks the meetup included. The first one is an introductory talk for the topic. The second one covers the SAGA design pattern.

microservicesdesign patternsarchitecture
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021

The microservice architecture is growing in popularity. It is an architectural style that structures an application as a set of loosely coupled services that are organized around business capabilities. Its goal is to enable the continuous delivery of large, complex applications. However, the microservice architecture is not a silver bullet and it has some significant drawbacks. The goal of the microservices pattern language is to enable software developers to apply the microservice architecture effectively. It is a collection of patterns that solve architecture, design, development and operational problems. In this talk, I’ll provide an overview of the microservice architecture and describe the motivations for the pattern language. You will learn about the key patterns in the pattern language.

microservicesmicroservice architecturepattern language
Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)

The micro-service architecture, which structures an application as a set of small, narrowly focused, independently deployable services, is becoming an increasingly popular way to build applications. This approach avoids many of the problems of a monolithic architecture. It simplifies deployment and let’s you create highly scalable and available applications. In this talk we describe the micro-service architecture and how to use it to build complex applications. You will learn how techniques such as Command Query Responsibility Segregation (CQRS) and Event Sourcing address the key challenges of developing applications with this architecture. We will also cover some of the various frameworks such as NodeJS and Spring Boot that you can use to implement micro-services.

software architecturesvccfunctional decomposition
Databases 
● DB instance per service 
● Relational databases, NoSQL, others
How to start? 
● ESI (Edge Side Includes) 
● RabbitMQ 
● Gearman 
● PHP multithreading
Shared data problem 
● ServiceA needs to read data which is 
managed by ServiceB
Solution A 
ServiceA calls ServiceB for data 
● Benefits 
○ quick implementation 
○ data is always fresh 
● Drawbacks 
○ slows down ServiceA 
○ ServiceB might be down at the moment

Recommended for you

Microservices at Spotify
Microservices at SpotifyMicroservices at Spotify
Microservices at Spotify

Why does Spotify use a microservices architecture? What are the benefits and challenges we've encountered? How does our organizational model support our architecture? Video of the talk is posted on YouTube: https://youtu.be/7LGPeBgNFuU

microservicesspotifygoto berlin
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture

Fred George describes his personal journey discovering microservice architecture over 15 years working on large software projects. He details how his projects evolved from monolithic 1 million line applications to small, independent services. This allowed for improved agility, with services being short-lived and able to deploy several times a day. George also discusses challenges faced and lessons learned around loosely coupling services, managing data across services, and establishing practices for a "living software" system with continuous deployment of services.

soaservicesmicro services
Informal invitation
Informal invitationInformal invitation
Informal invitation

An informal invitation is a casual invitation that is often verbal rather than written. It can be extended directly by speaking to someone and inviting them or indirectly through other means like a phone call or text message. Indirect written invitations for informal events are also common and may include brief notes or messages to convey the key details of the invitation.

Solution B 
Data replication 
● Benefits 
○ availability 
○ speed 
● Drawbacks 
○ data replication overhead
Performance 
● Latency is your foe 
● Everything done asynchronously - no 
problem 
● Keep communication between services as 
effective as possible. No chit-chats.
Drawbacks 
● High level of distributed complexity
Automation 
● Automate everything 
○ CI 
○ deployments 
○ configuration 
○ error logging 
○ monitoring

Recommended for you

Creativity Lego เอก
 Creativity Lego เอก Creativity Lego เอก
Creativity Lego เอก

สรุปการเรียนรู้

Лабораторна робота LR4-5_4-5.1_kozachenko
Лабораторна робота LR4-5_4-5.1_kozachenkoЛабораторна робота LR4-5_4-5.1_kozachenko
Лабораторна робота LR4-5_4-5.1_kozachenko

Презентация на тему " Становление и развитие массовых дистанционных курсов.

Autonomic Application Delivery with Tonomi
Autonomic Application Delivery with TonomiAutonomic Application Delivery with Tonomi
Autonomic Application Delivery with Tonomi

This introduction to autonomic application delivery with Tonomi (formerly, Qubell) had been presented at SVDevOps meetup at Intuit on May 19, 2015

devopsautonomicqubell
PHP world 
PHP world
Symfony2 app as service 
● Symfony2 isn’t heavy… 
● ...if you know how to circumcise it 
● Avoid standard edition 
● Create your own minimal application 
http://www.whitewashing.de/2014/04/24/symfony_hello_world.html
Symfony2 benefits 
● HttpKernel component is one of the 
greatest things happened in PHP world in 
years 
● SF2 DIC: flexible and extendable way to 
grow your project 
● Console component for CLI utilities 
● Standardised solutions
Symfony2 as gateway 
● Basic SF2 application with dumb controllers 
for routing services 
○ via messaging 
● Rendering main views for ESI

Recommended for you

Using Capifony for Symfony apps deployment.
Using Capifony for Symfony apps deployment.Using Capifony for Symfony apps deployment.
Using Capifony for Symfony apps deployment.

Capistrano is an open source tool for running scripts on multiple servers. Capifony - set of instructions called “recipes” for Symfony applications deployment. Built to make your job a lot easier.

symfonycapifonydeployment
установка колонн летучек
установка колонн летучекустановка колонн летучек
установка колонн летучек

установка колонн летучек

Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015

Introduction to Tonomi, an autonomic application management platform for cloud applications, delivered as a keynote at Gluecon 2015, Broomfield, Colorado on May 20, 2015.

gluecondevopscontinuous delivery
Challenges 
● Define service boundaries 
● Continuous Integration 
○ Continuous Deployment 
● Error logging 
● Monitoring 
● System tests 
○ Consumer tests
More challenges... 
● Security layer 
● Shared configuration 
● Shared assets 
● Graceful degradation
Who is using 
~120 services to generate 1 page 
http://highscalability.com/amazon-architecture 
Has 600+ services in total 
http://techblog.netflix.com/ 
http://www.ebaytechblog.com/
Why microservice? 
● Scale development 
● Scale your application 
● Application availability 
● Use right tools for the job 
● Whole system becomes faster if done right

Recommended for you

Makalah biologi
Makalah biologiMakalah biologi
Makalah biologi

eksploitasi batu bara di provinsi jambi

Revamping the math classroom
Revamping the math classroomRevamping the math classroom
Revamping the math classroom

This document provides an overview of resources for revamping the math classroom, including five TED talks from Dan Meyer, Alex Kajitani, Arthur Benjamin, and Salman Khan about improving mathematics education, as well as an article on moving math education forward. The document directs the reader to find more information on the creator's wiki.

High availability is not a luxury webcast
High availability is not a luxury webcastHigh availability is not a luxury webcast
High availability is not a luxury webcast

Arcserve provides a high availability and disaster recovery solution for businesses. The solution uses continuous data protection, replication, and automated failover to provide recovery point objectives (RPOs) of less than a minute and recovery time objectives (RTOs) of minutes for critical systems. It protects applications like Exchange, SQL, and file servers. The solution provides centralized management, reporting, encryption, and integration with Amazon Web Services for disaster recovery testing and failover to the cloud. Arcserve aims to provide comprehensive data protection simplicity through a unified backup, high availability, and archiving approach.

high availabilityarcservetechnology
Dig more 
● Martin Fowler http://martinfowler. 
com/articles/microservices.html 
● Fred George https://www.youtube.com/watch? 
v=2rKEveL55TY 
● http://blog.arkency.com/2014/07/microservices-72- 
resources/
What’s next? 
Reactive architecture? 
http://www.reactivemanifesto.org/
Questions?
Join us 
hello@estina.com

Recommended for you

Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)

Overview of Qubell's autonomic application management platform, presented at East Bay Containers, Docker and CloudFoundry Meetup on March 5, 2015.

dockerqubellautonomic
технология селективной изоляции водопритока
технология селективной изоляции водопритокатехнология селективной изоляции водопритока
технология селективной изоляции водопритока

технология селективной изоляции водопритока

Enterprise in your degree - Neil Coles
Enterprise in your degree - Neil ColesEnterprise in your degree - Neil Coles
Enterprise in your degree - Neil Coles

This presentation is linked to a workshop presented at the HEA Enhancement event ‘Successful students: enhancing employability through enterprise education’. The blog post that accompanies this presentation can be accessed via http://bit.ly/1JIE3wh

higher educationstudent enterpriseemployability

More Related Content

What's hot

Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
Lalit Kale
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Edureka!
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
Bozhidar Bozhanov
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Nguyen Tung
 
Microservices
MicroservicesMicroservices
Microservices
SmartBear
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Abdelghani Azri
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
Amazon Web Services
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
Andrew Schofield
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
Amazon Web Services
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
Chris Richardson
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ
Araf Karsh Hamid
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
Chris Richardson
 
Microservices
MicroservicesMicroservices
Microservices
Stephan Lindauer
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
Haim Michael
 
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021
Chris Richardson
 

What's hot (20)

Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
 
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021
 

Viewers also liked

Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)
Chris Richardson
 
Microservices at Spotify
Microservices at SpotifyMicroservices at Spotify
Microservices at Spotify
Kevin Goldsmith
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture
Fred George
 
Informal invitation
Informal invitationInformal invitation
Informal invitation
melanisha
 
Creativity Lego เอก
 Creativity Lego เอก Creativity Lego เอก
Creativity Lego เอก
eakchait
 
Лабораторна робота LR4-5_4-5.1_kozachenko
Лабораторна робота LR4-5_4-5.1_kozachenkoЛабораторна робота LR4-5_4-5.1_kozachenko
Лабораторна робота LR4-5_4-5.1_kozachenko
kozachenko2019
 
Autonomic Application Delivery with Tonomi
Autonomic Application Delivery with TonomiAutonomic Application Delivery with Tonomi
Autonomic Application Delivery with Tonomi
Victoria Livschitz
 
Using Capifony for Symfony apps deployment.
Using Capifony for Symfony apps deployment.Using Capifony for Symfony apps deployment.
Using Capifony for Symfony apps deployment.
Žilvinas Kuusas
 
установка колонн летучек
установка колонн летучекустановка колонн летучек
установка колонн летучек
geoplast2007ru
 
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Victoria Livschitz
 
Makalah biologi
Makalah biologiMakalah biologi
Makalah biologi
melanisha
 
Revamping the math classroom
Revamping the math classroomRevamping the math classroom
Revamping the math classroom
camille541
 
High availability is not a luxury webcast
High availability is not a luxury webcastHigh availability is not a luxury webcast
High availability is not a luxury webcast
Gina Tragos
 
Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)
Victoria Livschitz
 
технология селективной изоляции водопритока
технология селективной изоляции водопритокатехнология селективной изоляции водопритока
технология селективной изоляции водопритока
geoplast2007ru
 
Enterprise in your degree - Neil Coles
Enterprise in your degree - Neil ColesEnterprise in your degree - Neil Coles
Enterprise in your degree - Neil Coles
HEA_AH
 
Aleksander Królikowski
Aleksander KrólikowskiAleksander Królikowski
Aleksander Królikowski
Dysk
 
Ha cluster -Public to Private
Ha cluster -Public to PrivateHa cluster -Public to Private
Ha cluster -Public to Private
testslidesha12
 
Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...
HEA_AH
 
طريقنا الى القلوب!
طريقنا الى القلوب!طريقنا الى القلوب!
طريقنا الى القلوب!
Eslam Ashraf
 

Viewers also liked (20)

Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)
 
Microservices at Spotify
Microservices at SpotifyMicroservices at Spotify
Microservices at Spotify
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture
 
Informal invitation
Informal invitationInformal invitation
Informal invitation
 
Creativity Lego เอก
 Creativity Lego เอก Creativity Lego เอก
Creativity Lego เอก
 
Лабораторна робота LR4-5_4-5.1_kozachenko
Лабораторна робота LR4-5_4-5.1_kozachenkoЛабораторна робота LR4-5_4-5.1_kozachenko
Лабораторна робота LR4-5_4-5.1_kozachenko
 
Autonomic Application Delivery with Tonomi
Autonomic Application Delivery with TonomiAutonomic Application Delivery with Tonomi
Autonomic Application Delivery with Tonomi
 
Using Capifony for Symfony apps deployment.
Using Capifony for Symfony apps deployment.Using Capifony for Symfony apps deployment.
Using Capifony for Symfony apps deployment.
 
установка колонн летучек
установка колонн летучекустановка колонн летучек
установка колонн летучек
 
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
 
Makalah biologi
Makalah biologiMakalah biologi
Makalah biologi
 
Revamping the math classroom
Revamping the math classroomRevamping the math classroom
Revamping the math classroom
 
High availability is not a luxury webcast
High availability is not a luxury webcastHigh availability is not a luxury webcast
High availability is not a luxury webcast
 
Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)
 
технология селективной изоляции водопритока
технология селективной изоляции водопритокатехнология селективной изоляции водопритока
технология селективной изоляции водопритока
 
Enterprise in your degree - Neil Coles
Enterprise in your degree - Neil ColesEnterprise in your degree - Neil Coles
Enterprise in your degree - Neil Coles
 
Aleksander Królikowski
Aleksander KrólikowskiAleksander Królikowski
Aleksander Królikowski
 
Ha cluster -Public to Private
Ha cluster -Public to PrivateHa cluster -Public to Private
Ha cluster -Public to Private
 
Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...
 
طريقنا الى القلوب!
طريقنا الى القلوب!طريقنا الى القلوب!
طريقنا الى القلوب!
 

Similar to Microservice architecture

Microservices
MicroservicesMicroservices
Microservices
NewsCred Dhaka
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
Mukesh Singh
 
Ato Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by SystangoAto Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by Systango
Systango
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020
Rodrigo Antonialli
 
Surviving microservices
Surviving microservicesSurviving microservices
Surviving microservices
Francesco Degrassi
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)
smancke
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
Ron Barabash
 
linkerd.pdf
linkerd.pdflinkerd.pdf
linkerd.pdf
Vishwas N
 
The FN Project by Maximilian Jerg
The FN Project by Maximilian JergThe FN Project by Maximilian Jerg
The FN Project by Maximilian Jerg
Harald Schmaldienst
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
Yshay Yaacobi
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Binary Studio
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with Microservices
Rishabh Dugar
 
Service-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdfService-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdf
chanhluc2112
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
Miki Lombardi
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
NGINX, Inc.
 
Microservices: an introduction
Microservices: an introductionMicroservices: an introduction
Microservices: an introduction
Daniel Baptista Dias
 
Evolution of Application Development
Evolution of Application DevelopmentEvolution of Application Development
Evolution of Application Development
WSO2
 
Evolution of Application Development
Evolution of Application DevelopmentEvolution of Application Development
Evolution of Application Development
kshanth2101
 
Nats in action a real time microservices architecture handled by nats
Nats in action   a real time microservices architecture handled by natsNats in action   a real time microservices architecture handled by nats
Nats in action a real time microservices architecture handled by nats
Raul Perez
 
NATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSNATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATS
Raül Pérez
 

Similar to Microservice architecture (20)

Microservices
MicroservicesMicroservices
Microservices
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
 
Ato Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by SystangoAto Z of Microservices Architecture by Systango
Ato Z of Microservices Architecture by Systango
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020
 
Surviving microservices
Surviving microservicesSurviving microservices
Surviving microservices
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 
linkerd.pdf
linkerd.pdflinkerd.pdf
linkerd.pdf
 
The FN Project by Maximilian Jerg
The FN Project by Maximilian JergThe FN Project by Maximilian Jerg
The FN Project by Maximilian Jerg
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
 
AppDev with Microservices
AppDev with MicroservicesAppDev with Microservices
AppDev with Microservices
 
Service-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdfService-Mesh-Presentation.pdf
Service-Mesh-Presentation.pdf
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
Microservices: an introduction
Microservices: an introductionMicroservices: an introduction
Microservices: an introduction
 
Evolution of Application Development
Evolution of Application DevelopmentEvolution of Application Development
Evolution of Application Development
 
Evolution of Application Development
Evolution of Application DevelopmentEvolution of Application Development
Evolution of Application Development
 
Nats in action a real time microservices architecture handled by nats
Nats in action   a real time microservices architecture handled by natsNats in action   a real time microservices architecture handled by nats
Nats in action a real time microservices architecture handled by nats
 
NATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATSNATS in action - A Real time Microservices Architecture handled by NATS
NATS in action - A Real time Microservices Architecture handled by NATS
 

More from Žilvinas Kuusas

Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!
Žilvinas Kuusas
 
Ansible: infrastructure automation for everyone
Ansible: infrastructure automation for everyoneAnsible: infrastructure automation for everyone
Ansible: infrastructure automation for everyone
Žilvinas Kuusas
 
Automated cryptocurrency trading
Automated cryptocurrency tradingAutomated cryptocurrency trading
Automated cryptocurrency trading
Žilvinas Kuusas
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
Žilvinas Kuusas
 
Continuously delivering value
Continuously delivering valueContinuously delivering value
Continuously delivering value
Žilvinas Kuusas
 
Code reviews
Code reviewsCode reviews
Code reviews
Žilvinas Kuusas
 
Baby steps to Domain-Driven Design
Baby steps to Domain-Driven DesignBaby steps to Domain-Driven Design
Baby steps to Domain-Driven Design
Žilvinas Kuusas
 
Community and open source
Community and open sourceCommunity and open source
Community and open source
Žilvinas Kuusas
 
Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)
Žilvinas Kuusas
 

More from Žilvinas Kuusas (9)

Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!
 
Ansible: infrastructure automation for everyone
Ansible: infrastructure automation for everyoneAnsible: infrastructure automation for everyone
Ansible: infrastructure automation for everyone
 
Automated cryptocurrency trading
Automated cryptocurrency tradingAutomated cryptocurrency trading
Automated cryptocurrency trading
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Continuously delivering value
Continuously delivering valueContinuously delivering value
Continuously delivering value
 
Code reviews
Code reviewsCode reviews
Code reviews
 
Baby steps to Domain-Driven Design
Baby steps to Domain-Driven DesignBaby steps to Domain-Driven Design
Baby steps to Domain-Driven Design
 
Community and open source
Community and open sourceCommunity and open source
Community and open source
 
Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)
 

Recently uploaded

active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
sudsdeep
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
Hironori Washizaki
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
sachin chaurasia
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
sheqnetworkmarketing
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
Mitchell Marsh
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
Task Tracker
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
sudsdeep
 

Recently uploaded (20)

active-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptxactive-directory-auditing-solution (2).pptx
active-directory-auditing-solution (2).pptx
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
 

Microservice architecture

  • 1. Microservice architecture Žilvinas Kuusas VilniusPHP 0x19, 2014
  • 2. Who am I? Žilvinas Kuusas lead developer @ Estina / iSign.io t: @kuusas e: zilvinas@kuusas.lt
  • 3. What is a microservice? The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Martin Fowler http://martinfowler.com/articles/microservices.html
  • 4. Microservice ● No long-term relationships with technology stack ● Easy to adopt emerging technologies ● Loose coupling ● Single responsibility ● Fault isolation ● Scalability
  • 5. UNIX philosophy rename 's/Airplane/Flight/' `find -name "*Airplane*.php”`
  • 6. UNIX philosophy ls . | sort | tail -n 2 | sort -r | tail -n 1 | cut -c8-21
  • 8. Monolithic application Reality - monolithic application
  • 10. Benefits of monolith ● Quick development ● Simple deployments ● Easy to scale ● Everything in one place
  • 11. Drawbacks of monolith ● Lots of LOC ● Slow builds ● Development is hard to scale ● Continuous deployments becomes difficult ● Scaling application can be difficult ● Requires a long-term commitment to a technology stack
  • 12. Microservices Think about microservice as small, single-purpose application. Simple?
  • 13. Small application ● Runs as individual process ● Smaller means easier for developers to maintain ● Changes does not affect whole system ● Faster to build and deploy ● ...or throw away and rewrite
  • 14. Small application ● Each service has it’s own database ● Code duplication vs. code coupling ● Shared code - libraries
  • 15. Small application “If service is bigger than your head then it’s too big” Internet
  • 16. Deploy independently ● Each microservice runs in it’s own process, so deployment of one service won’t affect the whole application ● Easier to scale development ● Faster feature releases ● Less downtime ● Develop, build and deploy!
  • 17. Flexible solutions ● Modular ● Polyglot data persistence ● Multi-framework
  • 18. Right tool for the job
  • 19. Application: two layers ● System layer ○ gateway: defines interfaces, communication mechanisms ○ rarely changes ● Service layer ○ services with different internal architectures ○ different technology stacks ○ evolves rapidly
  • 20. Application: two layers Application: two layers
  • 21. When to use it? ● In the beginning it will slow down the development ● Later - refactoring might be painful ● It’s easier to merge services than split monolith into services ● ...unless monolith already has loosely-coupled modules
  • 22. Be realistic “Focus on building services that make development and deployment easier - not just tiny services”
  • 23. Nanoservice antipattern A nanoservice is a service whose overhead (communications, maintenance, and so on) outweighs its utility.
  • 24. How services communicate? ● HTTP/REST ● AMQP for asynchronous requests ● Event Sourcing ● Streams
  • 25. Databases ● DB instance per service ● Relational databases, NoSQL, others
  • 26. How to start? ● ESI (Edge Side Includes) ● RabbitMQ ● Gearman ● PHP multithreading
  • 27. Shared data problem ● ServiceA needs to read data which is managed by ServiceB
  • 28. Solution A ServiceA calls ServiceB for data ● Benefits ○ quick implementation ○ data is always fresh ● Drawbacks ○ slows down ServiceA ○ ServiceB might be down at the moment
  • 29. Solution B Data replication ● Benefits ○ availability ○ speed ● Drawbacks ○ data replication overhead
  • 30. Performance ● Latency is your foe ● Everything done asynchronously - no problem ● Keep communication between services as effective as possible. No chit-chats.
  • 31. Drawbacks ● High level of distributed complexity
  • 32. Automation ● Automate everything ○ CI ○ deployments ○ configuration ○ error logging ○ monitoring
  • 33. PHP world PHP world
  • 34. Symfony2 app as service ● Symfony2 isn’t heavy… ● ...if you know how to circumcise it ● Avoid standard edition ● Create your own minimal application http://www.whitewashing.de/2014/04/24/symfony_hello_world.html
  • 35. Symfony2 benefits ● HttpKernel component is one of the greatest things happened in PHP world in years ● SF2 DIC: flexible and extendable way to grow your project ● Console component for CLI utilities ● Standardised solutions
  • 36. Symfony2 as gateway ● Basic SF2 application with dumb controllers for routing services ○ via messaging ● Rendering main views for ESI
  • 37. Challenges ● Define service boundaries ● Continuous Integration ○ Continuous Deployment ● Error logging ● Monitoring ● System tests ○ Consumer tests
  • 38. More challenges... ● Security layer ● Shared configuration ● Shared assets ● Graceful degradation
  • 39. Who is using ~120 services to generate 1 page http://highscalability.com/amazon-architecture Has 600+ services in total http://techblog.netflix.com/ http://www.ebaytechblog.com/
  • 40. Why microservice? ● Scale development ● Scale your application ● Application availability ● Use right tools for the job ● Whole system becomes faster if done right
  • 41. Dig more ● Martin Fowler http://martinfowler. com/articles/microservices.html ● Fred George https://www.youtube.com/watch? v=2rKEveL55TY ● http://blog.arkency.com/2014/07/microservices-72- resources/
  • 42. What’s next? Reactive architecture? http://www.reactivemanifesto.org/