Cloud, benefits of using it
How cloud computing can help you to speed up software development.In my previous article, I explored the origins of cloud computing, its potential applications and future. I ended it by saying:
“The Cloud industry is here to stay, and not only that, it will increase significantly in the upcoming years”. Cloud Computing
This one aims to understand the benefits of a cloud-first approach. Of course, if you're not careful, there are cons. But let’s focus on the pros for now.
Benefits
I want to start with the six advantages of cloud computing from AWS:
Benefit | Explanation |
---|---|
Trade Fixed Expense for Variable Expense | Pay for what you use, not for idle servers. |
Benefit from Massive Economies of Scale | Lower costs due to large-scale shared usage. |
Stop Guessing Capacity | Scale up or down based on need, no guessing required. |
Increase Speed and Agility | Get IT resources quickly, boosting business agility. |
Stop Spending Money Running and Maintaining Data Centers | Focus on your business, not infrastructure. |
Go Global in Minutes | Deploy worldwide easily for a better customer experience. |
I asked ChatGPT for more benefits:
Benefit | Explanation |
---|---|
Enhanced Security | Centralized data and advanced security protocols improve data safety. |
Disaster Recovery | Cloud systems facilitate easier data backup and recovery. |
Automatic Software Updates | No need for manual updates, the cloud provider manages it. |
Work from Anywhere | Access data from anywhere with an internet connection. |
Environmentally Friendly | Reduced physical servers lead to lower carbon footprints. |
These reasons are a good starting point on how we can leverage the cloud, but let’s break it down a little bit.
Software Developers
I started developing software a long time ago. When I was in university, writing my first line of code and testing it in a real environment was complicated. Before starting to code your assignment, you had to spend a lot of time installing and configuring different things. It was a traumatic experience because I lost time and focus from the actual goal. I wanted to complete my assignment and learn to be a better programmer, but sometimes hours of complex configurations were necessary. Don’t get me wrong, I learned a lot, and you felt like a hacker typing all those fancy commands.
Most cloud providers offer free tiers on their popular products, and that is just the beginning. Because money is not a limitation anymore. You don’t need a computer with a lot of RAM and a powerful CPU. You can rely on Cloud to test your app, and that’s extremely important because you are trying it in a final environment.
Another point is that collaboration is easier than ever.
Last but not least, the number of services cloud providers offer increases every day. At the moment of writing this, Azure and AWS offer over 200 services and are up to date with new trends and needs. For example, a few years ago, they added blockchain services on the rise of Web3. Now, in the middle of the AI revolution, they’re adding pre-trained models and ready-to-use tools that reduce entry-level knowledge even more.
Summary
- Cloud computing reduces the need for complex configurations, allowing for faster and easier project start-up
- Free tiers of services from most cloud providers facilitate affordable experimentation and development
- Collaboration is more straightforward with cloud computing
- Cloud providers continually increase their range of services and stay current with technological trends
Small and Medium Companies
I remember the first time I learned about a version control system in 2012 while I worked on a native iOS app with another person. We both needed a better way to synchronize our changes, and we started investigating SVN.
So, we took an existing server, created a new user and space, and started installing all the necessary software. We had physical access to the server, so it was a mixture of remote access through SSH and just sitting in front of that old computer and typing on that IBM keyboard. It was exhausting. I can’t tell how long it took us to set up everything, probably around a week.
Not so long after that, I started to investigate better ways of doing this, and I ended up learning about Git and setting up a remote repository in Github. That process wasn’t more straightforward either, but once we finished the migration, we gained a lot of things out of the box:
- Forget about managing infrastructure
- A friendly UI to interact with the repository
- A few features, we were not expecting, for managing users and permission
- A continuous improvement and support of the software and infrastructure
Both approaches were completely valid, and we worked with our custom solution for a while.
We spent more time on PR reviews and teaching new members the insights of the code.
Since then, I had similar experiences in different areas, from task management to the deployment of Rest APIs or even serving static assets. We started with custom-managed solutions that required time in setting up backups, updating versions, and making security evaluations. In every scenario, we ended up switching to a third-party service.
Summary
- Cloud services are available pay-as-you-go, so small companies can avoid significant upfront capital on hardware and software
- Cloud services often include data backup, disaster recovery, and data replication services which help ensure business continuity
- The cloud resources can be scaled up without significant delays or high costs associated with physical infrastructure expansion
Large Companies
As I usually say, humans tend to forget history, and in March of 2020, the universe reminded us that we are incredibly fragile and pandemics can happen (like the Spanish flu in 1918 and HIV/AIDS in the 1980s).
But how is the covid pandemic related to the Cloud in large companies? This was a time when many were sitting at home with access to the internet. Most companies wanted to continue operating; educational centers tried to keep running their program. On top of that, people were interested in online groceries or watching shows and movies doing video calls.
I wasn’t working in companies such as Netflix, Spotify, or Amazon, so I can’t tell how the employed lived this period, but suddenly all of them ended up having a spike in active users and consequently in resource usage.
But the exciting part of the story was that they could continue operating and providing services to more people without worrying about provisioning more servers.
Summary
- Cloud services horizontally scale in case of a usage spike. You will end up with a bigger bill
- Cloud providers have data centers across the globe which help balance traffic and scale sustainably
- Cloud service providers invest heavily in security measures, providing data security that would be expensive for individual companies to maintain independently
Public sector
Cloud benefits are not only for companies and individuals. The public sector can rely on the power of the cloud to increase availability and respond to usage spikes.
Many circumstances can create a spike in usage. For example, most countries have a period for doing taxes, so those websites and servers will have more traffic during that period. Another common situations is that most offices and agencies operate Monday to Friday in a 9 to 5 pattern, but nobody is consuming resources the rest of the day.
Police and military can leverage the power of the cloud. They can have real-time access to data over the internet, operating in any circumstances while keeping their efficiency and security standards.
Summary
- Cloud services can be easily scaled up or down to match demand, ensuring they pay only for what they use
- Cloud services guarantee through availability in different circumstances
- Many cloud service providers have extensive compliance certifications, which can help them meet their legal and regulatory obligations more easily
Conclusions
In our life, there are many circumstances where we outsource the work. We could have our crops and grow our food, but the amount of time and money required to operate that will keep us out of other activities. And what about energy? A modern setup with solar panels and batteries requires external companies to manufacture them and make the proper installations.
Sometimes, there’s a natural tendency to think that doing it yourself is better because you learn new stuff and can save money, but is that true? You replace time for money, but time is the most precious asset in life. And we should be wise in what we spend it. Can you better deploy and manage infrastructure than companies like Azure or AWS? They have an army of specialized developers in different disciplines...
In a few years, with the rise of edge locations and satellite internet, more and more services will move to the cloud. Increasing demand will lead to more competition and better and more affordable services.
REMEMBER