So in this section of the course, we'll be looking at micro services and will actually be building
a single micro service that does just one thing.
And of course, that begs the question, what is a micro service?
Well, in simplest terms, it's a very small application that does one thing and does it well and it
doesn't care at all about the structure or architecture of the rest of the application.
So when you think about it really simply, it's very similar to the Unix approach where people who develop
software for Unix based systems typically build one thing that does one thing only and does it very,
very well.
And that's exactly what my core services are.
They're basically a variation on an approach known as the service oriented architecture.
So I'm looking right now at a really helpful page produced by IBM and there's actually an e-book you
can download here and there's a video you can watch, and it goes through the rationale for using micro
services.
And one of the things that does point out is that typically micro services are deployed as part of a
particular kind of dev ops infrastructure, usually Carbonetti or something like that, a container
management system where your particular service is deployed to one or more containers.
Now, we're obviously not going to build a Cubanos cluster in this course because that's far beyond
the scope of the kinds of things that we want to do.
But what we will do is build a single micro surface, one that generates an invoice every time a sale
takes place, it generates an invoice as a PDF and sends it off.
So let's get started.