When looking at the name Serverless, it may seem obvious what Serverless is; the lack of a server for an application. The name is actually quite deceiving, as Serverless applications still require servers to perform their duties. Serverless actually refers to a collection of managed cloud services that help to run our applications including storage, databases, functions, back and forth data transfer and more. With serverless, a cloud provider like Amazon Web Services, Google Cloud or Microsoft Azure handle all the configuration, provisioning and management of the server instead of the developer. In simple terms, this means organizations adopting a serverless architecture will be saving a lot of time and money by removing the need to worry about setting up and managing servers.
The Platform Development Team (part of the multimedia group at Oregon State University Ecampus) builds and maintains a number of platforms that leverage Serverless. Web Platforms are pieces of software that facilitate the creation and consumption of content or activities at scale. By using Serverless, our team has experienced a huge decrease in time needed to develop and deploy new platforms and applications. Without the need for our team to configure and manage servers we can handle the setup of our backend for new applications more quickly and efficiently. Any support needed for a dedicated server has also completely disappeared, that is now all handled by the cloud provider. Another huge money saver for our team has been the lack of need for a dedicated server (a server dedicated to you, not shared with anyone else). In the past when using a dedicated server, you would have to pay for both the server, in addition to any resources dedicated to that server, these costs continue to occur even when the server is not in use. With Serverless, you simply pay for what you use, this means when our applications are not receiving requests we are not being charged. When a serverless architecture is performing jobs, the costs accrued are very small, each job costing less than a fraction of a penny. The combination of both an increase in our speed to produce new applications and the lower price tag of using Serverless to handle tasks has allowed our team to undoubtedly save on development costs and provide software to users in a timelier manner.
Apart from its cost benefits, there are also many other positives to using a serverless architecture. These include security, scalability and accessibility. Because the server is no longer managed by the developer, many of the security aspects for applications that a developer would have had to manage in the past are handled by the cloud provider. There are still many security concerns a developer has to consider and handle outside of what the cloud provider handles, but Serverless helps reduce the list of concerns for the developer. Scalability is also a huge plus. As an application gets more popular or starts receiving more requests, Serverless allows scaling to handle those requests. With a dedicated server you would need to manually increase resources. Often when increasing the resources for a dedicated server there will likely be a good portion of those resources going to waste (wasted resources means wasted money), especially as the application receives different levels of traffic at different times. With Serverless, there is no need to worry about wasting resources because it only uses what is needed and scales to the amount of traffic an application is receiving. One of the main goals of our team is to make everything that we develop fully accessible. Serverless helps to us achieve this goal by being offering the ability to deliver content from different regions all over the world, rather than being dependent on a delivering all content from dedicated server located in Oregon. This allows students to more easily access our content and at higher speeds.
Ecampus’ Platform Development Team has seen so many benefits from using the serverless architecture over a dedicated server that it is now used in almost everything that we do. Every single one of our platforms including NES (our platform designed to handle long form content), SLIDE (our platform designed to add interactivity to slideshows), VDL (our platform designed to add interactivity to videos) and the upcoming interactive labs platform all have fully adopted a serverless architecture, which has helped us in producing interactive content for Ecampus’ courses in lightning fast speeds. We can also now utilize the time we have saved to improve our platforms and the overall interactive content that is used in Ecampus’ courses. In summary, Serverless has not only saved our team time and money but also has allowed us to offer better learning experiences to students taking Ecampus’ courses.
Author – David Jansen