• No results found

"Build and Test in the Cloud "

N/A
N/A
Protected

Academic year: 2021

Share ""Build and Test in the Cloud ""

Copied!
14
0
0

Loading.... (view fulltext now)

Full text

(1)

     

W5

Class 

11/17/2010 10:00:00 AM

               

"Build and Test in the Cloud "

     

Presented by:

Darryl Bowler

CollabNet

                   

Brought to you by: 

      330 Corporate Way, Suite 300, Orange Park, FL 32073  888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com

(2)

Darryl Bowler

CollabNet

With more than fifteen years of IT experience, Darryl Bowler leads the consulting services business for CollabNet Lab Management, delivering high-value virtualization and test lab automation consulting services to major enterprises. Darryl is an

accomplished senior systems architect, specializing in software development

methodologies, virtualization, and cloud computing, combined with application lifecycle management and agile best practices. His portfolio of customers includes major financial institutions, a major automotive company, and health organizations. Darryl is currently leading a project to transform the software development lifecycle of a Fortune 50 company.

(3)

Darryl Bowler

Professional Services

Built and Test in the Cloud

A Build Masters Guide

What you will learn in the next 90 minutes

• Why build software using cloud technologies

• Business and technical reasons

• Overview of a cloud provider

• Amazon EC2

• VPC – Virtual Private Cloud

• Qualities of a cloud (for software development)

• Build tools – Hudson

• What is Hudson?

• Continuous Integration (and deployment)

• Provision build-slaves into the cloud

• Amazon EC2 plug-in

• Artifact repositories (Apache Archiva and Sonatype Nexus)

• The need for a artifact repository

• Selenium and automated web tests

(4)

Cloud Providers and Management

Many to choose from

Reasons to Build on in the Cloud

• Follow principles of lean manufacturing

“a production practice that considers the expenditure of resources for any goal other than the creation of value for the end customer to be wasteful, and thus a target for elimination”

THIS IS OUR GOAL!

• Predictable resource pool of compute • Dynamic provisioning of system resources • Pay as you “need” model

(5)

opyright 2010 5

Qualities of a Cloud (for software development)

•On-demand provisioning

•Cross platform

• Can provision a multitude of operating systems and stacks

• Rich API

• Ease of integration into “workflow”

• System provisioning become a “service”

•Multi-tenant

• Flexible RBAC to separate duties and operations

•Measurable with a charge back reporting

•Library of pre-built (reusable) images

•Empowers developers • Increased productivity

• Integrate cloud capabilities into their development tools (IDE)

Amazon Web Services

• Comprehensive Management Interface

• Accounting, provisioning and configuration

• Amazon Elastic Compute Cloud (Amazon EC2)

• Heterogeneous system, pay for what you use model

• Amazon Virtual Private Cloud (Amazon VPC)

• Integration with corporate network

• Amazon Simple Storage Service (Amazon S3)

• Amazon SimpleDB & Relational Database Service (Amazon RDS)

(6)

Amazon EC2

• Provision a pre-built system image in minutes

• AMI = Amazon Machine Image

• Create your own AMI

• Library of images available to developers

• Security and IP filtering available

• Multitude of Linux distros, Windows Server 2003/2008, OpenSolaris

• Provision in various geographical locations

• Western Europe, USA East and West and SE Asia Pacific

(7)

Amazon EC2 Tools

• Amazon EC2 AMI Tools

• Command line tool

• Can be used in a build workflow

ec2-describe-images -o self

IMAGE ami-f41afe9d /hudsonbuild/image.manifest.xml 419334764189 available private i386 machine instance-store IMAGE ami-c59676ac hudson_slave_with_swarm/image.manifest.xml

419334764189 available private i386 machine instance-store

ec2-run-instances ami-59967630 -k DBKEY

RESERVATION r-3a454c51 419334764189 default

INSTANCE i-31f8c55b ami-59967630 pending DBKEY 0 m1.small 2010-09-21T01:09:37+0000 us-east-1c

monitoring-disabled instance-store

(8)

Hudson

Extensible continuous integration server

• Java build tool

•java -jar hudson.war or servlet container such as Tomcat

•Can run on many platforms

• Fully configurable from GUI, unlike CruiseControl • Monitoring executions of externally-run jobs • Other extensive features

•Change set support, RSS/E-mail/IM Integration, Distributed builds, File fingerprinting and Plug-in Support

•Hudson support tools/processes that your team uses !!

• DISTRIBUTED and SCALABE!

•Master / Slave

2 Copyright © 2008 CollabNet, Inc. All Rights Reserved. CollabNet Confidential.

Â

FEATURES OF CI

• A connection to a version control repository • A build script

• Feedback mechanism

• Email

• SMS

• A process for integrating the source code • Automated inspection and testing

(9)

3 Copyright © 2008 CollabNet, Inc. All Rights Reserved. CollabNet Confidential.

Â

THE VALUE OF CI

• Reduced Risk

• Defects detected and fixed sooner

• Reduce repetitive manual processes

• Automated integration, build, inspection and test

• Allows for more productive and creative work

• Generate deployable software at any time

• Health of software is measurable

• Enable better project visibility

• More effective decisions (Quality metrics)

• Establish greater confidence in the software product

4 Copyright © 2008 CollabNet, Inc. All Rights Reserved. CollabNet Confidential.

Â

A TYPICAL CONTINUOUS INTEGRATION

(10)

The Case for Continuous Deployment

• Another lean software development method • Continuously and automatically deploy software in

production or development

• Rapid method of placing features/changes into production • Requires rigorous testing

• Production clustered environment

• Real-time monitoring and altering

• Rollback

• Great to show work developed during and end of sprints • Hudson can deploy to Websphere, JBoss and Tomcat

(11)

The Case for Continuous Deployment

Using EC2 as a Dynamic Scalable Build Farm

• A build farm that scales depending on the build load • Requires pre-built AMI’s

• Library of pre-built AMI’s representing all build stacks

• Reasons

• Near real-time builds

• Pay for what you use

• No waiting on resources

• Automation and reuse implied

(12)

Hudson Amazon EC2 Plug-in

(13)

Web Testing with Selenium

• A platform to automate web tests

• Cross operating system and web browser support

• An API that can be “driven” from various languages

• C#, Perl, Java, PHP Python and Ruby

• Can be used within a (automated) testing framework

• Bromine, JUnit, NUnit , RSpec (Ruby)

• 3 step process

• Write and run testing a Firefox plug-in (IDE)

• Use Selenium remote control to customize to execute in different browsers and platforms

• Use Selenium grid to execute distribute parallel testing across platforms and operating systems

The case for an Artifact Repository

Apache Archiva and Sonatype Nexus

“an extensible repository management software that helps

taking care of your own personal or enterprise-wide build artifact repository. It is the perfect companion for build tools such as Maven, Continuum, and ANT”

Quote from http://archiva.apache.org/

• Act as highly configurable proxies between your organization and the public Maven repositories

• Save hundreds of requests over HTTP, and, in very large multi-project builds, this can shave minutes from a build.

• Provide an organization with a deployment destination for your internally generated artifacts

• Central (Enterprise wide) software artifact repository

• FOSTERS REUSE, TRACEABLY and CONSISTENCY!!!

(14)

Further contact

• Email: dbowler@collab.net

References

Related documents

The MDM solution should provide IT visibility into the range of mobile apps installed on employee devices, create an easy way for enterprises to provision apps to users in

OTHERWISE DUE ON SUCH PRODUCT SHALL BE CONSIDERED AS INPUT TAX CREDITABLE AGAINST HIS OUTPUT TAX PAYABLE 2 ND STATEMENT: EXPORT SALES BY A VAT-REGISTERED PERSON ARE.. SUBJECT

Students will evaluate last product produced, plan and suggest development for next practical lesson, taking understanding from last practical task. Component 4:

I believe that the ultimate decision in life is simply to make your decisions and live your life as you want to live it, without infringing on the rights of others.. What others

Metering rail actuator berfungsi untuk mengatur tekanan pada fuel rail untuk menentukan jumlah fuel yang masuk ke metering chamber.. Metering rail actuator bekerja berdasarkan

Celtic Fingerstyle Guitar According to Tony McManus

Most mobile robot navigation approaches assume the robot being point-like or consider only its bounding circle while look- ing for a collision-free path to a given goal position..

22) K. Zeeberg “Stromal Composition And Hypoxia Modulate Pancreatic Ductal Adenocarcinoma Pdac Cancer Stem Cell Behavior And Plasticity By Controlling The Angiogenic Secretome”. 23)