Service Virtualization Use Circumstances for Cloud-Native Purposes

[ad_1]

That is the second article in a two-part sequence. The primary half is right here.

Service virtualization is uniquely suited to help the wants of cloud-native purposes. The answer’s rules help all the important thing attributes of cloud-native architectures. I might contend that service virtualization and cloud-native architectures are constructed for each other. Simply as service virtualization is thought-about important for agile growth, it’s simply as essential for supporting cloud-native purposes. 

On this part, we’ll talk about how Broadcom Service Virtualization helps every of the ten key attributes of cloud-native utility methods

Steady Microservices Utility Improvement and Testing 

One of many key attributes of cloud-native purposes is the usage of loosely coupled elements, corresponding to microservices. As a result of component-based methods have quite a few dependencies on one another, use of service virtualization is particularly essential to help the agile growth, testing, and steady supply of such purposes. This is among the hottest use instances for service virtualization. See determine under. 

 

Service virtualization can be utilized to help each side of microservices testing, together with unit, part, integration, contract, and system testing. Plus, testing could be completed constantly all through the CI/CD pipeline. For extra particulars on utilizing service virtualization for component-based purposes, please seek advice from my earlier blogs (Steady Service Virtualization Half 1 and Half 2). 

The next sections spotlight a number of key use instances:

a. Technology of Artificial Digital Providers from Microservice APIs

Service virtualization can be utilized to generate an artificial digital service for a dependent part that doesn’t but exist, or is unavailable, utilizing artificial request-response pairs based mostly on the API’s definition of the service.  That is particularly helpful throughout growth and unit testing. 

The artificial digital service could also be progressively enhanced to help subsequent testing (corresponding to integration and system exams) alongside the CI/CD lifecycle.

b. Help for Microservices Contract Testing

A service shopper can take a look at a service supplier utilizing artificial request-response pairs developed from its API specification. A service supplier can in flip take a look at its interactions with a shopper utilizing a validated contract—which could be carried out utilizing a recorded digital service. See determine under. 

c. Help for Steady Microservices Efficiency Testing

This is among the most necessary use instances for service virtualization. With service virtualization, we are able to actually shift microservices efficiency testing left. This considerably reduces the necessity for time consuming, end-to-end load exams that need to be carried out earlier than launch. Service virtualization permits restricted, scaled efficiency testing on the part stage to validate related service stage aims (SLOs). This additionally permits scaled testing of transactions throughout a number of companies utilizing their APIs. For extra particulars on this, please seek advice from my prior weblog on steady efficiency of microservices.

d.  Help for Simpler Chaos and Destructive Testing

Digital companies present a way to help repeatable and structured chaos and detrimental situations testing. For instance, they will simulate such situations as non-responsiveness, downtime, or sluggish response time. That is a lot simpler and much much less time consuming than having to energy off servers or take down bodily computing cases.

e. Help for Steady Reliability Engineering

Use instances (c) and (d) above enable us to constantly validate the reliability of cloud-based purposes by making use of the rules of steady testing on the part stage. On this means, we are able to take a look at each part change early within the lifecycle to see if its SLOs are met. With service virtualization, we are able to simulate dependent elements together with their SLOs (or SLIs if SLOs aren’t out there). For extra info, please seek advice from my weblog on Steady Reliability.   

Help for Self-Service, Digital, Shared, and Elastic Infrastructure 

That is the second key attribute for cloud-native purposes. As mentioned in part III, groups can use digital companies as a stand-in for actual elements. Digital companies can simply be packaged into light-weight container-based VSEs, which could be deployed on-demand into ephemeral cloud environments and so they can scale mechanically as wanted. 

In reality, libraries of digital companies might themselves be supplied as a service (see “Service Virtualization as a Service)—with all of the capabilities of a cloud-native service—in order that they might ruled and consumed throughout a number of groups and purposes. 

Help for Isolation from Server and Operation System Dependencies 

Digital companies could be packaged into containers which may be ported throughout a wide range of laptop environments, no matter the place the actual finish factors are hosted. Plus, they are often deployed throughout a number of hybrid computing environments with various kinds of {hardware} and OS. This not solely contains cloud-native purposes, however legacy methods (corresponding to mainframes) and different complicated methods that these purposes have to work together with. 

One use case of this attribute is service virtualization’s help for testing cloud-native purposes with function-as-a-service (FaaS) dependencies. Typically talking, FaaS implementations aren’t very moveable throughout a number of cloud suppliers. This makes it tough to include FaaS code into testing environments that will reside in a distinct cloud. Service virtualization can be utilized to virtualize the FaaS part so it may be deployed into a neighborhood testing surroundings with mechanically scaling VSEs. This allows groups to simulate the FaaS conduct for an utility below take a look at that depends upon a FaaS endpoint. 

Help for Unbiased Lifecycle Administration Utilizing Agile/DevOps 

Help for unbiased life cycle administration is among the key use instances for service virtualization. (See my earlier weblog for extra on this subject.) Service virtualization helps to optimize steady supply. In reality, digital companies are key to supporting the principal of getting a devoted CI/CD pipeline for every microservice. 

Since microservices have dependencies on one another, which means particular person CI/CD pipelines could also be impeded when a dependent microservice isn’t out there or is present process parallel growth. Digital companies assist to take away these dependencies between parallel pipelines.  Digital companies could be made out there to different companies as wanted. See determine under. 

Word: This precept can be utilized to help simpler canary testing. Cloud-native purposes are designed to permit frequent micro releases, for instance, of a single part. This enables us to get quick suggestions by deploying solely the modified part right into a canary surroundings. Service virtualization makes this a lot simpler and cheaper by virtualizing the remainder of the appliance ecosystem, enabling groups to concentrate on the conduct of solely the modified part.  

Service virtualization helps a wealthy set of APIs that can be utilized to combine with CI/CD and different instruments for automation of deployment, orchestration, updates, and extra.

Help for Light-weight Containers 

Digital companies can simply be packaged into lightweight containers. As well as, VSEs could be deployed on-demand into ephemeral cloud environments, and scale mechanically as required  in Kubernetes clusters. 

Help for Greatest-of-Breed Languages and Frameworks

Digital companies are constructed on the protocol stage, and due to this fact are usually capable of help purposes, regardless of the programming language they’re developed in. This enables us to construct digital companies for purposes which were created with a broad vary of languages and platforms. 

For builders, digital companies could also be even be developed as code and this method is supported by many programming languages.  

Help for API-Primarily based Interplay and Collaboration 

As mentioned earlier than, service virtualization permits us to create artificial digital companies from service API specs. It additionally helps in depth API-based testing (together with what’s known as “headless” testing) throughout layers of APIs usually utilized in cloud-based purposes. 

As well as, digital companies don’t simply help easy API protocols like REST. Digital companies can help a wide range of API varieties (corresponding to gRPC) throughout a number of sorts of utility methods. 

The determine under reveals a standard API structure that has expertise, course of, and system APIs. Service virtualization can be utilized to not solely virtualize every of the sub-services that help the API, however the complete API layer by virtualizing the “nearest neighbor.” 

For instance, we are able to run user-experience exams on front-end gadgets by virtualizing the “omni-channel” API—with out having to arrange a take a look at surroundings for the all of the sophisticated stacks under it! 

As well as, service virtualization helps a wealthy set of APIs that can be utilized to combine with CI/CD and different instruments for automation of deployment, orchestration, updates, and extra.

Service virtualization will also be built-in with API Gateways to permit clear entry to API back-end companies—whether or not carried out by an actual service or a digital service. See determine under. 

Help for Stateless and Stateful Providers

Digital companies could be simply created to be stand-ins for stateless companies by simulating their conduct. 

When we have to virtualize a stateful service, we are able to create digital companies which can be supported by in depth take a look at knowledge that represents a sub-set of the stateful service’s knowledge. We are able to achieve this by integrating with a take a look at knowledge administration system. For extra on the interplay between digital companies and take a look at knowledge within the context of microservices, please seek advice from my prior weblog on steady take a look at knowledge administration

Help for Automation and Infrastructure-as-Code

Digital companies are extremely amenable to automated deployment (for instance in CI/CD pipelines), particularly when packaged as containers. These companies could be outlined as a part of infrastructure-as-code surroundings recipes, corresponding to Helm Charts, for automated provisioning and deployment.  

Help for Governance Fashions

Digital companies are usually deployed into Digital Service Environments. This enables us to outline governance insurance policies of digital companies that mimic these of corresponding purposes. 

Abstract and Conclusion 

We’ve examined how Broadcom Service Virtualization helps all kinds of use instances for cloud computing—from cloud migration to help for cloud-native computing. 

Our view is that service virtualization and cloud capabilities complement one another. By combining  Service virtualization and cloud companies, groups can set up a stage of actually agile utility growth and supply, which might merely not be doable with solely considered one of these capabilities by itself. In reality, groups want to make use of service virtualization to help the necessities of cloud-native methods. 

[ad_2]

Leave a Reply