Let’s face it, we’re living in a time of great anxiety, and this makes us reluctant to take on new risks. If you haven’t already migrated your development environment and deployment infrastructure to the cloud, then you might want to wait for calmer times. After all, there’s nothing scarier than moving into the unknown, and migrating to the cloud involves lots of unknowns, such as: Who owns your intellectual property and data? Are these platforms really secure? Will they scale to meet my needs? And, of course, what are the hidden costs of such a move?
While all these concerns are real, it’s worth considering that moving to the cloud is also scary in a completely different, and yet more positive, way. This is because the cloud can remove many of the restrictions and constraints that hold developers back, and migrating to the cloud will unleash their hidden potential, which might cause some concern but can also benefit your organization.
In this article, we look at why it’s scary to just let your developers into the cloud. We look at issues such as security, reliability, scalability, and cost; examine how the cloud makes it possible to overcome these challenges; and discuss why this fear might actually be a good thing.
Fear 1: Security
Due to a mixture of laziness and bad coding practices, developers are the root cause of many of today’s security exploits. From leaving hard-coded passwords in the source code and using insecure packages and libraries to potential cross-site scripting issues (to name just a few), many of these problems are exacerbated when insecure code is released into the wild by a developer’s carelessness. Therefore, the thought of letting a developer release insecure code into the wide-open “Wild West” of the cloud is enough to give anyone nightmares. If you really want to see how scary the cloud can be, enter your personal email address into Have I been pwned to see if any of your cloud accounts have been compromised.
The Cloud Is Still Your Best Bet
While all these concerns are valid, what should really scare you is the fact that by not moving to the cloud, you could be making your company even more vulnerable. First, when it comes to security, most cloud providers are able to provide much better security than all but the largest enterprises or governments. Due to their enormous size and economies of scale, they can afford to employ the best, most experienced personnel. And since a cloud provider is monitoring their infrastructure 24/7, they usually know when bad things are happening and can react quickly when disaster strikes. Similarly, cloud services are much better at patching their systems than any other type of user and will normally fix things before you are even aware of the issue.
When it comes to security, being scared is a good thing, and as good as your chosen cloud provider is, they can’t take care of everything for you. Ultimately, you will still need to be involved in ensuring your organization’s online security.
Furthermore, you should not rely on a service to provide total protection regarding new and unexpected threats. You need to stay informed about the latest exploits and build them into your security threat model. You should also understand the security services of your provider and take advantage of them. Additionally, it is important not to rely on the default settings of your chosen service and make sure that you can configure their security settings to meet your needs. You should also ensure that your setup is using safeguards, such as end-to-end encryption, and a secure HTTP (HTTPS).
Fear 2: Control
Developers can be equally reckless with your data as they can be with security. By migrating to the cloud, you could easily risk losing control of your intellectual property and data. For example, AWS hosts Netflix streaming yet also competes with Netflix via its own streaming service, Amazon Prime Video.
Moreover, if your cloud provider’s service goes down, there is nothing you can do, and this will potentially anger your customers who assume you’re responsible for managing their quality of service.
You Maintain Control
Conversely, there is a very strong case for arguing that the cloud actually gives you more control over your software and data. One massive advantage the cloud offers is that it gives you a highly redundant infrastructure that you could not build out on your own. This means that if the specific servers hosting your application go down, you can quickly relaunch your service. Not only will the outages be relatively short, you should be able to get back online with minimal data loss.
Additionally, all the big cloud providers have data centers located across the globe. So if you’re experiencing problems in one region, you can fail over to a data center in another region. Plus, if you’re serving an international audience, you can serve data from a data center that is much closer to your customers and thus reduce latency.
Don’t Get Complacent
Once again, the extra control that the cloud gives you does not mean that you should become complacent. First, you should manage system outages and downtime effectively. Luckily for you, most cloud providers make it easy to design services with high availability and disaster recovery in mind. As we mentioned earlier, you should take advantage of the geographic reach of these services for serving your customers and employees as efficiently as possible and for redundancy. Additionally, it’s worth considering using multiple providers to minimize potential downtime and data losses. After all, Apple’s iCloud service makes use of multiple vendors including Google and Amazon.
Fear 3: Cost
Since the developers you employ don’t pay the bills, they don’t care how much it costs to get things done. And the hidden costs of moving to the cloud may be scaring you, a lot. Like many relationships, the cloud seems to be great at the start, but things turn ugly over time. In the case of cloud services, it’s easy to get started with a provider’s free tier only to then start paying far more than expected as your needs increase over time. This is because your provider’s plans may have hidden costs that only become apparent when your application scales faster than you predicted.
The Real Worry
In reality, what you should truly be afraid of is the much higher cost of keeping all of your development infrastructure in-house. When it comes to cost, cloud services can offer a number of advantages over on-premises deployments. In some cases, especially for startups, contractors, or small companies, using cloud infrastructure can be cheaper than the alternatives. For off, all cloud providers have a free tier you can get started with. In addition, cloud services usually have no upfront costs and give you a number of alternatives, and their pricing will be based on a pay-as-you-go model. Of course, the truly scary thing here for many is that by moving to the cloud, you are actually making your developers much freer.
Conclusion: Nothing to Fear but Fear Itself
In this article, we’ve argued that letting your developers into the cloud can be scary because you will lose control over them, possibly leading to very problematic issues. These fears are understandable but unwarranted. What should really scare you is not what you stand to lose by migrating to the cloud, but how much you could potentially lose by doing everything yourself.
With the cloud, not only do you not have to worry about provisioning infrastructure, you don’t have to invest in spare capacity either. This means that you don’t need to invest in extra software and hardware nor the personnel needed to take care of them. If your app experiences a sudden spike in popularity, you can scale up and down to meet your needs. Furthermore, the major cloud providers have automated the scaling process and abstracted away most of the work. This means you can scale resources dynamically so that you don’t need to continually monitor site traffic and scale computing resources manually.
As we’ve seen, the cloud has many advantages over traditional methods of computing. Far from being less secure, more expensive, and out of your control, the cloud is better in all of these areas than you might expect. As with any third-party service, there is always a danger that you might become overly dependent on your chosen provider. On the other hand, if you pay attention to your vendor’s terms of service and examine their payment terms, you should be able to overcome these problems. In addition, you can design your applications to be as platform-agnostic as possible.
Finally, by taking advantage of virtualization, containers, and serverless frameworks, you’ll be able to migrate between different services and providers with peace of mind and ease.