The Cloud Can't Solve All Your Start-Up Problems
This blog was first published by TechCrunch on 8 December 2020
The way a team functions and communicates dictates the operational efficiency of a startup, and sets the scene for its culture. It’s way more important than what social events and perks are offered, so it’s the responsibility of a founder and/or CEO to provide their team with a technology approach that will empower them to achieve and succeed — now and in the future.
With that in mind, moving to the cloud might seem like a no-brainer because of its huge benefits around flexibility, accessibility and the potential to rapidly scale, while keeping budgets in check.
But there’s an important consideration here: Cloud providers won’t magically give you efficient teams.
Cloud will get you going in the right direction, but you need to think even further ahead. Designing a startup for scale means investing in the right technology today to underpin your growth for tomorrow and beyond. Let’s look at how you approach and manage your cloud infrastructure will impact the effectiveness of your teams and your ability to scale.
Hindsight is 20/20
Adopting cloud is easy, but adopting it properly with best practices and in a secure way? Not so much. You might think that when you move to cloud, the cloud providers will give you everything you need to succeed. But even though they’re there to provide a wide breadth of services, these services won’t necessarily have the depth that you will need to run efficiently and effectively.
Yes, your cloud infrastructure is working now, but think beyond the first prototype or alpha and towards production. Considering where you want to get to, and not just where you are, will help you avoid costly mistakes. And you definitely don’t want to struggle through re-defining processes and ways of working when you’re also managing time sensitivities and multiple teams.
If you don’t think ahead, you’ll have to put all new processes in. And it will take a whole lot longer, cost more money and cause a lot more disruption to teams than if you do it earlier.
For any founder, making strategic technology decisions right now should be a primary concern. It feels more natural to put off those decisions until you come face to face with the problem, but you’ll just end up needing to re-do everything as you scale, and cause your teams a world of hurt. If you don’t give this problem attention at the beginning, you’re just scaling the problems with the team. Flaws are then embedded within your infrastructure, and they’ll continue to scale with the teams. When these things are rushed, corners are cut and you will end up spending even more time and money on your infrastructure.
You want to build effective teams and reduce bottlenecks
When you’re making strategic decisions on how to approach your technology stack and cloud infrastructure, the biggest consideration should be what makes an effective team. Given that, keep these things top of mind:
- Speed of delivery: Having developers being able to self-serve cloud infrastructure with best practices built-in will enable speed. Development tools that factor in visibility and communication integrations for teams will give transparency on how they are iterating, problems, bugs or integration failures.
- Speed of testing: This is all about ensuring fast feedback loops as your team works on critical new iterations and features. Developers should be able to test as much as possible locally and through continuous integration systems before they are ready for code review.
- Troubleshooting problems: Good logging, monitoring and observability services, gives teams awareness of issues and the ability to resolve problems quickly or reproduce customer complaints in order to develop fixes.
- Reliable service: Using highly scalable, reliable technology like Kubernetes and cloud services will reduce operational risk and improve customer experience. Having reliable tools and software that supports developers and that itself is scalable and reliable will also improve the service quality and impact.
- Quality of service: Enabling developers to focus on the business logic and not infrastructure or cloud, will allow teams to produce a quality service to your end customers. Sitting on top of technologies that do the heavy lifting for teams, will enable this to be possible.
- Cost management: Making teams design for cost efficiency at the beginning will keep cloud costs manageable and low. Technologies that give teams insights on what the costs are and how much you’re using, will enable them to make changes quickly and bring costs down.
Smooth scaling is the key to success
Ultimately, your objective is to scale quickly and effortlessly, so that neither your team nor your customers experience bumps in the road. But, in reality, there are a multitude of potential issues that your start-up might eventually run into in different environments. If developers are spending more time on infrastructure issues over building features and deploying through to production, it will ultimately impact the release date or the overall quality of the service.
Your development teams need the time, and the tools, to figure out what’s broken (and fix it) as quickly as possible. They shouldn’t have to implement, design and configure a multitude of tools to meet their needs, your goal should be to provide them so that teams can focus on what matters and be as effective as they can be.
It’s also vital that teams keep an eye on their cloud costs. Ensuring that everyone is designing with costs in mind at the beginning is key. It is incredibly easy for costs to run away with teams due to the pay-as-you-go principles of cloud. Without the right oversight and team empowerment, it can be difficult and time consuming for teams to do post-mortems on what is causing such high costs and how to bring them down to sensible amounts.
Security is also paramount, especially if your business is planning to hold any customer or business data. Making sure that architectural and cloud best practices are understood and adopted across teams will allow you to sleep well, knowing that your services are as safe as they can be. Having these built into the workflows for teams, will enable teams and applications to scale quickly and seamlessly.
Don’t compromise quality for speed
Time is of the essence for all businesses, but particularly startups. You have so much ‘skin in the game’ and the second you achieve some momentum, it’s essential that you’re able to keep pace.
As technology evolves and your business grows, you need software to effortlessly grow and scale with it. Platforms are designed to allow users to easily iterate and develop applications by removing the burden from teams. A developer platform provides speed, security and scalability that would not be possible to achieve with building in-house at a reasonable cost.
When you build or manage cloud infrastructure for your application teams yourself, you might believe you’re bringing the best standard, but you’re really embracing a never-ending regime of ongoing management and maintenance.
Designing a startup for scale means investing in the right technology today to underpin your future growth. You have to keep an eye on what decisions could mean further down the road, and should take the time to analyse and evaluate the options for each decision, process and product you need. To take full advantage of cloud, you need to be able to automate the work that otherwise drains time, budget and resources.