I still remember how lost I felt during the first few months of starting my Cloud FinOps journey. I was learning about AWS and their plethora of services (which, by the way, it continues to expand). Understanding the basic pricing models - in most cases - was fine, but I quickly realised that that won’t cut it for me. There is only so much you can achieve by knowing that you can buy reservations and change storage tiers. To me, the real power of FinOps would derive from decisions that would directly affect how systems are built. But to get to that point, first I needed to understand what those components are and how they work together. And that’s what I will try to cover in this two-part post. First I will try to give a general overview of the basic components of a software (also known as the services that cloud providers offer), and from then build up to discussing Software Architecture (or how those components interact with each other). I don’t expect this to be a fully comprehensive...