Cloud Computing and Serverless explained
Get familiar with the technological concepts of the future
As I have mentioned in previous stories, cloud computing is growing at a rapid clip and if your company has not adopted it yet it is only a matter of time. Even if you are not in IT or programming it is a good idea to at least conceptually be familiar with what cloud computing is and why it matters to your organization.
Consider this scenario: You work in accounting and at the end of every quarter you need to generate reports to send out to other staff and leadership about the company’s fiscal results, and if you were able to meet your KPIs or not. However, you happen to work at a very large corporation that does millions, or even billions, of dollars in business every quarter. So there is a good chance that these reports you are going to be making are running over huge amounts of data. Does your personal computer support the ability to run that many records in a timely fashion? What if you need to look at multiple branches in your company and that involves thousands of GB in data?
You need the ability to meet computing workloads on demand in a timely, cost optimized fashion. That is where cloud computing comes into play, so lets take a high level overview of what it is and how it can serve you and your business.
From a 10,000 foot view (perfect reference for cloud computing, pardon my dad jokes), cloud computing is using computers and servers that are setup and maintained by a 3rd party provider, such as Amazon Web Services or Microsoft Azure. In essence, you don’t need to put a single thought into buying a physical server, setting it up, keeping it powered, keeping it cooled off while it is working, applying patches and updates, and many other things that come with maintaining actual physical hardware. Cloud computing empowers you to focus more on innovation and your business and less on maintaining physical servers.
With cloud computing, you only pay for what you use as well. So again, you do not have to pay a ton of money to buy physical servers, you can just provision some when you need them and you can even select certain specifications to meet specific workloads (higher throughput or IOPS, high storage/memory etc.). You can automatically release these servers to be used by another customer if you are done with them and don’t want to continue paying for them.
Another huge opportunity cloud computing gives you is the ability to enable your business to grow all over the world. If you suddenly start expanding into a new market that is on another continent, are you going to fly over there, find a data center to setup your servers and constantly do the maintenance I referenced above and more? After all you need some servers closer to your new customer base so they do not have latency issues and have a great experience when using your website and/or products. You likely don’t want to do that yourself, so you can just provision some servers in the cloud that are closer to that region and run your business through them.
Keep in mind as well that with the major players in cloud computing there are a ton of different services you can run, such as those for storage, computing, networking, databases, machine learning, data analytics and more. All you need to bring are your ideas, your code, and a little bit of hard work.
Now, here lies the concept of serverless so lets tie that together with cloud computing so you can start to understand how they work together. When I say serverless I do not mean all of your applications and websites are actually running without servers and just magically appearing on the internet. What that means is that your workloads can run on various servers instead of a single server or group of servers you are constantly using.
Say for example you have an up and coming product and your company’s CEO goes onto a popular podcast to talk about it. All of a sudden your website may be getting blown up with increased traffic from people hearing about it, and you need to make sure you can handle that traffic accordingly. If you have only the same server or set of servers you better pray that they can handle the incoming load, otherwise all the traffic could crash them and these new people coming to your site will have a poor experience and probably not come back.
With a serverless model, you can automate the process of adding more servers to handle this load, and then say after a few days or weeks when the traffic starts to die down you can get rid of them so you are not paying for them anymore. So it is “serverless” because you don’t have a specific dedicated server you are using and having to buy and maintain.
Hopefully that makes some sense and you at least now have an idea of what these terms mean so conceptually you know what is going on. It seems like serverless is a big buzz word being thrown around in the world of tech nowadays so it is nice to at least be familiar with what it is. If you do want to go more down the rabbit hole of cloud computing though it is a great career path that I would definitely recommend.
I wish you the best of luck in your business and endeavors, and always remember that an hour of learning a day over the course of 5 years will put you in the top 1% of everyone in your field.