Decide between In-Process or Inter-Processes Communication at Deploy Time
This page is dedicated to my session at IT Camp Conference, the 2017 edition. You can navigate to the home page of my blog, here. Below you will find links to all the resources that I use and mention during my talk, including the slides, the code demo and the
This page is dedicated to my session at IT Camp Conference, the 2017 edition. You can navigate to the home page of my blog, here.
Below you will find links to all the resources that I use and mention during my talk, including the slides, the code demo and the recording.
Session Title:
Decide between In-Process or Inter-Processes Communication at Deploy Time
Session Abstract:
One of the challenges of designing distributed systems is to decide which of the services that compose the application are loaded in the same process and communicate directly and which should be deployed on different boxes and use inter-process communication. Sometimes, we cannot anticipate this at all and we’d want the flexibility to change it based on usage metrics collected while the system is running in production.
In this session we will learn, from real life projects experience, how we can achieve the flexibility of deciding only at deploy time, without changing the code, on which of our services communicate in same process and which use inter-process communication. We will achieve this using the iQuarc.AppBoot library, which is an abstraction over a Dependency Injection Container and provides support for modular applications.
Level:
400
Resources:
Slides: IT Camp SlideShare
Recording: vimeo
Demo: on GitHub
Demo building script: Markdown on GitHub HTML format
iQuarc.AppBoot: on GitHub
For any questions regarding my talk do not hesitate to contact me.
For more on this, and on similar topics about how to reach an efficient design and how to implement a solid software infrastructure that can sustain the complexity and size of large Enterprise Applications, you can check my Code Design Training.
Many thanks to my colleagues at and
for the support in creating this talk!
Drawing from our extensive project experience, we develop training programs that enhance predictability and reduce the cost of change in software projects.
We focus on building the habits that make developers adopt the industry best practices resulting in a flexible code design.
Services
Our Software Architecture and Project Design services combined, help organisations transition from staff augmentation, where they sell hours, to becoming solution providers, where they deliver project milestones.
Software Architecture
We support key architectural decisions, from System Decomposition to Detailed Technical Design.
Our work involves identifying critical system behaviors, core technical requirements, and providing tailored solutions.
We assume the responsibilities and decisions of the architect role, acting as the design lead, technology lead, and process lead.
Project Design
We apply an effective engineering method to create an actionable project execution plan.
The plan outlines the schedule of activities, allocates resources, and makes strategic trade-offs to meet project goals within constraints, balancing schedule, cost, and risk.
The process provides charts and tools to track progress and adapt the plan during execution.
Coaching and Mentoring
We help architects, managers, and developers build the skills needed to achieve their goals with ongoing support.
We are available to your team while they work, providing access to our extensive project experience. We engage directly with the project, becoming familiar with its specific requirements and constraints.
Our goal is to build skills within your team, enabling them to achieve their goals independently rather than relying on us.
We lead in design, technology, and process, empowering projects and organizations to achieve their goals. We collaborate closely with client architects, product managers, and project managers, providing coaching and mentorship to help them succeed.
About
Code Design focuses exclusively on the design phase of software development, striving to restore a strong emphasis on robust software design within the industry. Our goal is to enable our customers to achieve predictability in software development projects.
Over the past decade, Florin has led the design and implementation of complex software systems across industries such as Energy, Finance, Healthcare, Business Productivity Tools, and Insurance. These projects involved distributed systems built for long-term, incremental development, overcoming common challenges to ensure success: on time, within budget, and on quality.
Florin’s experience often includes coaching and training the developers implementing his designs, further enriching the training materials he provides.
At Code Design, Florin collaborates with a team of like-minded professionals and experts, many of whom he has previously worked with, to deliver comprehensive, high-level services in software development.