I’m Cezary Statkiewicz and I’m Senior Software Engineer at Bitbar.com. One of our offerings is Android CTS integration with CI environment, so today I’d like to make a short introduction to CTS usage.
New fast continuous integration service in cloud improves R&D productivity and collaborative software development for the world’s first open mobile device maker
Helsinki, Finland – May 18, 2010 – Bitbar, the pioneer in cloud accelerated software integration solutions, delivers continuous integration as a Service for Aava Mobile, developer of the world’s first open mobile device.
I am continuing my series of promoting automated Agile tools as a true productivity enhancer for software development companies.
Forrester Research has recently released their latest Forrester Wave Trend report on Agile Development Management Tools, Q2 2010
The research is basically a commercial tool comparison, but has many interesting thoughts in general on Agile software development. Based on their research, Agile is becoming a norm in the industry. However, their interviews with the professionals reveal that scaling Agility is a common issue — and that scaling Agile practices requires implementing tools.
Many Agile practices require automation. To be effective, a sound automation foundation that supports automated test integration, code comparison, and integrated build management must be in place.
Then by aggregating and showing information of these key project artifacts across the project on a dashboard, the team can understand the project’s true status by one glance.
How to implement scalable Agile development: implement change-aware continuous integration (CI), that by integrating, building, and testing source code changes early and often reduce rework and
integration issues. Of course creating such environment requires also scalable infrastructure, which can be commissioned from cloud.
This research truly highlights the benefits our service brings to our customers. We have at Bitbar implemented a truly scalable, open source based Continuous Integration environment in cloud, which offers everything customers need to achieve next level of developer productivity without any investments.
Contact me on marko.kaasila(at)bitbar.com for further details.
Continuous integration in the cloud needs monitoring in order to keep build servers running smoothly.
Without monitoring the integration might get interrupted; networks’ problems or running out of disk space or RAM are the most common problems which can happen at any moment. If the monitoring doesn’t work it will take time before the integration is running again and that would be really against the very concept of Continuous Integration. If you get notifications promptly you can react and prevent the issues before those become problems. Alerts with detailed information delivered by email, SMS or Jabber instant messaging ensure that issues are solved quickly. For monitoring we use Zabbix, an enterprise-class open source distributed monitoring solution.
With Zabbix we can monitor our build servers’ status 24/7 and get notifications when there is a need for administrative tasks. It also helps us greatly with resource planning, when it’s time to extend server capacity or increase amount of the servers for build process.
Cloud instances with pre-installed and configured Continuous Integration tools can be launched at any time and first builds started right after. Therefore we need to get also the new instances under monitoring instantly. Using Zabbix’s network discovery, IP ranges are periodically scanned using the discovery rules. Each build server has a Zabbix agent installed and that enables us to get detailed status of the server and even run remote commands for certain alerts. Zabbix has native agents for several OSes. We have servers running on different versions of Windows and Linux and with Zabbix we can use native agents for detailed monitoring. Using the host templates the maintenance is made easy as it allows you define sets of items, triggers and graphs for host. Zabbix also offers a high level view of monitored resources and graphic visualisation of monitored values which makes easy to see data from different angles. Having build servers running in the cloud and Zabbix monitoring health and integrity of the servers ensures that integration is really continuous and most importantly, we at Bitbar take care of all this so that our customers can focus on developing their own products and do not have to worry about administrative chores like monitoring build servers’ availability.
My name is Sakari Rautiainen and I am the CTO of Bitbar. On my blog I will be writing about more technical aspects of Bitbar Continuous Integration services and naturally about our core competence: Taking things to cloud.
From the outset it may seem trivial to transfer existing software and services to cloud but there are numerous things (both architectural and technical) that need to be taken into account; Especially when performance, scalability and security are paramount. As a keen supporter of the usage of open source solutions, I will also be blogging about the way we utilise open source software to provide really scalable enterprise grade service and how we contribute back to the open source community. I hope you enjoy my posts.
I was inspired to blog by Predicts 2010: Agile and Cloud Impact Application Development Directions by Gartner. It SOOOO close to what we are hearing from our customers, and exactly what we are doing to help our customers to do more, faster and better quality.
Gartner’s analysts say: “As organizations seek to improve productivity and reduce application operating and maintenance costs, we will continue to see an evolution of software development tools, platforms and practices. To take advantage of this, organizations must shift structures and practices while embracing new technologies — a challenging proposition.” They go on to predict that by 2012 “agile development methods will be utilized in 80% of all software development projects”. Why will agile become so popular? Agile will deliver much higher productivity compared to other development processes.
Use of agile requires discipline: key agile practices must be used and organizations should invest in supportive tools’ infrastructures. If an organization tries to cut corners by shifting to ‘pseudoagile’ process, potential results are a short-term productivity bump, as well as long-term declines in quality and productivity.
Gartner also gives recommendations how to make most of the agile process, one of them being: Find tools that enable collaboration and help automate repeatable, consistent practices.
Continuous integration is essential part of agile process and it’s purpose is to give automated, repeatable results. And continuous integration does not mean nightly builds, but true continuous integration of the software so that everyone in the development community (be it in-house, outsourced, off-shored or any other globally distributed team) can develop on stable version. No more pseudoagile practices like nightly builds.
With cloud based services, like continuous integration in cloud, companies can make use of essential agile tools without any investments in the infrastructure. A solution delivering higher productivity without investments and a solution growing with the company without any investments is truly a high value proposition!
Continuous integration (CI) is an essential part of agile software development and gaining acceptance due to increased pressure for getting higher productivity from R&D resources.
Increasingly distributed development teams (due to community sourced development and/or low cost sites of big players) have lead to different kind of productivity problems than just developer downtime due to long build times. Of course short build times are still crucial, but one should be able to see the big picture of improving software development productivity that continuous integration brings.
Like Martin Fowler (martinfowler.com) puts it: “The whole point of working with CI is that you’re always developing on a known stable base”. This is true for development teams of every size, but especially for distributed ones. Every time a commit against the repository is done, the server automatically checks out the sources onto the integration server, initiates a build, and notifies the committer of the result of the build. The committer isn’t done until she gets the notification and in most cases this process takes only few minutes. On that tested new version teams in the next room or all over the world can base their work and use less time for communicating bugs and problems. At all times you know where you are, what works, what doesn’t, the outstanding bugs you have in your system. Anyone involved with a software project should be able to get the latest executable and be able to run it: for demonstrations, exploratory testing, or just to see what changed this week.
The whole value of Continuous Integration comes from instant feedback
Many organizations do regular builds on a timed schedule, for instance every night. This is not the same thing as a continuous build and is not enough for continuous integration. The whole point of continuous integration is to find problems as soon as you can. Nightly builds mean that bugs lie undetected for a whole day before anyone discovers them. Once they are in the system that long, it takes a long time to find and remove them. Also the nightly builds schedule does not work perfectly in the distributed development. Global teams work virtually 24h a day so true continuous integration is the only way to provide instant feedback on the mainline stability.
Justifying Continuous Integration Expenditure
Efforts to improve productivity through continuous integration are wasted, if executing each builds build starts to take hours. Long build times ruin the whole effort of improving the process. But how to justify investment proposal in CI servers to the CFO of a company. One can use “Cup of Coffee Metric for Continuous Integration” (pauljulius.com): hours wasted per developer * number of developers * average hourly rate * 20 working days a month (on average) = monthly cost of not having the right hardware. Team of only 10 developers, who waste 30min a day, 20 days a month at rate of $50/€50/£50/what ever your currency costs $/€/£5000 of not having the right hardware. Of course buying a server is not all of the costs. There still are normal running costs, electricity, cooling, rackspace, administration, firewalls etc. associated with running in-house servers. Our proposal is to use computing resources on-demand, only when you need it, at a flat monthly fee. This approach should, and will, resonate extremely well with those who pay the CI bills, CFO’s and controllers.
How to get most of it?
The best way is to get someone who has done Continuous Integration before to help you as there are numerous process and tool related details that have to be kept in mind. And of course we propose to use on-demand CI to minimize risks and costs, also in the long run. Eventually, you also pay in lost time and productivity if you don’t do it.
Bitbar, a leading provider of hosted continuous integration services, has announced a revolutionary build and validation service for Symbian platform.
02/10/2010 – Bitbar has launched new website at www.bitbar.com. New website is introducing new visual appearance and emphasizing Bitbar’s focus on Cloud accelerated integration and validation services with the introduction of “Cloud accelerated software development” tagline.
Bitbar offers cloud based continuous integration, build and validation services on fixed monthly fee basis. With these services Bitbar customers can reduce developer downtime, accelerate time to market, improve quality and lower the fixed costs in their software development.