Future Outlook: Temporal Nature Prevails: The Upcoming Manifestation of the Cloud-Centric Pledge
Steve Rodda serves as the CEO of Ambassador, a company specializing in cloud-native development, aiding enterprises in managing microservices on Kubernetes.
Recently, the Cloud Native Computing Foundation (CNCF) underscored five significant trends transforming cloud computing: AI-as-a-service, hybrid and multicloud strategies, AI at the edge computing, sustainable cloud computing, and serverless computing. These trends demonstrate the continuous evolution of cloud computing to deal with rapid data growth and improve workflow efficiency, stability, and security.
A common aspect of these trends is that organizations seek increased flexibility in cloud computing, accompanied by an anticipated boost in productivity. Nonetheless, a less-discussed trend involves ephemeral development environments for testing. Given the growing demand for on-demand infrastructure, testing settings should also follow this trend.
The Traditional Approach: Pricey and Time-Consuming
Before diving deeper, it's important to first understand the traditional approach to development teams, who formerly utilized shared development environments, allowing them to construct and iterate before moving code to staging and production.
Budget-Busting Expenses and Parallel Development
Development and QA environments often account for a substantial portion of overall IT spending. Initially, the cost might appear relatively affordable due to the low initial investment; however, multiple environments necessary for parallel operation result in rising costs quickly. Shared environments often become a free-for-all, and as the number of microservices within that environment grows, it leads to spiraling costs.
Consider a small-to-medium-sized organization investing $1.5 million annually in a production network, which means they only allocate $500,000 per year to other environments, such as dev environments. While this may not seem exorbitant, for Fortune 500-sized companies with exponentially more development happening in parallel, the expenses soar beyond the billion-dollar mark rather than staying within the million-dollar limit.
Hefty Labor Hours and Limited QA Visibility
Another way to examine the subject is by considering the cost of QA and testing, which often takes up approximately 23% of the overall IT budget. The tendency to delegate this work to external organizations reduces labor costs, but with appropriate testing tools, testing expenses can be minimized, effectively making outsourcing redundant.
Moreover, there's often a disconnect between engineering and application security teams regarding the actual delays traditional testing methods introduce in software delivery. Often, developers are under the false impression that the delays are not as significant, while really lacking insight into the extent of the delay. The right testing tools can offer clarity to both teams, thereby allowing IT and developer groups to meet their targets with greater confidence.
Inadequate Management of Environments
Finally, the typical way testing environments are handled contributes to escalating costs due to poorly managed developer environments. Forgotten environments or neglect to shut down old environments result in tech debt and financial loss.
The Bright Side of Ephemeral
However, by granting developers instant access to infrastructure offering production-like speed and working conditions, API development can be accelerated, allowing developers to remain productive, regardless of whether they're involved in engineering or operations. This is where ephemeral environments prove valuable; they can be swiftly deployed for a specific build or test project.
If we consult the dictionary (e·phem·er·al: lasting a very brief period), you may question the desirability of something that is so fleeting. However, ephemeral environments offer a flexible and segregated space for development and testing, thereby reducing the risk of conflicts and contamination between different projects. By enabling rapid setup and teardown, development teams save significant time. This is also advantageous for infrastructure teams, as developers no longer require their assistance to set up an environment.
As a result, developers can concentrate on their internal development cycle, ensuring high productivity. Your infrastructure team's budget and focus are no longer compromised, enabling them to carry out higher-priority tasks.
Furthermore, because these production-like environments closely mimic actual production environments, they permit easy and accurate testing and debugging, leading to higher-quality software. After all, the era of dedicated QA engineers has come to a close; it is now every developer's obligation to test and troubleshoot. These temporary environments allow for swift innovation, which their permanent counterparts seldom manage.
Lastly, since these ephemeral environments are temporary, resources are only allocated when required and are subsequently released, thereby cutting costs while keeping everyone content and safeguarding the lower limit of the leadership team's financial projection.
The Weak Points of Ephemeral
Accept it, I may sound overly enthusiastic about ephemeral environments, but like any technology, they aren’t without flaws. Ephemeral environments necessitate time, resources, and expenses, aside from the existing ones. Although the required resources are significantly reduced compared to the old approach, they are not nonexistent.
The other drawback is that without well-established automation practices and an infrastructure-as-code mentality, setting them up and managing their life cycle might pose challenges and introduce initial complexity to the development workflow.
Sure thing, alright, no problemo, the future's pretty transient, alright? Back in the day, folks were all hyped about these cloud-native guarantees that suggested using cloud tech and methodologies to construct and run applications that could expand like crazy, leveraging all the cloud's sweet benefits. But now, it's about streamlining development processes and saving cash whatever way we can, while still keeping those initial cloud advantages in mind. Sounds like composable solutions operating in temporary, high-grade environments are just the ticket.
And hey, what's up with this Website Technology Council you're talking about? Are you in the VIP club?
Given Steve Rodda's role as the CEO of Ambassador, he might advocate for the implementation of ephemeral environments in cloud-native development, as they can reduce costs and increase productivity. The Website Technology Council could discuss the benefits of composable solutions operating in temporary, high-grade environments as a way to streamline development processes and save costs while maintaining cloud advantages.