Browse Source

New chapter: make app composition stupid

master
Julio Biason 5 years ago
parent
commit
151f071a8d
  1. 1
      content/books/things-i-learnt/_index.md
  2. 30
      content/books/things-i-learnt/app-composition-stupid/index.md
  3. 2
      content/books/things-i-learnt/application-composition/index.md
  4. 2
      content/books/things-i-learnt/log-events/index.md

1
content/books/things-i-learnt/_index.md

@ -54,6 +54,7 @@ template = "section-contentless.html"
* [The Config File Is Friend](config-file)
* [Command Line Options Are Weird, But Helpful](command-line-options)
* [Not Just Function Composition, But Application Composition](application-composition)
* [Even for Application Composition, Start Stupid](app-composition-stupid)
* [Logs Are For Events, Not User Interface](log-events)
* [Learn To Monitor](monitoring)
* Community/Teams

30
content/books/things-i-learnt/app-composition-stupid/index.md

@ -0,0 +1,30 @@
+++
title = "Things I Learnt The Hard Way - Even for Application Composition, Start Stupid"
date = 2019-07-15
[taxonomies]
tags = ["en-au", "books", "things i learnt", "composition", "microservices"]
+++
Application composition may lead to microservices -- which is good -- but
microservices require some ideas about how applications "talk" between them
over the wire (protocols and such) which you don't need to start with.
<!-- more -->
Again, because you just want to simplify your work, you can make the
applications use files directly: Have your first application generate two
files and the second application receive the file names from [the command
line](/books/things-i-learnt/command-line-options). There, simple and stupid,
and works.
You can even make the first application, instead of generating a file, just
send its result on the standard output, and have the second application
receive the data from the standard input -- both of which are managed as
files, anyway. Then, with a bit of magic, you can put everything together
without wasting space.
Worry about talking over the wire later, when you understand how networks
work.
{{ chapters(prev_chapter_link="/books/things-i-learnt/application-composition", prev_chapter_title="Not Just Function Composition, But Application Composition", next_chapter_link="/books/things-i-learnt/log-events", next_chapter_title="Logs Are For Events, Not User Interface") }}

2
content/books/things-i-learnt/application-composition/index.md

@ -41,4 +41,4 @@ applications (why would you ask your user to have _two_ applications open at
the same time to make something work?) but you can extrapolate this for almost
everything else.
{{ chapters(prev_chapter_link="/books/things-i-learnt/command-line-options", prev_chapter_title="Command Line Options Are Weird, But Helpful", next_chapter_link="/books/things-i-learnt/log-events", next_chapter_title="Logs Are For Events, Not User Interface") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/command-line-options", prev_chapter_title="Command Line Options Are Weird, But Helpful", next_chapter_link="/books/things-i-learnt/app-composition-stupid", next_chapter_title="Even for Application Composition, Start Stupid") }}

2
content/books/things-i-learnt/log-events/index.md

@ -43,4 +43,4 @@ could have the values to try to figure out why it failed -- surely, logging
why it failed also helps, but you know what I mean. This is an example of
something that makes complete sense in logs, but not in user interfaces.
{{ chapters(prev_chapter_link="/books/things-i-learnt/application-composition", prev_chapter_title="Not Just Function Composition, But Application Composition", next_chapter_link="/books/things-i-learnt/monitoring", next_chapter_title=Learn To Monitor"") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/app-composition-stupid", prev_chapter_title="Even for Application Composition, Start Stupid", next_chapter_link="/books/things-i-learnt/monitoring", next_chapter_title=Learn To Monitor"") }}

Loading…
Cancel
Save