If you want to deliver digital services of any kind, you’ll need to compute resources including CPU, memory, storage, and network connectivity. Which resources you choose for your delivery, cloud-based or local, is up to you. But you’ll definitely want to do your homework first.
Cloud computing has benefited many enterprises by reducing costs and enabling a focus on core business competence, rather than IT and infrastructure issues. Despite the general hype, there can be disadvantages to cloud computing, especially in smaller operations. In this post, we will explore some of the key disadvantages and share tips and best practices that your teams can employ to address them.
Disadvantages of Cloud Computing Explained
Downtime is often cited as one of the biggest disadvantages of cloud computing. Since cloud computing systems are internet-based, service outages are always an unfortunate possibility and can occur for any reason.
Can your business afford the impacts of an outage or slowdown? An outage on Amazon Web Services in 2017 cost publicly traded companies up to $150 million dollars and no organization is immune, especially when critical business processes cannot afford to be interrupted.
Best Practices for minimizing planned downtime in a cloud environment:
- Design services with high availability and disaster recovery in mind. Leverage the multi- availability zones provided by cloud vendors in your infrastructure.
- If your services have a low tolerance for failure, consider multi-region deployments with automated failover to ensure the best business continuity possible.
- Define and implement a disaster recovery plan in line with your business objectives that provide the lowest possible recovery time (RTO) and recovery point objectives (RPO).
- Consider implementing dedicated connectivity such as AWS Direct Connect, Azure ExpressRoute, or Google Cloud’s Dedicated Interconnect or Partner Interconnect. These services provide a dedicated network connection between you and the cloud service point of presence. This can reduce exposure to the risk of business interruption from the public internet.
2) Security and Privacy
Any discussion involving data must address security and privacy, especially when it comes to managing sensitive data. We must not forget what happened at Code Space and the hacking of their AWS EC2 console, which led to data deletion and the eventual shutdown of the company. Their dependence on remote cloud-based infrastructure meant taking on the risks of outsourcing everything.
Of course, any cloud service provider is expected to manage and safeguard the underlying hardware infrastructure of a deployment. However, your responsibilities lie in the realm of user access management, and it’s up to you to carefully weigh all the risk scenarios.
Though recent breaches of credit card data and user login credentials are still fresh in the minds of the public, steps have been taken to ensure the safety of data. One such example is the General Data Protection Rule (GDPR), recently enacted in the European Union to provide users more control over their data. Nonetheless, you still need to be aware of your responsibilities and follow best practices.
Best practices for minimizing security and privacy risks:
- Understand the shared responsibility model of your cloud provider.
- Implement security at every level of your deployment.
- Know who is supposed to have access to each resource and service and limit access to least privilege.
- Make sure your team’s skills are up to the task: Solid security skills for your cloud teams are one of the best ways to mitigate security and privacy concerns in the cloud.
- Take a risk-based approach to securing assets used in the cloud
Extend security to the device.
- Implement multi-factor authentication for all accounts accessing sensitive data or systems.
3) Vulnerability to Attack
In cloud computing, every component is online, which exposes potential vulnerabilities. Even the best teams suffer severe attacks and security breaches from time to time. Since cloud computing is built as a public service, it’s easy to run before you learn to walk. After all, no one at a cloud vendor checks your administration skills before granting you an account: all it takes to get started is generally a valid credit card.
Best practices to help you reduce cloud attacks:
- Make security a core aspect of all IT operations.
- Keep ALL your teams up to date with cloud security best practices.
- Ensure security policies and procedures are regularly checked and reviewed.
- Proactively classify information and apply access control.
- Use cloud services such as AWS Inspector, AWS CloudWatch, AWS CloudTrail, and AWS Config to automate compliance controls.
- Prevent data exfiltration.
- Integrate prevention and response strategies into security operations.
- Discover rogue projects with audits.
- Remove password access from accounts that do not need to log in to services.
- Review and rotate access keys and access credentials.
- Follow security blogs and announcements to be aware of known attacks.
- Apply security best practices for any open source software that you are using.
These practices will help your organization monitor for the exposure and movement of critical data, defend crucial systems from attack and compromise, and authenticate access to infrastructure and data to protect against further risks.
4) Limited control and flexibility
To varying degrees (depending on the particular service), cloud users may find they have less control over the function and execution of services within cloud-hosted infrastructure. A cloud provider’s end-user license agreement (EULA) and management policies might impose limits on what customers can do with their deployments. Customers retain control of their applications, data, and services, but may not have the same level of control over their backend infrastructure.
Best practices for maintaining control and flexibility:
- Consider using a cloud provider partner to help with implementing, running, and supporting cloud services.
- Understanding your responsibilities and the responsibilities of the cloud vendor in the shared responsibility model will reduce the chance of omission or error.
- Make time to understand your cloud service provider’s basic level of support. Will this service level meet your support requirements? Most cloud providers offer additional support tiers over and above the basic support for an additional cost.
- Make sure you understand the service level agreement (SLA) concerning the infrastructure and services that you’re going to use and how that will impact your agreements with your customers.
5) Vendor Lock-In
Vendor lock-in is another perceived disadvantage of cloud computing. Differences between vendor platforms may create difficulties in migrating from one cloud platform to another, which could equate to additional costs and configuration complexities. Gaps or compromises made during a migration could also expose your data to additional security and privacy vulnerabilities.
Best practices to decrease dependency:
- Design with cloud architecture best practices in mind. All cloud services provide the opportunity to improve availability and performance, decouple layers, and reduce performance bottlenecks. If you have built your services using cloud architecture best practices, you are less likely to have issues porting from one cloud platform to another.
- Properly understanding what your vendors are selling can help avoid lock-in challenges.
- Employing a multi-cloud strategy is another way to avoid vendor lock-in. While this may add both development and operational complexity to your deployments, it doesn’t have to be a deal breaker. Training can help prepare teams to architect and select best-fit services and technologies.
- Build in flexibility as a matter of strategy when designing applications to ensure portability now and in the future.
Adopting cloud solutions on a small scale and for short-term projects can be perceived as being expensive. Pay-as-you-go cloud services can provide more flexibility and lower hardware costs, however, the overall price tag could end up being higher than you expected. Until you are sure of what will work best for you, it’s a good idea to experiment with a variety of offerings. You might also make use of the cost calculators made available by providers like Amazon Web Services and Google Cloud Platform.
Best practices to reduce costs:
- Try not to over-provision, instead of looking into using auto-scaling services
- Scale DOWN as well as UP
- Pre-pay if you have a known minimum usage
- Stop your instances when they are not being used
- Create alerts to track cloud spending
Disadvantages of Cloud Computing: Closing Thoughts
Many organizations benefit from the agility, scale, and pay-per-use billing that cloud services offer. However, as with any infrastructure service, the suitability of cloud computing for your specific use case should be assessed in a risk-based evaluation. Build in time for research and planning to understand how the cloud will affect your business.