Why we love cloud-native...
Working in Cloud Native might not have been your first choice when asked what you wanted to be when you were older. We asked 5 of our engineers what they wanted to be as kids, when they were adults. None of them wanted to be behind a computer initially. However, Cloud brings so many opportunities, it's not that bad after all... is it?
Cloud-native? What does it mean? And how to make it a success?
Well, if we look at the official definition as coined by the Cloud Native Computing Foundation, we get the following:
Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
As you can read, it does not state you HAVE to run in a public cloud to be cloud-native. What it really means is that you have to take the best principles from cloud usage and apply them wherever you run. You could provide cloud-native services on an on-premise home-grown cloud solution. But still, why is it so important? It's simple really!
We have found that when companies adopt proper cloud-native techniques into their IT landscape, the workload, stress, and difficulty of maintaining big systems become easier, less stressful, and even fun! Eventually, you see it's never as easy as that. The keywords in the previous sentence were: "proper cloud-native technologies". It means making your applications scalable and adhering to most, if not all, of the 12 factors that make a good application. Alongside that, you then also need a proper infrastructure to host your applications that also itself needs to adhere to cloud-native best practices.
The CNCF Landscape
So once you get to the platform, your application needs to run on, and you need to decide what technologies you need to use, eventually you will come across the following CNCF landscape. If so far it didn't feel like a big mountain to climb, realize that each of those tiny, tiny images means a separate project that in some way has the potential to add value to your platform…
We get it! How do you start? How are you ever going to decide between two of those tiny images that basically do the same thing but are slightly different?
Have no fear! We at Fullstaq pride ourselves in making that huge mountain, that big seemingly unbeatable maze of options clear!
We have helped and continue to help organizations make their application and IT infrastructure easier to manage by picking the right solutions that match the customer's specific cloud-native implementation choice. Be that on-site, in a public cloud, or even in remote locations with Edge computing!
5 tips to survive the cloud!
I'm sure most people in the IT-industry have at some point now come in contact with cloud and the idea that moving everything there as is, is a perfect idea with no downsides whatsoever, right? Right?! Well, that's what some people want you to believe.
Let me be blunt here... The cloud does not solve any real problem for you. At all…
You see for every problem they solve, e.a. not having to buy hardware, you get a new problem back. You cannot actually touch the hardware you lease anymore.
I'd like to line out 5 tips to make your cloud journey easier/better/more fun/less stressful!
Tip 1: Be aware of the cost!
Let's begin with the best one out there! If you run ANYTHING in a cloud, it will cost money. East West traffic, North South traffic, and almost everything in a cloud is costly. That doesn't mean it's bad at all, but the fact that a lot of people do not realize that nearly everything costs money. What makes that some designs we run into are very costly when they can be much simpler and cheaper.
Tip 2: Automate all the things!
It is vital that when starting out implementing a cloud-native approach that you immediately automate literally everything you do in that cloud. Why?
Because I have run into many customers who ask us to help automate their environment. When I ask for their documentation about what they did manually, there never seems to be any. In other words, manual work will result in an unclear environment with possibly lots of floating resources that are costing money and are not maintained or managed!
Tip 3: OBSERVE IT ALL
One of the major challenges in these new cloud-native environments where everything is constantly changing and processes are moving from machine to machine, to best do their work is: observability!
How do you know your applications are okay? How do you know your platform is performing? How do you know if anything is working at all?
The answer is simple! Observability, but not in the old ways with Nagios monitoring. You need new tools and new ways of thinking about Observability (used to be monitoring and more) to properly be able to keep track of everything that is going on in your system!
Tip 4: Lock it down!
Cloud-native environments enable their users to have more control over what they run. We talked about the cost the consumers need to be aware of, we even talked about observability. But should everyone really be able to run anything anywhere? Maybe you need some guardrails to make sure storage buckets are not public, or databases are open to the internet. There are many resources in the cloud-native ecosystem where the default settings are definitely NOT secure!
Tip 5: Educate yourselves and your colleagues!
Realize one thing when starting to adopt cloud native: You do not know what you do not know!
The biggest problem when adopting cloud-native is simple. People assume all their current knowledge is usable as is in new environments. It is not! We should use the knowledge we have to be aware of all the things we need to figure out again!
Lifting and shifting all your infra to the cloud is not a solution to a problem. Educating yourselves on what cloud-native computing offers and the things that it can do will make you take another look at your current infrastructure. And come up with a better one!
Spread the love for cloud-native
We hope to have inspired you with all the fun & cool stuff revolving around cloud-native. So in conclusion, what is not to love about cloud-native? Spread the love for all the amazing technology and innovation with us today on Cloud-Native Day!
Cloud-Native buzz words
Kubernetes - K8s - Containers - Cloud - DevOps - Helm - GitLab - Open Source - AWS - Containers - Serverless - GitHub - Autoscaling - Azure - AKS - Automation - Agility - DevOps - Agile - Continuous Integration - Continuous Delivery - CI/CD - Data-Driven - IaC - Microservices - Orchestration - SRE - Private Cloud - Public Cloud - Software-defined - Fullstaq