One of the first hurdles I faced while starting my FinOps journey was to become familiar with how IT works behind the scenes. I thought I had a decent understanding of technology, but as it turned out, I had no idea of how many components were needed to power Apps behind the scenes, let alone how these interlinked with each other. In Part 1 of these articles I said that there is only a handful of hardware components that you need to build your infrastructure: Compute, Storage, Network Interfaces and Databases (although this last one really is just another compute), and that it is in the software where all the possibilities open up and services start to being offered. So the question now is, why is this so important? How much software do I really need to achieve my goal? The answer is, a lot. Like, really, a lot lot. You see, in the past (and specially before the internet) we relied on our desktop computers to be able to handle all operations of a given application. If you remember...
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...