The cloud is everywhere...
The cloud is everywhere and its broad usage is a fact. According to Indeed.com’s report1, between 2015 and 2019, the demand for cloud-related work increased by almost 55%. An estimated 83% of enterprises will be in the cloud by the end of 2020 with 41% running on public cloud platforms. Moreover, companies are on the lookout for a higher number of qualified specialists. LinkedIn’s 2020 Emerging Jobs2 indicates that positions such a Site Reliability Engineer, Full Stack Developer, Backend Developer, and Cloud Engineer have seen 27-35% of annual growth.
In the Cloud Success Barometer™3, Unisys surveyed 1045 IT Decision Makers and Senior Leaders from several countries (mostly from the US, Australia, Brazil, the UK, and Germany) and 90% of them confirmed to having moved to the cloud at least partially, the main reasons being fear of falling behind competitors, fear of missing new business opportunities, inability to attract and retain top talent, and, what I find most intriguing, fear of going out of business (58%).
...but it doesn’t deliver
The cloud was supposed to increase efficiency and reduce operating costs so that enterprises could focus on delivering new value for customers. However, 68% of surveyed IT Decision Makers and Senior Leaders admitted that their firms have noted no or slight increase in efficiency after cloud adoption and only 31% confirmed a great impact on their business.
Considering how much the companies invested in cloud migration and operation, these results are very thought-provoking.
In the meantime
Meanwhile, the world gets struck by a crisis; economies are affected and we are witnesses to global recession. Enterprises are cutting costs and, at the same time, establishing long-term strategies in order to seize new business opportunities in the future. Since it’s highly probable that infrastructure and salaries are significant positions in numerous companies’ IT budget spendings, business leaders might start questioning if that much money should be spent on maintenance rather than on delivering new value for customers, which would generate higher income.
The side effects of the crisis are well visible. Between March and April 2020, the number of postings in Software Development decreased by almost 26%4 and from March 11th, 234 American startups were closed, leaving more than 22 000 employees without a job5.
The companies which will make it through the crisis will start focusing on increasing their operational excellence and productivity, thus forcing the IT job market to change. It is important to note that the current global situation is not the cause of these changes, but rather a mere accelerator; they would come sooner or later. So how can organizations improve their operational excellence and why does it have such an impact on software engineers?
It is worth to mention that operational excellence6 is the execution of a business strategy in a way that a company can outrun its competitors income-wise through lower operating costs, lower operational risk, and creating greater value for customers. Another important term is Total Cost of Ownership7, which defines direct and indirect costs of a product or a system, the latter being time to develop a solution, cost of its implementation, maintenance, transformation or removal. With this knowledge, we are now ready to examine how we can enhance our operational excellence, especially if we already function in the cloud.
I have already mentioned that most enterprises have migrated to the cloud, so it is no longer a competitive advantage. Moreover, many firms remain unsatisfied with cloud migration results, so it is safe to assume that they are nowhere near achieving operational excellence. In order to understand the cloud’s potential to improve our work, we need to take a look at the computing models it offers.
And here comes Serverless. It allows us to quickly deliver new solutions to our clients, save a significant amount of our budget, and, what is crucial, redirect it from operation to innovation8. Such budget redirection is what every CIO/CTO aims at. Its desired effect is the creation of NoOps environment, where only small teams take care of the infrastructure so that the rest can focus on enhancing operational excellence, innovating, and generating new value for customers9.
From the very beginning, Serverless architecture offers high availability and possibility of automatic scaling, which are imperative for quickly developing organizations. With Serverless, we no longer need to invest time and effort to create high-maintenance and complicated solutions. The solution itself is fully managed by the cloud provider, so that we can forget the burden of adopting and maintaining numerous systems.
Moreover, Serverless is a pay-as-you-use system. It is highly important when adopting a new feature is anticipated to take weeks or months. In the classical model, we would be forced to cover our solution’s maintenance costs from the very first day, no matter if it would attract many or just a few users. With Serverless, we never pay in advance. When only 10 persons are using our solution, we only pay for their usage. Any further maintenance costs grow as the number of users grows. In this way, if our solution turns out to be unsuccessful and gains very few users, its maintenance costs will also remain low.
Technically speaking, Serverless users only have to care about business logic and delivering value for customers. As no server work is needed when developing and operating applications, it is highly reflected in the Total Cost of Ownership.
Total Cost of Ownership of Serverless
Deloitte analyzed10 the Total Cost of Ownership of 2 minor apps (banking and transport) and compared all costs for traditional cloud versus Serverless. For simplification, TCO included only 3 types of costs: infrastructure, development, and maintenance. Infrastructure costs include computing services, memory, and network services used to run apps; we can treat them as operational costs.
In both cases, implementing apps on EC2 turned out to be more cost-efficient infrastructure-wise. In order to learn their total cost of operation, we need to, however, compare the costs of development and maintenance as well.
The TCO’s second component, development cost, is a one-time initial cost assessed on the basis of time and effort required to pre-build an app. Serverless allows you to save 68% of time on average as compared to traditional cloud, thus saving hundreds of dollars monthly per app.
The TCO’s third component, maintenance cost, includes time and resources needed to support ongoing app operations. In Serverless, most of maintenance services are managed by the cloud’s service providers. Since our engineers no longer have to take care of them, they can focus on developing the product.
In short, despite Serverless’ higher infrastructure cost, the two organizations noted $2,000 of savings in the area of development and maintenance. Although It might seem like a small amount, the scale is crucial.
Serverless at scale - business view
In 2018, IDC issued the White Paper report11, in which 11 large companies (9 of which operate in the US) with an average number of 11,000 employees and an average annual income of 7 billion dollars spoke about Serverless.
The companies confirmed that adopting Serverless helped them optimize costs, reduce time-to-market, increase IT agility and flexibility as well as minimize issues with IT resources administration. In addition to that, they could spend more time on building application logic rather than on taking care of the infrastructure.
Thanks to Serverless, app developers’ productivity levels as well as the number of created applications have increased, whereas the number of new features developed has more than doubled. The development life cycle has decreased by 76%.
Unplanned outages have decreased by 71%, MTTR by 58%, and the time spent on IT infrastructure and application management have decreased respectively by 80% and 68%.
The most interesting figures, however, concern increased revenues. Thanks to Serverless, the additional revenue per organization equaled $20 million from better addressing business opportunities and $114,100 from reducing unplanned downtime. This proves how adequate architecture and technology strategy can impact business profit.
According to IDC’s predictions, Serverless will allow companies to decrease five-year cost of infrastructure by 53% and five-year cost of operations by 60%. What is more, the five-year ROI will equal up to 409% and the Serverless migration payback period will be 9 months.
It is no surprise that Serverless gains more and more popularity around the world. New Relic quotes12 the 2019 Forrester Global Business Technographics Developer Survey^13 (in which 3 294 respondents from Australia, Canada, China, France, India, the UK, and the US took part), which says that 49% of organizations are currently using or will commence using Serverless in the next 12 months.
One thing is certain - the world is changing and the current situation is merely an accelerator of these changes; changes that would eventually take place anyway. The IT sector will have to adapt to the new business reality and organizations will be forced to enhance their operational excellence in order to seize new business opportunities. As a result, they will start migrating to Serverless and its growing popularity will create a demand for Serverless specialists. Those who will be adequately prepared will have a chance at finding their niche. So how can one prepare? Find out in my next article, where we will try to define the role of a Serverless Engineer.