Cloud computing has had an enormous impact on software development and deployment in recent years. Initially emerging as a way of avoiding expensive hardware infrastructures, especially in situations demanding massive computations (e.g. for scientific applications) the idea soon became pervasive in the IT market as well. A Cloud service makes it possible for users to delegate – wholly or in part – matters of infrastructure, basic software, or a specific application within an IT infrastructure. The primary outcome of this shift is that software consumers often do not manage anything other than the functionalities of the deployed application.
When talking about a Web application served on the Cloud, one speaks, broadly, of SaaS (Software as a Service). If the operating system – or at least, the software environment in which an application can be deployed – is served on the Cloud, the term is PaaS (Platform as a Service). If an entire IT infrastructure is deployed and managed on the Cloud, IaaS (Infrastructure as a Service) is the subject under discussion.
SaaS and Cloud-Native solutions: the benefits
SaaS is a new way to prepare Web applications for use, offloading any “behind the scenes IT” to the Cloud provider: thus, the software consumer “does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings” (as the United States’ National Institute of Standards and Technology (NIST) puts it. See https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf). No control means fewer responsibilities, which usually means less pain for the consumer, who can focus on the business logic of the application rather than on the myriad of configuration and deployment problems that can arise in a specific software environment while an application is developed and deployed.
Of course the Cloud provider is paid for offering a service, but developing, deploying, and managing applications also has a cost. It is difficult to give a general rule but, for most IT applications, the trade-off balance is positive in favour of the Cloud. Indeed, a consumer using SaaS requires very few physical assets – just an Internet connection and the devices to access the application. By contrast, deploying ‘on-premises’ implies maintaining an infrastructure, the costs of which are usually greater than the fees paid to a Cloud provider. This philosophy is one that is fully embraced by Rextart, which provides its customers with a mode of service that offers sufficient structural and organisational incentives to consumers who need very few physical assets.
Another important cost-saving benefit of the Cloud approach is scalability; Cloud services are configured to change and adapt to consumer needs, and the consumer need not concern themselves about load peaks, scarcity of memory resources, and so on. For example, training a machine learning application requires a lot of storage and CPU/GPUs time, but model predictions usually require less. To carry out both these processes on premises requires the purchase of assets for the training that then remain underused while predicting. In the Cloud, the required assets can be rented for the duration of the training, then the user can switch to a less expensive configuration for the predictions, with the option to move back to more computational and storage resources if needed in the future.
This scalability allows SaaS to provide flexibility. The flexibility of this approach stems from the ease with which provisioning is possible in such solutions and, above all, from the high configurability of applications services via SaaS. The consumer is free to focus on configuring the application correctly and on user experience, rather than on making in work on an IT infrastructure, which requires continuous maintenance, upgrades, and so on. A SaaS system makes updating and upgrading easier and faster.
One hotly-debated feature of SaaS, and Cloud services in general, is security – also an issue for traditional software deployment. Even if both servers and the IT infrastructure are controlled directly, there is still an element of exposure to security threats that creep in through the misuse of IT tools by users and consumers. On the other hand, a SaaS provider may well have at its disposal more skills and a greater capability to implement better security than the average individual or company. Nonetheless, the real issue may be privacy. For example, some policies, such as the European Union’s GDPR regulations, establish strict requirements, aimed at protecting privacy, about the physical location of data and their security. Such requirements are easily implemented by SaaS providers, but there is once again a trade-off: increased costs, and consequently, increased fees for consumers. This is only natural – security has a cost and is an important part of any enterprise – there are no free lunches, or perhaps one might rather say in this case that a free lunch might lead to food-poisoning!
An application typical of these features and benefits has been implemented in the Interactive Digital Signance system by Rextart (https://www.rextart.com/soluzioni/digital-signage/), providing a scalable and flexible solution for Visual & Proximity Marketing, whilst also accounting for security issues.
Software as a Service: a market on the rise
In recent times, the wide availability of Cloud services has had a huge impact on the digital market: indeed, even companies without an IT infrastructure have been able to adopt IT solutions to improve their internal processes and their business. In some senses, Cloud services – and SaaS in particular – have opened a new season of digitalization that has developed into a growing market.
The 2021 Digital Transformation market Report by Research and Markets estimates the digital transformation market will grow at a compound annual growth rate of 19% over the next five years. The term “digital transformation” is already a buzzword in both the public and private sectors in most countries, with investment in the Cloud service sector a natural sequel.
SaaS represents a significant fraction of this expenditure, as organisations look at the benefits listed above. SaaS is also affordable; small companies can execute their digital transformation plans with low levels of investment and practically no need to acquire dedicated resources. For such companies, digital transformation means remaining competitive in the global market, as well as the expansion of their business horizons.
Tabella 1. Worldwide Public Cloud Services End-User Spending Forecast (Millions of U.S. Dollars). Source: Gartner (August 2021)
2020 | 2021 | 2022 | |
Cloud Business Process Services (BPaaS) | 46,066 | 51,027 | 55,538 |
Cloud Application Infrastructure Services (PaaS) | 58,917 | 80,002 | 100,636 |
Cloud Application Services (SaaS) | 120,686 | 145,509 | 171,915 |
Cloud Management and Security Services | 22,664 | 25,987 | 29,736 |
Cloud System Infrastructure Services (IaaS) | 64,286 | 91,543 | 121,620 |
Desktop as a Service (DaaS) | 1,235 | 2,079 | 2,710 |
Total Market | 313,853 | 396,147 | 482,155 |
It is worth noting that many established companies that have previously sold IT products to be installed on-premises are switching to a SaaS consumption model. This is due in part to consumers increasingly requesting subscription-based pricing, which is more affordable and less risky for small companies in particular.
This is likely to lead to growth in the range of SaaS products once the total cost of ownership matches the deployment cost of on-premises versions of the same product. Both System Integrators and IT developers should be prepared for that change; Rextart is already positioned to play a significant role in the Italian market as both a System Integrator and solution provider in a variety of fields requiring remote communication (digital communication, IOT, etc.).
System Integrators driving change
Many people working in the IT sector have built their careers on the development, deployment and maintenance of custom applications. System Integrators offered indispensable services, integrating products into the “IT ecosystem” of their clients and, above all, in the long and often painful process of ongoing maintenance.
The SaaS paradigm introduces a brand new way of satisfying consumer needs – does that imply a drastic reduction of activity in the system integration business? Not really. On the one hand, only a few, very specific software products served on the Cloud can be used immediately without requiring any integration at all. One such product is Office365, but the same was true of their on-premises counterparts.
On the other hand, most IT products require active maintenance: think of remote communication software, for example, one area that has seen a massive uptick in use since the pandemic began. Zoom, Teams, or Skype can all be used via browser, of course, but many users will download an app to improve the experience. When used not for personal purposes but for business, the organisation determines the configuration and deployment of those apps, setting security policies, for example. Nonetheless, these activities probably do not require developers to action.
Instead of maintenance, most products served on the Cloud require continuous integration. Indeed, many consumers switch to the Cloud in order to delegate all technical matters to the provider; where the provider cannot operate (on consumer devices, network or specific needs for example), system integrators do. This is typical of the service Rextart offers its customers, who need an integrated offering and an IT partner able to handle all the technological details that do not directly involve the core business of the client.
Often, solutions come with extensive APIs that allow customization by means of particular configurations, small components, or solutions built on top of the SaaS, all of which need continuous maintenance.
Finally, the use of the Cloud does not preclude the possibility of developing custom applications as services for a specific user. Rather, use of the Cloud offers an improved way to focus on client needs and user experience.
Digital companies embracing this paradigm, like Rextart, have much to offer to both clients and developers. Indeed, the Cloud approach is, by definition, innovative and rapidly evolving. From the customer’s point of view, this means remaining up-to-date with their IT solutions, and has a direct impact on the quality of their business. Those who work in IT have always experienced the ageing of technological solutions; in many cases, together with their customers, they remain ‘prisoners’ of this process. Most seasoned developers and IT managers will remember with terror upgrade and migration projects that failed for any number of reasons related to the continuous evolution of systems and to the difficulty of a ‘warm’ evolution of platforms and infrastructures.
With SaaS, developers can focus on building solid and flexible applications, without the technological constraints usually imposed by customer infrastructures but with the potential to exploit innovative architectures and challenging solutions.
Are you ready for the challenge?
There was once a senior programmer who blamed C# and reminisced regretfully about the “golden age” of Cobol and mainframes: his real regret, of course, was his lost youth, but his regret blinded him to the opportunities presented by the web applications paradigm of the new era, with its complexities and issues, many of them the reasons why developers love to code. Today the situation is even better: developing under a SaaS framework spurs devs on to adopt different and innovative techniques at the same time. Applications may interact with APIs and services coordinated by orchestrators to work in a complex environment.
The role of developer may not be a job for nostalgic people, but it is an exciting opportunity for people willing to learn and invest their own time in improving their skills. First of all, with so many languages now available, developers should be comfortable to code in many of them: of course everyone has a mother tongue, but no one should allow themselves to become fossilised in it. Nowadays, languages are complex and difficult to master in all their details, but they share programming paradigms and concepts, and a skilled developer should be eager to learn as many languages as possible. They may only be very proficient in their mother tongue, but perfection in just one single thing is a losing strategy in the modern IT world.
A good deal of customization capability is also required: developers should think about what their users want to experience before adopting the most appropriate technological solution. This was true for Web applications and is even more so for SaaS apps; the evolution of computer programming is a perpetual rapprochement between users and coders. Rextart offers its clients this approach, and extends that opportunity to IT professionals who are looking for an innovative and inclusive environment in which to express their skills.
No one can fly in the clouds alone, and the same is true of IT Clouds! Developers need to work in teams, to communicate with other professionals, to follow methodologies and adhere to standards. IT companies do not need lonely late-night coders, but people willing to share their skills and experiences, keen to learn and improve, with the common objective of finding the best solution for the user. This is also the recipe for deriving a lot of satisfaction and professional growth from the role of developer – perhaps more difficult to grasp than in the past, but just as exciting, in the era of SaaS, as ever.