I’ve been planning to write this post for a while as I consider it one of the greatest insights not only in trying to live a better life but to grow as a professional in my career. It took me a while to adopt the philosophy of stoicism in conjunction with helping organizations in their journey in adopting the public cloud. In my case, Microsoft Azure.
Stoicism as a philosophy has many aspects that may guide you in living a life with virtue in accordance with nature. I believe this accordance should not get lost by technological advances over time as it may disconnect people from it. One aspect of the philosophy of stoicism is to live a good life by someone’s actions, not by someone’s words.
The main aspect of this post is to understand control. Living a stoic life means you can only bother yourself with things and actions within your control and not bother with those outside your control. A prime example of having no control over is the weather, so complaining about it may be a bit pointless.
So, how can someone’s control be channeled correctly when working with public cloud? It’s pretty simple. A good place to start is looking at the Shared Responsibility Model. See https://learn.microsoft.com/en-us/azure/security/fundamentals/shared-responsibility for Microsoft’s model and I will refer to Microsoft Azure for the sake of this post.
Other public providers like AWS or GCP use similar models as they are based on the definition defined by the National Institute of Standards and Technology (NIST) https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
I use it all the time to determine the level of control you want to keep and how much control will be delegated to the public cloud provider.
As the picture shows, running an on-premises infrastructure means you have full control over this infrastructure. This makes sense, it’s your hardware, your infrastructure, your applications, your data. So what happens when using IaaS, PaaS and/or SaaS services? Based on the service type, responsibility will be delegated to Microsoft as Microsoft will manage some layers of the technology stack.
Knowing that Microsoft will take over responsibility of some layers of the technology results into delegating control as well. Deciding to delegate control to Microsoft means you no longer need to bother yourself with this layers of the technology stack. I’ve had plenty of discussions in the past where some of my peers wanted to understand how Microsoft manages those layers of the technology stack. This is something I don’t understand as I have no control over it. It may be interesting though, but I don’t see the added value in really wanting to know this. Microsoft may provide some glimpses on specific services, they don’t publish anything on how they manage said service. A good example is the network layer as I have no control over the network cabling in an Microsoft datacenter. And why should I care as it is one of many of Microsoft’s datacenters, not mine?
This brings me to a challenge regarding cloud adoption: how much control is someone willing or able to delegate? If the answer is none at all, then the public cloud may be a no-go. Is that a bad thing? Not at all…
To summarize: Use the Shared Responsibility Model to your advantage when understanding how much control you want to delegate and not bother yourself with those layers of the technology stack anymore. Fortunately, there’s a no right or wrong approach in this so in no way I try to be judgmental.
I started this post with a picture of a marble bust of Marcus Aurelius Antoninus, the last of the ‘Five Good Emperors’. Marcus Aurelius’ writings called ‘Meditations’ has survived time and is considered a great source of understanding stoicism.
This is my last post for 2023. I look forward what 2024 will bring. Hope this helps!!!