شروع گند زدن در معماری مایکروسرویس ها وقتی است که اولویت مواردی همچون Docker API Getaway log elasticsearch redis CI CD و موارد مشابه حرف اول و آخر رو در تیم تولید میزنه؛ و خبری از Evolutionary architecture، BDD TDD و در یک کلام خود کد نیست.
#Microservices | tweet
#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
-Where and when should validation be carried out ❓
Vladimir Khorikov has addressed this issue in a series of articles on the CQRS
#Article | #CQRS
SOLD Principles of Object Oriented Design & Agile Design
Robert "Uncle Bob" Martin
#Talk | #OOP | #Agile_Design | 10 Sep 2014 - YALE School of Management
Robert "Uncle Bob" Martin
#Talk | #OOP | #Agile_Design | 10 Sep 2014 - YALE School of Management
YouTube
Bob Martin SOLID Principles of Object Oriented and Agile Design
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
"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
- 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
Ross Tuck
Returning From Command Buses
Let’s talk about not returning values from command bus and why it’s a thing (or not)
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
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
O’Reilly Media
Why local state is a fundamental primitive in stream processing
What do you get if you cross a distributed database with a stream processing system?
What's going on in the world of Docker Container?
Lifecycle of a Docker Container
#Docker | Image Source
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
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
12factor.net
The Twelve-Factor App
A methodology for building modern, scalable, maintainable software-as-a-service apps.
Žamak is an example of an Iranian woman which limitations of the past few decades did not stop
her.
Žamak works as a Technology Principal at ThoughtWorks.
Žamak Dehghani
#Womans_Day | #career
https://bit.ly/2C7YXbe
her.
Žamak works as a Technology Principal at ThoughtWorks.
Žamak Dehghani
#Womans_Day | #career
https://bit.ly/2C7YXbe
YouTube
Free to lead: Zhamak Dehghani, Technology Principal, ThoughtWorks
A young girl gets her first computer and discovers a portal to a new world. See how far it takes her and where she is today.
Learn more: http://www.thoughtworks.com/careers
ThoughtWorks challenges curious minds to make a real impact.
As a ThoughtWorker…
Learn more: http://www.thoughtworks.com/careers
ThoughtWorks challenges curious minds to make a real impact.
As a ThoughtWorker…
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
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
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
-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
gitmoji.dev
An emoji guide for your commit messages.
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
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
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
InfoQ
Architecture and Design InfoQ Trends Report - January 2019
An overview of how the InfoQ editorial team sees the “architecture and design” (A&D) topic evolving in 2019, which focuses on fundamental architectural patterns, framework usage, and design skills.
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
*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