SlideShare une entreprise Scribd logo
1  sur  32
Monoliths To
Microservices. A Journey
@samelamin
Monoliths To
Microservices. A Journey
@samelamin
Why people build
Monoliths
● One monolithic database
● ASP.NET web application
● Doesn't scale
● Can't experiment with different technologies
● Versioning
● No domain ownership
● Long and hard deployments
Why Distributed?
Working with the code felt like…..
How we started?
Its only refactoring?
By making smaller components we
are reducing the complexity
Implementing DDD and CQRS
Using Pub / Sub
How PubSub works
Identify a bounded context
Define An Interface
What we found out.
Race Hazards????????
Testing is hard :(
Deployments
Unclear Boundaries
Strict Code Reviews
Monitoring
Hidden Complexity
What we should have done
Get the business involved!
Data Duplication?
Orchestration layer?
Self Monitoring > Acceptance Tests
Business Monitoring over
Acceptance Tests
With metrics come freedom!
The future? Vnext + Docker
Build your next feature as a
microservice
[QE 2015] Sam Elamin - Monoliths to microservices - a journey

Contenu connexe

Tendances

Branching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionBranching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionOutSystems
 
Adventures with Microservices
Adventures with MicroservicesAdventures with Microservices
Adventures with MicroservicesAnand Agrawal
 
Episode 20 - Trigger Frameworks in Salesforce
Episode 20 - Trigger Frameworks in SalesforceEpisode 20 - Trigger Frameworks in Salesforce
Episode 20 - Trigger Frameworks in SalesforceJitendra Zaa
 
Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021
Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021
Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021Rasa Technologies
 
Modern Continuous Software Delivery
Modern Continuous Software DeliveryModern Continuous Software Delivery
Modern Continuous Software DeliveryMartin Logan
 
Gengo Jaws Days Tokyo 2014 Presentation
Gengo Jaws Days Tokyo  2014 PresentationGengo Jaws Days Tokyo  2014 Presentation
Gengo Jaws Days Tokyo 2014 PresentationDerek Szydlowski
 
Software testing presentation
Software testing presentationSoftware testing presentation
Software testing presentationNikolas Vourlakis
 
TRAX technical highlights
TRAX technical highlightsTRAX technical highlights
TRAX technical highlightsESUG
 
Building Scalable Micro-services with Nodejs
Building Scalable Micro-services with NodejsBuilding Scalable Micro-services with Nodejs
Building Scalable Micro-services with NodejsMichal Juhas
 
WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016Tsahi Levent-levi
 
The Economics of Microservices (2017 CraftConf)
The Economics of Microservices  (2017 CraftConf)The Economics of Microservices  (2017 CraftConf)
The Economics of Microservices (2017 CraftConf)Phil Calçado
 
The UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIsThe UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIsPronovix
 
Becoming a Forge Component Author
Becoming a Forge Component AuthorBecoming a Forge Component Author
Becoming a Forge Component AuthorOutSystems
 
Microservices: Consumer Driven Contracts in Practice
Microservices: Consumer Driven Contracts in PracticeMicroservices: Consumer Driven Contracts in Practice
Microservices: Consumer Driven Contracts in PracticeQaiser Mazhar
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
How # (sharp) is Your Katana (Ciprian Jichici)
How # (sharp) is Your Katana (Ciprian Jichici)How # (sharp) is Your Katana (Ciprian Jichici)
How # (sharp) is Your Katana (Ciprian Jichici)ITCamp
 
Senior Network Engineer
Senior Network EngineerSenior Network Engineer
Senior Network Engineerchalikars
 
Integration Testing for Polyglot Ecosystems
Integration Testing for Polyglot EcosystemsIntegration Testing for Polyglot Ecosystems
Integration Testing for Polyglot EcosystemsDavid Worth
 
Production - Designing for Testability
Production - Designing for TestabilityProduction - Designing for Testability
Production - Designing for TestabilityMichael Bryzek
 

Tendances (20)

Branching Your Way to Low-Code Perfection
Branching Your Way to Low-Code PerfectionBranching Your Way to Low-Code Perfection
Branching Your Way to Low-Code Perfection
 
Adventures with Microservices
Adventures with MicroservicesAdventures with Microservices
Adventures with Microservices
 
Episode 20 - Trigger Frameworks in Salesforce
Episode 20 - Trigger Frameworks in SalesforceEpisode 20 - Trigger Frameworks in Salesforce
Episode 20 - Trigger Frameworks in Salesforce
 
Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021
Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021
Deploy your Rasa Chatbots like a Boss with DevOps | Rasa Summit 2021
 
Taiko_Gauge_PPT
Taiko_Gauge_PPTTaiko_Gauge_PPT
Taiko_Gauge_PPT
 
Modern Continuous Software Delivery
Modern Continuous Software DeliveryModern Continuous Software Delivery
Modern Continuous Software Delivery
 
Gengo Jaws Days Tokyo 2014 Presentation
Gengo Jaws Days Tokyo  2014 PresentationGengo Jaws Days Tokyo  2014 Presentation
Gengo Jaws Days Tokyo 2014 Presentation
 
Software testing presentation
Software testing presentationSoftware testing presentation
Software testing presentation
 
TRAX technical highlights
TRAX technical highlightsTRAX technical highlights
TRAX technical highlights
 
Building Scalable Micro-services with Nodejs
Building Scalable Micro-services with NodejsBuilding Scalable Micro-services with Nodejs
Building Scalable Micro-services with Nodejs
 
WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016WebRTC on Mobile | Kranky Geek SF 2016
WebRTC on Mobile | Kranky Geek SF 2016
 
The Economics of Microservices (2017 CraftConf)
The Economics of Microservices  (2017 CraftConf)The Economics of Microservices  (2017 CraftConf)
The Economics of Microservices (2017 CraftConf)
 
The UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIsThe UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIs
 
Becoming a Forge Component Author
Becoming a Forge Component AuthorBecoming a Forge Component Author
Becoming a Forge Component Author
 
Microservices: Consumer Driven Contracts in Practice
Microservices: Consumer Driven Contracts in PracticeMicroservices: Consumer Driven Contracts in Practice
Microservices: Consumer Driven Contracts in Practice
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
How # (sharp) is Your Katana (Ciprian Jichici)
How # (sharp) is Your Katana (Ciprian Jichici)How # (sharp) is Your Katana (Ciprian Jichici)
How # (sharp) is Your Katana (Ciprian Jichici)
 
Senior Network Engineer
Senior Network EngineerSenior Network Engineer
Senior Network Engineer
 
Integration Testing for Polyglot Ecosystems
Integration Testing for Polyglot EcosystemsIntegration Testing for Polyglot Ecosystems
Integration Testing for Polyglot Ecosystems
 
Production - Designing for Testability
Production - Designing for TestabilityProduction - Designing for Testability
Production - Designing for Testability
 

En vedette

Quality report 10 2013
Quality report 10 2013Quality report 10 2013
Quality report 10 2013kortneybrad
 
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...Future Processing
 
Albert michelson michelle calderon
Albert  michelson michelle calderonAlbert  michelson michelle calderon
Albert michelson michelle calderonbritney8sapphire
 
العرض
العرضالعرض
العرضhadeel88
 
العرض
العرضالعرض
العرضhadeel88
 
Find out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for youFind out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for youLearnUpon
 
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testówFuture Processing
 
العرض التكنولوجيا الأطفال
العرض التكنولوجيا الأطفال العرض التكنولوجيا الأطفال
العرض التكنولوجيا الأطفال hadeel88
 
العرض
العرضالعرض
العرضhadeel88
 
Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014
Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014
Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014Future Processing
 
[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniu
[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniu[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniu
[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniuFuture Processing
 
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny FrontendFuture Processing
 
[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...
[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...
[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...Future Processing
 
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...Future Processing
 
العرض
العرضالعرض
العرضhadeel88
 
New microsoft office power point presentation (3)
New microsoft office power point presentation (3)New microsoft office power point presentation (3)
New microsoft office power point presentation (3)swpuri319
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Future Processing
 
العرض
العرضالعرض
العرضhadeel88
 
العرض
العرضالعرض
العرضhadeel88
 
[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w AgileFuture Processing
 

En vedette (20)

Quality report 10 2013
Quality report 10 2013Quality report 10 2013
Quality report 10 2013
 
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
 
Albert michelson michelle calderon
Albert  michelson michelle calderonAlbert  michelson michelle calderon
Albert michelson michelle calderon
 
العرض
العرضالعرض
العرض
 
العرض
العرضالعرض
العرض
 
Find out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for youFind out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for you
 
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
 
العرض التكنولوجيا الأطفال
العرض التكنولوجيا الأطفال العرض التكنولوجيا الأطفال
العرض التكنولوجيا الأطفال
 
العرض
العرضالعرض
العرض
 
Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014
Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014
Wyzwania i odpowiedzialność projektanta/WUD Silesia 2014
 
[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniu
[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniu[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniu
[QE 2015] Marcin Budny, Ryszard Tarajkowski - Testy łatwe w utrzymaniu
 
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
 
[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...
[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...
[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów ...
 
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
 
العرض
العرضالعرض
العرض
 
New microsoft office power point presentation (3)
New microsoft office power point presentation (3)New microsoft office power point presentation (3)
New microsoft office power point presentation (3)
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.
 
العرض
العرضالعرض
العرض
 
العرض
العرضالعرض
العرض
 
[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile
 

Similaire à [QE 2015] Sam Elamin - Monoliths to microservices - a journey

apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...apidays
 
Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Sqreen
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBMDejan Glozic
 
Solving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With DockerSolving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With DockerWill Hall
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
Refactoring to Microservices
Refactoring to MicroservicesRefactoring to Microservices
Refactoring to MicroservicesJacinto Limjap
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...C4Media
 
Microservice Workshop Hands On
Microservice Workshop Hands On Microservice Workshop Hands On
Microservice Workshop Hands On Ram G Suri
 
The Case Against Microservices
The Case Against MicroservicesThe Case Against Microservices
The Case Against Microservicesaledsage
 
Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Fwdays
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMongoDB
 
IBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksIBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksDejan Glozic
 
Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...drnugent
 
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersYour Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersAtlassian
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDMustafa AKIN
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAmazon Web Services
 
Cloud-Native Progressive Delivery
Cloud-Native Progressive DeliveryCloud-Native Progressive Delivery
Cloud-Native Progressive DeliveryMatt Turner
 

Similaire à [QE 2015] Sam Elamin - Monoliths to microservices - a journey (20)

apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
 
Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
 
Solving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With DockerSolving IoT Hardware Issues With Docker
Solving IoT Hardware Issues With Docker
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Microservices
MicroservicesMicroservices
Microservices
 
Refactoring to Microservices
Refactoring to MicroservicesRefactoring to Microservices
Refactoring to Microservices
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
 
Microservice Workshop Hands On
Microservice Workshop Hands On Microservice Workshop Hands On
Microservice Workshop Hands On
 
The Case Against Microservices
The Case Against MicroservicesThe Case Against Microservices
The Case Against Microservices
 
Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Microservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of SandMicroservices: Living Large in Your Castle Made of Sand
Microservices: Living Large in Your Castle Made of Sand
 
IBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksIBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New Tricks
 
Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...
 
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersYour Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 
Accelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and MicroservicesAccelerate your Application Delivery with DevOps and Microservices
Accelerate your Application Delivery with DevOps and Microservices
 
Cloud-Native Progressive Delivery
Cloud-Native Progressive DeliveryCloud-Native Progressive Delivery
Cloud-Native Progressive Delivery
 

Plus de Future Processing

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfFuture Processing
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfFuture Processing
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfFuture Processing
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurzeFuture Processing
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shakeFuture Processing
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myśleniaFuture Processing
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletkaFuture Processing
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...Future Processing
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...Future Processing
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny BlockchainFuture Processing
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈XFuture Processing
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...Future Processing
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NETFuture Processing
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...Future Processing
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...Future Processing
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark ApplicationsFuture Processing
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test AutomationFuture Processing
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software TesterFuture Processing
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOpsFuture Processing
 

Plus de Future Processing (20)

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdf
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdf
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
 

Dernier

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 

Dernier (20)

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

[QE 2015] Sam Elamin - Monoliths to microservices - a journey

Notes de l'éditeur

  1. What we will be talking about look at all these awesome things im going to talk about Im going to use visually confusing diagrams ITS A WORD CLOUD! Were going to talk about DDD, commands and events, the cloud, microservices, myself Sam Elamin - I am interesting to talk about theres so much awesomeness here :D DDD Events Messages Commands Cloud Samelamin CQRS EnterpriseBus Monolithic Distributed Microservices Docker
  2. this is a very interesting debate, if you are a startup do you want to start off building microservices? Theres ALOT to do when building microservices much easier to just add to the monolith, costs are cheaper to the user
  3. we had multiple moving parts, making a change something breaks It was fragile and hard to work with https://www.youtube.com/watch?v=qUmBgM6dmQA http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
  4. basically felt like this
  5. we went to the business and said we need to break things down into smaller pieces so its easier to add more features, No ok then we say we can deploy more thngs frequently No just no!
  6. Didn't really involve the business, its only refactoring right? fixing underlying architectural issues felt very underhanded like we are cheating are way to it
  7. But what we didnt really fully comprehend or appreciate is that under pressure, code is often changed in ways that increases complexity Micheal feathers said this brilliantly “ When we break up big things into small pieces we invariably push the complexity to their interaction.”
  8. its just refactoring right? Read the blue book! very useful
  9. Publish events these interested systems can then publish more events or interactions interested application subscribe to these events one system would say oh an order was made one system would be ok let me try taking payment another system might say let me see if i have enough stock to fulfill it sounded like a nice structure to put in place
  10. Publish events these interested systems can then publish more events or interactions interested application subscribe to these events one system would say oh an order was made one system would be ok let me try taking payment another system might say let me see if i have enough stock to fulfill it sounded like a nice structure to put in place
  11. define a bounded context at first it wil be difficult because there will be 2 places where the data will be updated but slowly you will see that only the bounded context calls it own data We can get the read only models via http request or messages, we used messages
  12. once the code is separate try and only allow the data to be updated inside the context Unfortunately the monoliths still need access to the data because state was managed via the database This enables us to get the hardest thing out which is the shared database We can now move the data (tables) anywhere outside the shared database nothing in the monoliths writes or reads from those tables directly We define an interface,and the only way to access the data is through the interface, this helps us break away from the shared database it means i can change whatever i want internally and as long as the contract remains vaild we wil be ok
  13. We realised very quickly that messages are asynchronous and can arrive out of order we kept getting weird bugs that only happen in production because the messages appeared out of order and every time we fix a bug we have to explain to our stake holders why its hard to debug a raze hazard and almost impossible to predict we started seeing problems we never really had to think about Yep, the second you introduce distributed, you need to leverage infrastructure that addresses network latency, fault tolerance, message serialization, unreliable networks, asynchronicity, versioning, varying loads within the application tiers etc\ put pic in separate slide Solve race conditions by turning them into sequential conditions decoupling over code or data duplication What are the takeaways?
  14. When you have so many services, how can you run them in your local machine, you dont want to compile that many services and keeping all of them up to date and making sure everything works is a pain once you have over 20 services how do you run end to end tests? Monitoring? Hard to do functional tests between services Frustrating to deploy other teams services what we did was we pushed to an integration environment and you only test the service you care about locally
  15. Deploying so many services was a pain each service or groups of services were deployed differently, so consistency between teams did not exist so we used team city to deploy to one staging environments and that worked but now we could have used docker to deploy each service in a container so instead of having multiple vms or ec2 instances for each service (which can get expensive) we can deploy multiple docker containers explain briefly how docker works
  16. We needed to define the ownership of the service, this means both the code and the data related to it. Basically we always tried to ask what parts of the business maps to this code? The domain language in the code was different than the business domain language which lead to more confusion We basically spoke one language in the team, the domain experts spoke a different language and the code was yet another language, so the developers had to work as translators which caused even more overheard At first it was individuals that owned the services rather than teams Developing and deploying features that spanned multiple features required careful coordination Especially when breaking the contract, we learnt very quickly that you deploy the client or subscriber first then the publisher
  17. We had very strict reviews and in hindsight it felt like we were being very knitty picky, during one retro someone raised it as a frustration so tried a new idea called an experiments board where you try a new idea for a week, the very first idea was always accept prs. If it passes in CI then it should be merged, this quickly enabled the junior members of the team to fell empowered to make change It also made us rely more on tests, PR should not be used to stop outages happening
  18. While small microservices are certainly simpler to reason about, I worry that this pushes complexity into the interconnections between services, where it's less explicit and thus harder to figure out when it goes wrong. Refactoring becomes much harder when you have to do it across remote boundaries
  19. Is data complication a bad thing? Data duplication will happen but is that really an issue? Data integrity is really important to the business What your worried about is staleness and inconsistency
  20. Is data complication a bad thing? Data duplication will happen but is that really an issue? Data integrity is really important to the business What your worried about is staleness and inconsistency
  21. we didnt need unit tests, because if you need a unit test to describe what is happening in 100 lines of code and help you design it then you are in the wrong profession Most of the time our services ran fine only when they did break they broke for very obscure reasons like they couldnt hit the database, or couldnt find the endpoints it was subscribing to they would raise an alert and say excuse me i cant run. alerts would pop messages into our hipchat rooms or raise alarms and we would quickly go investigate that That basically became our concept of unit tests because essentially an alert . if a test continually running a unit tests would not have helped us fine that problem services would break because they received rubbish from somewhere else, they will raise an alert and say excuse me I cant run
  22. we didnt need unit tests, because if you need a unit test to describe what is happening in 100 lines of code and help you design it then you are in the wrong profession Most of the time our services ran fine only when they did break they broke for very obscure reasons like they couldnt hit the database, or couldnt find the endpoints it was subscribing to they would raise an alert and say excuse me i cant run. alerts would pop messages into our hipchat rooms or raise alarms and we would quickly go investigate that That basically became our concept of unit tests because essentially an alert . if a test continually running a unit tests would not have helped us fine that problem services would break because they received rubbish from somewhere else, they will raise an alert and say excuse me I cant run
  23. A side effect of all this is we got rid of our acceptance tests you would say you have a complex system you need acceptance tests, I would say its going to be very complex give up on that we found out that having business metrics like how many orders are we making per minute, how much money are we making, how many things did we sell today we decided that makes a brilliant acceptance test, first of all it isnt running once when you deploy its running all the time\ couple that with the alerts and you have a true blackbox test, that is the real acceptance test When metrics start going down we get suspicious, was it a recent deploy? maybe people dont want to eat takeaways anymore Business metrics are the true acceptance tests, you dont have to understand anything about the internals to measure the business, if your measuring the business that is a very robust test
  24. Another side effect means we dont care what language these services are written in, as long as they are able to communicate then you can write it in whatever language you want its a 100 lines of code, you can write it in C#, Ruby, Java, Node even Erlang. It doesnt matter if you decide to come later and look at a service you cant understand you can just rewrite it in a day or 2 in any language you prefer This got our developers excited because they can experiment and learn which increased motivation check gregs talk https://vimeo.com/108441214 Its very libral feeling when you concentrate on deleting code its a 2 day problem not a 12 month rewrite optomise for decoupling optomise for deletability
  25. Check out my blog post on building an asp.net vNext app on AWS EC2 instance at dotnetkicks.com
  26. Be careful by not implementing very tiny services because that becomes the nanoservice anti pattern you dont want to raise the overhead on running the actual service, running an ec2 instance for 10 lines of code is one hell of an overhead another consideration are the network hops, the more of them the more the overhead If service A calls Service B which calls Service C, there are performance issues “From what I have read on software systems, one lesson is to create services that do one thing, and one thing well, and communicate with each other” Under pressure, code is often changed in ways that increases complexity