16
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server WHITE PAPER BROUGHT TO YOU BY SKYTAP

Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

WHITE PAPERBROUGHT TO YOU BY SKYTAP

Page 2: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

©Skytap, Inc. All rights reserved.

2 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

Contents Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

The Build-Deploy-Test Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Why TFS Integration with Skytap? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Specific Needs in BDT Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Appendix: Skytap Automation Pack in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

About Skytap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Page 3: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

3 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

IntroductionToday, many Application Lifecycle Management (ALM) products are being upgraded—and even designed

from scratch—to support the Agile development and delivery model. One popular tool is Microsoft Team

Foundation Server (MS-TFS). Along with Visual Studio, MS-TFS provides the core set of tools and processes

for developing a variety of applications across a number of development platforms offered by Microsoft.

These development platforms range from the simplest .NET application to the most complex enterprise

applications using platforms like SharePoint and SQL Server.

Skytap Automation Pack for Visual Studio Team Foundation Server (‘the Automation Pack’) is an innovative

product that provides the integration between VS-TFS and Skytap. This integration enables development

and test teams to use the same skills, workflows, and processes they already use with MS-TFS, while reaping

the benefits that Skytap provides—provisioning complex environments, fast on-demand provisioning of

dynamic workloads, and support for hybrid cloud architectures.

This paper covers:

» The range of scenarios supported by the Automation Pack

» The benefits of the Automation Pack

» The Automation Pack at work for a sample application workload

» Tips on how to enable the Automation Pack for your own application workload

Page 4: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

The Build-Deploy-Test ScenarioThe Automation Pack is designed to address the classic Build-Deploy-Test (BDT) scenario that is familiar to

teams working with Visual Studio and MS-TFS. BDT is the workflow engine that Microsoft ships with Team

Foundation Server, and enables a developer or tester to define:

» How application code is built

» How application components are deployed

» The target test environments

» The automated tests to be run

» The results and other diagnostic data to be collected

Once defined, this BDT can be used over and over again. For example, the BDT workflow is used in the

following common scenarios:

The developer scenario

The developer checks in code to the source repository on MS-TFS. The code is built automatically, and the

specified unit tests are run automatically. Based on the results, the developer knows whether the check-in

was successful or not. The developer can define a BDT to run through this entire process automatically, and

the workflow usually only takes a few minutes.

The tester scenario

The tester is getting ready to do a functional test pass for an upcoming release. Having a mix of automated

and manual tests, the tester intends to fire off the automated tests and forget about them while working on

manual tests in parallel. The tester can define one or more BDTs to run through the various automated tests

and review the results at the end. A test pass will usually take a few hours, depending on the number of tests

being run.

Page 5: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

5 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Why TFS Integration with Skytap?Dynamic workloads, like software development and testing, often present a range of challenges that make

them difficult to manage and maintain in an efficient, cost-effective fashion. Common characteristics of

dynamic workloads—fluctuating demand, frequent change requests, and the need for secure collaboration

with team members, partners, or customers—can result in unpredictable capacity needs and high

provisioning and administration costs. With these challenges in mind, Skytap was designed and developed

to quickly and easily move dynamic workloads to the cloud.

Skytap is a cloud-based service with a simple setup. A development team can sign up and get started within

minutes.

The Automation Pack ties the unique capabilities of Skytap with the BDT workflows in VS-TFS. It allows teams

to easily create self-contained environments, called configurations, for applications. Configurations can be

as simple as one machine for build or unit testing, or as complicated as multiple machines with different

components connected together with complex networking topology for full-scale functional testing. Skytap

offers hundreds of base configurations that can be used to create environments, or users can import virtual

machines. The Automation Pack leverages the capabilities of Skytap and allows the creation of TFS-ready test

environments in Skytap using Microsoft Test Manager (Fig. 1).

Page 6: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

6 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Typical BDT Scenarios Using Skytap Automation Pack for Microsoft Visual Studio TFS

SKYTAP ENVIRONMENTS

Fig. 1: Existing on-premise Visual Studio developer/tester desktops and TFS deployments automatically establish a secure VPN connection and create dynamic testing environ-ments in Skytap.

Page 7: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

7 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Once ‘golden’ environments are created, they can be saved off as templates, with as many copies of the

environment as required. All environments created from a template start in exactly the same fresh state for

testing. The environments can be created sequentially or in parallel. The Automation Pack uses this capability

to create and run new environments, as defined in a BDT definition, on demand. This ensures that tests are

run on clean environments every time, without having to manually clean up the environment after each test.

Skytap allows easy administration of the environments, which ensures control over development budgets.

Once a team is finished with a given test environment it can be deleted or saved—frozen in time—for further

investigation. The Automation Pack ensures that only the required resources are running, streamlining

resources and enabling more BDT runs. Teams can also save the resulting environment from a failed BDT run

so that a developer can instantiate the exact state again and debug the failure.

The speed with which Skytap can perform all of these operations provides additional value. Environments

can be created, run, suspended, stopped, saved, and deleted in under a minute. Faster BDT runs means faster

testing, and ultimately, faster delivery times for applications.

Page 8: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

8 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Specific Needs in BDT TestingBy using BDT workflows, especially in the scenarios mentioned above, engineering teams can

accelerate development and testing of their product. However, many teams may have additional

needs that out-of-the-box BDT workflows do not provide. The Automation Pack can address these

needs.

Some of these scenarios include:

Easy setup and management

Though development teams have sophisticated requirements, many are not inclined to manage

the underlying infrastructure platform that powers their development and testing needs. In the

spirit of agility, the Automation Pack provides these environments when teams require them.

There’s no complex and lengthy setup process and no need to continuously manage and operate

the infrastructure.

Scale with the growth of the team and the product

Any product starts small, both in terms of code base and in the number of developers and testers

working on the product. As the product grows, so does its number of components and the number

of engineers working on it. Large teams pose enormous challenges to application development by

putting increased demand on the infrastructure platform that powers the key workflows of builds

and testing. With the Automation Pack, the infrastructure platform is flexible enough to scale with

the growing needs of the team, and it does so without increasing management overhead.

Page 9: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

9 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Support for complexity

The test environments in different BDTs can vary greatly. While a development unit test may just

require a one-box environment, a functional test may require an environment that represents the

true architecture of a complex product (e.g., an N-tier application). Additionally, a validation testing

environment may need to represent the true scale and complexity of the production environment.

The Automation Pack provides templates for any kind of environment—large or small, simple or

complex.

Fresh test environments on demand

Running tests on a known, good configuration is the holy grail of testing. The Automation Pack

supplies the underlying platform that allows a team to spin up environments from a known state

every time.

Parallelism

Different teams may be working in parallel on separate components of a product. Each team

requires a full test environment to perform functional and integration testing, and they need to be

working on the latest golden version of the components delivered by other teams. This requires the

infrastructure to support running multiple, identical test environments based on a common golden

version of the bits. The Automation Pack lets each team apply changes to their components and

perform their own tests. This allows teams to work in parallel rather than waiting for other teams to

finish using the test environment.

Save state for debugging failures

As all development teams know, there will always be test failures. Not only do developers and

testers need the ‘fire-and-forget’ means to run automated tests, they also need a way to access test

environments, debug, and diagnose failures. The Automation Pack platform is smart enough to run

automated tests and save the state in cases of failure to enable debugging after the fact.

Page 10: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

10 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

ConclusionThe Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server enables teams

using Visual Studio and TFS on-premise to seamlessly use Skytap for automated BDT workflows.

Individual developers and testers benefit from the flexibility, scale, speed, and collaboration

capabilities that Skytap provides—increasing productivity and eliminating potential workflow

bottlenecks and delays. Team managers and business owners benefit from Agile teams that can

deliver software products faster, increasing the speed at which an organization can innovate and

generate revenue. Overall, the Skytap Automation Pack provides the scale and elasticity of cloud

infrastructure coupled with the preferred tools and processes currently used by development and

test teams.

Page 11: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

Appendix: Skytap Automation Pack in ActionThis section illustrates the Automation Pack in action. Screenshots include a view of a developer’s desktop while starting a BDT run and the resulting environments in Skytap. The Automation Pack itself is working behind the scenes, which allows an engineering team to continue using familiar processes and tools in Visual Studio.

The assumption, for the purpose of this illustration, is that the TFS server is running on-premise. An on-premise environment is connected to Skytap using point-to-point VPN connectivity that can easily be set up using the Skytap hybrid cloud.

Setting up the golden test environments in Skytap using Microsoft Test Manager

The test environment for the application has been created in Skytap and has been associated with TFS using Microsoft Test Manager (Fig. 2).

11 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Fig. 2

Page 12: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

12 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

1. Create the BDT definition

A developer or tester can create a BDT definition based on the template provided as part of the

Automation Pack. This template preserves the same UI and workflow as existing BDT templates.

It also allows the user to enter the Skytap-specific information needed for the integration (Fig. 3).

Fig. 3

Page 13: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

2. Run the BDT

Once the BDT is defined, it can be run any number of times without the need to worry about available

infrastructure. It can be run by any number of users who are working on the same component and

want to leverage the BDT.

In the figure below, a build is being queued up based on the BDT (Fig. 4).

13 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Fig. 4

Page 14: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

14 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

The build logs show the Automation Pack dynamically creating the test environment in Skytap and

using AutoNetworking capabilities that connect back to a TFS over a VPN connection. All of this can

be accomplished within a minute (Fig. 5).

As a result of BDT, the test environment is dynamically created in Skytap (Fig. 6).

Fig. 5

Fig. 6

Page 15: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

The deployment of the application and tests taking place can be seen in Figure 7 below. When the tests are complete, the test configuration is automatically deleted. If there are failures, the test can be saved as a template for further investigation.

The test results are available by clicking a link in the BDT logs (Fig. 8).

15 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

©Skytap, Inc. All rights reserved.

Fig. 7

Fig. 8

Page 16: Skytap Automation Pack for Microsoft Visual Studio Team ... · 4 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server ©Skytap,Inc. Allrightsreserved. The Build-Deploy-Test

16 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

About SkytapSkytap provides Environments-as-a-Service to the enterprise. Our solution removes the inefficiencies and

constraints that companies have within their software development and test lifecycles. As a result, our

customers release better software faster.

Today’s enterprise is challenged to continuously deliver new customer-facing applications, while

overcoming increasing change and complexity in their IT infrastructures. Our customers use Skytap to

manage, import, deploy and decommission on-demand environments that contain everything needed to

accelerate the software lifecycle, without unnecessary costs and project delays due to manual configuration

and dependencies.

Enterprise IT organizations maintain full visibility and cost control, while allowing dev and test teams to

self-provision labs, and copy and share complex environments across global cloud regions with ease for

a lasting boost in agility.

Customers can import existing virtualized applications or build new applications in the cloud. Skytap can

be easily accessed through any modern web browser, REST-based API, Command Line Interface (CLI), or

ALM tool (Jenkins, Visual Studio TFS, etc.).

Skytap customers have a choice of infrastructure. Customers can run complex computing environments

on Skytap’s native ESX-based infrastructure, or leverage our services atop leading cloud infrastructures

such as AWS and Softlayer.

©Skytap, Inc. All rights reserved.

Skytap, Inc.719 2nd Ave, Suite 300 Seattle, WA 98104 USA

Toll Free: +1-888-SKY-TAP8 (1-888-759-8278)

Web: www.skytap.com