INFORMAZIONI SU QUESTO EPISODIO
Episode 210
While at NDC Oslo, K Scott and Jon talked to Ian Cooper about Microservices and using the Brighter library for Command Dispatcher / Command Processor patterns.
Download / Listen: Herding Code 210: Ian Cooper on Microservices and the Brighter library
Show Notes:
- Why Microservices?
- (0:48) Ian explains that "micro" doesn't imply number of lines of code but "A bounded concept/business capability within your Domain" (put forth by Martin Fowler and James Lewis)
- (1:20) Ian talks about breaking the domain problem down further and further for simpler testing, better fault tolerance and incremental releases.
- (2:20) "If you can't QA everything you need to be able to monitor and respond to issues rapidly."
- (2:42) Scott Allen asks if Devops is a driver for Microservices rather than physical deployment or team size.
- (3:00) Ian talks about the scale limits of developers and teams and how component based architectures.
- Have we been here before?
- (4:00) Ian talks about how Microservices is the next generation of component-based architectures after DCOM, CORBA, SOA and the importance of understanding what worked, what didn't and why.
- (4:49) Asking a component for a cup of tea vs telling something how to make tea highlighting the difference between Microservices vs RPC. RPC was very coupled to behavior which lead to fragile APIs.
- Finding the "micro" sweet spot
- (5:50) Jon asks how you manage the complexity of orchestrating many smaller pieces.
- (6:15) Ian advises against going too small - Nanoservices - where the overhead of a service overshadows the utility value of it.
- (6:30) "It's really hard to get a feel in a new domain of where those points are that you can slice effectively" - one solution is to start exploring the domain in a traditional monolithic way and to break the parts apart at the seems to get the tradeoff right.
- Tooling and support
- (7:06) Jon asks what a good way to manage these services including profiling and monitoring.
- (7:20) Ian recommends some tools to help:
- (8:28) Scott Allen and Ian talk about how Microservices take forward SOA principles such as autonomous services, not sharing types and stable interfaces.
- (9:00) Scott Allen asks what options for communications between the services are and Ian compares HTTP, Sockets and message queues like RabbitMQ.
- Ian's Brighter .NET lightweight Microservices project
- (10:20) Basic two parts of Brighter are:
- Command Dispatcher/Processor - Maps a command to a processor with a pipeline where you can insert orthogonal operations like logging and monitoring
- Task Queue - Allows some commands will be handled asynchronously elsewhere
- Very simple for the developer - just write a command and a handler.
- Easy to embed in your existing Windows service if using something like Topshelf.
- Provides timeouts, retries and a circuit breaker inspired by Netflix's Hystrix in a declarative manner.
- (12:45) Scott Allen clarifies how easy it is to get two services talking to each other using this via RabbitMQ.
- (13:00) Ian talks about future support for Azure Service Bus and the possibility of producing one for Redis - RabbitMQ and Amazon SQS are already supported.
- (13:30) Scott Allen asks if this is used in production and Ian explains how Huddle started with using RX on the server and had difficulties managing subscriptions.
- (14:20) Brighter is on ThoughtWorks Technology Radar and evangelized by ex-Huddlers at their new roles.
- (14:40) Ian talks about the importance of good documentation and welcomes feedback on theirs.
- (15:10) Ian mentions they facilitate hexagonal architecture.
- Scott Allen asks if you can use in-process and Ian explains the subtleties
- (10:20) Basic two parts of Brighter are:
- Wrap-up
Show Links:
- Fowler & Lewis on Microservices
- New Relic for .NET documentation
- Decoupling from ASP.NET - Hexagonal Architecture with Ian Cooper at NDC 2014
- Chris Fidao on Hexagonal Architecture
These show notes were contributed by Damien Guard. Thanks!
Inglese
Stati Uniti
IN QUESTO EPISODIO
TRASCRIZIONE 🔗
Are you the producer of this podcast?
Add a podcast transcript
Need Audio-to-Text?
Transcribe with Listen411 in Just 60 Seconds
CERCA TRA GLI EPISODI PASSATI
Cerca gli episodi passati di Herding Code.
ALTRI EPISODI IN QUESTO PODCAST
Kevin, Jon and Rob talk to Ben Scheirman about developing user interfaces for the Apple platform with SwiftUI and Combine.
Ben screencasts at NSScreencast and is the creator of the Combine Swift course.
Download / Listen: Herding Code 244: Herding Code 244: Ben Scheirman on SwiftUI and Co…
Recently Jon switched to developing on macOS, and Rob’s been developing on Windows. It’s time for the Freaky Friday edition! The guys compare notes, what they like, what’s confusing, and what they’ve learned.
Download / Listen: Herding Code 241: The Freaky Friday macOS /…
Jon talks to Bruno Borges and Mark Heckler about Java development.
https://herdingcode.com/wp-content/uploads/HerdingCode-245-Catching-up-on-Java-dev-with-Bruno-Borges-and-Mark-Heckler.mp3
What? On video now?!?!
Download / Listen: Herding Code 245: Catching up on Java dev with Bruno B…
Kevin and Jon talk to Shawn Wildermuth about his new documentary film, Hello World. Shawn talks about how this film project began as a “love letter to software development,” exploring how amazing this career can be. As he delved into it he became more aware of the lack representation of…
Download / Listen: Herding Code 240: Phil Haack on Working from Home
https://herdingcode.com/wp-content/uploads/HerdingCode-0240-Phil-Haack.mp3
Jon, Kevin, and Rob talk to Phil Haack about working from home.
Links:
How To Work From Home
How to Lead From Home
Geographically Distrib…
Dichiarazione di non responsabilità: Il podcast e la grafica incorporati in questa pagina provengono da Herding Code, che è di proprietà del suo proprietario e non è affiliato o approvato da Listen Notes, Inc.
MODIFICA
Grazie, ci hai aiutato a mantenere aggiornato il database dei podcast.