As some of you may have noticed, after some time spent at Vodafone Group, I recently took a position at Fujitsu EMEIA as a Senior Cloud Native Engineer.
Quite a few people asked to me “What the heck does Cloud-Native mean ?”, so I decided to spend some time giving my own view on that and also to try and explain why it means so much to me.
Now, let’s dissect the job title “Cloud-Native Engineer” (Senior is not that relevant), because I think every word counts here.
I am going to start with Engineer, a word near and dear to me. I got my B.Sc. and Masters in Engineering, so the engineering culture is something I grew up with and something I am extremely proud to represent. Engineer – according to my very personal definition of the term – is someone that applies the scientific method – whose foundations were laid by Aristotle and Galileo Galilei – to a given technology domain, be it defining innovative construction techniques or developing new AI/ML algorithms to classify aerial or satellite imagery.
What about Cloud though? I never liked buzzwords, so I must confess I am not always at ease when using the world Cloud unless I’m referring to something very specific.
Cloud – again, a very personal definition – is a methodology and a model to consume computing resources (in the broader sense) of various different types. The concept – originated in relation to the advent and success of Public Cloud services – is pretty broad and vague, but has some very basic, precise and clear foundations from my perspective.
- Programmatic resource consumption: I can consume services or resources (i.e. create a new DB, Container Cluster, *.*) by calling an API – if I want to.
- Pay-as-you-grow model: I don’t have to spend big Capex upfront. My spend will grow (with some exceptions) together with the growth of the business which the resources I consume are supporting.
- Scale-out architectures: when the requirements of a component grow beyond a certain threshold, instead of beefing up the existing resources I am consuming (adding RAM/disk/CPUs, etc) I just consume more disposable components, and – conversely – I get rid of them if I don’t need them anymore.
The adjective ‘native’ is often used to refer to as:
“A native ability or characteristic is one that a person or thing has naturally and is part of their basic character”
Being cloud-native means to me that the foundations of cloud-computing are so part of your DNA and your culture that you are willing to describe and define yourself with them.
What does a cloud-native engineer do?
The cloud-native engineer lives and breathes Cloud technologies, not just the popular ones, but as many of them as possible. If she wants to be able to pick the best tool for the job that’s the only way. She doesn’t like to have to pick between 3 vendors because they’re the only one she knows about, but rather because they are the best choice for what she has to do to satisfy the requirement at hand.
The cloud-native engineer starts from trying to understand requirements (as every other good engineer should do), but raises the bar. What if this has to scale 10x? What about 100x?
The cloud-native engineer designs for failure. Not just single-order failures (i.e. the DB goes down in one AZ), but something like: what if the AZ and something else goes down? How does everything survive?
The cloud-native engineer talks to everyone and tries to keep them honest. She tries to avoid buzzwords, and when she hears one too many, she asks details to tell impostors from real professionals.
The cloud-native engineer always thinks about the organisational impacts of technology choices (and vice-versa). Conway’s law is her mantra.
organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.— M. Conway
This new step in my “strange” career trajectory really deserves the “new” adjective. I am a Network Engineer by trade, but I always felt odd when someone tried to box me in a certain category or stick a label on me. I always loved and practised automation and coding so this change doesn’t feel unnatural at all.
Curiously enough Fujitsu’s “infinity” symbol looks very similar to a Cloud. And that’s a sign! 🙂
Proud to having started a new journey with one of the biggest global technology giants, whose shoulders my team and myself will stand on to build a successful cloud-native future for our customers.