How NaaS Can Support Development and Testing Environments
06 September, 2021 by Alex Hawkes
The widespread adoption of the cloud has transformed the way applications are developed just as much as it has transformed the way they are deployed and consumed. In this blog we look at how Network-as-a-Service (NaaS) can help developers support the complete application lifecycle by unlocking the value of PaaS (Platform-as-a-Service).
XaaS: The story so far...
The three key benefits of a cloud environment - flexibility, scalability, and speed - extend quite nicely to app development and have helped developers perpetuate transformative ways of working through concepts such as Agile and DevOps.
It’s becoming an enterprise trend. Although SaaS (Software-as-a-Service) will retain the lion’s share of cloud infrastructure spend for the next several years, industry analyst Gartner expects application infrastructure services, or PaaS to grow by a higher margin through 2021, at 26.6% compared to 16% for SaaS.
This is evidence of adoption trends moving down the infrastructure stack - from where they started out, with consumption of apps, to the creation of apps. It’s a trend that is somewhat influenced by the Covid-19 pandemic as enterprises have accelerated digital transformation plans, ingesting and expelling almost everything ‘as-a-service’.
According to Deloitte, the boost that XaaS (Anything-as-a-Service) can give to innovation is wide-ranging, with 80% of businesses agreeing that adoption of XaaS has led their organisation to reinvent business processes, develop new products/services, invent a new business model, and even change how they sell to customers.
To break that down; we’ve seen how SaaS has changed the way organisations consume services; we’ve seen how IaaS changes the way companies deploy software; and PaaS is changing how software is developed. The next natural innovation in as-a-Service has to be in connectivity.
As we have seen with the consumption and deployment of cloud apps, until the appearance of Network-as-a-Service (NaaS), connectivity was one of the main stumbling blocks to maximising cloud value. Simply put, the historically cumbersome method of procuring and consuming network connectivity was out of sync with the promise of the cloud.
Yet just as NaaS solved this challenge for SaaS and IaaS, it has now emerged as a key part of the infrastructure puzzle for developers to unlock the value of PaaS.
Benefits of PaaS for development
When it comes to developing enterprise applications, PaaS makes use of the cloud to reduce complexity and cost.
Because most PaaS environments are also supported by their own software development tools, such as libraries, SDKs and APIs, they also help streamline and speed the process up, so developers can focus on creating a solution and not wrestling with infrastructure.
PaaS supports the complete application lifecycle from building, testing and deployment through to managing and updating software. Furthermore, there are now a whole array of tools available to support and enable associated development modalities such as Agile and DevOps.
Top 5 reasons to adopt PaaS
- Speed: PaaS enables developers to get to work building apps and not configuring and provisioning their backend infrastructure.
- Reduced cost: Because PaaS environments come with their own pre-built libraries, SDKs and APIs, developers don’t have to start from scratch, requiring fewer resources or accelerating dev time.
- Scalability: In the old world of application building, scaling an app could prove a headache and required hands-on resources. But because PaaS is a cloud-native environment, scalability is also native and your app grows with your business.
- Portability: Apps today need to work across multiple environments and the trend towards containerisation means this is possible with PaaS (read a use case about Console Connect and Kubernetes here).
- Future proofing: Because the PaaS vendor is responsible for the platform, all the new feature updates and security patches are automatically taken care of, leaving you to focus on the value offered by the app itself, not the underlying infrastructure.
Challenges for developing in the cloud
Test environments are critical to the successful development of applications and DevOps teams typically require multiple test environments, specifically for development, testing, staging and production.
This raises a couple of key challenges and considerations developers need to address.
Each PaaS environment comes with its own specific tools and support systems, such as libraries, APIs, operating systems and architecture. Electing to build an app in one environment may therefore deliver a certain amount of vendor lock-in, and switching platforms down the line may mean rebuilding the application for another environment.
The ease-of-use of PaaS means everything is done and stored on the platform, which can reduce granular visibility into where and how data is stored by the provider. This can obfuscate the security and compliance protocols employed by the vendor.
Because the cloud has made such a diverse array of tools available to developers, adequate connectivity to those tools has become a stumbling block, especially in hybrid and multi-cloud environments. Poor connectivity can easily degrade application performance, even if it is only connectivity to a specific part of the application infrastructure. A snappy front end can be let down by an app that relies on an unstable data centre interconnect to query a database on the backend.
Fortunately, NaaS introduces straightforward solutions to two of these three challenges and gives more control over the third.
It’s worth noting that another technology that has emerged as essential to unlocking cloud value is that of containerisation. As we discussed in a previous blog, the growing popularity of multi-cloud has spawned significant interest in containers.
Containerisation is seen as a key element of digital transformation as it enables developers to build applications once and deploy them anywhere, regardless of environment. This gives companies the freedom to choose clouds for their specific strengths and not because a specific application was built for a certain environment.
NaaS as a connectivity solution for test environments
By their nature, development and testing environments will likely not be around for a long time. So, it‘s important they can be spun up quickly when there’s development work to be done, paid for flexibly without long-term contracts, and closed down when no longer needed.
The last thing developers need is to get tied into long-term, inflexible contracts for connections and environments that they’ll only need for a short time. Being able to provision what you need, when you need it – and more importantly, only pay for what you use – is essential to keeping cloud-based development agile and cost effective.
There is also the potential to shift the procurement model for connectivity from long-term capex to short-term opex and to a consumption model that can be invoked by the developers directly.
Ultimately, when it comes to PaaS, you have options. If you connect directly to a single cloud service provider, you’ll get a reliable, high-performance connection to their offering. However, as your needs change, you’ll struggle to connect to other cloud development tools – limiting the volume and variety of incredible services your business can access.
More flexible connectivity options through NaaS platforms like Console Connect unlock those same options for the network. This give you high reliability today and platform freedom for the future. If your needs change, new connections to new providers can be provisioned in seconds, so you’ll always have access to the tools you need to create the very best apps and services.
NaaS holds a mirror up to digital transformation driven by changing customer behaviour. Just as consumers are used to buying anything at any time with a tap of a button, enterprise buyers are looking for the same convenience to purchase bandwidth online, and on-demand, instead of being tied to a long-term contract.
This has positive repercussions for test and production. The faster you can provision new development and testing environments, and deploy completed applications, the faster you can get to market.