Build (Workflow) Management

Build (Workflow) Management (13)

Children categories

Apache Continuum

Apache Continuum (0)

Apache Continuum is an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems. Whether you have a centralized build team or want to put control of releases in the hands of developers, Continuum can help you improve quality and maintain a consistent build environment.

Apache Continuum, a partner to Apache Maven, is a continuous integration server, which runs builds on a configurable schedule. Much like CruiseControl, Continuum emails developers when the build is broken, requesting that the culprit fix the problem. To add a project to Continuum, point to the pom.xml in the source control system, and it automatically does the rest:

  • Check out from source control
  • Run clean build
  • Deploy to integration server
  • Run unit tests

 

View items...
Monday, 10 February 2014 04:16

Know About Jenkins CLI

Written by

Running CLI
java -jar jenkins-cli.jar [-s JENKINS_URL] command [options...] [arguments...]

Getting help
java -jar jenkins-cli.jar -s yourserver.com help [command]

How to download jenkins-cli.jar?
The best place to download the Jenkins CLI jar is from your own Jenkins server. This means you’ll have the matching CLI version. Visit the /cli endpoint, such as http://yourserver.com/cli, and it will give you a link to download the jar (the /jnlpJars/jenkins-cli.jar endpoint). Download that jar.

Running commands against a secure Jenkins (basic auth or ssh keys)

If your Jenkins is secured, and it probably is so that you control who can create jobs, run jobs, view results, then the command above may fail and ask for credentials.
You have two options: provide --username & --password options to every command or provide -i option and provide the path to the ssh private key that matches the public key you provided to your user account.
For example:

$ java -jar jenkins-cli.jar -s http://myjenkins help --username me --password mypassword
$ java -jar jenkins-cli.jar -s http://myjenkins help -i ~/.ssh/id_rsa

Passing parameters when triggering a job build
To pass those same parameters via the CLI? You use the -p key=value flag for each parameter you want to pass.

So our finished product might look like:

$ java -jar jenkins-cli.jar -s http://myjenkins build 'Deploy XYZ App' -i ~/.ssh/id_rsa -s -v -p target_env=api.cloudfoundry.com -p branch=master

How to get all commands for Jenkins CLI-
Run > http://yourserver.com/cli

java -jar jenkins-cli.jar -s http://fmsscm.corp.intuit.net/qbo-qa/ help

Available Commands

  • build: Builds a job, and optionally waits until its completion.
  • cancel-quiet-down: Cancel the effect of the "quiet-down" command.
  • clear-queue: Clears the build queue
  • connect-node: Reconnect to a node
  • console: Retrieves console output of a build
  • copy-job: Copies a job.
  • create-job: Creates a new job by reading stdin as a configuration XML file.
  • create-node: Creates a new node by reading stdin as a XML configuration.
  • delete-builds: Deletes build record(s).
  • delete-job: Deletes a job
  • delete-node: Deletes a node
  • disable-job: Disables a job
  • disconnect-node: Disconnects from a node
  • enable-job: Enables a job
  • get-job: Dumps the job definition XML to stdout
  • get-node: Dumps the node definition XML to stdout
  • groovy: Executes the specified Groovy script.
  • groovysh: Runs an interactive groovy shell.
  • help: Lists all the available commands.
  • install-plugin: Installs a plugin either from a file, an URL, or from update center.
  • install-tool: Performs automatic tool installation, and print its location to stdout. Can be only called from inside a build.
  • keep-build: Mark the build to keep the build forever.
  • list-changes: Dumps the changelog for the specified build(s).
  • list-jobs: Lists all jobs in a specific view or item group.
  • list-plugins: Outputs a list of installed plugins.
  • login: Saves the current credential to allow future commands to run without explicit credential information.
  • logout: Deletes the credential stored with the login command.
  • mail: Reads stdin and sends that out as an e-mail.
  • offline-node: Stop using a node for performing builds temporarily, until the next "online-node" command.
  • online-node: Resume using a node for performing builds, to cancel out the earlier "offline-node" command.
  • quiet-down: Quiet down Jenkins, in preparation for a restart. Don’t start any builds.
  • reload-configuration: Discard all the loaded data in memory and reload everything from file system. Useful when you modified config files directly on disk.
  • restart: Restart Jenkins
  • safe-restart: Safely restart Jenkins
  • safe-shutdown: Puts Jenkins into the quiet mode, wait for existing builds to be completed, and then shut down Jenkins.
  • session-id: Outputs the session ID, which changes every time Jenkins restarts
  • set-build-description: Sets the description of a build.
  • set-build-display-name: Sets the displayName of a build
  • set-build-parameter: Update/set the build parameter of the current build in progress
  • set-build-result: Sets the result of the current build. Works only if invoked from within a build.
  • set-external-build-result: Set external monitor job result.
  • set-next-build-number: Set build number to be used for next build.
  • shutdown: Immediately shuts down Jenkins server
  • update-job: Updates the job definition XML from stdin. The opposite of the get-job command
  • update-node: Updates the node definition XML from stdin. The opposite of the get-node command
  • version: Outputs the current version.
  • wait-node-offline: Wait for a node to become offline
  • wait-node-online: Wait for a node to become online
  • who-am-i: Reports your credential and permissions

Reference –
https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI
http://stackoverflow.com/questions/18199355/jenkins-cli-authentication
http://stackoverflow.com/questions/16617232/jenkins-cli-public-key-authentication-where-to-put-my-public-key-in-jenkins

Monday, 10 February 2014 04:16

Know About Jenkins CLI

Written by

Running CLI
java -jar jenkins-cli.jar [-s JENKINS_URL] command [options...] [arguments...]

Getting help
java -jar jenkins-cli.jar -s yourserver.com help [command]

How to download jenkins-cli.jar?
The best place to download the Jenkins CLI jar is from your own Jenkins server. This means you’ll have the matching CLI version. Visit the /cli endpoint, such as http://yourserver.com/cli, and it will give you a link to download the jar (the /jnlpJars/jenkins-cli.jar endpoint). Download that jar.

Running commands against a secure Jenkins (basic auth or ssh keys)

If your Jenkins is secured, and it probably is so that you control who can create jobs, run jobs, view results, then the command above may fail and ask for credentials.
You have two options: provide --username & --password options to every command or provide -i option and provide the path to the ssh private key that matches the public key you provided to your user account.
For example:

$ java -jar jenkins-cli.jar -s http://myjenkins help --username me --password mypassword
$ java -jar jenkins-cli.jar -s http://myjenkins help -i ~/.ssh/id_rsa

Passing parameters when triggering a job build
To pass those same parameters via the CLI? You use the -p key=value flag for each parameter you want to pass.

So our finished product might look like:

$ java -jar jenkins-cli.jar -s http://myjenkins build 'Deploy XYZ App' -i ~/.ssh/id_rsa -s -v -p target_env=api.cloudfoundry.com -p branch=master

How to get all commands for Jenkins CLI-
Run > http://yourserver.com/cli

java -jar jenkins-cli.jar -s http://fmsscm.corp.intuit.net/qbo-qa/ help

Available Commands

  • build: Builds a job, and optionally waits until its completion.
  • cancel-quiet-down: Cancel the effect of the "quiet-down" command.
  • clear-queue: Clears the build queue
  • connect-node: Reconnect to a node
  • console: Retrieves console output of a build
  • copy-job: Copies a job.
  • create-job: Creates a new job by reading stdin as a configuration XML file.
  • create-node: Creates a new node by reading stdin as a XML configuration.
  • delete-builds: Deletes build record(s).
  • delete-job: Deletes a job
  • delete-node: Deletes a node
  • disable-job: Disables a job
  • disconnect-node: Disconnects from a node
  • enable-job: Enables a job
  • get-job: Dumps the job definition XML to stdout
  • get-node: Dumps the node definition XML to stdout
  • groovy: Executes the specified Groovy script.
  • groovysh: Runs an interactive groovy shell.
  • help: Lists all the available commands.
  • install-plugin: Installs a plugin either from a file, an URL, or from update center.
  • install-tool: Performs automatic tool installation, and print its location to stdout. Can be only called from inside a build.
  • keep-build: Mark the build to keep the build forever.
  • list-changes: Dumps the changelog for the specified build(s).
  • list-jobs: Lists all jobs in a specific view or item group.
  • list-plugins: Outputs a list of installed plugins.
  • login: Saves the current credential to allow future commands to run without explicit credential information.
  • logout: Deletes the credential stored with the login command.
  • mail: Reads stdin and sends that out as an e-mail.
  • offline-node: Stop using a node for performing builds temporarily, until the next "online-node" command.
  • online-node: Resume using a node for performing builds, to cancel out the earlier "offline-node" command.
  • quiet-down: Quiet down Jenkins, in preparation for a restart. Don’t start any builds.
  • reload-configuration: Discard all the loaded data in memory and reload everything from file system. Useful when you modified config files directly on disk.
  • restart: Restart Jenkins
  • safe-restart: Safely restart Jenkins
  • safe-shutdown: Puts Jenkins into the quiet mode, wait for existing builds to be completed, and then shut down Jenkins.
  • session-id: Outputs the session ID, which changes every time Jenkins restarts
  • set-build-description: Sets the description of a build.
  • set-build-display-name: Sets the displayName of a build
  • set-build-parameter: Update/set the build parameter of the current build in progress
  • set-build-result: Sets the result of the current build. Works only if invoked from within a build.
  • set-external-build-result: Set external monitor job result.
  • set-next-build-number: Set build number to be used for next build.
  • shutdown: Immediately shuts down Jenkins server
  • update-job: Updates the job definition XML from stdin. The opposite of the get-job command
  • update-node: Updates the node definition XML from stdin. The opposite of the get-node command
  • version: Outputs the current version.
  • wait-node-offline: Wait for a node to become offline
  • wait-node-online: Wait for a node to become online
  • who-am-i: Reports your credential and permissions

Reference –
https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI
http://stackoverflow.com/questions/18199355/jenkins-cli-authentication
http://stackoverflow.com/questions/16617232/jenkins-cli-public-key-authentication-where-to-put-my-public-key-in-jenkins

Thursday, 16 May 2013 12:11

Buildforge common Issues and Troubleshooting

Written by
Know about the BuildForge Server before Troubleshooting.

1. What is the Full version of Build Forge being used
(for example Build Forge  7.1.2.2-1-0111).This can be obtained under the console interface by hovering the mouse over the Build Forge icon in the upper left hand corner.
                                                        
2. What is Full version of operating system for both the Management Console and the agent host (used for the selector)

for example Windows XP Professional SP3 32 bit)
   > AIX = oslevel
   > HP-UX = uname -r
   > Solaris = uname -r
   > Red Hat = cat /etc/redhat-release
   > SUSE = cat /etc/SuSE-release
   > Windows = winver (in a command (cmd) window)
  
3. What is the Full version of the database being used.

4. In What situtation and how, When did the behavior first start to occur?

5. Need to Refer Tomcat (Catalina) logs on the Build forge Server. 
UNIX/Linux ($BF_HOME/server/tomcat/logs/log_from_date_of_error.log) We will only require the Tomcat Catalina log for today's date or the date you first encountered the error, i.e. catalina.2012-01-17.log

6. Need to Refer Build Forge engine log
UNIX/Linux ($BF_HOME/log)

7. Need to review database log
UNIX/Linux ($BF_HOME/Platform/db.log)



Issues 1 - API: Access denied.
Solution - Click Here

Issues 2: Build forge Consol gets slow after login

Issues 3:
API: Access denied while accessing Environments Menu.

Issues 4: Error message in catalina.DATE.log"A valid Engine Unique Identifier must be specified"

Issues 5: Once copying one Environment varibale and duplicating multiple times. Error Occured after copying 7th times same variables. Post login, once You clicks on "Environments" left navigation, Everyone gets Error called "API: Access denied" on page.



Wednesday, 28 April 2010 09:02

ANTHILLPRO COMPARISON WITH ATLASSIAN BAMBOO

Written by

ANTHILLPRO COMPARISON WITH ATLASSIAN BAMBOO
AnthillPro Vs Bamboo OR
Difference between AnthillPro and Bamboo OR

Last month i was discussing with Eric Minick from Anthillpro on Why Build Engineer should be go for AnthillPro instead of Bamboo and i found some interesting inputs which i am sharing below;

Introduction

Bamboo is a respectable team level continuous integration server. Continuous Integration servers are focused on providing feedback to developers about the quality of their recent
builds, and how that compares to previous builds. While AnthillPro also provides continuous integration features, it pays special attention to what hAnthillpropens after build time.
Where is the build deployed? How does it get tested in the hours, days and weeks after the build occurs? Who releases the software and how?

The distinction in focus between the two solutions shows up in their features. Both AnthillPro and Bamboo provide continuous integration support and integrations with
numerous tools. Only AnthillPro provides the features required to take a build through the release pipeline into production – rich security, build lifecycle management, eAtlassian Bamboo.
For the purposes of this document, we will use the following product aAtlassian Bambooreviations:


Lifecycle Management

There is a lot more to implementing true lifecycle management than simply using the term in marketing and sales materials. The lifecycle extends across multiple processes in
addition to the build process. Most tools have had a very narrow view of this space and have focused their energies purely on the build process. The end result is that true lifecycle
management is an afterthought, and it shows in the features (or lack thereof) in their products. A continuous integration

Pipeline Management

As the lifecycle is made up of multiple processes (such as the build, deployments, tests, release, and potentially others), a lifecycle management tool must provide some means of
tracking and managing the movement of a build through the lifecycle stages. Without this feature, there is nothing to connect a build process execution to a deployment process
execution to a test process execution; thus the end user has no way of knowing what build  actually got tested. Without this pipeline management feature (which we call the Build
Life), traceability between processes is completely absent from the tool.

Atlassian Bamboo: No pipeline management out of the box.
Anthillpro: Provides pipeline management out‐of‐the‐box. Anthillpro has a first‐class concept called the Build Life. The Build Life represents the pipeline and connects the build process to later
processes like deployments into QA, Anthillproprovals by managers, functional testing, and release to production. The pipeline (Build Life) provides guaranteed traceability throughout all
processes in the lifecycle, and provides a context for collecting logs, history, and other data gathered throughout the lifecycle.

Artifact Management

Key to lifecycle management is the ability to connect the outputs of a prior process (such as the build) to the inputs of a subsequent process (such as a deployment). After all, the
deployment process needs to have something to deploy. Ideally, the deployment process would deploy the artifacts produced by the build process. And the test process would run
tests on those same artifacts. The ability to cAnthillproture and manage the artifacts created by a build and other processes is central to this effort. Ideally, the artifacts would be managed
by an artifact repository (a Definitive Software Library (DSL) under ITIL). Further, as hundreds or thousands of builds hAnthillpropen, support for discarding old builds needs to
intelligently remove builds that are no longer interesting. Anthillpro bundles a binary artifact repository called CodeStation.

Atlassian Bamboo: Bamboo does cAnthillproture built artifacts but does not have a robust artifact management system. It does not maintain artifact checksums for validation. Old builds may be archived
after a certain number of weeks, but there is no designation for builds that have been to or are potentially going to production that would use a different retention policy. Artifacts are available for user download, but are not accessible for reuse by other plans or deployments.

Anthillpro: Built‐in artifact management system (DSL) called CodeStation. The cAnthillproture, fingerprint and management of artifacts is essential to the solution. This allows AnthillPro to guarantee traceability of artifacts from the build, through deployment, through testing, and into release (in other words, AnthillPro guarantees that what is released into production is what was tested and built). A maximum number of builds or age to keep can be set per project and per status. This means that builds that were released can be kept longer than a simple continuous integration build.

Security

Especially as servers address functionality before the build – deployments or tests to various environments, controlling who can do what within the system can be key element
securing the system and providing clear separation of duties. Once something has been done, it can be equally important to find out who ran which processes.

Authentication and Authorization

Atlassian Bamboo: Basic role based security. Users may be assigned roles and permissions at the project level. Integration with LDAnthillpro, compliments internally managed security.

Anthillpro: AnthillPro provides a rich role based security system, allowing fine‐grained control over who can see which project, run which workflows and interact with which
environments. The Authentication system supports internally managed, single sign on systems, LDAnthillpro, Kerberos (Active Directory), and JAnthillproS modules.

Secure Value Masking

Many “secrets” are used when building and deploying. Passwords to source control, servers, and utilities are often needed to execute build, deploy, test processes.

Atlassian Bamboo: No facility for securely storing Anthillproplication passwords or obfuscating them from the logs. Bamboo does manage to write libraries for some integrations that avoid passing the
password where the logs can see that line. It has no facility that we can see for flagging a command line parameter that will be logged as secure and filtering that value from the log.

Anthillpro: Sensitive values like Anthillproplication passwords are automatically filtered out of logs, hidden in the user interface, entered through password fields, and stored in the database encrypted with a triple DES one time key.

Process Automation & The Grid

Grouping Agents
In a distributed environment, managing your build and deployment grid needs to be easy.

Atlassian Bamboo: Agents are added into a fairly uniform pool. Agents can define broad cAnthillproabilities they provide and jobs can define what cAnthillproabilities they need to perform matchmaking.

Anthillpro: AnthillPro provides the concept of an environment. Environments are groups of servers. A build farm for a class of projects could be one environment while the QA environment for another project would be another environment. This allows for roaming – or deploying to everything – to span just the machines in an environment. Jobs can be
assigned to a single machine, or roam, or select machines based on criteria like processor type, operating system, or customized machine cAnthillproabilities.

Complex Process Automation


Atlassian Bamboo: Bamboo runs full plans on a single agent. While different agents can be running various builds in parallel, any given plan is executed on just a single agent.

Anthillpro: AnthillPro provides a rich workflow engine, which allows jobs to be run in sequence, parallel, and combinations thereof. Jobs can also be iterated so that they run multiple times with slight variations in their behavior on each execution. This allows parallelization that takes advantage of numerous agents. This facility also makes sophisticated deployments possible.

Cross Site Support


Atlassian Bamboo:
Bamboo provides no special support for agents (slaves) that exist outside the local network.

Anthillpro: AnthillPro is architected with support for an cross‐site, even international, grid. Agent relays and location specific artifact caches assist in easing the configuration and
performance challenges inherent in deployment involving multiple sites.

Dependency Management

Component based development and reuse are concepts that get a lot of lip service but few if any features from most vendors. Only AnthillPro provides features to enable component based development and software reuse. A flexible dependency management system is part of the built‐in feature set of AnthillPro. The dependency management system is integrated with the bundled artifact repository and with the build scheduler so that builds can be pushed up the dependency grAnthillproh and pulled down the dependency grAnthillproh as configured. Integration with Maven dependency management provides an integrated system.

Atlassian Bamboo: Provides some basic support for build scheduling based on dependencies. A build of one project can kick off a build of it’s dependents and some blocking strategies can prevent wild numbers of extra builds being generated. Bamboo does not provide any tie in between dependency triggering and build artifacts – sharing artifacts between projects is left to the team to figure out with an external tool such as Anthillproache Maven.

Anthillpro: Support for dependency relationships between projects out‐of‐the‐box. AnthillPro provides a rich set of features for relating projects together. Large projects often have tens
or hundreds of dependencies on sub‐projects, common libraries and third party libraries. At build time the dependency system can calculate which projects need to be rebuilt based on changes coming in from source control. At build time, artifacts from dependency projects are provided to the dependants with version traceability and tracking.

AnthillPro provides highly customizable build scheduling and artifact sharing to these projects. In a “pull” model, anytime a top level project is built, it’s dependencies are inspected to see if they are up‐to‐date. If not, they are first built, then the top level project is built. In a “push” model, builds of dependencies will trigger builds of their dependents. AnthillPro interprets the dependency grAnthillproh to avoid extra builds or premature builds. In the case of Maven projects, AnthillPro can simply provide the scheduling or cooperate with Maven to provide traceable artifact reuse.

Summary

While both tools have a lot of similarities, AnthillPro’s Lifecycle Management, Dependency Management, and full featured Security cAnthillproabilities set it Anthillproart. Only AnthillPro supports
complete end‐to‐end traceability across all the phases of Build, Deploy, Test, and Release. While Bamboo is likely an effective team level continuous integration server, AnthillPro is a proven solution for enterprises looking to automate the full lifecycle of a build. For build and release automation the technology leader since 2001 is AnthillPro. We were
the first to release a Build Management Server. We were the first to recognize the need for comprehensive lifecycle management (beyond just build management), and we were the
first to release features required to deliver on the vision. We have been very successful at enterprise level RFPs and have added hundreds of customers including some of the leading banks, insurance companies, and high‐technology companies in the world. Our dedication to solving the problems faced by our customers means that we are very responsive to feature and enhancement requests with turn around times measured in days or weeks instead of months and quarters. Urbancode delivers the leading product in its space, the expertise to roll it out, and caring support for our customers to ensure their continued success.

Tuesday, 09 March 2010 06:41

Cloud Computing-Maximumbit Inc

Written by

Cloud Computing is an emerging computing technology that uses the internet and central remote servers to maintain data and applications. Cloud computing allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth. Cloud computing is broken down into three segments: “applications,” “platforms,” and “infrastructure.” Each segment serves a different purpose and offers different products for businesses and individuals around the world.

Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any subscription-based or pay-per-use service that, in real time over the Internet, extends IT’s existing capabilities.

In June 2009, a study conducted by Version One found that 41% of senior IT professionals actually don’t know what cloud computing is and two-thirds of senior finance professionals are confused by the concept, highlighting the young nature of the technology. In Sept 2009, an Aberdeen Group study found that disciplined companies achieved on average an 18% reduction in their IT budget from cloud computing and a 16% reduction in data center power costs.

Depending on who you are talking to, you will see different perceptions about what Cloud Computing actually is, from the simplest web-hosted solutions right through to virtualized processing environments with Web-Service initiated provisioning and decommissioning.

The main challenges for Cloud Computing before it is likely to enjoy wide-spread adoption are the following:

Persistence & Availability – The ability to continue working during outages or the ability to mitigate outages.
Privacy and National Security Concerns – The hosting of information outside of your country’s borders does concern Public Sector organizations. The US Patriot Act for example is a concern for some countries in adopting cloud services. It is thought that Country-silted Clouds may be able to address this.
Geo-Political Information Management Concerns – The Political risk a country takes on by housing information for another country.

Cloud Computing is all about:

1. SaaS (Software as a Service)


These type of cloud computing delivers a single application through the browser to thousands of customers using a multitenant architecture. On the customer side, it means no upfront investment in servers or software licensing; on the provider side, with just one app to maintain, costs are low compared to conventional hosting.

2. Utility computing


The idea is not new, but this form of cloud computing is getting new life from Amazon.com, Sun, IBM, and others who now offer storage and virtual servers that IT can access on demand. Early enterprise adopters mainly use utility computing for supplemental, non-mission-critical needs, but one day, they may replace parts of the datacenter. Other providers offer solutions that help IT create virtual datacenters from commodity servers, such as 3Tera’s AppLogic and Cohesive Flexible Technologies’ Elastic Server on Demand. Liquid Computing LiquidQ offers similar capabilities, enabling IT to stitch together memory, I/O, storage, and computational capacity as a virtualized resource pool available over the network.

3. Web services in the cloud


Closely related to SaaS, Web service providers offer APIs that enable developers to exploit functionality over the Internet, rather than delivering full-blown applications. They range from providers offering discrete business services to the full range of APIs and even conventional credit card processing services.

4. Platform as a service


Another SaaS variation, this form of cloud computing delivers development environments as a service. You build your own applications that run on the provider’s infrastructure and are delivered to your users via the Internet from the provider’s servers.

5. MSP (managed service providers)


One of the oldest forms of cloud computing, a managed service is basically an application exposed to IT rather than to end-users, such as a virus scanning service for e-mail or an application monitoring service (which Mercury, among others, provides). Managed security services delivered by Secure Works, IBM, and Verizon fall into this category, as do such cloud-based anti-spam services as Postini, recently acquired by Google. Other offerings include desktop management services, such as those offered by Center Beam or Ever dream.

6. Service commerce platforms


A hybrid of SaaS and MSP, this cloud computing service offers a service hub that users interact with. They’re most common in trading environments, such as expense management systems that allow users to order travel or secretarial services from a common platform that then coordinates the service delivery and pricing within the specifications set by the user. Think of it as an automated service bureau. Well-known examples include Rearden Commerce and Ariba.

7. Internet integration


The integration of cloud-based services is in its early days. OpSource, which mainly concerns itself with serving SaaS providers, recently introduced the OpSource Services Bus, which employs in-the-cloud integration technology from a little startup called Boomi. SaaS provider Workday recently acquired another player in this space, CapeClear, an ESB (enterprise service bus) provider that was edging toward b-to-b integration. Way ahead of its time, Grand Central — which wanted to be a universal “bus in the cloud” to connect SaaS providers and provide integrated solutions to customers — flamed out in 2005.


Citrix Cloud Center

C3 is designed to give cloud providers a complete set of service delivery infrastructure building blocks for hosting, managing and delivering cloud-based computing services. C3 includes a reference architecture that combines the individual capabilities of several Citrix product lines to offer a powerful, dynamic, secure and highly available service-based infrastructure ideally suited to large-scale, on-demand delivery of both IT infrastructure and application services. This architecture consists of four key components:

Platform – Powered by Citrix XenServerTM Cloud Edition:  The new XenServer Cloud Edition is a powerful virtual infrastructure solution optimized for service provider environments. It combines the cloud-proven scalability of the Xen® hypervisor which powers most of the world’s largest clouds, with all the virtualization management and dynamic workload provisioning capabilities of the full Citrix XenServer product line enabling cloud providers to host and manage any combination of Windows® and Linux environments. XenServer Cloud Edition also features an innovative consumption based pricing model to meet the needs of service providers that charge their customers based on metered resource use.

Delivery – Powered by Citrix® NetScaler’s®:  Through its rich policy-based AppExpert engine, Citrix NetScaler’s delivers cloud-based resources to users over the Web, continually optimizing user application performance and security by dynamically scaling the number of virtual machines (VMs) or servers available in response to changing workload demands and infrastructure availability. This allows cloud providers to balance workloads across large distributed cloud environments and transparently redirect traffic to alternate capacity on or off premise in the event of network failures or datacenter outages.  NetScaler’s can also dramatically reduce server requirements in large cloud centers by offloading protocol and transaction processing from backend server pools. NetScaler’s proven architecture is designed for highly scalable, multi-tenant Web applications and delivers Web services to an estimated 75 percent of all Internet users each day.

Bridge – Powered by Citrix WANScaler:  As larger enterprises begin experimenting with cloud-based services for parts of their own infrastructure and application hosting strategy, cloud providers will also need reliable and secure ways to provide a seamless bridge between hosted cloud services and premise-based enterprise services. Over time, C3 will incorporate a set of open interfaces that allow customers to easily move virtual machines and application resources into a cloud-based datacenter and back again as needed. WANScaler technology will play a critical role in this enterprise bridge by accelerating and optimizing application traffic between the cloud and the enterprise datacenter, even over long distances.

Orchestration – Powered by Citrix Workflow Studio TM: Tying it all together, Citrix Workflow Studio provides a powerful orchestration and workflow capability that allows the products in the C3 portfolio to be dynamically controlled and automated, and integrated with customer business and IT policy. Workflow Studio allows customers to control their infrastructure dynamically–integrating previously disconnected processes and products into a single powerful, orchestrated and cohesive system. This unique capability will make it easier for cloud providers to enable highly efficient burst able clouds that automatically scale resources up and down based on demand, shifting hardware resources to where they are most needed and powering them down for maximum power savings when not needed.

Today, with such cloud-based interconnection seldom in evidence, cloud computing might be more accurately described as “sky computing,” with many isolated clouds of services which IT customers must plug into individually. On the other hand, as virtualization and SOA permeate the enterprise, the idea of loosely coupled services running on an agile, scalable infrastructure should eventually make every enterprise a node in the cloud. It’s a long-running trend with a far-out horizon. But among big megatrends, cloud computing is the hardest one to argue with in the long term.

Tuesday, 09 March 2010 06:39

Cloud Computing: The Computer is out the Window!

Written by

Debates have been heating up about Cloud Computing (CC). Biggest challenge is security and bigger bigger challenge is ‘control’ of a company’s tech assets. The only limitation so far has been internet bandwidth, reason why it took CC a while to become mainstream. Futurists such as Nicolas Negroponte saw it coming a while back and evangelized about it repeatedly in his book ‘being digital’ (a masterpiece). Entrepreneurs like Marc Andreessen saw the opportunities early and started Loud Cloud back in 1999 (now Opsware) and Amazon today generates millions in revenue because of Amazon Web Services (Amazon launched its Elastic Compute cloud (EC2) for companies to use back 2006: yes, commercially). What really triggered CC is none other than Web 2.0: all them browser-based enterprise applications! In Summary: we’ve all contributed to Cloud Computing, without realizing it. You’ve been using Cloud Computing.

Cloud Computing is fantastic for emerging economies and their speed in adopting ‘affordable’ new technology. Look what’s happening in Africa, where mobile internet and new telecom infrastructures are making it possible to leap into internet adoption. So why a computer in the first place. Computers are becoming more of a luxury item vs. a need?

Conclusion: Cloud Computing is not a trend, but a major shift in how we ’smartly’ manage technology. For those who are still in denial and resisting change, they’re already lagging and need to catch up fast, cuz that computer is out of the Window!

Great reference here on the history of CC and how far it dates back (60’s) thanks to Computer Weekly http://tinyurl.com/yj7rln3

Tuesday, 09 March 2010 06:36

Cloud Computing Selection: Cloud Infrastructure

Written by

There are list of solution which provides Cloud Infrastructures for Hardware as a service (HAAS) or Software as a Services(SAAS).


AllenPort
AllenPort’s technology handles file management chores like backup, file sharing, disaster recovery, remote access and managing user requirements.

AppZero
AppZero offers OS-free Virtual Application Appliances that are self-contained, portable units, meaning enterprises can experiment with moving applications to the cloud while avoiding cloud lock-in.

Boomi
Boomi and its AtomSphere connect any combination of cloud and on-premise applications without software or appliances.

CA
NetQoS’s monitoring prowess and Cassatt’s data center automation and policy-based optimization expertise, CA can boost the functionality of its Spectrum Automation Manger to let it manage network and systems traffic in both public and private cloud computing environments.

Cast Iron Systems

Cast Iron offers an option for integrating SaaS applications with the enterprise. That method, which involves configuration, not coding, can in some cases slash integration costs up to 80 percent.

Citrix
Citrix Cloud Center (C3) ties together virtualization and networking products, arming cloud providers with a virtual infrastructure platform for hosted cloud services. The service, which is available on a monthly, usage-based pricing model and support mode, is an architecture comprising five key components: a platform powered by Citrix XenServer; applications and desktop services via Citrix XenApp; delivery powered by Citrix NetScaler; a bridge using Citrix Repeater; and orchestration through Citrix Workflow Studio.

Elastra
Elastra makes software that enables enterprises to automate modeling, deployment and policy enforcement of the application infrastructure. Its products tie in with provisioning and virtualization tools. Elastra’s Enterprise Cloud Server software handles the management and provisioning of complex systems. Users can quickly model and provision application infrastructure; automate changes to the system deployment process; efficiently utilize internal, external and virtualized resources on demand and enforce IT policy rules. Elastra Cloud Server can also run on Amazon Web Services.

EMC
With its Atmos and Atmos onLine offerings, EMC is evangelizing its approach to the cloud to deliver scalability, elasticity and cost savings by building, virtualizing and deploying services and applications. Atmos onLine is a cloud storage service built on Atmos, EMC’s policy-based information management platform. EMC Atmos onLine provides Cloud Optimized Storage, or COS, capabilities for moving and managing large amounts of data with reliable service levels and in a secure fashion.

Informatica
Informatica basically pioneered cloud computing for data integration, offering a host of offerings for customers of various shapes and sizes. It offers fast and easy pay-as-you-go and pay-for-use options that let users move data into or out of the cloud or manage data within the cloud of from one app to another.

NetApp
Call it IT-as-a-Service (ITaaS) or call it an enterprise cloud infrastructure. Data ONTAP 8, NetApp’s latest cloud computing infrastructure, ties together its two previously separate platforms: Data ONTAP 7G and Data ONTAP GX. It delivers improved data management functions and tighter integration with data center management systems. Ultimately, NetApp Data ONTAP 8 enables storage, server, network and applications layers to talk to each other.

New Relic
New Relic is running full throttle with its RPM offering, an on-demand performance management tool for Web applications. It takes only minutes to implement and offers visibility and code-level diagnostics for Web apps deployed in both private and public clouds, along with traditional and dedicated infrastructures, and any combination thereof. With RPM, New Relic delivers real-time metrics, unlocking the ability to monitor, troubleshoot and fine tune app performance in the cloud.

Novell
Novell is looking to the cloud to tie together all things IT. It is combining products like Moblin, a cloud-centric desktop OS developed by Novell and Intel; the SUSE Appliance Program, a program for ISVs to build software appliances and receive go-to-market support; Novell Cloud Security Service; and PlateSpin Workload Management Solutions for IT managers.

Open Nebula
This open-source toolkit fits snuggly into existing data center environments to build any type of cloud deployment. OpenNebula can be used to manage virtual infrastructure in the data center or to manage a private cloud. It also supports hybrid clouds to combine local infrastructure with public cloud infrastructure for hosting environments. Additionally, it supports public clouds by offering cloud interfaces to expose its functionality for virtual machine, storage and network management.

OpSource
OpSource is all about cloud operations, offering everything from an enterprise-grade cloud infrastructure to fully managed hosting and apps management. Essentially, OpSource Cloud is a virtual private cloud within the public cloud, giving users control over their degree of Internet connectivity. Meanwhile, OpSource On-Demand combines technical operations, application operations and business operations into a Web operations offering that includes application management, compliance and business services. Lastly, OpSource Billing CLM is a self-service offering for SaaS and Web customer on-boarding, subscription management and payment processing.

Paglo
This IT search and management service startup recently launched its Log Management application to let IT managers capture and store their logs as well as search and analyze them in the cloud. Paglo compares it to a Google-like search for logs, collecting data from all network devices. Paglo has also recently launched a new application to monitor Amazon EC2 application instances, such as disk reads and writes, CPU utilization and network traffic. Users can access the cloud-based information from any Web browser.

RightScale
RightScale’s Cloud Management Platform eases deploying and managing apps in the cloud and enables automation, control and portability. The platform helps users get into the cloud quickly with cloud-ready ServerTemplates and best-practice deployment architectures. And users retain complete visibility into all levels of deployment by managing, monitoring and troubleshooting applications. Lastly, RightScale’s Cloud Management Platform helps users avoid lock-in by letting them choose their deployment language, environment, stack, data store and cloud for portability.

Stoneware
Stoneware’s mission is simple: To enable organizations to move from a client-centric to a Web-based, private cloud computing environment. With products aimed specifically at core verticals education, healthcare, manufacturing, legal, financial and enterprise Stoneware offers private cloud technology that is being used to create solutions that enable organizations to access applications, content, data and services from anywhere in a secure fashion.

VMware
Last August, VMware acquired SpringSource which provides Web application development and management services. SpringSource speeds the delivery of applications in the cloud using a process that has become known as lean software. VMWare also acquired Hyperic, an open-source monitoring and troubleshooting vendor. The VMWare-SpringSource-Hyperic trifecta creates an amalgamation that ties together VMWare’s virtualization vision, SpringSource’s strong development tools and application servers as well as Hyperic’s monitoring.

Zeus Technology
Zeus gives users the ability to create, manage and deliver online services in cloud, physical or virtual environments, letting companies visualize and manipulate the flow of traffic to Web-enabled apps. And early this year, they will release the Zeus Cloud Traffic Manager so customers can monitor and control cloud usage, offering a single control point for distributed applications, reporting on datacenter usage and allowing for goals like cost, SLA, security and compliance to be applied.

Thursday, 25 February 2010 09:53

Advance Features of Smart Build Tools

Written by

Table of Contents
Agile Development Challenges
Deployment Challenges
Build Acceleration Challenges
Integration with Elastic and Cloud Computing
Workflow Management
Reference:


Agile Development Challenges

Two of the core principles of agile development are: "deliver working code frequently" and "working software is the primary measure of progress." More and more teams, from ISVs to enterprise IT groups, are recognizing the quality and productivity benefits of integrating early and often. Whether you want to just build and test more frequently or implement a comprehensive agile process, you'll need to ensure that your build and test process is:

  • fast
  • automated (not requiring manual intervention)
  • reliable (broken builds are the enemy of an agile approach)

Addressing the build-test-deploy process is one of the best first steps toward an agile development model.


Agile Development  Challenge

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

Impact

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

Builds require manual intervention

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

Integrating often will overwhelm a manual build process

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

Slow build cycle (whether long individual builds or a large number of build targets)

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

Long builds limit the number of iterations possible in a day
Builds longer than ~30 minutes rule out Continuous Integration

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

Developers introducing errors during integration or production builds

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

If developers can't do preflight builds and tests on all targets/platforms prior to check-in, Continuous Integration can turn into Continuously Broken Builds

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

http://electric-cloud.com/images/common/spacer.gif

Deployment Challenges

Deployment of a real world application is a complex, and all-too-often, a manual process. The complexity comes from the fact that the application may need to be deployed to any number of environments: Development (DEV), Quality Assurance (QA), User Acceptance Testing (UAT), Pre-production (STAGE), and Production (PROD). Each of these environments is typically slightly different requiring different accounts, password, and setting and thus it may seem like manual intervention is required.
Complicating matters is the fact that today's business applications comprise multiple moving parts that all need to be synchronized and deployed together. For example, a typical J2EE application can be made up of an EAR file, database changes, some static content, and environment changes (such as JDBC connection pools, Message Queues, etc.). Making sure that all these pieces get deployed on the correct machines and in the correct order can feel like a daunting task, especially if you need to repeat it for each environment. Keep in mind that each environment may have a different number of database servers, application server, HTTP server, etc.

Build Acceleration Challenges

Slow software build cycles are more than just an annoyance. Whether you have long monolithic builds or a large number of smaller builds that take a long time, they are having a real impact on your development organization.

  • Wasted time, frustration waiting for builds
  • Fixing broken builds delays testing
  • Fewer bugs fixed, fewer features added
  • Developers avoid builds
  • QA may skip tests to meet deadlines

A recent survey of more than 350 development professionals found that 68% reported broken builds at least a few times per month (and often weekly), and fixing those typically wasted 2 weeks per year. The majority said their builds were each more than 1 hour long, with 24% reporting builds of 2-4 hours, which translates to time not spent creating great software.

Integration with Elastic and Cloud Computing

In a large infrastructure with many projects, the CI server often experiences variable task loads with unpredictable load peaks (such as during releases). In an environment with fixed resources, this leads to build queue growths, increased build times, and poor build scheduling control.
Computing clouds such as Amazon EC2 provide a nice and efficient way to scale resources to fulfill variable demands with random load spikes. Such rapid demand growths is exactly what happens in Build Server during CI "rush hours," when everyone starts personal builds before going home, and also during pre-release days, when every new fix needs another round of unit tests, and build feedback time becomes mission-critical.
Build Server utilizes EC2 via virtual build agents. Virtual build agents are similar to standard ones, except that they run on virtual instances on the Amazon EC2. This means that Build Server is able to dynamically start as many instances of such agents as needed, in order to keep the build queue under control under high loads. Additionally, Build Server can shut down virtual build agents when they are not needed anymore, to minimize EC2 instances uptime.
While being a great solution for mitigating peak loads and maintaining constant build feedback time, Amazon EC2 integration also provides great cost optimization opportunities, as each resource accumulates costs only while in use.

Workflow Management

In recent years, build management solutions have provided even more relief when it comes to automating the build process. Both commercial and open source solutions are available to perform more automated build and workflow processing. Some solutions focus on automating the pre and post steps around the calling of the build scripts, while others go beyond the pre and post build script processing and drive down into streamlining the actual compile and linker calls without much manual scripting.

Tools Comparison


 

OpenMake

Bamboo

AnthillPro

TeamCity

Electric Cloud

Agile Support

YES

YES

YES

YES

YES

Deployment

YES

NO

YES

No

YES

Remote Agent

YES

YES

YES

YES

YES

Cloud - Elastic

NO

YES

No

YES

YES

WorkFlow Mgmt

YES

YES - Limited

YES

YES - Limited

YES, Limited

 






 

Reference:

http://www.electric-cloud.com
www.anthillpro.com
http://www.atlassian.com
www.jetbrains.com/teamcity
http://www.openmakesoftware.com

Thursday, 25 February 2010 09:45

Installation and Configuration: Bamboo

Written by

Bamboo is available in two 'distributions' — Standalone or EAR-WAR. The Standalone distribution is recommended (even for organisations with an existing application server environment).
Standalone Installation Guide — Windows

Download and Install Bamboo Standalone for Windows (Windows Installer)

·  Download Bamboo Standalone for Windows. Bamboo Standalone for Windows is available for download from the Bamboo Download Center. Choose the Windows Installer (.exe) download.
·  Launch the Bamboo Windows installer (atlassian-bamboo-x.x-standalone.exe) to begin the installation wizard.
·  The installer requires you to specify two directories:
Bamboo installation directory — This is the directory where Bamboo's application files will be installed. The default is:
C:/Program Files/Bamboo
Bamboo home directory — This is the directory where Bamboo will store its configuration data. If the directory you specify doesn't exist, Bamboo will create the directory when it launches. The default is:
C:/Documents and Settings//Bamboo-home
Note: You must use forward-slashes in your directory path. Backslashes are not recognised by Bamboo. Please ensure that the Bamboo home directory is not located inside the Bamboo installation directory

Download and Install Bamboo Standalone for Windows (ZIP Archive)

 ·  Download Bamboo Standalone for Windows. Bamboo Standalone for Windows is available for download from the Bamboo Download Center. Choose the ZIP Archive (.zip) download (click the 'Show all' link to show the 'ZIP Archive' download link).
·  Extract the files from the ZIP Archive (atlassian-bamboo-x.x-standalone.zip) to a Bamboo installation directory of your choice. By default, the root directory in your zip file is named "Bamboo".
·  Set up your Bamboo home directory — this is the directory where Bamboo will store its root configuration data. To do this, edit the file named bamboo-init.properties in the Bamboo/webapp/WEB-INF/classes directory. In this file, insert the property "bamboo.home", with an absolute path to your Bamboo home directory. Your file should look something like this:

    bamboo.home=C:/test/bamboo-home

Alternatively, you can specify an environment variable 'BAMBOO_HOME' which specifies the absolute path to your {BAMBOO_HOME} directory. Bamboo will check if an environment variable is defined.
·  If you are going to use Bamboo remote agents, set the following in the bamboo-init.properties file in the /webapp/WEB-INF/classes directory:
bamboo.jms.broker.uri=tcp://localhost:54663

  • Replace 'localhost' with the real host name or IP address of your Bamboo server.
  • If port number 54663 is already in use, specify a different port number.

Launch Bamboo

Launch via the Start Menu
If you have used the 'Windows Installer' to install Bamboo, you can start Bamboo via the Start Menu in Windows (generally under the 'Bamboo' folder by default). The following options will be available in your Start Menu:

  • 'Bamboo Continuous Integration Server Uninstaller' — uninstalls Bamboo from your computer
  • 'Install Service' — installs Bamboo as a Windows service (note, this will not start Bamboo)
  • 'Remove Service' — removes the Bamboo Windows service, if you have previously installed it (note, Bamboo will not be uninstalled from your computer)
  • 'Start in Console' — starts Bamboo in a Windows console
  • 'Start Service' — starts your installed Bamboo Windows service
  • 'Stop Service' — stops your installed Bamboo Windows service

You can run Bamboo in two modes, either in a Windows console or as a Windows service:

  • To run Bamboo in a Windows console, click the 'Start in Console' option.
  • To run Bamboo as a Windows service, click the 'Install service' option. After the service is installed, click 'Start Service'. Once you have installed Bamboo as a service, Bamboo will start up automatically every time Windows restarts.

Launch via batch file
You can start Bamboo via the batch files that are shipped with Bamboo. If you have installed Bamboo via the ZIP Archive, you will need to use the batch files to start Bamboo. You can find the following batch files in your installation directory:

  • 'BambooConsole.bat' — this starts Bamboo in a Windows console.
  • 'InstallAsService.bat' — this installs Bamboo as a Windows service. Note that this will not start Bamboo.
  • 'StartBamboo.bat' — this starts your installed Bamboo Windows service.
  • 'StopBamboo.bat' — this stops your installed Bamboo Windows service
  • 'UninstallService.bat' — this un-installs the Bamboo Windows service from your machine. Note that your Bamboo installation still remains.

You can run Bamboo in two modes, either in a Windows console or as a Windows service:

  • To run Bamboo in a Windows console, run 'BambooConsole.bat'
  • To run Bamboo as a Windows service, run 'InstallAsService.bat'. After the service is installed, run 'StartBamboo.bat'. Once you have installed Bamboo as a service, Bamboo will start up automatically every time Windows restarts.

Configure Bamboo

  1. Access your running Bamboo instance by going to your web browser and entering the address: http://localhost:8085/.
  2. Configure Bamboo via the Setup Wizard which will display. Read Running the Setup Wizard for further instructions.

For more details on Installation and Configuration, please review following links
http://confluence.atlassian.com/pages/viewpage.action?pageId=55246864

Thursday, 25 February 2010 09:41

Disadvantage of Bamboo

Written by

Bamboo Disappointment
Being a big fan of Atlassian's Confluence and Jira, it was with much anticipation that installed Bamboo, the continuous integration (CI) engine they've released. Perhaps these high expectations led to my ultimate disappointment with Bamboo, but truly the features I've come to expect in a commercial CI product are nowhere to be found.

No concept of inherited project structure.
If you have 20 modules you would like to build, defining behavior and properties for each is a daunting task. QuickBuild and AntHillPro both allow for a hierarchal organization of modules, so that a child may inherit properties (like environmental variables, build targets, etc) of its parent. In Bamboo, when creating a "Plan", I can clone an existing module, but that's it. Should I have the need to change a property for all plans, I'll be forced to configure each through the web GUI. A tedious process -- even with Cruisecontrol I could search & replace config.xml in a text editor to make wholesale changes.

Alien nomenclature
In Bamboo, you have top-level "projects", and beneath them you have "plans", which represent the modules being built. I've never used the word "plan" before when describing a module's build, and frankly the limited options offered by Bamboo to govern build behavior makes it a dubious word choice.

No passing of properties
It is sometimes desirable to direct a CI engine to pass arbitrary properties to one's build process, and vice versa. I don't mean "static" environmental variables, rather I refer to dynamic properties like "version number". No such functionality is present in Bamboo. Luntbuild and Quickbuild both allow for this using OGNL expressions.

No concept of build promotion
Most commercial CI products have evolved to include "Application Lifecycle Management", so you may describe how a build can go from being development-status to gold. Implicit in this is a workflow allowing QA to promote and release builds. None of this is even hinted at in Bamboo -- it does not even tag your build.

Reference:
http://poorinnerlife.blogspot.com/2007/09/bamboo-disappointment.html
http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix