Mythbusters: Five Scenarios Where Jrebel Helps Developers

Transcription

MYTHBUSTERS: FIVE SCENARIOSWHERE JREBEL HELPS DEVELOPERScreate more, higher-quality Java code

Redeploys: The hidden productivity killerSimple and powerful, Java remains the default language for enterprise development everywhere. Not to sayit doesn’t have its downsides. Chief among them is the lengthy redeployment time after code changes.Redeploys are a huge productivity killer. Studies have consistently shown that it takes multiple minutesfor most code changes to take effect. When this is repeated several times an hour, it quickly adds upto 20% of a developer’s salaried time that is spent waiting for redeploys. Yet many developers — andtheir bosses — are resigned to waiting around for redeploys as an unfortunate fact of life.Wasted development time spent on building and redeploying% ofRespondents29%41%Minutes perapp redeploy0-12-5 2018 Rogue Wave Software, Inc. All Rights Reserved.12%6-1012%11-306%30 Source: Java Tools and Technologies Landscape Report 20161

Redeploys: The hidden productivity killerJRebel blows up that myth. JRebel fast-tracksthe build-redeploy-test cycle for Javadevelopers by skipping the time-consumingbuild and redeploy steps. Developers aremore productive since they can view changesto code, classes, configuration, and assets inreal time, all while maintaining applicationstate and eliminating restart times.JRebel doesn’t just provide time savings.Instant code changes also make it easierfor developers to pinpoint and resolve bugsquickly, for cleaner code. This lets developersmaintain their momentum and do higherquality development, faster. And lets youbring products to market faster and gaina vital edge over the competition.You may still harbor doubts that JRebel can provide all these benefits, especially in your specificenvironments. In this eBook, we’ll bust those myths by walking you through five popular use casesfor Java developers, and demonstrating how JRebel can work in those environments to transformyour development process for huge productivity gains and cleaner, better code. 2018 Rogue Wave Software, Inc. All Rights Reserved.2

1MYTH #Spring Boot is “fast enough”without JRebelSpring Boot enables developers to createstand-alone, production-grade Spring-basedJava applications that you can “just run”.Spring Boot has gained strong traction overthe last few years because of how easy andfast it is to get applications running, thanksto the ability to embed most commonly-usedtechnologies into it with a single line of code.One of the biggest misconceptions aboutSpring Boot is that the application restart timethere is “fast enough” such that there are nobenefits from using JRebel. This might be truefor a fresh Spring Boot app, which might takeonly 10 seconds to restart. However, as soon 2018 Rogue Wave Software, Inc. All Rights Reserved.as you start adding more classes, endpoints,logic, databases, etc., the restart time steadilyincreases as well. For many developers, thatrestart time grows beyond their acceptable painthreshold at which they would benefit from aclass-reloading technology such as JRebel.We ask our JRebel users to report the restart/redeploy time for their app without JRebel,which we use for ROI calculations. For SpringBoot users, the average app restart time is 151seconds, or 2.5 minutes. That’s far longer thanthe 10 second redeploy time of a fresh/emptySpring Boot app. Clearly, there is room forimprovement — which JRebel can help provide.3

MYTH #1: Spring Boot is “fast enough” without JRebelAnd what about Spring Boot Devtools? It’s anopen-source developer package used by manySpring Boot users. It’s similar to JRebel in thatit tries to speed up development. However,its application restart approach has manylimitations. Application state is not preservedand must be reproduced with a full restart.Moreover, Pivotal, the creator of SpringBoot Devtools, recommends JRebel, stating“If you find that restarts are not quickenough for your applications or youencounter class loading issues, you couldconsider reloading technologies such asJRebel.” Finally, Spring Boot Devtools is unableto measure how much developer time it savesand thus validate its time-saving claims.Contrast this with JRebel, which, in addition toSpring Boot, supports 100 Java frameworks. 2018 Rogue Wave Software, Inc. All Rights Reserved.JRebel can automatically rewire and updateframework configurations, and it maintainsapplication state during code changes with ease.As a class reloading solution, JRebel ensuresthat only the code that is changed is acted on,foregoing the need for unnecessary restarts.JRebel also measures the developer time it savesand the redeploys it prevented, letting you knowjust how many developer-hours — and dollars— you are saving.All in all, JRebel provides great benefits tousers of Spring Boot. Besides making SpringBoot developers much more productive, italso provides much more features andsupport than Devtools. So it won’t just beyour developers that thank you — so willyour users and business leaders.4

2MYTH #Your IBM WebSphere and Oracle WebLogicapplications are too mature for JRebelIt’s no secret: the bigger the application, thelonger it takes to redeploy. And establishedenterprise applications, the kind usingWebSphere or WebLogic as applicationservers, can be huge. That can sap theproductivity of your developer team.According to JRebel users working withWebSphere apps, it takes an average of 6.6minutes for an app restart. For the averageWebLogic user, it’s 7.5 minutes. With a reportedaverage of 3.1 redeployments and tests perhour, the average WebLogic user spends 23minutes per hour, or 38% of their 8-hourworkday, on redeployment (it’s only 25% ofthe workday for WebSphere users). With a 2018 Rogue Wave Software, Inc. All Rights Reserved.team of just 10 developers, your annual costfrom redeploys could easily run between 200,000 and 400,000 in lost productivity.Clearly, there’s a huge cost in time andmoney from redeployments. However,many developers have been using WebSphereor WebLogic for so long without JRebel thatthey’ve gotten used to the enforced delays,the mid-afternoon-redeployment-coffeeruns, the dubious hacks such as running alighter-weight alternative applicationserver during development that createshard-to-track-down bugs when they tryto move the code into production.5

MYTH #2: Your IBM WebSphere and Oracle WebLogic applications are too mature for JRebelWebSphere and WebLogic users shouldn’thave to put up with the status quo. WithJRebel, they can still enjoy the enterprise scaleand stability of developing on WebSphere orWebLogic, but without the missed deadlinesand stress resulting from sluggish developmentcycles. With JRebel, your developers can testtheir code while they’re writing it and makechanges without losing context or focus.Besides creating better-quality code, thisalso avoids time-wasting forced redeploys.For about 1.50 a day with JRebel, you can enjoyhuge productivity gains, write better software,and enjoy doing it. JRebel is so powerful thatIBM and Oracle, the makers of WebSphere andWebLogic, are both customers, and we speakat WebSphere conferences. What better proofis there that JRebel can help WebSphere andWebLogic users?JRebel is as easy to install as adding a singleJVM argument to your startup script, or installan IDE plugin if you’re using a mainstream IDElike IntelliJ IDEA, Eclipse, MyEclipse, RAD, orNetBeans. 2018 Rogue Wave Software, Inc. All Rights Reserved.6

3MYTH #JRebel doesn’t integratewith SAP HybrisSAP Hybris is a B2B and B2C e-commerceplatform long used by large enterprises,especially financial services and e-commercecompanies. It includes many components —commerce, marketing, sales, service andbilling — while the core commerce applicationruns on top of a Java application server.While developers enjoy Hybris’s scale andunified environment, its massive size alsomakes “ant all” scripts to restart Hybris 2018 Rogue Wave Software, Inc. All Rights Reserved.applications very sluggish. Of all the platformsout there, Hybris is widely considered to impactits developers the most, by the time it takes toreload class and configuration changes, restartservers, and restore application states.According to our users, the median Hybrisapplication takes just over 8 minutes toredeploy without JRebel. That’s comparablewith the lengthy restart times for WebSphereand WebLogic applications.7

MYTH #3: JRebel doesn’t integrate with SAP HybrisHow long does your build redeploytake without JRebel?SAP Hybris applications, like WebSphere andWebLogic ones, have often been around a longtime. Developers have learned ways to get by.And the sheer scale of the Hybris platform mayhave many developers doubting that JRebel couldpossibly integrate well with -12mins.12-16mins.16-20mins.20 mins.Build and redeploy time70%of users report timeshigher than 5 minutes50%of users report timeshigher than 8 minutesSource: Product metrics from JRebel Hybris usersThat’s not true at all. In fact, JRebel can reloadalmost all code and configuration changes youmake with Hybris, allowing you to skip the “ant all”process while preserving application state. JRebelalso has comprehensive debugger support,provides plug-ins for all the major IDEs to helpwith setup, configuration and usage, integrateswith key frameworks commonly used in Hybrissuch as Spring MVC, ZK, and JSF, and supportsremote servers, to enable class reloading if youare running a virtualized Hybris environment. 2018 Rogue Wave Software, Inc. All Rights Reserved.8

MYTH #3: JRebel doesn’t integrate with SAP HybrisAll in all, JRebel improves Hybris developerefficiency by 33%. The financial ROI is huge.Drawing on figures collected from our existingcustomers, JRebel can save a 10-developerHybris team 267K per year. To calculatethe ROI for your Java development team,visit jrebel.com/pricing.Let’s not forget all the deadlines you’ll meetearly, the better-quality code you’ll produce,and the stress you’ll no longer have whenyou use JRebel to speed up your Hybrisdevelopment. 2018 Rogue Wave Software, Inc. All Rights Reserved.9

4MYTH #JRebel doesn’t work in complexenvironments and custom architecturesFirst released publicly in 1996, Java continuesto rule the enterprise development scene.There are many new Java applications beingcreated, as well as older applications — somenearly as old as the language itself — stillbeing constantly updated.Maybe you oversee one of those dot-com-eraapplications. Or maybe your Java environmenthappens to be incredibly intricate and complex,full of customized code, legacy plug-ins, andobscure frameworks. Or maybe you’re extremelyskeptical that any plug-in like JRebel that promisesto accelerate development times could actuallywork in your non-standard environment. 2018 Rogue Wave Software, Inc. All Rights Reserved.Which versions of Java do you use regularly?Java 918%Java 884%Java 733%Java 68%Other1%Source: The State of Developer Ecosystem Survey in 201810

MYTH #4: JRebel doesn’t work in complex environments and customWell: challenge ACCEPTED. Because howevercustom or non-standard your environment maybe, there’s a very good chance that JRebel willintegrate with it. JRebel supports the majority ofJava frameworks, IDEs, and application serversout there, including 100 Java frameworks,plugins for all the major IDEs, and all of the mainJVMs and application servers in use, includingmany older versions. Moreover, JRebel can beset up with complex modular builds, whetherthey are based on build automation tools suchas Maven, Gradle, or something else. 2018 Rogue Wave Software, Inc. All Rights Reserved.Bottom line: don’t assume you can’t enjoythe benefits of JRebel due to your complex orcustomized enterprise architecture. View our listof supported frameworks, IDEs, and applicationservers. Even if one of your components isn’tlisted, JRebel probably works out of the box.Contact us at support@jrebel.com if you havespecific questions about your environment.11

5MYTH #Remote development on virtual machinesor cloud environments is too much forJRebel to handleCloud environments and virtual machines(VMs) have many advantages — efficient useof resources, low start-up costs, easierscalability, (often) less complexity, and more.No wonder many enterprises have movedtheir Java applications using thesetechnologies or are doing so today.Every change has its implications, however.For developers, uploading code changes toremote, distributed applications can take longerthan locally-hosted ones. Similarly, VMs andcontainers add another layer of infrastructurethat may need to be restarted for changes tocode residing inside of them to take effect. 2018 Rogue Wave Software, Inc. All Rights Reserved.JRebel handles modern technologies suchas cloud and VMs with ease. Say your Javaapplication is residing on multiple remoteapplication servers. With JRebel, you can pushyour code changes out to all the servers at oncewith one click. You just change your code, haveyour IDE compile it, click the button, and JRebeltakes care of the rest (the uploads and updatesto the server).Aside from making rollouts of code changes toremote servers easy, JRebel still delivers its corevalue: the ability to skip virtually all time-wastingredeployments. Say you’re building a huge WARfile of all the affected development files every1212

MYTH #5: Remote development on virtual machines or cloud environments is too much for JRebel to handle.time you change your code, which you thenneed to wait on while it’s uploaded to theremote server, right? Not with JRebel. JRebelkeeps track of what you’ve changed, so youonly need to upload and reload the delta.JRebel also enables you to locally host cloudfiles and resources outside of the hosted virtualimages, so you don’t have to do a full restart inthe VM and/or on the cloud. The ability to viewand test code changes in real time on the localapp server helps developers improve applicationquality. And JRebel supports popular containerslike Docker and popular cloud PaaS (Platformsas-a-Service) including AWS (Amazon WebServices), IBM BlueMix, and Cloud Foundry.Enjoy all the benefits of containers in the cloud and none of the potential latency by using JRebel. 2018 Rogue Wave Software, Inc. All Rights Reserved.13

Conclusion:Accelerate development velocity — with JRebelSometimes we get asked about class reloadingtechnologies such as HotSwap or DCEVM thatalso purport to save time for Java developers.Our view is that compared to JRebel, bothHotSwap and DCEVM are extremely limited interms of the Java versions, JVMs, applicationservers, and enterprise Java frameworks thatthey support. Neither HotSwap nor DCEVMsupports the same breadth of change types asJRebel. And HotSwap also lacks the ability totrack your time savings, something JRebel haswell-covered. In other words, JRebel is a trueenterprise tool — HotSwap and DCEVM are not. 2018 Rogue Wave Software, Inc. All Rights Reserved.The sprawling Java ecosystem is less alandscape than an ocean. There are alwaysnew Java features, frameworks, applicationservers, build systems, and more emergingfrom beneath the waves. At the same time,many other technologies are receding orsinking under the waters. As an enterprisedevelopment leader, you need to stay afloatby keeping track of all these changes, whileyour developers keep up with productfeatures and bug fixes.The greater challenge is this: how do youensure that your team can tackle bothordinary and extraordinary technicalchanges while maintaining a foundationof quality, security, and release velocitythat’s vital to your business?14

Conclusion:Accelerate development velocity — with JRebelJRebel can insulate your team from changeat the code and platform levels. JRebeleliminates the hidden costs in critical parts ofthe development process. That translates intomassive time savings and productivity gainsthat preserve your budget. No matter whatJava environment your applications run in, orhowever customized, complicated, or virtualizedyour architecture is, JRebel will likely integrateinto it, saving your teams time and money.JRebel also helps teams bring their productsto markets and internal users faster, allowingenterprises to gain a competitive advantagethat will translate to a better bottom line.Take finer control of your developmentvelocity, enable your developers to domore, and gain a business edge with JRebel. 2018 Rogue Wave Software, Inc. All Rights Reserved.Evaluate JRebel for freejrebel.com/pricing15

3 with SAP Hybris 7 SAP Hybris is a B2B and B2C e-commerce platform long used by large enterprises, especially financial services and e-commerce companies. It includes many components — commerce, marketing, sales, service and billing — while the core commerce application runs on top of a Java application server. While developers enjoy .