Skytap Automation Pack for Microsoft Visual Studio Team

Skytap Automation Pack
for Microsoft Visual Studio
Team Foundation Server
WHITE PAPER
BROUGHT TO YOU BY SKYTAP
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
©Skytap, Inc. All rights reserved.
3
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
Introduction
Today, 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
©Skytap, Inc. All rights reserved.
4
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
The Build-Deploy-Test Scenario
The 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.
©Skytap, Inc. All rights reserved.
5
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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).
©Skytap, Inc. All rights reserved.
6
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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 environments in Skytap.
©Skytap, Inc. All rights reserved.
7
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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.
©Skytap, Inc. All rights reserved.
8
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
Specific Needs in BDT Testing
By 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.
©Skytap, Inc. All rights reserved.
9
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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.
©Skytap, Inc. All rights reserved.
10 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
Conclusion
The 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.
©Skytap, Inc. All rights reserved.
11
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
Appendix: Skytap Automation Pack in Action
This 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 onpremise 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).
Fig. 2
©Skytap, Inc. All rights reserved.
12
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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
©Skytap, Inc. All rights reserved.
13
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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).
Fig. 4
©Skytap, Inc. All rights reserved.
14 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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).
Fig. 5
As a result of BDT, the test environment is dynamically created in Skytap (Fig. 6).
Fig. 6
©Skytap, Inc. All rights reserved.
15
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
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.
Fig. 7
The test results are available by clicking a link in the BDT logs (Fig. 8).
Fig. 8
©Skytap, Inc. All rights reserved.
16 Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server
About Skytap
Skytap 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.
719 2nd Ave, Suite 300
Seattle, WA 98104 USA
Toll Free: +1-888-SKY-TAP8 (1-888-759-8278)
Web: www.skytap.com
©Skytap, Inc. All rights reserved.
Related documents