Deploying applications is easier than it used to be – thanks to cloud computing. IT professionals have a myriad of infrastructure choices including Virtual Machines, Containers and, most recently, Function-as-a-Service (FaaS) added to the list. FaaS capabilities further offload compute responsibilities to the service provider to better align with the needs of cloud-native, micro-services based applications. Shifting that responsibility allows developers to focus on what they’re primarily responsible for: writing code.
In recent years, we have started to see enterprises across industries make the switch to the edge. Forrester estimates the edge cloud service market will jump by 50 per cent in 2020. A centralised cloud architecture, for all its power and flexibility, can’t keep up with the real-time responsiveness demanded by today’s connected devices and many of the real-time applications. The edge computing model reduces the latency that arises when data travels significant distances between the user or the source of data and the compute resources (or application) in the data centre. With this shift to edge computing, we are seeing FaaS appear as another solution to help power new, time-sensitive enterprise applications.
What are the key benefits of FaaS for developers?
FaaS has entered the tech world and made developers’ lives much easier by alleviating many of the headaches that come along with micro-services based applications. With more enterprises continuing to integrate FaaS capabilities into both edge and cloud, we have seen the developer community benefit greatly. These benefits have included minimising the time spent on infrastructure management and the cost of running applications:
- Minimising Time Spent on Infrastructure Management: Without FaaS, developers deal with the many moving parts of infrastructure management. When enterprises integrate FaaS capabilities into their development pipelines, developers can author, publish and test their functions without the overhead of standing up Virtual Machines or Containers. Short-live functions such as user authentication and authorisation are ideal use cases for FaaS – as they are useful when trying to integrate multiple back-end authentication solutions. When developers are no longer maintaining the lengthy and intricate process of application management, they are able to devote more effort to writing the code behind functions.
- Saving Money to Run Applications: Virtual Machines and Containers are perfect for applications that require “always on” resources. However, modern, micro-services are monolithic architectures that are decomposed into tens of hundreds of smaller building blocks or functions, which are ephemeral or transitory in nature. In such instances, FaaS is a nice, cost-effective solution for these types of services. Additionally, FaaS is a consumption-based solution – customers only pay for the resources they use to run a given service, in turn saving significant dollars. By implementing the most cost-effective solution, developers can allocate more budget to expanding and advancing their infrastructure.
How edge brings FaaS to the next level
Edge computing offers a powerful solution for time-sensitive applications that demand sub-second response times. Providers are starting to augment traditional edge compute offerings with FaaS – giving application developers the best of both worlds. FaaS at the edge means functions can be highly distributed and hosted closest to the sources of application requests and responses. Organisations can dramatically improve application performance and infrastructure scale resulting in better user experiences.
- Providing Low Latency Data Processing: Integrating FaaS into the edge also offers low-latency data processing as compared to the same functions running in the cloud. Processing data at a single, centralised data centre means the data has a much farther distance of traveling before it reaches the end-user. Edge computing has a network of distributed data centres, which brings the data processing closer to the end-user, allowing for consistent lower latency. As today’s functions become more time-sensitive, it is important data is processed and analysed in real-time.
FaaS empowers developers and IT professionals to work together
The benefits of FaaS to enterprise efficiency are clear. However, at a higher level, these capabilities also enable greater collaboration and productivity between IT departments and their DevOps counterparts.
While their roles often overlap and complement each other, developers and IT professionals typically live in their own silos. The two teams rarely collaborate due to complexities that usually are involved with developers having to manage the backbone of company infrastructure. Edge computing options including FaaS are beginning to change this dynamic, enabling IT professionals to work in conjunction with developers to power innovation in smarter ways.
By simplifying the process of running applications, IT and developers can better test applications and streamline the communication of what’s working and what’s not. With FaaS now owning infrastructure overhead and management, IT professionals and developers can closely collaborate on generating applications with advanced capabilities that contribute to the greater success of their respective organisations. In the future, we are expected to see more collaboration between the two departments to push the envelope of innovation with the entire tech industry.
Neil Glazebrook, Senior Director of Product Management for Edge Compute and IoT, Limelight Networks