Agile Software Architecture-Microservices
1.37K subscribers
178 photos
2 videos
33 files
402 links
I’m Masoud.
Hire me If you need help building autonomous teams and services, modelling complex domains using #DDD, #Microservices consultant or trainer, having a good culture of #TDD, #BDD and test automation

Masoud@MasodBahrami.ir
ID: @masodbahrami
Download Telegram
شروع گند زدن در معماری مایکروسرویس ها وقتی است که اولویت مواردی همچون Docker API Getaway log elasticsearch redis CI CD و موارد مشابه حرف اول و آخر رو در تیم تولید میزنه؛ و خبری از Evolutionary architecture، BDD TDD و در یک کلام خود کد نیست.


#Microservices | tweet
Contracts(Commands ) validation at CQRS has always been a question?

-Where and when should validation be carried out

Vladimir Khorikov has addressed this issue in a series of articles on the CQRS

#Article | #CQRS
Good design is about more than just customers

"Being able to design and build something does not mean that it works for the business. Many other success factor are required sustainable deliver a customer experience."

Crafting a great Customer Experience requires a designer to get out and embrace organizational complexities.

#Article | #UX | #UI
Returning any value from Bus is a context-based concern.

- Should we return any value or not?

- What type of data can and should be returned?

- Does it violates CQS or CQRS principles?

- Which factors affect the issue?

- How did you think?

In this article ,Ross Tuck shows his thoughts on Bus returning from the CQRS point of view.

Look at the differences of state(app state) and notifying data.

#Article | #CQRS | Bus
Evolution path of Eventing approaches(Event Modeling)

#event_thinking | #Event_Sourcing
In any Event Processing system, local states(state of Individual services/apps or software peace) are making Building Bloke.

But in distributed event processing and Event Streaming, depending on Remote storage to store states(permanently on temporarily) always not make sense.

In some circumstances we can and should store the state next to the jobs which process this events.

Storing state in local can has it’s pros and cons.

If you do Eventing in you software architecture, Read this great Article To obtain useful information and ideas on this topic.

#article | #Event_streaming | #event_sourcing
What's going on in the world of Docker Container?

Lifecycle of a Docker Container

#Docker | Image Source
Agile Software Architecture-Microservices
12factor.epub
The 12Factor is a methdology(read manifest) which collect a couple of good practices to design software-as-a-service.

This manifesto is developed with the participation of very experienced people in the development of many software

Contributors are trying to point out the major problems they have encountered:
-Our motivation is to raise awareness of some systemic problems we’ve seen in modern application development, to provide a shared vocabulary for discussing those problems, and to offer a set of broad conceptual solutions to those problems with accompanying terminology.

This document seeks to develop a software that has the following features:

⭕️Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
⭕️Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
⭕️Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
⭕️Minimize divergence between development and production, enabling continuous deployment for maximum agility;
⭕️And can scale up without significant changes to tooling, architecture, or development practices.

#12factor
If in a world of microservices with dozens of services, you have no automation in your‌ pipeline (especially test automation)
You are doomed to failure

#microservices | #test | tweet
When commenting on a git commit, what questions do we should answer?

This (https://bit.ly/2y8ZmWr ) issue comment on Linux Kernel repo by Linus Torvalds, creator of Linux and Git, contains very important notes.
Every commit message should at least:
-Has one line contains about 50 characters as a title, like as an email subject
-Has body which clearly describe what happens when this commit merged or pull by other teammates.
-Has a break line between title and body


We should provide answer to this questions:
1-What issue did we solved
2- How did we address the issue
3-Does this has any side effect, especially when commit contains many more files


And also it is better to assign an issue link or at least issue number to each commit.

https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html

#git | #code_review
An emoji guide for your commit messages 🚀 🤖

-Gitmoji is an initiative to standardize and explain the use of emojis on GitHub commit messages.

-Using emojis on commit messages provides an easy way of identifying the purpose or intention of a commit with only looking at the emojis used.

- https://gitmoji.carloscuesta.me

#git | #code_review
“One-Size-Fits-All” is a common mistake
Understanding Agile Values & Principles. An Examination of the Agile Manifest

Agile Manifesto is simple.

At first glance it seems mastering with agile practices is as simple as its manifesto.

Take a journey in an agile world without understanding the precise values ​​and principles of an agile manifesto can have painful consequences for any organization.

In this handy book, Scott Duncan “offers thoughts on what an understanding of the values and principles could mean to an organization. Each value and principle is explored, suggesting possible practices and considerations in implementing each one. This should make it easier to apply the values and principles when considering practice options and alternatives.”


https://bit.ly/2JJYl1Q

#agile | #book
InfoQ published its January 2019 Trends Report

As expected:
⭕️The need for “evolutionary architectures” is increasing day by day
⭕️Although there is a good knowledge on
Microservices characteristics, some Microservices related themes needs more time to reach the curve.
⭕️Unfortunately some important topics exist which never move along adoption stage such
CQRS, Actor model, Event Sourced
⭕️
Architect” role focused more on technical leadership, architectural pattern recognition and framework awareness
⭕️
Serverless” is potentially imprecise

https://bit.ly/2WuZtaX

#trend | #software_trend
Checkout Kent Beck tweet

*If there’s one lesson I would like the next generation of developers to learn:

It is to spend less time doing hard things and more time making hard things easy.

Customers benefit from the former.

Customers and peers and we ourselves benefit from the latter.*

#tweet