Deliver Higher Quality Software Faster with Dev and Test in the Cloud


Published on

Betsy Zikakis, VP Marketing at RightScale, led this session at the RightScale User Conference 2010 in Santa Clara.

Session Abstract: Cloud-based development and testing can deliver higher quality software to your users faster. By reducing provisioning time from weeks to minutes, and by eliminating upfront capital expenses, you can now afford to give every developer and tester access to dedicated resources on demand. And as a cloud migration strategy, companies are finding it easier to get company adoption by starting with development and testing in the cloud. In this session, we'll demonstrate how your IT or DevOps group can create a self-service portal for developers and testers to provision their own testing resources as needed.

You can view the video of this presentation at

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • So we are going to talk about dev and test in the cloud – why look at dev and test on the cloud, some common trends and challenges and then see how managed cloud can solve some of those challengesHow many people in the audience have used a public or private cloud? For those of you who haven’t, dev and test is a great place to start…. And you’re in the right room.For those who have, what are you doing on the cloud? How many are developing or testing applications in the cloud? For those of you who are, why did you decide to try out the cloud?
  • In our research, we found the overwhelming driver to looking at the cloud for test and dev is that release cycles are compressed and companies are looking for greater agility, looking to streamline their dev and test processes. How many co using agile development? How many are facing shorter development cycles? The other driver is geographically distributed workforces… How many are part of teams where member are all over the planet?
  • Here are some other specific dev and test challenges we heard from our prospects and customers – and they were surprisingly consistent across industry and co size. (As for show of hands after each one…)Rarely are there enough resources available for experimentation and testing, and equipment is shared and must be configured and re-configured each time a new project or task starts. In many companies it takes as long as 3-5 weeks to procure and provision new equipment, so development organizations must plan ahead or risk delaying projects. Maintaining consistent environments is another persistent challenge. As code moves through development, test, staging and production, configuration changes rarely make it back into earlier stages. If software is to be run in multiple production environments, then each environment needs to be configured and tested. And to troubleshoot problems found in production requires reproducing past environments – easier said than done. Whether the task falls to development, QA or operations, maintaining and reproducing environments is time-consuming and error-prone. Finally, distributed teams just exacerbate the other challenges. What else?
  • What we will show you in the rest of this presentation is how with a managed cloud, you can take advantage of the virtually infinite resources available in the cloud, easily provision them, and maintain consistent configurations through the software life cycle. With adequate resources available you can be more creative and do more testing:New architectures can be tried, new product ideas can be prototyped, and new technologies evaluatedMore testing can be done in development and QA, increasing the quality and reliability of your softwareMultiple tests can be run in parallel reducing time to market Separate user acceptance environments can be set up – so you don’t have to stop working while users try out new featuresWith easy provisioning and configuration control:Less time spent configuring and reproducing environments, Environments are consistent, errors aren’t reintroduced, so less reworkAll thismeans reduced cycle times and faster time to customer – whether those are internal or external customers.And of course with cloud computing you only pay for what you use, improving the utilization of capital.
  • Let’s look a little deeper into the specific RightScale Dev and Test Solution Pack. First, it delivers … available, easily provisioned resources. Developers can launch all-in-one environments where a single machine runs the entire stack (OS, App Server + Database) through an easy-to-use self-service portal. Testers can spin up simple 3-tier (4 server) environments where tier 1 is the load balancer, tier 2 is comprised of a couple of app servers and tier 3 is a single database server. This configuration is a base configuration with no high-availability or high-reliability. And then when they are no longer needed, they can shut them down. What is unique about RightScale’s solution is that as software moves into staging and production, the operations team can use the full power of RightScale to monitor, manage, and automate the production system. Because RightScale works with Infrastructure as a Service cloud providers, they have control over all levels of infrastructure. It’s not a black box like is the case in many PaaS offerings. They can completely control system behavior – how the infrastructure supporting applications or databases scales, how databases are backed up - as well has more easily troubleshoot problems.
  • Second, the solution pack helps organizations maintain consistent, reproducible configurations throughout the software lifecycle. The RightScale platform uses ServerTemplates to configure servers and then groups of ServerTemplates, or what we call Deployments, to launch multi-server, multi-tier environments. Because ServerTemplates are modular, consisting of a number of scripts that are executed, it is easy to repackage the same scripts and ServerTemplates into the configurations necessary for each stage. Any changes made to scripts or templates or deployments can be easily reflected across stages. And the components are version controlled or archived, so it’s easy to recreate past environments.
  • The RightScale ServerTemplate methodology supports creating and re-using many of the same components through out the lifecycle. Let’s look a little more closely at how it does that. A ServerTemplate defines the software stack and behavior of a provisioned cloud server. Each ServerTemplate contains a base machine image and a set of scripts. Typically, the base machine image installs both the operating system and the lightweight RightScale agent, RightLink, which enables and manages communication with the RightScale Cloud Management Platform. After the server boots up using this machine image, RightScale runs all the startup scripts specified to install the required software. While the server is running, the systems administrator is free to run any of the operational scripts through RightScale. And, when the user terminates the server, termination scripts are used to gracefully shut down the server.ServerTemplates reference re-usable scripts. Because both the ServerTemplates and the scripts are version controlled, and because deployments can be cloned and archived, any changes are easily tracked and propagated. These features provide all the power a systems administrator needs to easily manage, maintain and reproduce multiple environments.Maybe have URI show one??
  • Hereis an example of how a set of scripts and ServerTemplates can be used to create several different environments. As a reference architecture is specified, the first set of components are created. Pre-configured components from the RightScale Library can be used “as is” or customized, or a systems administrator can create his own from scratch or leverage an existing library of scripts and cloud machine images. The individual components can be re-used for each type of environment needed throughout the development lifecycle. Any changes made to scripts or templates are version controlled or archived and can be easily replicated.Maybe have URI show one??
  • The RightScale Development and Test Solution Pack includes the core RightScale Cloud Management Platform with two different user interfaces: a Self-Service Portal designed for developers and testers to launch servers in the cloud, and the full RightScale Management Dashboard designed for systems administrators to customize the pre-configured environments delivered with the solution pack. The solution pack comes with two types of pre-configured server environments for each supported development language, including PHP, Java, Rails and .NET. The All-in-One environment provides an easy way to do basic integration testing on a single machine in the cloud. The Multi-Server environment enables more complex testing and has separate load balancing, application and database servers. All components in the pre-configured environments can be unbundled, customized, and re-used to create the exact configuration required and to create environments that adhere to any corporate governance or security standards. Using the RightScale Development and Test Solution Pack is easy. Just follow these steps: STEP 1: The systems administrator imports the desired configuration from the RightScale Library into his company’s account. STEP 2: The systems administrator customizes the configurations for the application(s) and shares approved configurations with developers and testers.STEP 3: The developer or tester logs into the Self-Service Portal and launches approved configurations. Developers and testers can also terminate any of these configurations at will. STEP 4: The systems architect applies changes as necessary to the configurations once. Then, anytime a developer or tester’s server is restarted, the most recent changes can be applied.
  • It is easy to integrate this solution with your source repository and testing applications. The typical software development company has a source control server running in its datacenter, or it uses a Source Code as a Service infrastructure like Github. It may also have a continuous integration server that pulls from its source code server to do periodic builds of its software, as well as an automatic regression testing server that runs against its continuous integration server, which automatically reports any failed test conditions. These three servers can be migrated to the cloud and managed under the RightScale Cloud Management Platform, or they can remain within a company’s datacenter. If the security of a company’s intellectual property is a concern, a systems administrator can use RightScale to create a Virtual Private Cloud that isolates the company’s cloud servers and can only be accessed through a VPN.
  • IBM will talk about data base applications in the cloud; and Zend will talk about taking this all the way to production.We are also building out an eco system to support Dev & TestWe are launching with two partners – Zend and IBM. We have a pair of environments based on ZendServer, which offers a commercial-grade alternative to open source PHPWe also have Java environments based on IBM’s WebSphere Community Edition and DB2 Express CWill be coming out with more announcements as we extend the ecosystem to include integration with IDE’s as well as more testing solutions. Zend – 3 ServerTemplates ZendServer Community Edition (CE) – available to everyone, freeZendServer - $.14/RCUZendServer packaged with LAMP stack - $.14/RCUIf buy D&T get free – no /RCU chargeAll-in-one – ZendServer, Apache, MYSQL on CentOSMulti-Tier – ZendServer, HAProxy, Apache, MySQL; all on CentosWay we do above is we have a general license keyEULA comes up and separate ok to charge for non D&T onesWhy Zend? Enterprise-grade, commercial version of PHP, fully supported, more features, more frequent upgradesAnnounced first relationship last October at ZendCon. RightScale will be doing further integration with their products – Zend Studio (plug in for Eclipse with debugging and perf tuning tools) for developers and ZendCluster Manager for production deployments.Rightscale will sell this with Zend resources to help sell and support. Once purchase, will have Zend support for product.IBM - 2 ServerTemplates for Java – both free editionsAll-in-one – WAS Community Edition, DB2 Express C on Ubuntu OR CentosMulti-Tier – HAProxy, WAS CE, DB2 Express C on Ubuntu OR CentosFor now can put software on DevPay AMIs – available today for DB2 Enterprise and Websphere ND and manage them with RS (Add RightLink.) Not a great solution, but ok to say for now… (We need to get to Suse Linux for full versions to be supported.)Code in Java, create .war file, put into proper place in WAS…
  • In summary, the cloud offers virtually unlimited hardware on demand with pay as you go pricing model, but this hardware needs to be provisioned. What RightScale adds is: Fast provisioning - Using our ServerTemplates, instructions for launching new servers, customers can quickly provision cloud instances. Entire application environments – or deployments as we call them - can be specified and launched in minutes as opposed to days or weeks. Consistent, reproducible, and reusable environments - Because ServerTemplates launch the same configuration every time and deployments can be cloned, launching multiple environments that are consistent is easy. Deployments can be archived and ServerTemplates are version controlled, so reproducing past environments is also easily accomplished. For troubleshooting, audit logs track any changes to a given environment. Reusable configuration components– As architectures are instantiated using scripts, ServerTemplates, and deployments, those same components can be reused across the entire life cycle as well as for future products. Unlike other PaaS offerings, when new applications or new features move into production, the operations team has the full power of the RightScale Cloud Management Platform to manage with complete control over the systems’ architecture, performance, users and costs.
  • Deliver Higher Quality Software Faster with Dev and Test in the Cloud

    1. 1. Dev & Test in the Cloud<br />Betsy Zikakis, Vice President<br />Rock Rocaberte, Professional Services <br />
    2. 2. Why Dev & Test? <br /><ul><li>Dev & Test a top choice to move to the cloud
    3. 3. Provides low barrier to entry for cloud computing
    4. 4. Highly scalable resources required for test
    5. 5. 30% to 50% of all servers dedicated to test*
    6. 6. Most test servers run at less than 10% utilization*</li></ul> * IBM Research<br /><ul><li>Solve real challenges</li></li></ul><li>Why Dev & Test? <br /> “It makes a great deal of sense to … start with dev and test, and go from there. Don’t tell the customer to immediately migrate everything to, and run everything on, the cloud. Which would of course be insane. On the contrary recommend a low barrier to entry approach. Production is an end state where the customer finally just says: ‘remind me again why we aren’t using this flexible infrastructure as a production environment?’”<br /> James Governor, Red Monk<br /><ul><li>Dev & Test a top choice to move to the cloud
    7. 7. Provides low barrier to entry for cloud computing
    8. 8. Highly scalable resources required for test
    9. 9. 30% to 50% of all servers dedicated to test*
    10. 10. Most test servers run at less than 10% utilization*</li></ul> * IBM Research<br /><ul><li>Solve real challenges</li></li></ul><li>Market Trends<br /><ul><li>Shorter release cycles
    11. 11. More agile, streamlined product development
    12. 12. Geographically distributed workforces
    13. 13. Outsourced teams and team members</li></li></ul><li>Lifecycle Challenges<br /><ul><li>Limited, shared resources
    14. 14. Lead time for procuring and provisioning equipment
    15. 15. Maintaining consistent environments throughout the lifecycle
    16. 16. Maintaining multiple environments in parallel
    17. 17. Distributed teams and team members</li></li></ul><li>Development and Test in a RightScale Managed Cloud <br />Available Resources<br />More creativity<br />Improved quality<br />Less rework<br />Faster time to customer<br />Provisioning and Configuration Control<br />
    18. 18. Available, Easily Provisioned Resources <br />
    19. 19. Maintain Consistent, Reproducible Environments<br />More Detail<br />
    20. 20. RightScale’s ServerTemplate Methodology<br /><ul><li>Modular and variable-based
    21. 21. Built with re-usable scripts
    22. 22. ServerTemplates and scripts are version controlled
    23. 23. Deployments* can be archived</li></ul>* Logical groupingsof servers. <br />
    24. 24. Consistent, Reusable Configurations<br />
    25. 25. RightScale Development & Test Solution Pack<br />
    26. 26. Easily Integrated with Existing Solutions<br />Continuous Integration<br />Server<br />Source Control<br />Server<br />Regression Testing<br />Server<br />
    27. 27. Development & Test Ecosystem <br />Partner<br />IDEs<br />Partner<br />Test <br />Applications<br />
    28. 28. DEMO<br /><ul><li>Demo – Launch a Dev Server in the Cloud</li></li></ul><li>RightScale Development and Test Solution <br />
    29. 29. Read More Online <br />and<br />Download the Whitepaper<br /><br />For more information:<br /> or<br />Q&A - Getting Started<br />Migrating to the Cloud Starts With<br />Development and Test<br />
    30. 30. Thank You!<br />