How is YOUR Cloud Native journey going?


Userlevel 7
Badge +6

Hey Kubernetes Korner, 

I have some questions, when I think of Cloud Native I think we have the learning journey and we have the businesses and roles that require that shift to Cloud Native. Where are you? 

 

These questions came to me as I was preparing for an upcoming webinar “Become a Cloud Native Expert” 

https://www.kasten.io/kubernetes/resources/webinars/become-a-cloud-native-expert

In the webinar I want to try and speak to the two questions above, I also want to self admit that I am not an expert in anything let alone Cloud Native. 

As this has been top of mind I wanted to write down some of my thinking and findings in a post here, hopefully you can then also attend the webinar and see where we get to. 

Cloud Native & Cloud Computing 

We see a lot where Cloud Computing can be disguised as Cloud Native when certain vendors or the community is talking, let’s be clear that running EC2 instances in AWS, ultimately Virtual Machines in the cloud is not cloud native! 

Let’s discuss the two in a little more detail and work out how they can and will compliment each other. 

Cloud computing -- often referred to simply as “the Cloud” -- is the on-demand delivery of infrastructure (hardware/servers), storage, databases and all kinds of application services via the internet.

Cloud Native is the architecture for assembling all of the above cloud-based components in a way that is optimized for the cloud environment.

Now you can hopefully see how migrating your VMware virtual machines to AWS EC2 instances is not going to be considered Cloud Native. 

That is not to say that Cloud Virtual Machines cannot be Cloud Native, they will most likely make up some of your Cloud Native architecture and environment. 

Identifying, provisioning and then deploying the just-right combination of services to best take advantage of this very new, rapidly evolving world amongst the clouds? It’s easy to get lost.

The summary though is optimising your architecture to take full advantage of the flexible infrastructure and managed services available from clouds like AWS, Azure, and Google.

Cloud Native: More Detail

Now that we have discussed a little the differences between the Cloud and Cloud Native, I want to discuss some of the main pillars behind Cloud Native. I am also going to share in the order in which I think things are more obtainable both from a learning and implementation point of view. 

There are four pillars that can be attached to Cloud Native, these are: 

 

I am not going into the detail on each of these topics but I should put a topic on each to give you that high level understanding. 

DevOps DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. We can also think of DevOps at an even higher level as automation. 

CI/CD = Continuous Integration: If you have been scratching the surface of DevOps, you’ll have most likely come across the terms Code > Build > Test. This process is the foundation of getting application code tested and ready to release to your audience.

Continuous Deployment/Delivery: Continuous Deployment/Delivery will enable you to update your application in an automated fashion. If the code passes its tests, use continuous deployment to push that code into the next environment be it, QA, staging, or production.

Microservices Microservices architectures make applications easier to scale and faster to develop, enabling innovation and accelerating time-to-market for new features.

Containers = A way to package Apps, fits the microservices architecture nicely, Nothing new but was made important again with the rise of Docker and Kubernetes. 

The benefits of implementing Cloud Native is going to give you the ability to quickly deliver your application but also features to your application which means your customers and end user benefit from Speed. It will give you the ability to dynamically scale your application to rise to demand. Both of these should provide you the ability to capitalise against the competition or increase margin

First Path: Learning Cloud Native 

You have probably all seen the CNCF landscape and thought, that is quite confusing! 

I want to also be clear here that Cloud Native is not just Kubernetes, there are so many more aspects to Cloud Native. In fact Kubernetes is just part of the Cloud Native puzzle. 

My personal learning journey here is about breaking down each of these sections and discovering some of these projects. 

You can find the landscape here - https://landscape.cncf.io/

My advice is to filter with just the graduated and incubating projects which will take you from that overwhelming 1000+ projects down to 54! (I have a project I am working on that goes into this in more detail, I will share more in another post) 

Second Path: How to bring this paradigm to the business?

The learning effort is always going to come first, at least I hope. But then comes the way in which you can navigate getting something into the realms of Cloud Native. 

You can easily see how enterprises are adopting a Cloud Native approach within their environments, but generally this is a build new vs a remodel of existing monolith applications. Let me tell you there is no easy button to re-architecting a monolith to cloud native. Have you ever seen it? Many have done this according to case studies. 

A resource to bridge that learning and actually getting the business behind a cloud native project would be Cloud Native Trail Map. https://github.com/cncf/trailmap 

First of all we have to consider the problems that cloud native can solve? The answer can be No! 

Cloud Native requires an investment in time and effort and that effort won’t pay off if neither speed , scale nor margin are your prime concern

I won’t go into more detail on these methodologies for starting with Cloud Native but the two I have been looking into is based on the Strangler Pattern and the Domain Driven Development. Maybe the post next week can get into more details around these two. 

The biggest question I am going to get both likely here and on the webinar is, but we are not a software development house, we buy our software off the shelf. This is fine and a lot of people are in this situation. All we are doing is raising awareness here of Cloud Native so that when those off the shelf software vendors release their software as a container image then you can adopt or bake that into a Cloud Native plan.

Things are still very early but it never hurts to have an awareness before things start to happen. 

I hope to see everyone for the webinar, and please ask questions it will help us all in the long run. 


9 comments

Userlevel 7
Badge +7

 '’I also want to self admit that I am not an expert in anything let alone Cloud Native. '’ MC being modest in here 😋

Userlevel 7
Badge +20

Still on the learning journey with some of the many technologies on that map.  Lots to learn, study and do to get there.

Userlevel 7
Badge +7

Still on the learning journey with some of the many technologies on that map.  Lots to learn, study and do to get there.

Same in here, @Chris.Childerhose !

Userlevel 7
Badge +22

The one thing that I have learned is that I can’t wing this. All of my previous linux experience only just “helped”. There is no avoiding the big “study”. Also I would recommend, if in the case of Kubernetes, to start with Vanilla Kubernetes and not go straight into a distro like rancher or Openshift. It is essential to learn the fundamentals first here, more so than in any other technology that I have studying before, in my opinion.

Every time I thing I have really learned something… boom.. I find another rabbit hole.

 

Cloud Native could be renamed “The Big Learn”

 

Userlevel 7
Badge +6

The one thing that I have learned is that I can’t wing this. All of my previous linux experience only just “helped”. There is no avoiding the big “study”. Also I would recommend, if in the case of Kubernetes, to start with Vanilla Kubernetes and not go straight into a distro like rancher or Openshift. It is essential to learn the fundamentals first here, more so than in any other technology that I have studying before, in my opinion.

Every time I thing I have really learned something… boom.. I find another rabbit hole.

 

Cloud Native could be renamed “The Big Learn”

 

I would say that before you even get to Kubernetes you have to hit the container learning hump first and get a really good grasp of that. The other thing is that Kubernetes is not the only answer when it comes to Cloud Native, I am seeing more and more Serverless applications popping up and people have in some ways bypassed Kubernetes completely, Serverless is Cloud Native though! 

One thing we can both agree on is that the learning will never stop and sometimes you might think how far off are we until this comes mainstream? Or will it even make it? 

 

 

Userlevel 7
Badge +22

The one thing that I have learned is that I can’t wing this. All of my previous linux experience only just “helped”. There is no avoiding the big “study”. Also I would recommend, if in the case of Kubernetes, to start with Vanilla Kubernetes and not go straight into a distro like rancher or Openshift. It is essential to learn the fundamentals first here, more so than in any other technology that I have studying before, in my opinion.

Every time I thing I have really learned something… boom.. I find another rabbit hole.

 

Cloud Native could be renamed “The Big Learn”

 

I would say that before you even get to Kubernetes you have to hit the container learning hump first and get a really good grasp of that. The other thing is that Kubernetes is not the only answer when it comes to Cloud Native, I am seeing more and more Serverless applications popping up and people have in some ways bypassed Kubernetes completely, Serverless is Cloud Native though! 

One thing we can both agree on is that the learning will never stop and sometimes you might think how far off are we until this comes mainstream? Or will it even make it? 

 

 

If business can make more money on it.. :) it will become mainstream. I think what we will see is more abstraction layers added on so that more people can at least do something with the technology. However, the deep guts will remain when high flexibility is needed. There is a huge market for SMB if someone can come out with distribution focuses on that level. Perhaps a type of Service Provider could then come in and help out when change is needed etc. 

Userlevel 6
Badge +3

Love this article! It will help clarify to a lot of people what Cloud Native really is!

Userlevel 7
Badge +22

Love this article! It will help clarify to a lot of people what Cloud Native really is!

I think the word “clarify” and “cloud native” kind of contradict one another :) . Just look at the CNCF Lanscape Michael put up :) 

But that is what I love about Cloud Native, reminds me of myself, a mad mosaic of bright happy icons that seen at a distance seem genius and confusing but when focused on closer up turn out to be made of many simple pieces :) 

Userlevel 7
Badge +9

The one thing that I have learned is that I can’t wing this. All of my previous linux experience only just “helped”. There is no avoiding the big “study”. Also I would recommend, if in the case of Kubernetes, to start with Vanilla Kubernetes and not go straight into a distro like rancher or Openshift. It is essential to learn the fundamentals first here, more so than in any other technology that I have studying before, in my opinion.

Every time I thing I have really learned something… boom.. I find another rabbit hole.

 

Cloud Native could be renamed “The Big Learn”

 

Na ja! I remember diving into Openshift due to a customer request! It was pretty straightforward but I left the job role and since then.. Not sure I know anything abt K8 -:) 

Comment