Building a cloud infrastructure; 11 Mistakes CTOs make

aram.karapetyan • February 22, 2023

20 years in cloud architecture and I have collaborated with dozens of CTOs. They all are bright, intelligent professionals but like all of us they are not immune to certain mistakes when building a cloud infrastructure.

 

In this article, I have decided to share the 11 most common mistakes that CTOs make when building or migrating to cloud environments.

 

While you may find most of these cases too logical to fail at, poor planning, not choosing the right cloud provider, underestimating the value of CI/CD and the others pose significant risks for product teams.

1. Failing to plan properly the building of a cloud infrastructure

Like any other project, building a cloud infrastructure requires proper planning. And this is not a pure technical planning.

Cloud infrastructure plan should outline the goals, requirements, budget, timeline and of course the type of cloud environment that best suits your business needs.

There are several reasons why CTOs may fail at planning the cloud infrastructure building or migration but of course the most frequent one is the lack of expertise with clouds. They may not fully understand the complexities involved in cloud computing and the best practices required to optimize the infrastructure.

Why does this happen?

Sometimes one of the reasons why a CTO may fail at this task is poor communication with other stakeholders, not understanding or evaluating the real needs of the business and treating this task solely from the technical point of view.

Poor planning later leads to the following risks;

  1. Misaligned expectations from the technical team
  2. Inefficient resource utilization
  3. Security vulnerabilities
  4. Budget overspending
  5. Lack of scalability

2. Not choosing the right cloud infrastructure provider

When choosing a cloud provider, technical teams usually pay attention to certain factors like pricing, security, integration capabilities. What CTOs usually miss is the product specifications ending up with a cloud solution that is not innovative enough or capable enough to meet the business requirements.

Why does this happen?

This usually happens when CTOs compare famous cloud providers only paying attention to the advantages they are known for.

For example they may choose Azure for high security overlooking the fact that AWS has the most extensive range of cloud services, including compute, storage, database, networking, and developer tools.

This proves that having a well-designed plan when building a cloud platform is essential.

What factors to take into account when choosing a cloud infrastructure provider;

  1. The cloud provider should offer scalable infrastructure and services that can easily grow or shrink as per the organization’s needs, without any disruptions.
  2. High availability, with a minimum uptime of 99.9%, to ensure that critical applications and services are always available.
  3. Fast and reliable network with low latency, to ensure quick response times and efficient data transfer.
  4. No hidden costs, and cost-effective solutions
  5. Portability and interoperability with other cloud providers to provide multi-cloud solutions
  6. Responsive and knowledgeable customer support, with a range of support options
  7. Strong integration capabilities with the organization’s existing IT infrastructure, including compatibility with on-premises systems and tools.
  8. Last but not least, the cloud provider should continuously innovate and introduce new features and services to stay ahead of the competition and provide value to the organization.

3. Treating the cloud as an on-premise hosting service

The third mistake that CTOs make when building a cloud platform is failing to take advantage of cloud-specific services and treating it like an on-premise hosting service.

Unlike on-premise hosting services, clouds offer high scalability and cost-elimination and treating the cloud as an on-premise means missing the opportunity to automate and save resources.

For example, a company migrating their monolithic application to the cloud without modifications may experience performance issues and miss out on cloud-specific features.

To avoid this, the company can refactor the application to take advantage of cloud-native services, which would improve performance and reduce costs.

4. Underestimating the value of CI/CD

We all know people do not like change. But when it comes to development teams….

Some technical teams like to use manual processes for building, testing, and deploying new features especially in organizations with established development processes and long-standing habits but times have changed. This is not a mistake to make anymore.

CTOs do not take the CI/CD approach also because of prioritizing other initiatives like building new features or speeding up the next release. What they forget is that CI/CD automates many of the manual tasks involved in software development, freeing up developers’ time to focus on more important tasks. This can help teams be more efficient and productive and meet the release deadline.

5. Letting the team overengineer or building their own tools

Tools no one needs, complex software, infinite bugs… there is nothing good about overengineering, right?

Overengineering when building a cloud infrastructure can be a problem too, where the complexity and scale of cloud environments can lead to unnecessary features.

High-end technical teams like to build complex automation workflows, or overuse specialized cloud services. Overall, these lead to higher risks of errors and bugs and of course higher costs.

So, what to do? Just keep it simple!

To avoid overengineering in cloud infrastructure, it is important to focus on delivering infrastructure that is simple, efficient, and meets the needs of the end-users.

  1. Scale resources based on demand
  2. Use simple automation
  3. Use simple architecture
  4. Use standard cloud services

Not to overengineer, just think about end-users.

6. Using multiple solutions for the same problem

Imagine trying to bake a cake with five different ovens, each with different temperature and timer settings. Furthermore, if the ovens cannot communicate with each other or with other kitchen appliances, it would be challenging to coordinate the baking process and ensure that everything is done on time.

But what kind of a CTO bakes a cake anyway….

Tool sprawl is nothing else but inability to identify the right problem, the end-user need and choosing the right solution to the problem. Somitimes even FOMO leads to using multiple tool selection but what usually happens after mixing up a few solutions is the interoperability issue.

Just prioritize and spend more time on initial planning and no more burnt cakes.

7. Underestimating security updates of the software

Why would a CTO underestimate the security updates?

Focusing on functionalities or believing that their current security measures are adequate lead to one of the worst mistakes CTOs usually make-they underestimate security updates.

Implementing security updates can be time-consuming and may require temporarily shutting down systems or disrupting workflows but in reality security updates are critical for protecting systems and data from cyber threats.

Always prioritize updates, constantly monitor the system, train your team to do it and of course automate the process.

8. Packaging everything into a single machine

Packaging everything into a single machine can limit scalability and create a single point of failure. This is one of the most frequent cases we have when clients reach us to manage their cloud infrastructures.

At Das Meta we use load balancing to reduce response times as the load is distributed across multiple resources, containerization to isolate your application from the underlying infrastructure and build scalable infrastructures that are risk-free.

9. Not having good observability

Sometimes infrastructures grow so big and complex that it becomes almost impossible to manage the entire infrastructure, monitor logs and traces.

Good observability is crucial to effectively manage cloud infrastructure. This means having visibility into the entire infrastructure, including metrics, logs, and traces.

These are the first 3 essential steps to take for better observability

  1. Select a good monitoring or logging tool – Prometheus, Grafana, and ELK stack are popular.
  2. Set up alerts and notifications
  3. Continue improving observability

Or aks me about monitoring.

10. Underestimating secret rotation

Secret rotation involves changing sensitive information such as passwords and access keys on a regular basis. You need to be aware of the security risks associated with outdated secrets and ensure that they are rotated regularly.

11. Calculating costs considering history with conventional hosting providers

CTOs tend to calculate costs using their history with conventional hosting providers as a reference. Cloud infrastructure has unique costs and benefits that are different from conventional hosting providers.

Some cloud providers charge based on usage, while others offer reserved instances for a lower cost. Consider what type of usage pattern your application has and what kind of pricing model makes the most sense.

By avoiding these common mistakes, you can build a cloud infrastructure that meets your organization’s needs and maximizes the benefits of the cloud.

Here at Das Meta, we build cloud infrastructures in the shortest possible time avoiding all the mistakes I have mentioned above.

You need to build a cloud infrastructure, migrate to a cloud or something related?

Follow me on LinkedIn and let’s discuss your current challenge.

Photo by Ben Mack: https://www.pexels.com/photo/fragment-of-steel-arch-bridge-against-overcast-sky-5707601/

Share by: