Cloud technology has been on the rise for several years, but when Amazon launched their serverless platform “AWS Lambda” in 2014, they changed the tech world forever.
Since then, “serverless” computing has been growing in popularity, with others launching their own serverless platforms, including Azure Functions (Microsoft), Cloud Functions (Google), and OpenWhisk (IBM).
But what is serverless computing and what does it mean for the future of the IT world? More specifically, what does it mean for developers that might be using it in the future?
Although serverless technology is relatively new, it’s quickly becoming a staple for many businesses around the world, and it’s changing the way developers work and how businesses view the roles and responsibilities of their IT departments.
Here are a few things that you as developers and future tech leaders should know about serverless computing, and what it means for your career:
One: Serverless Computing Isn’t Really Serverless
Thoughtworks defines serverless tech as “an approach that replaces long-running virtual machines with ephemeral compute power that comes into existence on request and disappears immediately after use.”
Technically speaking, servers are still involved in the process, making the name a slight misnomer. The difference with serverless tech, however, is that servers aren’t always running applications the same way they are with traditional cloud computing.
Instead, applications alert the cloud server when an action that should be performed, the action is completed and the server then stops until another action is requested. This has several benefits over using traditional cloud servers.
For one, creating and initiating applications is much faster. Serverless Computing relies on containers and functions, tools that give developers a better execution environment to build, edit and maintain applications without having to make significant changes every time something goes wrong. This reduces the complexity of the applications that need to be managed.
Another benefit is that serverless costs less to operate, since applications are not running 24-7. It runs when requests are made, reducing the operational costs for companies and eliminating some the burden from third-party cloud providers to be “always on.”
With AWS Lambda, for instance, their serverless platform is responsible for ensuring that the application code is loaded, executed and that there are enough resources available to run it, all without your IT team or developers needing to do a single thing.
Two: Serverless Tech: It’s Effect On Australian Tech Companies
In our conversation with Dave McPherson, Tech Lead at Airtasker, on what serverless tech means to him, he said, “It means massive scale”. He mentioned he’d been using serverless tech to perform menial tasks that allow him to scale developer environments while keeping the overheads of developer operations low and streamlined.
Saurabh Bhatia, Ruby Engineer at Airtasker adds that serverless tech allows Airtasker to build ‘event driven’ pieces of code that are fully decoupled and can run out of their core system on the AWS Lambda Infrastructure. Working this way allows them to be more efficient and optimise their code base.
Mike Watkins at OFX says “Serverless tech gives us the ability to design and deliver applications using native cloud-hosted components, without getting distracted by the details of how these components are hosted. Traditionally we have devs creating apps, a dev-ops team thinking about how to run CI/CD and package/deliver apps, and an ops team focused on managing the hosting infrastructure. In the serverless model, we now have dev-ops and devs collaborating, with apps being designed with the infrastructure management included, so that they can be deployed instantly and repeatedly to the cloud autonomously by the devs.”
OFX recently migrated their infrastructure to AWS, so that is their preferred platform for using serverless tech. Being a tech company facilitating international money transfers, they use serverless tech for feeding exchange rate data into high volume websites that make such transfers feasible and efficient. This is reducing their operational costs as they’re not paying for the design or delivery of additional hosting infrastructure, and don’t have to pay for idle or unutilized servers anymore.
Michael Kelly’s perspective (DevOps Consultant At Versent) further supports the time and cost benefits associated with using Serverless tech. He mentioned, “Serverless technology means being freed from having to set up a lot of the complicated boilerplate code in order to provide business functionality.”
Versent uses serverless applications for compliance reporting and curation, providing infrastructure janitor services, and any tasks that are modular and short-lived. They do this because it results in code that is more easily maintainable for customers, modular and only running when there’s work to do. Michael says, “You get more value with less investment.”
Three: Serverless Gives Greater Flexibility for Businesses
Clearly, serverless tech cuts away all of configuration headaches associated with setting up hosting infrastructures, and lets you focus on the business logic that’s providing real value. This allows organizations to focus on higher-value and high level applications instead of worrying about configurations or issues with their core operating system.
This opens up the possibility of businesses using serverless tech for both single purpose services, like building a single application, or more robust platform building, such as launching a Software-as-a-Service (SaaS) or Platform-as-a-Service (PaaS) product.
Alternatively, organizations can outsource some of their IT needs to other SaaS or PaaS companies for cheaper than hiring an IT team in-house, freeing up energy and resources to focus on higher level applications or customer service needs.
If those SaaS companies also use serverless computing to host their applications and platforms, it can reduce costs for everyone involved, creating more opportunities to better serve customers on both ends.
Four: How You Can Learn More About Serverless Tech
In terms of how developers can upskill themselves in using serverless tech, Dave McPherson of Airtasker highlighted the importance of using personal networks and following developers with experience in this space on online forums.
Saurabh Bhatia, Ruby Engineer at Airtasker pointed us to some additional resources developers can use tobuild your capabilities in this space. He refers to the Lambda documentation by AWS, referring to projects like Moto and Emulambda to help with developing lambda code offline. He mentioned that this resource: Serverless Code has a lot of useful posts which helped him come to speed with in this space, in combination with a lot of StackOverflow questions and using DevOps Sydney’s slack channels.
Mike Watkins of OFX highlighted the importance of attending or even hosting meetups around serverless tech to immerse yourself in this space and learn as much as possible. Michael Kelly of Versent says he blogs about serverless tech at his blog, ashiny.cloud, and refers to Cloud Academy to learn about this space.
By incorporating serverless tech into the process, developers can rapidly build complex systems, spending more of their time focusing on solving core problems with the application instead of ensuring that the infrastructure is working.
Five: Tech Jobs May Become More Competitive
Because of the shift in responsibilities for developers thanks to serverless tech, Joe Emison, CTO of BuildFax, believes that businesses will also begin to shift roles and responsibilities in their IT departments, making jobs more competitive for developers.
“There’s still a need for on-premises developers ‘who control the end-user experience,” Emison says, but he adds that developers will take on more of a testing and refining role rather than that of a strict developer or programmer.
This means that developers, designers and others in the tech industry who understand the fundamentals of user-experience may be better candidates for IT jobs in the serverless world in than those that understand how to code complex infrastructures.
This may lead to higher levels of competition among developers looking for employment with higher end companies, especially those seeking jobs at Google, Amazon, Microsoft or similar organisations.
Six: Why You Should Prioritize App Building and UX
In an article for Wired, Gottfried Sehringer, VP of marketing for Mendix, has a similar philosophy as Emison, saying that the biggest demand for developers in the near future will be for those who know how to build custom software applications using serverless tech that can solve real-world problems.
“My advice? Don’t teach everyone how to code,” he says. “Teach them how to identify and understand needs, as well as how to visually express logic. Teach them how technology works, so they can understand the realm of possibility and then envision game-changing innovations.”
As serverless tech continues to grow in popularity and shape the corporate world, job seekers and developers should prioritize application building and user-experience – as well as familiarize themselves with the ins and outs serverless tech – if they really want to land top jobs over the next decade.
With serverless tech on the rise, companies are beginning to adapt the way they view IT, which affects the way developers approach application building as well as job hunting.
Developers and others in the tech field that want to work with bigger name companies like Amazon, Google and Microsoft (or even smaller companies that employ serverless computing) may need to adapt their competencies to UX and application building using serverless tech in order to stay ahead of the game.
For those who are dabbling in the tech world and understand code, but who don’t necessary want to build complex infrastructures, serverless tech may actually be an advantage, as serverless eases the backend development burden and enables other innovative skills and ideas to shine.