Build vs. Buy: Designing an Effective Software Update Delivery Solution

10
WHITE PAPER Build vs. Buy: Designing an Effective Software Update Delivery Solution

description

For software producers and high-tech manufacturers, the ability to effectively deliver new software and data updates, patches, and bug fixes to every customer is vital to the success of any product line. Keeping customers on the most current software version optimizes user productivity and satisfaction and significantly reduces the vendor’s customer support costs.

Transcript of Build vs. Buy: Designing an Effective Software Update Delivery Solution

Page 1: Build vs. Buy: Designing an Effective Software Update Delivery Solution

WH

ITE

PA

PE

RW

HIT

E P

AP

ER Build vs. Buy: Designing an

Effect ive Software Update Delivery Solut ion

Page 2: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

2 Flexera Software: FlexNet Producer Suite Whitepaper Series

Build vs. Buy:Designing an Effect ive Software Update Delivery Solut ionIntroduct ion: Build It or Buy ItFor software producers and high-tech manufacturers, the ability to effect ively deliver new software and data updates, patches, and bug fixes to every customer is vital to the success of any product line. Keeping customers on the most current software version optimizes user product ivity and sat isfact ion and significant ly reduces the vendor’s customer support costs.

Unfortunately, most software producers and high-tech manufacturers today have no means of proact ively delivering updates to their user base. Many st ill rely on ineffect ive updating methods, such as mailing update CDs to every customer or trying to alert users through email that new updates are posted on their Web site. Manually shipping update CDs is slow and often expensive while st ill requiring end users to do too much work to install the update, and post ing new updates to a Web site assumes customers will actually take the t ime to visit the site, find the correct file, and install it properly. Neither method is reliable, nor do they give producers/device manufacturers a way of knowing which customers have successfully installed the latest updates.

The easiest and most effect ive way to ensure customers have the latest updates and patches is for producers/manufacturers to use an electronic software update delivery solut ion with built-in usage report ing funct ionality. Such a solut ion enables software producers to proact ively deliver updates and patches to their user base, as well as receive real-t ime usage data reports detailing how many users have installed any update, the total number of act ive users of an applicat ion, and more.

Once a software producer decides to use an electronic update delivery solut ion, one quest ion that usually arises is whether the software producer should purchase the solut ion or attempt to build their own updating tool. On the surface, building an update delivery solut ion may seem

like a relat ively simple task, one that might take a few developers just a month or two to accomplish. But creat ing an effect ive update delivery solut ion is far more complex than it might seem. The following document details some of the requirements a development team must consider when designing their own software update delivery solut ion. It also discusses several of the technical components developers must program into the solut ion, and a few of the addit ional challenges they must overcome in order to create and maintain an effect ive software updating tool. Finally, this document introduces an alternate for software producers contemplat ing building their own update delivery solut ion.

Different Software Update Delivery RequirementsWhen developing an effect ive software update delivery solut ion, you must be constant ly aware of the many requirements of both the customer receiving the updates and the software producer Product Manager responsible for update distribut ion. The figure below depicts the relat ionship between the software producer and its customers when it comes to update delivery.

The following sect ion examines some of the requirements of the Product Manager and the customer. Because the customer receiving the updates can be different depending on whether you sell software to consumers or enterprises (as shown in the figure above), the customer sect ion is broken up into two parts: the consumer end user and the IT administrator.

Product Manager RequirementsWhen designing an update delivery solut ion you must consider the following requirements of the software producer Product Manager tasked with handling the publishing and management of the updates:

•ProductManagersneedaproact ive,simplewaytodeliver updates. Gett ing customers on the current

Page 3: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

3Flexera Software: FlexNet Producer Suite Whitepaper Series

version of your software improves user sat isfact ion and reduces customer support costs, but delivering updates and patches to customers can be a never-ending headache for Product Managers. They need an easy way to proact ively not ify all their end users of new updates and deliver and install those updates to their customers’ systems.

•ProductManagersneedanon-programmaticwaytopublish updates. Product Managers aren’t developers; they shouldn’t be required to make source code-level changes, or hand edit raw data files each t ime they have to deliver a new update. An effect ive update delivery solut ion provides Product Managers with an easy-to-use interface that walks them through the update publishing process.

•Theupdatedeliverysolut ionmusthaverole-basedsecurity. Because a software producer might need different people to access their software update delivery solut ion, it must have role-based security that lets Product Managers define the access rights and privileges of every user in their group. Addit ionally, the security model must support the definit ion of groups of users or product groups and restrict permissions based on these groups. The wrong user must never be allowed to access unauthorized data or perform restricted tasks, especially for other product lines they aren’t associated with.

•ProductManagersshouldbeabletoaccessthesolut ionfromanywhereatanyt ime. Product Managers may need to access update information or publish new updates, patches, or hot fixes at bizarre t imes, and they can’t always be sitt ing at their office to do it. They should be able to log on to the update delivery solut ion from anywhere at any t ime.

•Theupdatedeliverysolut ionneedstocoexistwithansoftware producer’s update site. For software producers that also enable end users to download updates from their Web site, the update delivery solut ion must coexist with this update site. This means that updates posted to your corporate Web site should be the same files used in the update solut ions, which ideally would reference them direct ly. If two update sources don’t have the same build, the software producer will be forced to waste t ime by doubling its QA effort, or worse yet, deliver the incorrect update files.

•Test ingupdatesbeforedistribut ionshouldbeeasy. Often Product Managers will want a quick look at the user experience of a new update before sending it to their QA lab or out to customers. An effect ive update delivery solut ion should provide test ing funct ionality so Product Managers can preview the end-user interface, and download, apply, and test the update without having the associated applicat ion deployed to the other product ion users. An update delivery solut ion should also enable an software producer’s QA lab

REGIONAL SYS-ADMIN

OEM VENDOR / PARTNER

END USERS

SOFTWAREVENDOR

CENTRAL SYS-ADMIN

Page 4: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

4 Flexera Software: FlexNet Producer Suite Whitepaper Series

to test the update process for new updates before deploying them out to customers.

•ProductManagersneedreal-t imereport ingtools. Product Managers need to know if their updates are being successfully installed by their users. An effect ive update delivery solut ion should provide this information, but it should also enable Product Managers to access other types of real-t ime usage data, including key facts on the total number of act ive users of an applicat ion, the number of users on each software version, how quickly new product releases are used in the marketplace, and more. It should also tell Product Manager how many users clicked on the market ing or support messages they deliver to their customers’ desktops.

•ProductManagersmustbeabletotargetupdatestospecificusergroupsandmachines.Often Product Managers publish updates that aren’t meant for their ent ire user base. That’s why they need their update delivery solut ion to make it easy for them to target specific user groups and, in some cases, part icular customers’ machines. The update delivery solut ion should enable Product Managers to enter in target ing condit ions so updates are only sent to customers using certain operat ing systems or using an optional component of the software, for example.

•ProductMangersmustbeabletosendupdatesonlytousersent it ledtoreceivethem. Some software producers require customers to be part of a maintenance or subscript ion plan to receive updates. An update delivery solut ion should have funct ionality that automatically validates the ent it lements of every user, so unauthorized customers never receive privileged updates. The update delivery solut ion should be able to authent icate customers either silent ly or by requiring the user to authent icate by entering data – like a serial number.

•ProductManagersmustbeabletotargetupdatesformult ipleproductsormessagestomult ipleusers.Often a single update or HTML message will be meant for more than one version of a product, and sometimes an update or message is meant for more than one product. A Product Manager shouldn’t have to waste t ime publishing the update or message separately for each product and version it targets. An efficient update delivery solut ion should enable them to publish the update once and have it delivered to everyone.

•ProductManagersneedawaytostaggerthedeliveryofupdates. An effect ive update delivery solut ion should enable Product Managers to distribute updates and messages to a small percentage of their customers before deploying it out to their ent ire user base. By staggering update delivery, Product Managers can

get feedback on an update or message’s performance from users and make any necessary changes before sending it to everyone. Staggered delivery also enables software producers to more evenly distribute the update load on their download servers.

•ProductManagersmustbeabletobrandupdatesandmessagestomatchtheirproductline. The updating experience presented to the end user should match the look, feel, and branding of the product itself. The update delivery solut ion should enable the Product Manager to brand the updates and messages so it offers customers a consistent end-user experience.

Consumer End-User RequirementsIf you sell software to consumers or end users that can update their own machines, you must consider the following customer requirements when designing an update delivery solut ion:

•Maketheupdatingprocesssimplefortheenduser.Never assume your end users are technically savvy or will proact ively search for new updates and patches for your applicat ions. End users require an easy-to-use UI to not ify them of the availability of new updates, and they need those updates to be easy to install. Even requiring end users to save and launch an update themselves is asking too much. The simpler you make the update not ificat ion, download, and installat ion process for your end users, the better. If end users can’t do it all with one or two mouse clicks, too many of them will fail to install your updates.

•Theupdateprocessshouldbeautomatic.Although end users should be allowed to approve any changes made to their systems, once an update has been accepted by the end user it should happen in the background.

•Downloadingupdatesshouldnott ieuptheenduser’sbandwidth. When designing an update solut ion for consumer software, you must assume that your customers live in a dial-up world with extremely limited bandwidth. If the downloading of your updates takes too long or takes up too much bandwidth, end users will be reluctant to download and install your updates in the future.

•Onlybothertheenduserwhenthereisanupdate.End users want to be not ified when new updates are available, but they don’t want to be told that “No updates are available” every t ime they launch your applicat ion. An effect ive update delivery solut ion should check for updates in the background and only not ify the end user when new updates are available. If no updates are available, it should remain silent.

•Theupdatingexperienceshouldbetailoredtofittheapplicat ion. Not all consumer applicat ions are the

Page 5: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

5Flexera Software: FlexNet Producer Suite Whitepaper Series

same, so they shouldn’t all present the exact same updating experience to the end user. Your update delivery solut ion should make it easy to tailor the part iculars of your product’s updating experience to fit your applicat ion. For example, some applicat ions should prompt the end user to install crit ical new updates the moment the app is launched, while others are better off not ifying users of new updates right after the applicat ion is closed. The UI used to not ify the user of new updates should have the same look, feel, and branding as the applicat ion itself to provide a consistent end-user experience. An effect ive update delivery solut ion must make it easy to do all of the above and more.

•Theupdatetextshouldbeintheenduser’snat ivelanguage. Providing an update message in English to a German end user simply doesn’t work. An effect ive update delivery solut ion should translate update text into the native language of the end user, whether they speak Danish, Dutch, Swedish, or any other language.

•Theupdatingexperienceshouldbetailoredtofittheend user. Never force users to install updates that don’t apply to them. An effect ive update delivery solut ion must be able to determine which software product and version each customer is running and display only the updates appropriate to them. It is important for an update delivery solut ion to be able to add condit ions against file versions, file t imestamps, and registry sett ings when target ing end users, so you can send updates only to customers using certain operat ing systems or using an optional component of your software. This will save you bandwidth and avoid sending unnecessary updates to your end users.

•Yourupdatingservershouldalwaysbeavailable. One of the worst sins an update delivery solut ion can commit is being unreachable when an end user is trying to download an update or patch. That’s why an effect ive update delivery solut ion must be able to efficient ly process hundreds of individual user requests in milliseconds and scale to maintain steady performance as load/demand increases by simply adding extra servers. Your update delivery solut ion must be able to scale to meet the demands of your ent ire user base, and have redundancies in place so that if one server goes down, the others can handle the extra load seamlessly.

•Don’tsendtheendusermessagesthatdon’tapplytothem. End users expect to receive informative messages about new updates, new product releases, and important technical support instruct ions, but they don’t want to receive information that isn’t relevant to the specific product and version they run. Just like you wouldn’t send a customer an update for a product

they don’t own, you shouldn’t bother end users with messages that do not apply to them. You must be able to target the messages you send based on product and specific version, the operat ing system they run, and more.

IT Administrator RequirementsIf you sell software to enterprises, governments, hospitals, or any organization managed by IT administrators, you must consider the following requirements when designing an update delivery solut ion:

• IT administrators need to be proact ively informed of the availability of new updates. Depending on the organization, a single IT administrator can be responsible for managing as many as several thousands applicat ions. They have no t ime to regularly search your site for new updates and patches for your products. It is crucial that you are able to not ify them when new updates are available for your applicat ions in a way that they will take not ice. If you don’t, your new updates could get lost in IT’s daily shuffle and never deployed.

• IT administrators need complete control over update review, target ing, and distribut ion. An effect ive solut ion must provide IT administrators with an easy way to control how they manage your updates, including when and how they access, review, target, and distribute your updates. They need to be able to control when (date and t ime of day) they check your server for new updates, including the ability to schedule weekly and monthly automated update checks. They must be able to optionally review all your updates’ metadata, including a full descript ion, file size, and any relevant installat ion instruct ions before they decide to deploy them. They should also have the option to bypass any review or test ing and automatically deploy your updates as soon as they receive them. When preparing to deploy your updates, IT administrators should be able to easily target the machines in their organization they wish to receive your files – funct ionality should include the ability to target specific products and versions and add condit ions against file versions, file t imestamps, and registry sett ings. Finally, update distribut ion should be as simple as possible, so an effect ive update delivery solut ion should provide administrators with a choice of deploying using their software distribut ion system (i.e., SMS, ZENworks, LANDesk, etc.) or using your update delivery solut ion itself.

•ITadministratorsneedaccesstoreal-t imereportsonupdate distribut ion. Did the update just deployed install successfully on every target system? If not, which systems st ill require the update? This is the kind of accurate, real-t ime report ing data IT administrators require from an update delivery solut ion, but it isn’t

Page 6: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

6 Flexera Software: FlexNet Producer Suite Whitepaper Series

necessarily the only data they need. Different customers will require different reports, and an effect ive update delivery solut ion should be easily customizable to accommodate different customer report ing requirements.

•Updatesmustbedeadsimpletoinstallandrun.The last thing IT administrators need is to have to waste t ime and resources figuring out how to install and run your updates. You need to provide them with an easy way to download your updates, and the updates themselves need to be bulletproof, requiring no end-user interact ion.

•ITadministratorsdon’twanttobeforcedtodeployupdates. You can’t assume that your customers’ IT administrators will want to deploy every update you create. An effect ive update delivery solut ion must provide IT administrators with the option of first reviewing and test ing your updates before deciding whether or not to deploy.

•Updatesmustbeeasytomanage. IT administrators strive to reduce the TCO (total cost of ownership) of the applicat ions they manage. The harder your updates are to manage, the higher your applicat ion’s TCO. Your update delivery solut ion must simplify the entire updating process, from notificat ion to test ing to distribut ion. If not, you risk alienating customers and driving up your own support costs.

•ITadministratorsmustbeabletoeasilypasstheupdate to test ing. Many, if not all, of your customers’ IT administrators will first test your updates before deploying them out to their operat ing environment. They may do the test ing themselves, or they may pass the update on to regional or local IT teams to conduct their own tests for their part icular systems. If they chose to pass on the updates, an effect ive update delivery solut ion should make it easy not only to pass on the update on, but for the local administrators to manage them, including easy review, target ing, and distribut ion.

•ITadministratorsmustbeallowedtousetheirexist ingsoftwaredistribut ionsystem. If an enterprise uses a distribut ion system such as SMS, LANDesk, ZENworks, or Tivoli to deploy their applicat ions, an effect ive distribut ion system must allow them the option of using it to distribute new updates and patches.

Implementing a Software Update Delivery Solut ionOn the surface, implementing an effect ive update delivery solut ion may seem like something one or two developers can handle in a few months t ime, but in reality it requires a far more significant commitment. The following sect ion

highlights the components that make up an update delivery solut ion and some of the programming and code that each component requires.

Client ComponentThe following bullets describe a few of the funct ions of an update delivery solut ion that require code to be resident on the target machine and integrated into the installed applicat ion and update.

Anupdatesolut ionmustbeableto:

•Proact ivelyandsilent lycheckforupdatesandonlydisplayamessagewhenupdatesareavailable.This requires the creat ion of Internet connect ivity software, as well as source code to enable the solut ion to interact with databases.

•CheckforInternetconnect ivityandnotpromptiftheuseris not connected. This requires knowledge of Internet APIs for every plat form targeted by the applicat ion being updated. The more platforms it targets, the more difficult and t ime consuming this becomes.

•Read,store,anduseproxysett ings,includingIDandpassword for authent icat ing proxies. This includes auto-configured, browser-default configured, and script-based configured proxy servers.

•Determinewhichversionoftheapplicat ionisinstalled.The client agent must be able to query the target machine’s operat ing system resources to determine the current version, service pack, and patch level of the applicat ion. In the case of hot fixes or smaller updates, this determination may involve the presence and version of individual files or resources on the user’s system, rather than querying more obvious version sett ings.

•Callserverstofindavailableupdates.This requires the definit ion and implementat ion of a remote API and handshaking algorithms. It requires extensive back-end support, including servers that are easily scalable.

•Onlydisplayupdatesavailableforinstalledapplicat ions.Once an update is displayed or installed, it should never be displayed again to that part icular end user.

•Useparameterizedcondit ionstocontrolwhichupdatesare targeted to users. This requires building each condit ion per update, and, because of privacy issues, the update solut ion’s client agent needs to run these condit ions on the target system, rather than sending the information about the end user’s system to the server for evaluat ion.

Page 7: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

7Flexera Software: FlexNet Producer Suite Whitepaper Series

•Displaytheuserinterfaceinmult iplelanguages. Many popular applicat ions have a user base consist ing of over 30 languages. Not only does support ing these languages require isolat ing and separat ing all the strings in the user interface, it requires manually translat ing text into each language, which can be extremely t ime consuming. A translated user interface also requires careful design to ensure that the layout accommodates strings that may be vast ly larger or smaller depending on the end user’s preferred language.

•Downloadupdatesusingcheckpointrestartlogic. This ensures the integrity of the update if a connect ion to the update server is somehow interrupted in mid-download.

•Downloadupdatesusingbandwidththrott ling.The file transfer rate during update downloading should be able to increase or decrease based on the target system’s available bandwidth, thereby preserving the user’s interact ive experience.

•Verifytheintegrityofthedownloadedfiletoensurethefullfilewasdownloaded. This can involve digital signatures or encrypt ion technologies to ensure no third-party manipulat ions of downloaded binaries have occurred.

•Runonmult ipleplat formsandinstallOS-specificexecutablespassingopt ionalcommand-lineparameters.This requires knowledge of each plat form an applicat ion targets and their proprietary installat ion formats, including MSI, MSP, EXE, and JAR. Addit ionally, if your client displays a user interface, it must be ported to each supported plat form or developed in plat form-neutral technologies.

•Displayaprofessionaluserinterface.The UI displayed to the end user needs to be polished and easy to use. This requires expert ise in user interface design.

Server ComponentThe following bullets describe a few of the funct ions an update solut ion’s server must perform to process update requests from the client.

Itmustbeableto:

•Retrievealistofavailableupdatesfromdatabaseonclient request. Different versions of an applicat ion will rout inely contact the server for updates. The server must recognize them and deliver a complete list of available updates.

•Sendinformationonupdatestotheclient.Updates are more than just files. They should have accompanying metadata (update descript ion, file size, installat ion

instruct ions, etc.) that should be transmitted and displayed to the end user.

•Logrequestsforupdatesandupdatesdistributed. This enables software producers to ensure all end users downloaded the update. Accomplishing this requires that transact ion logs are stored into a database for report ing.

•Easilyscaleasuserbaseincreasesbyaddingaddit ionalservers. If the user base doubles, an update delivery solut ion must be able to successfully handle the addit ional load by simply adding twice the servers.

•Beabletoprocessmillionsofrequestsperday.Depending on the applicat ion, end users might be contact ing the server mult iple t imes each day. Also, some updates require mult iple server transact ions. Each server must be able to seamlessly handle an extremely high load.

Server Component for Publishing UpdatesThe following bullets describe a few of the funct ions that the Product Manager’s area of the update solut ion must perform.

Itmustbeableto:

•EnableProductManagerstoeasilyaddandupdatethelist of available updates. The user interface presented to Product Managers to manage their updates should be simple to use so that no coding is required to publish an update, but robust enough to enable Product Manager to effect ively manage each update.

•Createalogicalrelat ionshipbetweeninstalledproductand available updates. Product Managers must be able to assign a specific installat ion sequence for mult iple updates.

•Displayalistofupdatesperproduct. Software producers usually have more than one product to update, so the update delivery solut ion must make it easy to view and manage updates on a per product basis.

•Allowforeasyedit ingoftheupdateURL. Product Managers need an easy way to enter and edit the URL where each update is stored.

•Viewupdateandusagereport ing.Product Managers need easy ways to review accurate, real-t ime data about the adoption rates of their updates and the usage rates of their applicat ions.

•CreatecustomUIelements.Different applicat ions often require different update data to be entered into and captured by the update delivery solut ion.

Page 8: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

8 Flexera Software: FlexNet Producer Suite Whitepaper Series

•Controlaccesstosoftwareproducerstaffbyproduct line and funct ion. Different Product Managers and internal staff need access to the solut ion for different reasons. The solut ion should have role-based security to ensure they only can only do authorized tasks on authorized products.

•Allowsegmentat ionofaccessbyproductline. If an software producer has more than one product or product line, it may need to segment the Product Manager access to ensure that one Product Manager does not accidentally view or edit the update configurat ion sett ings for products that they do not manage. This will also simplify the number of updates that each Product Manager needs to view and manage.

•Testtheupdatesbeforepublishing.Product Managers need a way to ensure new updates will successfully download and install on the right end users’ systems before publishing them to their user base.

IT Administrator ComponentThe following bullets describe a few of the funct ions that a customer’s IT administrator’s area of the update solut ion must perform.

In addit ion to needing to perform all the funct ions listed in the sect ion above for Product Managers, the IT administrator component of the update solut ion must also be able to:

•Synchronizewithsoftwareproducer’supdateserver. IT administrators need an easy way to synchronize with the software producer’s update server to pull down new updates and patches. Administrators need an easy way to schedule when this synchronizat ion occurs.

•DistributeupdatestoeitherendusersortootherITadministrators.If they are distribut ing the update direct ly to end users, they should be allowed to either use their own software distribut ion system or the update delivery solut ion itself. If they are passing it down to other IT administrators for test ing and distribut ion, those administrators also need a UI that performs all the same funct ionality.

•Presentaprofessional,polishedUI. If an update solut ion presents an software producer’s Product Managers with an unimpressive UI that is difficult to use, that’s bad. If it does the same to customers, that’s unacceptable, and could cost an software producer significant revenue.

Addit ional Challenges to Developing an Update Delivery Solut ionThe following sect ion details a few of the challenges software producers face when attempting to build their own software update delivery solut ion.

It Requires a Diverse Team of Experienced DevelopersAs suggested in the previous sect ion, it is extremely difficult for a single developer to author and maintain an effect ive update delivery solut ion. Developing an update delivery solut ion requires substant ial development expert ise in creating client, server, and database code. While a developer may have sufficient experience in one or even two of these core competencies, they almost never have it in all three. It is therefore unrealist ic to task one developer with the creat ion of an update delivery solut ion. It takes a dedicated team of developers with specialized skills, and it takes t ime – both of which cost money.

It Requires an Elaborate QA EnvironmentAnother reason why creat ing an effect ive update delivery solut ion is difficult is that from a QA standpoint, it requires more than just basic funct ionality test ing. You also have to conduct performance and scalability tests to ensure that the update solut ion can handle millions of end-user requests in a day’s t ime and effect ively scale by adding addit ional servers. You also need to conduct redundancy tests to ensure that if one server goes down, there will be no change in the end-user experience. Performance, scalability, and redundancy tests are specialized, requiring that you set up and maintain a dedicated QA environment, and many organizations do not have the experienced manpower and equipment to conduct them.

It Requires a Stable SystemDeveloping the updating software and professional, polished UIs is not enough if the system isn’t stable. If it loses contact with end users mid-download or periodically crashes, the solut ion is a failure. An update delivery solut ion is similar to the unmanned shutt les and probes NASA sends to Mars. No matter how state of the art the machines may be, they are useless if they can’t communicate with NASA. Stability in an update delivery solut ion is an absolute necessity.

It Requires Continuous ImprovementsTechnology and end-user needs are constant ly evolving, and an effect ive update delivery solut ion needs to keep pace. So creating an updating tool isn’t just a one shot deal – something developers can build once and then go back to developing your applicat ions full t ime. It requires cont inuous improvements, and that means a substant ial and long-term commitment from your development team. Plus, each new upgrade to the solut ion requires a new round of QA tests described above, further tying up hardware and personnel.

An Alternative to Building Your Own Update Delivery Solut ionInstead of committ ing substant ial developer resources to creating a potent ially flawed update delivery solut ion, many software producers instead use FlexNet Connect to update their installed products.

Page 9: Build vs. Buy: Designing an Effective Software Update Delivery Solution

BUILD VS. BUY

9Flexera Software: FlexNet Producer Suite Whitepaper Series

About FlexNet® ConnectPart of the FlexNet Producer Suite, FlexNet Connect makes it easy for software producers and high-tech manufacturers to electronically deliver updates, patches, and bug fixes to any user in any operat ing environment. Whether you want to deliver updates direct ly to home consumers running Windows or to enterprises with Linux systems managed by IT administrators, FlexNet Connect is the only solut ion you need.

FlexNet Connect also enables you to deliver targeted HTML messages, including news about new product releases and upcoming events, direct ly to users’ desktops. Plus, if your relat ionship with your users explicit ly permits, FlexNet Connect can provide you with invaluable data about your installed products, so you always know who is using what version of your software, the number of users who have installed a given update, and more.

FlexNet Connect can update any applicat ion running on any platform, including Windows, Mac OS X, Solaris, Linux, AIX, and any flavor of UNIX. It has a secure architecture that scales to hundreds of millions of end users, making it ideal for software producers of every size, customer base, and budget. Plus, FlexNet Connect is extremely easy to implement into your applicat ions, so you can be up and running in no t ime.

About Flexera® SoftwareFlexera Software is the leading provider of strategic solut ions for Applicat ion Usage Management; solut ions delivering cont inuous compliance, optimized usage and maximized value to applicat ion producers and their customers. Flexera Software is trusted by more than 80,000 customers that depend on our comprehensive solut ions- from installat ion and licensing, ent it lement and compliance management to applicat ion readiness and enterprise license optimization - to strategically manage applicat ion usage and achieve breakthrough results realized only through the systems-level approach we provide. For more information, please go to: www.flexerasoftware.com

SummaryMore and more software producers and high-tech manufacturers are using an electronic software update delivery solut ion to optimize the performance and stability of the software they sell and reduce their customer support costs. When deciding whether to purchase such a solut ion or create their own, software producers should be aware that creat ing an effect ive update delivery solut ion is extremely complex, requiring a substant ial and long-term developer commitment. For software producers and high-tech manufacturers looking to save money by purchasing a proven, effect ive third-party update delivery solut ion, there’s FlexNet Connect from Flexera Software.

You can learn more about FlexNet Connect, and optionallydownloadanevaluat ionofthesolut ion,byvisit ing www.flexerasoftware.com/fnc.

Page 10: Build vs. Buy: Designing an Effective Software Update Delivery Solution

WH

ITE

PA

PE

RW

HIT

E P

AP

ER

FlexeraSoftwareLLC1000 East Woodfield Road, Suite 400Schaumburg, IL 60173 USA

Schaumburg (Global Headquarters):+1 800-809-5659

United Kingdom (Europe, Middle East Headquarters):+44 870-871-1111+44 870-873-6300

Japan (Asia, Pacific Headquarters):+81 3-4360-8291

For more office locations visit:www.flexerasoftware.com

Copyright © 2011 Flexera Software LLC. All other brand and product names mentioned herein may be the trademarks and registered trademarks of their respect ive owners. FNC_WP_BuildVsBuy_Oct11