What is Serverless, and will it replace servers?
Linux Academy Weekly Update episode

What is Serverless, and will it replace servers?

Serverless computing lets you build and run applications without thinking about servers. That doesn't mean your applications aren't running on servers, just that you don't have to manage them directly.

Why is this a big deal? Because usually, when you want to run an application from the cloud, you have to set up the infrastructure to support that application. Here's what that might look like:

  1. When you first log in to your cloud services provider console, you have to configure a Virtual Private Cloud (VPC), which requires networking knowledge.
  2. You have to launch the virtual servers, which means you need to:
  • Choose an OS (Linux / Windows)
  • Install software packages, configure the instance (firewall rules, etc)
  • Configure auto-scaling with load balancers (for cost efficiency and to handle load)
  • Set up a webserver to serve requests
  • Hook the webserver up into the rest of your infrastructure like a database, CDN, etc. 

3. Finally, you have to make sure all of that is secure, and let's face it, most people don't want to deal with security best practices

No alt text provided for this image

Serverless computing simplifies this process so you can focus on building your awesome application.

For example, AWS' serverless computing service called Lambda lets you upload a code package that contains one or more functions, and you can then configure those functions to execute when certain triggers happen. Here's a common use case:

  1. An image gets uploaded via your application by a user
  2. You want to process that image by compressing it, labeling it, and storing its info in a database

The trigger would be a user uploading the image, which would call that Lambda function, pass in the information it needs, and execute your code. The code would run until it finishes executing, and you only get charged for that time period that the code ran.

You could do the exact same thing by hosting the code on servers, but again you'd have to set up the infrastructure for it, and your servers would be constantly running instead of just when they are needed.

With that said, serverless definitely has its limitations, and there are still a lot of benefits to understanding how to manage the servers themselves. I've talked to enterprise customers and individuals who looked into using a service like AWS Lambda for all of their infrastructure, and they quickly realized that: 1) in some cases it would cost them a lot more, or 2) some use cases simply wouldn't work well with current serverless offerings.

So if you're a sysadmin, no need to freak out. Servers are going to be around for a loooooong time. If you're a developer with no interest in learning how to configure servers, you can rejoice because serverless will help you focus on simply writing code.

No alt text provided for this image

Either way, our training at Linux Academy has you covered.

To learn more about the use cases as well as pros/cons of serverless, check out our course called Serverless Concepts. This course is designed to give a high-level overview without getting too complex or specific.

We've also got a new learning path that takes you from learning concepts all the way to building a serverless chatbox using AWS Lex.

Want more quick articles about important cloud technologies? Follow me on LinkedIn.

要查看或添加评论,请登录

Christophe Limpalair的更多文章

社区洞察

其他会员也浏览了