Challenges for SMB to become Cloud-Native
Adobe Stock 255065360

Challenges for SMB to become Cloud-Native

Transforming your teams and company from a?traditional software-developing?business to a modern?Cloud-Native?one is nothing you do overnight. The way of working, thinking, and culture of all involved employees differs vastly from traditional types. With these differences come challenges, which?must be mastered to transform successfully.?

In this article, I want to clarify what I mean by becoming #cloudnative and adopting the #devops culture in the SMB sector.

"The Only Thing That Is Constant Is Change" - Heraclitus


A particular sort of resistance.

When we start to work with traditional teams, we often experience a particular form of resistance. It's not like anyone is blocking entirely; otherwise, we would not be there to help. I am talking about?resistance against transformation or change in general. I must admit I had that resistance myself in the past, and from time to time, I experienced it again. Nevertheless, it's part of human nature, so we must consider it and overcome it.

Developers know that evolution and revolution are inevitable, and we need to progress at some point. But on the other hand,?too many new topics, skills, and technologies simultaneously can quickly overwhelm?and cause severe problems in daily business and budget.

In these cases, it's important to start solving these resistance hurdles with the right motivation.?Understanding why a transformation is necessary?and what the outcome will be. Early on, the team members must become owners of this transition into something new. It should not be something forced onto one; it must be understood as the opportunity that it really is.


Take your time; it's not a sprint.

Next to the resistance, a big hurdle is the team's available time. Assembling a new Start-Up DevOps team from scratch is an entirely different story than transforming long-existing units, which are already bound to fully packed daily business routines.

A successful transition to DevOps and Cloud-Native can only happen over a?decent period. Otherwise, the team will be frustrated with many adverse side effects. So, as a?Tech Lead or Business Owner, you must grant this time or extend your teams. However, it's not wise to expect your developers fulfilling a complete change while doing daily business as usual.?

My personal experience with these types of transitions is a?timeframe of several months, around half a year. It depends on the current maturity and experience level and, of course, the circumstances like available time and budget.


Acquiring the skills

It's essential to understand things first, and then learn them from ground up.

After getting the mindset in place, we must build the proper foundation. In fact, there are many ways to transform a team or a company, but what worked in the past for companies we've worked with was the following.

Buzzwords DevOps and Cloud-Native are huge topics,?and I often use them because those are the actual goals for a transformation. As soon as your team "becomes" DevOps and Cloud-Native, it can already work in the most modern ways of web development.

The scope of skills and methodologies your teams need to adapt depends on what kind of software you create. So I will stick to mutual commonalities and explain with this simple example why it's essential to understand things first and then learn skills from the ground up.

  • Before you understand Docker Containers, you should?not?learn Orchestrations like Kubernetes.
  • Before you deploy Docker Containers, you should learn to create the necessary Docker Images fluently.
  • Before generating Docker Images, you must learn how to prepare your application to be containerized.
  • Before you can containerize your app, you must make sure you transform your app into a proper architecture suitable for this approach.

But...

  • You need to understand why you need Orchestration before you learn Docker.
  • You need to understand Docker and why you want to implement it before you start to learn it. Understand the key differences between Docker Images and Docker Containers first; otherwise, you will likely get stuck.
  • Before you start to create and prepare your app, you must understand why specific architectures will serve you best; and why existing structures in your legacy app might not be suitable for being containerized.

Let's have some different examples:

  • Before you deploy your apps to the cloud via an advanced method like Infrastructure-as-Code (IoC), you should familiarize yourself with available UIs and understand why you want to automate this process. Otherwise, you will run into problems you need help understanding. You aren't a machine; you are human.?Thus, Click-Ops is totally fine in the beginning.
  • Before deploying to the cloud via automation (CI/CD Pipelines), ensure your local computer's development environment is working as expected. Additionally, the test & build process, which is the foundation for production, must work on your local environment before you move into "production." Understand your environments, learn about the differences, and why you need them.
  • Before you start coding, you need to know the outcome. To create a cloud-native app, your app needs to fit natively into this pattern. Avoid larger structures and familiarize yourself with decoupled services, which can later be run as cloud functions or microservices. Pick the wrong type of architecture, and you will miss your goals, unable to deploy or mitigate performance problems later, and build up technical debt.

Of course, these examples are just a few things your teams need to understand and learn.?Nonetheless, the idea behind it should be clear. To acquire skills, you must first understand the problems and possible solutions. Learn the"Why?" before the "How?".?

Always think of the aspect that your time is limited and valuable. This isn't a hobby project, right? Keep in mind the consequences of making the wrong decisions for the employees and the business.

The idea behind it should be clear. To acquire skills, you must first understand the problems and possible solutions. Learn the"Why?" before the "How?".?


Conclusion and Take-Away

Removing hurdles by overcoming resistance is the first step. This results in the build-up of an adequate and positive mindset, which leads to a steady source of intrinsic motivation to understand and learn new skills. Spanning this over an entire team means cultivating a team culture of progression.

Combine this with enough time and budget, and you will succeed in your transformation.

Kristina Chaurova

Head of Business Transformation | Quema | Building scalable and secure IT infrastructures and allocating dedicated IT engineers from our team

2 年

Adrian, thanks for sharing!

回复

要查看或添加评论,请登录

Adrian Stanek的更多文章

社区洞察

其他会员也浏览了