Serverless vs. FaaS: A Beginner’s Guide

Reading Time: 5 minutes

In this guide, we will compare Serverless Computing versus Function As A Service (FaaS). We will be discussing some of the similarities as well as some of the differences between the two options.

In the early 2000s, when building a web application or service, a full team was needed to develop, deploy, configure, and maintain the software. Many companies performed all of these tasks in house. The decisions they often faced included: 

  • Determining the development language to use
  • Deciding on the platform for the software
  • Identifying the timeline involved in the deployment
  • Configuring the scalability of the software
  • Determining the server type 
  • Selecting the server’s configurations
  • Deploying the server and correcting any conflicts

These were just a few of the factors that were involved in how the application was going to perform. As time went on, new companies grew to help alleviate many of these concerns. Still, other needs were not met and needed to be addressed to ensure a stable and robust application.

Service Platforms
Various Service Platforms

Over the last decade, Cloud Computing has emerged to help alleviate many of the previous issues seen in development, deployment, and maintaining applications. Because Cloud Servers are virtualized, they are created, managed, and disposed of in a more efficient manner. This also eliminated the need to wait for physical hardware to be deployed. Unfortunately, even if a traditional dedicated server is exchanged for a cloud server or a service like an AWS EC2 instance, the same tasks of server management and configuration still apply. 

This is where serverless computing comes in. Serverless is the next step in Cloud Computing. This means that servers are simply hidden from the picture. In serverless computing, this separation of server and application is managed by using a platform. The responsibility of the platform or serverless provider is to manage all the needs and configurations for your application. These platforms manage the configuration of your server behind the scenes. This is how in serverless computing, one is able to just focus on the application or code itself being built or deployed.

Consider Liquid Web’s Managed WordPress platform. When a WordPress application is deployed, instead of spinning up a server, downloading WordPress, or setting up a database, all you do is pick a name for your site, fill out a few other details such as the username and password for the application and hit the create button.  In the background, all of the services that are needed to run WordPress are installed automatically by the platform. Now that you have a working WordPress install that’s ready to go, there is no need to do anything else but start working within the application.

Serverless
Serverless:: https://lqwb.us/2muyY96

Microservices are a modern architecture for building and deploying a complex application using serverless computing. Most cloud platforms that practice serverless computing are focused more on the developer and development teams, but the focus with serverless architecture is on the application itself. 

Because we can run an entire web application on a serverless platform, we can have the core application, along with the database and any other needed services attached to our app, and all running on the same distributed environment. FaaS (functions as a service) take the abstraction of servers one step further. FaaS allows you the ability to deploy software much easier as it concentrates on the services themselves as opposed to the server platform. Unlike serverless computing, FaaS provides the ability to skip the worry of server setup and configuration. FaaS (Functions as a Service) also affords us the ability to forego the application installation and configuration as well!

If we start building an application, we still have to use some type of programming language as well as a suitable framework that goes with that language. For example, if we are building a front-end application using JavaScript and Angular JS or Vue JS as the framework to develop all of the components, with functions as a service, the concept here is to be able to write code without having to build out the foundation using a framework that would be part of an application. Since there is no cohesive application with a start or run point, any FaaS function must have a trigger. This trigger can be anything from saving a file to a job that runs every day.

faas1
FaaS

With FaaS, you concentrate on just a single function or piece of code that would run a larger application that would be triggered by an outside prompt. These functions need to be small and do one thing, like the microservices mentioned earlier. In a microservice methodology, every service is in charge or responsible for doing only one thing. The same is true for functions as a service; each function is in charge of a single task. 

A good example of a FaaS service is Amazon’s lambda. A simple use for a FaaS function may be resizing an image in your AWS S3 bucket. All that would be needed is set up a few permissions, identify a trigger, and write the code that resizes the image. If we didn’t use lambda’s FaaS functionality, a full application would be needed to complete this same task.

Now that we have discussed the technology a bit, let’s look at some advantages and disadvantages of each. Let’s start with serverless computing.

Advantages

  • There is no server configuration needed when deploying an application.
  • Most serverless computing services or systems are easy to scale. Thus they can offer more flexibility if an application needs to expand or contract.
  • Serverless is typically less costly than using a traditional server-based hosting method. This is due to the flexibility of the platform management behind the scenes.

Disadvantages

  • A disadvantage of using serverless computing is the loss of server control. When using this option, some providers will not allow access to the server or allow server specifications to be altered.
  • In some cases, serverless can be more expensive depending on the type and number of calls being made. The API pricing can be much higher if using the API gateway extensively.

Now let’s look at some advantages and disadvantages for FaaS (functions as a service).

Advantages

  • Efficiency: There is no need to write an entire application if you are looking to accomplish one small task.
  • Low Cost: In a FaaS system, the small piece of code only runs when it is triggered, so you only pay for what you use.
  • Speed: As demand increases, it is easier to build out and replicate a single function versus replicating an entire application. 
  • Scalability: Again as demand increases, it is easier to scale a single function as opposed to an entire app.

Disadvantages

  • The functions need to be small and only complete one task.
  • Managing a large number of functions can be tricky.

Synopsis

Let’s go over some scenarios when serverless computing would be a good choice to use instead of FaaS.

Say you need to deploy an extensive eCommerce application. It would be easier to build and deploy just one application that did all of the work of laying out products, managing the cart, and configuring the payment system. When you deploy a system as complex as this with so many moving parts, it becomes much more manageable to keep all the logic within a single deployable application.

In this case serverless would be the way to go. Even if your eCommerce store grows, the serverless computing service will scale your application to accommodate the need. Additionally, your application will always be running and ready to take on new orders. Other examples would be if you need to run a large blog or a mission-critical database. So any application that is complex in nature and large it’s best to choose this option.

https://lqwb.us/2lt3OhU

So when would it be a good choice to use a FaaS approach?

Functions as a service are good for data processing and real-time actions. Let’s say daily sales data is needed to help manage inventory. Every time a customer buys an item, it gets added to a database table. A FaaS function would be a good candidate to trigger a function within that database table, process the data of what was bought and either display it to a manager or even trigger another function to order more of that product. FaaS is a good choice for anything that requires real-time processing that can be packaged into a single code function.

Both serverless and FaaS are excellent cloud computing tools that can be used together or separately to fulfill the need for a given task or product.

More FaaS info coming soon and how it can benefit you!

Join Us!

Care to find out more about FaaS or Serverless computing?

Our Solutions and Support Teams are standing by with intimate knowledge of these and other web hosting technologies that can be utilized to improve your business processes especially those discussed in this article. If you would like to learn more about the information outlined above, give us a call today at 800.580.4985, or open a chat or ticket with us right now!

How Do I Setup W3 Total Cache In WordPress 2019?

Reading Time: 8 minutes

Do You Need W3TC?

The short answer is an overwhelming Yes!

W3 Total Cache is currently the best WordPress plugin for cache-based, performance optimization. W3 Total Cache improves the overall speed of your site by caching multiple elements on your pages which improves the overall responsiveness of your webserver.

What is Caching?

Caching is simply the storage of website data for later usage by your clients. Caching can be accomplished via multiple methods, with W3TC (W3 Total Cache) being one of the primary means to achieve this task. W3 Total Cache is rated as one of the best WordPress plugins for performance optimization on Virtual, Dedicated and Managed servers and, is used by millions of sites to increase their overall site performance. 

The W3TC plugin site itself lists multiple other benefits of this software as well, and I quote: 

Continue reading “How Do I Setup W3 Total Cache In WordPress 2019?”

Best Practices For Changing Your Email Marketing Provider

Reading Time: 3 minutesIf you are using one of our Managed application platforms like ManagedWooComerce or Managed WordPress, now may be an optimal time to look into switching your email provider to a different service.

managed email

MailChimp made a change earlier in the year to become more of a marketing platform, which was also accompanied by a pricing increase in their plans. Due to this change, we have reviewed several reliable options which may make choosing a replacement easier! We considered three other services which may be a better alternative; they are EmailOctopus, Moosend, and MailBuster. 

Continue reading “Best Practices For Changing Your Email Marketing Provider”

How To Delete Post Revisions using WP-CLI

Reading Time: 2 minutesThere may be times when you need to clean up post revisions created on your site. This is possible, using the commands already available in WP-CLI.

WP-CLI has a wp post delete command which can be used to delete post revisions. Post revisions are changes made to content on your site, over time those post revisions on your site can mount up. The following directions assume you are using one of Liquid Web’s Managed WordPress or Managed WooCommerce products. You can also use these techniques with other WordPress installations, just be sure to run the commands from the primary WordPress installation folder.

Preparing to Run Commands

One of the first steps will be to generate sFTP/SSH credentials from your site manager. You can use Terminal on the Mac, or Putty on a PC to use WP-CLI. For more information about logging into your server using SSH, see Logging into Your Server via Secure Shell (SSH).

Log in, then go to the WordPress installation folder by entering:

cd html

It is always a good idea to create a database backup before making significant changes to your site, like bulk deleting post revisions. To create a manual backup run this command:

wp db export

You can now use gzip to compress the resulting sql file which will mean a smaller file being stored on your server:

gzip sitebackup.sql

Cleaning Up Your Post Revisions

To delete post all revisions (moving them temporarily into the trash), use this WP-CLI command:

wp post delete $(wp post list --post_type='revision' --format=ids)

To delete the post revisions which have been moved to the trash (this includes all post revisions which have a post status of trash), run this command:

wp post delete $(wp post list --post_type='revision' --format=ids --force)

You can skip the first step of moving the posts to the trash by just running the second command. This will remove all post revisions, both those in the trash and those that are in the active portion of the site.

More Control Over Post Revisions Removal

If you need more control of deleting post revisions, there is a package which can be installed from a third-party for WP-CLI. Please note: This package is not provide by Liquid Web nor is it endorsed by Liquid Web. Please use at your own discretion.

To install the package for WP-CLI, run the following command:

wp package install trepmal/wp-revisions-cli

After the package WP Revisions has been installed, to clean all post revisions, you can use the following command. Please note: this command can be slow, since it will query post revisions before deleting them.

wp revisions clean -1

If you wanted to delete all post revisions before a specific date, you can include that in the command. For example:

wp revisions clean --before-date=2019-06-10

If you needed to clean all post revisions other than those for a specific post type, include that post type at the end of the command. For example, revisions for the WooCommerce created product post type would not be deleted if you run this command:

wp revisions clean --post_type=product

For a faster method to delete all post revisions, you can run this command:

wp revisions dump --hard

To list all existing post revisions, you can run this command:

wp revisions list

Easily deleting post revisions from your site database will help keep the database cleaned up. Streamlining the database can result in performance improvements, especially as the size of the database grows.

What are Common Commands to Update WordPress Using WP-CLI?

Reading Time: 2 minutesWP-CLI is a very handy set of commands. You can run anything that you would run in wp-admin on a WordPress site but from the command line. Useful commands which WP-CLI employs to keep WordPress core updated plugins including the default themes which come with WordPress.

Continue reading “What are Common Commands to Update WordPress Using WP-CLI?”

Managed WordPress – Frequently Asked Questions

Reading Time: 3 minutesWe have collected some of the most common questions that customers ask about our Managed WordPress Hosting platform and housed them in one place.

Continue reading “Managed WordPress – Frequently Asked Questions”

A Beginner’s Guide to Managed WordPress

Reading Time: 7 minutesThank you for choosing Managed WordPress at Liquid Web! We hope this guide will help you get started in making the most of your experience with the Managed WordPress Portal. There are some great features in the portal, and we’ve worked hard to make sure site maintenance is a cinch. Continue reading “A Beginner’s Guide to Managed WordPress”

Adding a Site in Your Managed WordPress Portal

Reading Time: < 1 minute

Note: The instructions in this tutorial are for the Managed WordPress Portal client, these instructions do not apply if you have a Liquid Web WordPress Server Optimized Template account.

Adding a site in Managed WordPress portal is an easy process that just takes a few steps. Whether you’re adding a site to get ready to migrate your site over to your dashboard or creating a site from scratch, the steps in this tutorial will walk you through how to add a new site to your dashboard.

  1. Log into your Managed WordPress portal.
  2. Click Create/Import New Site at the upper right-hand corner of the page. 
    Note:
    Managed WordPress plans have a maximum limit of sites allowed. You can see how many sites are left at the top of your portal home page. If you need to increase the number of sites, contact our Heroic Support team and they will be happy to help you.
  3. Enter the site nickname and your email address. 
    Note:
    The site nickname (short name) is a nickname to help you organize your sites from the home page of your Managed WordPress portal.
  4. If you are creating this site from a stencil you made of another site, use the drop-down menu to choose the stencil you want to build from. 
  5. Click on Create Site to start the creation process. 
  6. Your site will begin creating. 
  7. When it is complete, you will see the new site added to the list on your home page.