You know what? Buzzwords don’t compile and won’t deploy any code on behalf of your team. At the same time, buzzwords are fashionable at a particular time, or in a particular context, for a reason. Buzzwords address the need to impress the audience selling sparse working solutions for one-size-fits-all general solutions when not for true silver bullets.
Date: 8 – 9 November 2018, Bucharest
Training fee: €600/participant plus VAT, only 25 seats available
About the training
The 2-day workshop aims at pinpointing the challenges of building software systems in 2018. The vision presented is articulated in five points.
- Abstraction and Synthesis
- Cross-platform Implementation
- Distributed Architecture
- Inherent Scalability
Each of these points will receive a treatment in the first day of the workshop. It’s mostly an open discussion, driven by a bunch of slides, diagrams and direct experience. More in detail, here’s a drill-down of actual arguments.
|Abstraction and Synthesis||Collecting requirements. Exploding features into UX. Process of UX design. UX-to-DEV communication. Tools and actual deliverables. How the structure of the team can flourish or vanish agility. Brass-band communication of efforts and deliverables.|
|Cross-platform Implementation||.NET Core and Java. Hosting factors and costs. Highlights of ASP.NET Core. Web API: REST, RPC, security, design.|
|Distributed Architecture||Protocols: HTTP, gRPC, custom. Data transfer: JSON, MessagePack. Bus and queues. Bounded context and mapping. Anti-corruption patterns.|
|Inherent Scalability||Microsystems and microservices. Grass-roots microsystems (distinct systems connected together). Dealing with legacy applications. Principles of microservice design and the Gateway pattern. Data consistency and shared data. Testability.|
|Replaceability||Deployment and DevOps. Orchestration and fine-tuning. Role of Kubernetes.|
Microservices help to decompose the application in small autonomous services that can be developed and deployed independently. Sure, but this is only the tip of the iceberg. A microservices architecture also brings challenges in terms of orchestration, communication, scalability and, more than everything else, size. There are two ways to reach the level of microservices–from the bottom of independent solutions that altogether form a full system or from the top of a business domain broken into smaller and independent pieces, some of which are actually microsystems, namely graphs of microservices to a large extent invisible to the outside world.
In the second day of the workshop we’ll zoom into the implementation of a microservice and how it could be implementing a message-based business logic. In particular, we’ll look into an open-source framework—the MementoFX framework—that serves a double purpose. First, it can be a quick-and-easy replacement for CRUD systems bringing in a rather transparent way the benefits of CQRS and Event Sourcing. Second, it serves as a concrete demo of how to arrange a distributed application that implements features and functions delivering messages to a distinct and rather independent components.
Since 2003, Dino has been the voice of Microsoft Press to Web developers and the author of many popular books on ASP.NET and software architecture. Dino wrote “Architecting Applications for the Enterprise” with fellow MVP Andrea Saltarello and “Modern Web Development” and has “Programming ASP.NET Core” in the works for 2018. When not training, Dino serves as the Digital Strategist of BaxEnergy, a software firm in the energy market.
Browse more masterclasses here.