|By Tim Hinds||
|February 1, 2014 01:00 PM EST||
Agile software development isn't really a "new" trend anymore. I mean, the Agile Manifesto turns 13 years old next month and while that might be early adolescence in human years, it's downright ancient as far as trends in IT are concerned. However, one area that has yet to fully mature is the implementation of non-functional testing practices in a Continuous Testing sort of way that can keep pace with more Agile development teams. Load and performance testing definitely fall into that category. You might be a performance tester on a team that is just starting to do more iterative development or a more experienced Agile tester looking to add load and performance testing to your workflow; either way, you'll likely want to know what you're in for.
Agile development practices can help teams achieve faster time to market, adapt to changing requirements, provide a constant feedback loop, etc. The benefits of load and performance testing include determining how much load an application can handle before it crashes in production, when to add another server, when to reconfigure the network, where code needs to be optimized, etc. What is less well known is the fact that the combination of the two practices can lead to additional benefits that go beyond just the sum of the benefits of each practice, i.e. 1+1=3.
Some of these benefits include:
Avoiding Late Performance Problem Discovery
When load and performance testing are pushed off until the end of a development cycle, there is often little to no time for developers to make changes. This can cause teams to push back release dates and delay getting features out the door that customers need. Alternatively, if the issues are minor, teams may decide to proceed and launch the application into production while accepting the heightened risks. If the performance problems are more fundamental, they could even require painful architectural changes that could take weeks or months to implement.
Making Changes Earlier When They Are Cheaper
By including load and performance testing in Continuous Integration testing processes, organizations can catch performance issues early before they get much more costly to fix. Developers can instantly know that the new feature in the latest build has caused the application to no longer meet Service Level Agreements (SLAs). They can fix the problem then and there before it becomes exponentially more expensive. This is especially true on Agile teams when discovering a performance problem weeks later could mean that it actually occurred several builds ago which makes the task of pinpointing the root cause a nightmare.
Guaranteeing Users Get New Features, Not New Performance Issues
In some Agile organizations, changes are happening incredibly fast. It's possible for a new feature or some new functionality to get checked into source control, run through a Continuous Integration build, pass all of the automated tests, and get deployed to the production server in a matter of minutes. But if that code wasn't optimized to handle the number of simultaneous users seen at the worst peak times, it could cause the whole system to crash. Integrating load testing into the process before these changes are deployed to production can ensure that your users get all the goodies they want without the bad user experiences. This can save your company thousand or even millions in lost revenue from users switching to competitors' apps or bashing your brand because of the problems they experienced with your app.
In the same way that combining Agile with load testing can provide unique benefits, it can also present your teams with unique challenges they may not have experienced in the past.
Shorter Development Cycles Require More Tests in Less Time
Load and performance testing are usually pushed off until the end of a development cycle. With Agile, development, cycles are much shorter, and load & performance testing can get pushed off until the last day of a sprint or sometimes it's done every other sprint. This can often result in code being released without being adequately tested or user stories slipping to the next release once they have been tested. Conceptually the solution is to do the testing earlier in the development cycle, but that's easier said than done with many teams lacking the resources and tools to make it happen.
"Working" Code Does Not Always Perform Well
So much focus for developers on Agile teams is put on delivering "working" code, but is code really "working" if it fails when the application is under load? Should user stories and tasks really be marked as "done" if the code associated with them causes the application to crash with 100 users? What about 1,000? 100,000? The pressure to get code out the door is high, but so is the cost of having an application crash in production.
Developers Need Feedback NOW
Agile developers need to know more than just the fact that their code is causing performance issues: they need to know when their code started causing problems and what story they were working on when the issue started. It's a huge pain for developers to be forced to go back and fix code for a story they worked on weeks or months ago. It also means they can't spend time working on getting new features out the door. Detecting performance issues early in the cycle so you can deliver important feedback to developers quickly is crucial to saving costs.
Automating the Handoff from Dev to Ops Can Feel Risky
While DevOps and Continuous Deployment are still fairly young practices, the fear felt by operations teams that new changes in code will slow down or even crash the application when it is deployed in production has been around forever. Automating some of the testing in the Continuous Integration process can help to ease some of this fear, but without adequate performance testing included, the risk is still real. Ops teams know well the huge impact application downtime can have on the business.
As daunting as some of these challenges seem, don't lose sight of the benefits you'll receive. Load and performance testing successfully in an Agile way can save an organization a lot in costly bug fixes and could make a tester a hero to both development and operations teams alike.
Not quite sure how to get started? Stay tuned for my next blog on best practices for Agile load and performance testing.
The last decade was about virtual machines, but the next one is about containers. Containers enable a service to run on any host at any time. Traditional tools are starting to show cracks because they were not designed for this level of application portability. Now is the time to look at new ways to deploy and manage applications at scale. In his session at 16th Cloud Expo, Jake Moshenko, Product Manager at CoreOS, examined how CoreOS + Quay.io fit into the development lifecycle from pushing gi...
Jul. 4, 2015 03:00 PM EDT Reads: 2,368
SYS-CON Events announced today that Harbinger Systems will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Harbinger Systems is a global company providing software technology services. Since 1990, Harbinger has developed a strong customer base worldwide. Its customers include software product companies ranging from hi-tech start-ups in Silicon Valley to leading product companies in the US a...
Jul. 4, 2015 02:00 PM EDT Reads: 1,865
17th Cloud Expo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy. Meanwhile, 94% of enterprises ar...
Jul. 4, 2015 02:00 PM EDT Reads: 885
The 17th International Cloud Expo has announced that its Call for Papers is open. 17th International Cloud Expo, to be held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, APM, APIs, Microservices, Security, Big Data, Internet of Things, DevOps and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding bu...
Jul. 4, 2015 12:30 PM EDT Reads: 928
The 5th International DevOps Summit, co-located with 17th International Cloud Expo – being held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the ...
Jul. 4, 2015 12:15 PM EDT Reads: 849
Data center models are changing. A variety of technical trends and business demands are forcing that change, most of them centered on the explosive growth of applications. That means, in turn, that the requirements for application delivery are changing. Certainly application delivery needs to be agile, not waterfall. It needs to deliver services in hours, not weeks or months. It needs to be more cost efficient. And more than anything else, it needs to be really, dc infra axisreally, super focus...
Jul. 4, 2015 12:00 PM EDT Reads: 2,146
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of...
Jul. 4, 2015 12:00 PM EDT Reads: 2,428
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect t...
Jul. 4, 2015 11:45 AM EDT Reads: 1,461
The most often asked question post-DevOps introduction is: “How do I get started?” There’s plenty of information on why DevOps is valid and important, but many managers still struggle with simple basics for how to initiate a DevOps program in their business. They struggle with issues related to current organizational inertia, the lack of experience on Continuous Integration/Delivery, understanding where DevOps will affect revenue and budget, etc. In their session at DevOps Summit, JP Morgenthal...
Jul. 4, 2015 11:00 AM EDT Reads: 994
[session] Dark Art of Container Monitoring By @Sysdig | @DevOpsSummit #DevOps #Docker #Containers #Microservices
Containers are revolutionizing the way we deploy and maintain our infrastructures, but monitoring and troubleshooting in a containerized environment can still be painful and impractical. Understanding even basic resource usage is difficult – let alone tracking network connections or malicious activity. In his session at DevOps Summit, Gianluca Borello, Sr. Software Engineer at Sysdig, will cover the current state of the art for container monitoring and visibility, including pros / cons and liv...
Jul. 4, 2015 10:00 AM EDT Reads: 946
Sharding has become a popular means of achieving scalability in application architectures in which read/write data separation is not only possible, but desirable to achieve new heights of concurrency. The premise is that by splitting up read and write duties, it is possible to get better overall performance at the cost of a slight delay in consistency. That is, it takes a bit of time to replicate changes initiated by a "write" to the read-only master database. It's eventually consistent, and it'...
Jul. 4, 2015 09:00 AM EDT Reads: 1,857
DevOps Summit, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 17th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development...
Jul. 4, 2015 08:45 AM EDT Reads: 962
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Jul. 4, 2015 08:00 AM EDT Reads: 1,342
Overgrown applications have given way to modular applications, driven by the need to break larger problems into smaller problems. Similarly large monolithic development processes have been forced to be broken into smaller agile development cycles. Looking at trends in software development, microservices architectures meet the same demands. Additional benefits of microservices architectures are compartmentalization and a limited impact of service failure versus a complete software malfunction. ...
Jul. 4, 2015 07:30 AM EDT Reads: 1,226
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Arch...
Jul. 4, 2015 07:00 AM EDT Reads: 1,038
IT data is typically silo'd by the various tools in place. Unifying all the log, metric and event data in one analytics platform stops finger pointing and provides the end-to-end correlation. Logs, metrics and custom event data can be joined to tell the holistic story of your software and operations. For example, users can correlate code deploys to system performance to application error codes. In his session at DevOps Summit, Michael Demmer, VP of Engineering at Jut, will discuss how this can...
Jul. 3, 2015 07:00 PM EDT Reads: 973
This week we're attending SYS-CON Event's DevOps Summit in New York City. It's a great conference and energy behind DevOps is enormous. Thousands of attendees from every company you can imagine are focused on automation, the challenges of DevOps, and how to bring greater agility to software delivery. But, even with the energy behind DevOps there's something missing from the movement. For all the talk of deployment automation, continuous integration, and cloud infrastructure I'm still not se...
Jul. 3, 2015 07:00 PM EDT Reads: 2,245
Manufacturing has widely adopted standardized and automated processes to create designs, build them, and maintain them through their life cycle. However, many modern manufacturing systems go beyond mechanized workflows to introduce empowered workers, flexible collaboration, and rapid iteration. Such behaviors also characterize open source software development and are at the heart of DevOps culture, processes, and tooling.
Jul. 2, 2015 02:15 PM EDT Reads: 1,034
SYS-CON Events announced today that JFrog, maker of Artifactory, the popular Binary Repository Manager, will exhibit at SYS-CON's @DevOpsSummit Silicon Valley, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Based in California, Israel and France, founded by longtime field-experts, JFrog, creator of Artifactory and Bintray, has provided the market with the first Binary Repository solution and a software distribution social platform.
Jul. 2, 2015 01:00 PM EDT Reads: 1,351
Conferences agendas. Event navigation. Specific tasks, like buying a house or getting a car loan. If you've installed an app for any of these things you've installed what's known as a "disposable mobile app" or DMA. Apps designed for a single use-case and with the expectation they'll be "thrown away" like brochures. Deleted until needed again. These apps are necessarily small, agile and highly volatile. Sometimes existing only for a short time - say to support an event like an election, the Wor...
Jul. 2, 2015 11:00 AM EDT Reads: 1,807