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

Flexera
FlexeraFlexera

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.

Build vs. Buy: Designing an
W H I T E PA P E R




                     Effective Software Update
                     Delivery Solution
BUILD VS. BUY




    Build vs. Buy:
    Designing an Effective Software
    Update Delivery Solution
    Introduction: Build It or Buy It                                like a relatively simple task, one that might take a few
    For software producers and high-tech manufacturers, the         developers just a month or two to accomplish. But creating
    ability to effectively deliver new software and data updates,   an effective update delivery solution is far more complex
    patches, and bug fixes to every customer is vital to the        than it might seem. The following document details some of
    success of any product line. Keeping customers on the most      the requirements a development team must consider when
    current software version optimizes user productivity and        designing their own software update delivery solution.
    satisfaction and significantly reduces the vendor’s customer    It also discusses several of the technical components
    support costs.                                                  developers must program into the solution, and a few of the
                                                                    additional challenges they must overcome in order to create
    Unfortunately, most software producers and high-tech            and maintain an effective software updating tool. Finally,
    manufacturers today have no means of proactively                this document introduces an alternate for
    delivering updates to their user base. Many still rely on       software producers contemplating building their own
    ineffective updating methods, such as mailing update CDs        update delivery solution.
    to every customer or trying to alert users through email
    that new updates are posted on their Web site. Manually         Different Software Update Delivery Requirements
    shipping update CDs is slow and often expensive while           When developing an effective software update delivery
    still requiring end users to do too much work to install the    solution, you must be constantly aware of the many
    update, and posting new updates to a Web site assumes           requirements of both the customer receiving the updates and
    customers will actually take the time to visit the site, find   the software producer Product Manager responsible for update
    the correct file, and install it properly. Neither method is    distribution. The figure below depicts the relationship between
    reliable, nor do they give producers/device manufacturers a     the software producer and its customers when it comes to
    way of knowing which customers have successfully installed      update delivery.
    the latest updates.
                                                                    The following section examines some of the requirements
    The easiest and most effective way to ensure customers
                                                                    of the Product Manager and the customer. Because the
    have the latest updates and patches is for producers/
                                                                    customer receiving the updates can be different depending
    manufacturers to use an electronic software update delivery
                                                                    on whether you sell software to consumers or enterprises
    solution with built-in usage reporting functionality. Such a
                                                                    (as shown in the figure above), the customer section is
    solution enables software producers to proactively deliver
                                                                    broken up into two parts: the consumer end user and the IT
    updates and patches to their user base, as well as receive
                                                                    administrator.
    real-time usage data reports detailing how many users have
    installed any update, the total number of active users of an
                                                                    Product Manager Requirements
    application, and more.
                                                                    When designing an update delivery solution you must
                                                                    consider the following requirements of the software producer
    Once a software producer decides to use an electronic
                                                                    Product Manager tasked with handling the publishing and
    update delivery solution, one question that usually arises
    is whether the software producer should purchase the            management of the updates:
    solution or attempt to build their own updating tool. On
    the surface, building an update delivery solution may seem        •	Product	Managers	need	a	proactive,	simple	way	to	
                                                                        deliver updates. Getting customers on the current

2                                                                      Flexera Software: FlexNet Producer Suite Whitepaper Series
BUILD VS. BUY




                                                CENTRAL SYS-ADMIN


                                                                       REGIONAL SYS-ADMIN




                                           OEM VENDOR / PARTNER
                         SOFTWARE
                          VENDOR




                                                    END USERS



    version of your software improves user satisfaction and       •	Product	Managers	should	be	able	to	access	the	solution	
    reduces customer support costs, but delivering updates          from	anywhere	at	any	time. Product Managers may
    and patches to customers can be a never-ending                  need to access update information or publish new
    headache for Product Managers. They need an easy                updates, patches, or hot fixes at bizarre times, and
    way to proactively notify all their end users of new            they can’t always be sitting at their office to do it. They
    updates and deliver and install those updates to their          should be able to log on to the update delivery solution
    customers’ systems.                                             from anywhere at any time.

  •	Product	Managers	need	a	non-programmatic	way	to	              •	The	update	delivery	solution	needs	to	coexist	with	an	
    publish updates. Product Managers aren’t developers;            software producer’s update site. For software producers
    they shouldn’t be required to make source code-level            that also enable end users to download updates from
    changes, or hand edit raw data files each time they             their Web site, the update delivery solution must
    have to deliver a new update. An effective update               coexist with this update site. This means that updates
    delivery solution provides Product Managers with                posted to your corporate Web site should be the
    an easy-to-use interface that walks them through the            same files used in the update solutions, which ideally
    update publishing process.                                      would reference them directly. If two update sources
                                                                    don’t have the same build, the software producer will
  •	The	update	delivery	solution	must	have	role-based	              be forced to waste time by doubling its QA effort, or
    security. Because a software producer might need                worse yet, deliver the incorrect update files.
    different people to access their software update
    delivery solution, it must have role-based security that      •	Testing	updates	before	distribution	should	be	easy.
    lets Product Managers define the access rights and              Often Product Managers will want a quick look at the
    privileges of every user in their group. Additionally,          user experience of a new update before sending it to
    the security model must support the definition of groups        their QA lab or out to customers. An effective update
    of users or product groups and restrict permissions             delivery solution should provide testing functionality so
    based on these groups. The wrong user must never                Product Managers can preview the end-user interface,
    be allowed to access unauthorized data or perform               and download, apply, and test the update without
    restricted tasks, especially for other product lines they       having the associated application deployed to the
    aren’t associated with.                                         other production users. An update delivery solution
                                                                    should also enable an software producer’s QA lab

Flexera Software: FlexNet Producer Suite Whitepaper Series                                                                        3
BUILD VS. BUY




        to test the update process for new updates before               get feedback on an update or message’s performance
        deploying them out to customers.                                from users and make any necessary changes before
                                                                        sending it to everyone. Staggered delivery also enables
      •	Product	Managers	need	real-time	reporting	tools.	               software producers to more evenly distribute the update
        Product Managers need to know if their updates                  load on their download servers.
        are being successfully installed by their users. An
        effective update delivery solution should provide             •	Product	Managers	must	be	able	to	brand	updates	and	
        this information, but it should also enable Product             messages	to	match	their	product	line. The updating
        Managers to access other types of real-time usage               experience presented to the end user should match
        data, including key facts on the total number of active         the look, feel, and branding of the product itself. The
        users of an application, the number of users on each            update delivery solution should enable the Product
        software version, how quickly new product releases              Manager to brand the updates and messages so it
        are used in the marketplace, and more. It should also           offers customers a consistent end-user experience.
        tell Product Manager how many users clicked on the
        marketing or support messages they deliver to their         Consumer End-User Requirements
        customers’ desktops.                                        If you sell software to consumers or end users that can
                                                                    update their own machines, you must consider the
      •	Product	Managers	must	be	able	to	target	updates	to	         following customer requirements when designing an
        specific	user	groups	and	machines.	Often Product            update delivery solution:
        Managers publish updates that aren’t meant for their
        entire user base. That’s why they need their update           •	Make	the	updating	process	simple	for	the	end	user.	
        delivery solution to make it easy for them to target            Never assume your end users are technically savvy or
        specific user groups and, in some cases, particular             will proactively search for new updates and patches
        customers’ machines. The update delivery solution               for your applications. End users require an easy-to-use
        should enable Product Managers to enter in targeting            UI to notify them of the availability of new updates,
        conditions so updates are only sent to customers                and they need those updates to be easy to install.
        using certain operating systems or using an optional            Even requiring end users to save and launch an update
        component of the software, for example.                         themselves is asking too much. The simpler you make
                                                                        the update notification, download, and installation
      •	Product	Mangers	must	be	able	to	send	updates	only	to	           process for your end users, the better. If end users can’t
        users	entitled	to	receive	them. Some software producers         do it all with one or two mouse clicks, too many of
        require customers to be part of a maintenance or                them will fail to install your updates.
        subscription plan to receive updates. An update
        delivery solution should have functionality that              •	The	update	process	should	be	automatic.	Although end
        automatically validates the entitlements of every user,         users should be allowed to approve any changes made
        so unauthorized customers never receive privileged              to their systems, once an update has been accepted by
        updates. The update delivery solution should be able            the end user it should happen in the background.
        to authenticate customers either silently or by requiring
        the user to authenticate by entering data – like a serial     •	Downloading	updates	should	not	tie	up	the	end	user’s	
        number.                                                         bandwidth. When designing an update solution
                                                                        for consumer software, you must assume that your
      •	Product	Managers	must	be	able	to	target	updates	for	            customers live in a dial-up world with extremely limited
        multiple	products	or	messages	to	multiple	users.	Often          bandwidth. If the downloading of your updates takes
        a single update or HTML message will be meant for               too long or takes up too much bandwidth, end users
        more than one version of a product, and sometimes an            will be reluctant to download and install your updates
        update or message is meant for more than one product.           in the future.
        A Product Manager shouldn’t have to waste time
        publishing the update or message separately for each          •	Only	bother	the	end	user	when	there	is	an	update.	
        product and version it targets. An efficient update             End users want to be notified when new updates are
        delivery solution should enable them to publish the             available, but they don’t want to be told that “No
        update once and have it delivered to everyone.                  updates are available” every time they launch your
                                                                        application. An effective update delivery solution
      •	Product	Managers	need	a	way	to	stagger	the	delivery	of	         should check for updates in the background and only
        updates. An effective update delivery solution should           notify the end user when new updates are available. If
        enable Product Managers to distribute updates and               no updates are available, it should remain silent.
        messages to a small percentage of their customers
        before deploying it out to their entire user base. By         •	The	updating	experience	should	be	tailored	to	fit	the	
        staggering update delivery, Product Managers can                application. Not all consumer applications are the


4                                                                      Flexera Software: FlexNet Producer Suite Whitepaper Series
BUILD VS. BUY




    same, so they shouldn’t all present the exact same            they don’t own, you shouldn’t bother end users with
    updating experience to the end user. Your update              messages that do not apply to them. You must be able
    delivery solution should make it easy to tailor the           to target the messages you send based on product and
    particulars of your product’s updating experience to          specific version, the operating system they run, and
    fit your application. For example, some applications          more.
    should prompt the end user to install critical new
    updates the moment the app is launched, while others      IT Administrator Requirements
    are better off notifying users of new updates right       If you sell software to enterprises, governments, hospitals, or
    after the application is closed. The UI used to notify    any organization managed by IT administrators, you must
    the user of new updates should have the same look,        consider the following requirements when designing an
    feel, and branding as the application itself to provide   update delivery solution:
    a consistent end-user experience. An effective update
    delivery solution must make it easy to do all of the        • IT administrators need to be proactively informed
    above and more.                                               of the availability of new updates. Depending on
                                                                  the organization, a single IT administrator can
  •	The	update	text	should	be	in	the	end	user’s	native	           be responsible for managing as many as several
    language. Providing an update message in English to           thousands applications. They have no time to regularly
    a German end user simply doesn’t work. An effective           search your site for new updates and patches for your
    update delivery solution should translate update text         products. It is crucial that you are able to notify them
    into the native language of the end user, whether they        when new updates are available for your applications
    speak Danish, Dutch, Swedish, or any other language.          in a way that they will take notice. If you don’t, your
                                                                  new updates could get lost in IT’s daily shuffle and
  •	The	updating	experience	should	be	tailored	to	fit	the	        never deployed.
    end user. Never force users to install updates that
    don’t apply to them. An effective update delivery           • IT administrators need complete control over update
    solution must be able to determine which software             review, targeting, and distribution. An effective solution
    product and version each customer is running and              must provide IT administrators with an easy way to
    display only the updates appropriate to them. It is           control how they manage your updates, including when
    important for an update delivery solution to be able to       and how they access, review, target, and distribute
    add conditions against file versions, file timestamps,        your updates. They need to be able to control when
    and registry settings when targeting end users, so            (date and time of day) they check your server for new
    you can send updates only to customers using certain          updates, including the ability to schedule weekly and
    operating systems or using an optional component of           monthly automated update checks. They must be able to
    your software. This will save you bandwidth and avoid         optionally review all your updates’ metadata, including
    sending unnecessary updates to your end users.                a full description, file size, and any relevant installation
                                                                  instructions before they decide to deploy them. They
  •	Your	updating	server	should	always	be	available.              should also have the option to bypass any review or
    One of the worst sins an update delivery solution             testing and automatically deploy your updates as soon
    can commit is being unreachable when an end user              as they receive them. When preparing to deploy your
    is trying to download an update or patch. That’s why          updates, IT administrators should be able to easily
    an effective update delivery solution must be able            target the machines in their organization they wish
    to efficiently process hundreds of individual user            to receive your files – functionality should include the
    requests in milliseconds and scale to maintain steady         ability to target specific products and versions and add
    performance as load/demand increases by simply                conditions against file versions, file timestamps, and
    adding extra servers. Your update delivery solution           registry settings. Finally, update distribution should be
    must be able to scale to meet the demands of your             as simple as possible, so an effective update delivery
    entire user base, and have redundancies in place so           solution should provide administrators with a choice of
    that if one server goes down, the others can handle the       deploying using their software distribution system (i.e.,
    extra load seamlessly.                                        SMS, ZENworks, LANDesk, etc.) or using your update
                                                                  delivery solution itself.
  •	Don’t	send	the	end	user	messages	that	don’t	apply	
    to	them. End users expect to receive informative            •	IT	administrators	need	access	to	real-time	reports	on	
    messages about new updates, new product releases,             update distribution. Did the update just deployed
    and important technical support instructions, but they        install successfully on every target system? If not, which
    don’t want to receive information that isn’t relevant         systems still require the update? This is the kind of
    to the specific product and version they run. Just like       accurate, real-time reporting data IT administrators
    you wouldn’t send a customer an update for a product          require from an update delivery solution, but it isn’t



Flexera Software: FlexNet Producer Suite Whitepaper Series                                                                       5
BUILD VS. BUY




        necessarily the only data they need. Different             highlights the components that make up an update delivery
        customers will require different reports, and an           solution and some of the programming and code that each
        effective update delivery solution should be easily        component requires.
        customizable to accommodate different customer
        reporting requirements.                                    Client Component
                                                                   The following bullets describe a few of the functions of an
      •	Updates	must	be	dead	simple	to	install	and	run.	The        update delivery solution that require code to be resident
        last thing IT administrators need is to have to waste      on the target machine and integrated into the installed
        time and resources figuring out how to install and         application and update.
        run your updates. You need to provide them with an
        easy way to download your updates, and the updates         An	update	solution	must	be	able	to:
        themselves need to be bulletproof, requiring no end-
        user interaction.                                            •	Proactively	and	silently	check	for	updates	and	only	
                                                                       display	a	message	when	updates	are	available.	This
      •	IT	administrators	don’t	want	to	be	forced	to	deploy	           requires the creation of Internet connectivity software,
        updates. You can’t assume that your customers’ IT              as well as source code to enable the solution to interact
        administrators will want to deploy every update you            with databases.
        create. An effective update delivery solution must
        provide IT administrators with the option of first           •	Check	for	Internet	connectivity	and	not	prompt	if	the	user	
        reviewing and testing your updates before deciding             is not connected. This requires knowledge of Internet
        whether or not to deploy.                                      APIs for every platform targeted by the application
                                                                       being updated. The more platforms it targets, the more
      •	Updates	must	be	easy	to	manage. IT administrators              difficult and time consuming this becomes.
        strive to reduce the TCO (total cost of ownership)
        of the applications they manage. The harder your             •	Read,	store,	and	use	proxy	settings,	including	ID	and	
        updates are to manage, the higher your application’s           password for authenticating proxies. This includes
        TCO. Your update delivery solution must simplify the           auto-configured, browser-default configured, and script-
        entire updating process, from notification to testing to       based configured proxy servers.
        distribution. If not, you risk alienating customers and
        driving up your own support costs.                           •	Determine	which	version	of	the	application	is	installed.	
                                                                       The client agent must be able to query the target
      •	IT	administrators	must	be	able	to	easily	pass	the	             machine’s operating system resources to determine
        update to testing. Many, if not all, of your customers’        the current version, service pack, and patch level of
        IT administrators will first test your updates before          the application. In the case of hot fixes or smaller
        deploying them out to their operating environment.             updates, this determination may involve the presence
        They may do the testing themselves, or they may pass           and version of individual files or resources on the
        the update on to regional or local IT teams to conduct         user’s system, rather than querying more obvious
        their own tests for their particular systems. If they          version settings.
        chose to pass on the updates, an effective update
        delivery solution should make it easy not only to pass       •	Call	servers	to	find	available	updates.	This requires the
        on the update on, but for the local administrators to          definition and implementation of a remote API and
        manage them, including easy review, targeting,                 handshaking algorithms. It requires extensive back-end
        and distribution.                                              support, including servers that are easily scalable.

      •	IT	administrators	must	be	allowed	to	use	their	existing	     •	Only	display	updates	available	for	installed	applications.	
        software	distribution	system. If an enterprise uses a          Once an update is displayed or installed, it should
        distribution system such as SMS, LANDesk, ZENworks,            never be displayed again to that particular end user.
        or Tivoli to deploy their applications, an effective
        distribution system must allow them the option of using      •	Use	parameterized	conditions	to	control	which	updates	
        it to distribute new updates and patches.                      are targeted to users. This requires building each
                                                                       condition per update, and, because of privacy issues,
    Implementing a Software Update Delivery Solution                   the update solution’s client agent needs to run these
    On the surface, implementing an effective update delivery          conditions on the target system, rather than sending
    solution may seem like something one or two developers             the information about the end user’s system to the
    can handle in a few months time, but in reality it requires        server for evaluation.
    a far more significant commitment. The following section




6                                                                     Flexera Software: FlexNet Producer Suite Whitepaper Series
BUILD VS. BUY




   •	Display	the	user	interface	in	multiple	languages.	                instructions, etc.) that should be transmitted and
     Many popular applications have a user base                        displayed to the end user.
     consisting of over 30 languages. Not only does
     supporting these languages require isolating and                •	Log	requests	for	updates	and	updates	distributed.	
     separating all the strings in the user interface, it              This enables software producers to ensure all end
     requires manually translating text into each language,            users downloaded the update. Accomplishing this
     which can be extremely time consuming. A translated               requires that transaction logs are stored into a
     user interface also requires careful design to ensure             database for reporting.
     that the layout accommodates strings that may be
     vastly larger or smaller depending on the end user’s            •	Easily	scale	as	user	base	increases	by	adding	additional	
     preferred language.                                               servers. If the user base doubles, an update delivery
                                                                       solution must be able to successfully handle the
   •	Download	updates	using	checkpoint	restart	logic. This             additional load by simply adding twice the servers.
     ensures the integrity of the update if a connection
     to the update server is somehow interrupted in                  •	Be	able	to	process	millions	of	requests	per	day.	
     mid-download.                                                     Depending on the application, end users might be
                                                                       contacting the server multiple times each day. Also,
   •	Download	updates	using	bandwidth	throttling.	The                  some updates require multiple server transactions.
     file transfer rate during update downloading should               Each server must be able to seamlessly handle an
     be able to increase or decrease based on the target               extremely high load.
     system’s available bandwidth, thereby preserving the
     user’s interactive experience.                               Server Component for Publishing Updates
                                                                  The following bullets describe a few of the functions
   •	Verify	the	integrity	of	the	downloaded	file	to	ensure	       that the Product Manager’s area of the update solution
     the	full	file	was	downloaded. This can involve digital       must perform.
     signatures or encryption technologies to ensure no
     third-party manipulations of downloaded binaries             It	must	be	able	to:
     have occurred.
                                                                     •	Enable	Product	Managers	to	easily	add	and	update	the	
   •	Run	on	mult iple	plat forms	and	install	OS-specific	              list of available updates. The user interface presented to
     executables	passing	opt ional	command-line	parameters.	           Product Managers to manage their updates should be
     This requires knowledge of each plat form an                      simple to use so that no coding is required to publish an
     applicat ion targets and t heir proprietary installat ion         update, but robust enough to enable Product Manager
     formats, including MSI, MSP, EXE, and JAR.                        to effectively manage each update.
     Addit ionally, if your client displays a user interface,
     it must be ported to each supported plat form or                •	Create	a	logical	relationship	between	installed	product	
     developed in plat form-neutral technologies.                      and available updates. Product Managers must be
                                                                       able to assign a specific installation sequence for
   •	Display	a	professional	user	interface.	The UI displayed to        multiple updates.
     the end user needs to be polished and easy to use. This
     requires expertise in user interface design.                    •	Display	a	list	of	updates	per	product. Software producers
                                                                       usually have more than one product to update, so the
Server Component                                                       update delivery solution must make it easy to view and
The following bullets describe a few of the functions an               manage updates on a per product basis.
update solution’s server must perform to process update
requests from the client.                                            •	Allow	for	easy	editing	of	the	update	URL. Product
                                                                       Managers need an easy way to enter and edit the URL
It	must	be	able	to:                                                    where each update is stored.

   •	Retrieve	a	list	of	available	updates	from	database	on	          •	View	update	and	usage	reporting.	Product Managers
     client request. Different versions of an application will         need easy ways to review accurate, real-time data
     routinely contact the server for updates. The server              about the adoption rates of their updates and the
     must recognize them and deliver a complete list of                usage rates of their applications.
     available updates.
                                                                     •	Create	custom	UI	elements.	Different applications often
   •	Send	information	on	updates	to	the	client.	Updates are            require different update data to be entered into and
     more than just files. They should have accompanying               captured by the update delivery solution.
     metadata (update description, file size, installation


Flexera Software: FlexNet Producer Suite Whitepaper Series                                                                          7
BUILD VS. BUY




      •	Control	access	to	software	producer	staff	by	product	         It Requires a Diverse Team of Experienced Developers
        line and function. Different Product Managers and             As suggested in the previous section, it is extremely difficult
        internal staff need access to the solution for different      for a single developer to author and maintain an effective
        reasons. The solution should have role-based security         update delivery solution. Developing an update delivery
        to ensure they only can only do authorized tasks on           solution requires substantial development expertise in
        authorized products.                                          creating client, server, and database code. While a
                                                                      developer may have sufficient experience in one or even
      •	Allow	segmentation	of	access	by	product	line. If an           two of these core competencies, they almost never have it
        software producer has more than one product or                in all three. It is therefore unrealistic to task one developer
        product line, it may need to segment the Product              with the creation of an update delivery solution. It takes a
        Manager access to ensure that one Product Manager             dedicated team of developers with specialized skills, and it
        does not accidentally view or edit the update                 takes time – both of which cost money.
        configuration settings for products that they do not
        manage. This will also simplify the number of updates         It Requires an Elaborate QA Environment
        that each Product Manager needs to view and manage.           Another reason why creating an effective update delivery
                                                                      solution is difficult is that from a QA standpoint, it requires
      •	Test	the	updates	before	publishing.	Product Managers          more than just basic functionality testing. You also have to
        need a way to ensure new updates will successfully            conduct performance and scalability tests to ensure that the
        download and install on the right end users’ systems          update solution can handle millions of end-user requests
        before publishing them to their user base.                    in a day’s time and effectively scale by adding additional
                                                                      servers. You also need to conduct redundancy tests to ensure
    IT Administrator Component                                        that if one server goes down, there will be no change in
    The following bullets describe a few of the functions that a      the end-user experience. Performance, scalability, and
    customer’s IT administrator’s area of the update solution         redundancy tests are specialized, requiring that you set
    must perform.                                                     up and maintain a dedicated QA environment, and many
                                                                      organizations do not have the experienced manpower and
    In addition to needing to perform all the functions               equipment to conduct them.
    listed in the section above for Product Managers, the IT
    administrator component of the update solution must also be       It Requires a Stable System
    able to:                                                          Developing the updating software and professional,
                                                                      polished UIs is not enough if the system isn’t stable. If it
      •	Synchronize	with	software	producer’s	update	server. IT        loses contact with end users mid-download or periodically
        administrators need an easy way to synchronize with           crashes, the solution is a failure. An update delivery
        the software producer’s update server to pull down new        solution is similar to the unmanned shuttles and probes
        updates and patches. Administrators need an easy way          NASA sends to Mars. No matter how state of the art
        to schedule when this synchronization occurs.                 the machines may be, they are useless if they can’t
                                                                      communicate with NASA. Stability in an update delivery
      •	Distribute	updates	to	either	end	users	or	to	other	IT	        solution is an absolute necessity.
        administrators.	If they are distributing the update
        directly to end users, they should be allowed to either       It Requires Continuous Improvements
        use their own software distribution system or the update      Technology and end-user needs are constantly evolving, and
        delivery solution itself. If they are passing it down to      an effective update delivery solution needs to keep pace.
        other IT administrators for testing and distribution,         So creating an updating tool isn’t just a one shot deal –
        those administrators also need a UI that performs all         something developers can build once and then go back to
        the same functionality.                                       developing your applications full time. It requires continuous
                                                                      improvements, and that means a substantial and long-term
      •	Present	a	professional,	polished	UI. If an update solution    commitment from your development team. Plus, each new
        presents an software producer’s Product Managers with         upgrade to the solution requires a new round of QA tests
        an unimpressive UI that is difficult to use, that’s bad. If   described above, further tying up hardware and personnel.
        it does the same to customers, that’s unacceptable, and
        could cost an software producer significant revenue.          An Alternative to Building Your Own Update
                                                                      Delivery Solution
    Additional Challenges to Developing an Update                     Instead of committing substantial developer resources to
    Delivery Solution                                                 creating a potentially flawed update delivery solution, many
    The following section details a few of the challenges             software producers instead use FlexNet Connect to update
    software producers face when attempting to build their own        their installed products.
    software update delivery solution.




8                                                                        Flexera Software: FlexNet Producer Suite Whitepaper Series
BUILD VS. BUY




About FlexNet® Connect                                        About Flexera® Software
Part of the FlexNet Producer Suite, FlexNet Connect makes     Flexera Software is the leading provider of strategic
it easy for software producers and high-tech manufacturers    solutions for Application Usage Management; solutions
to electronically deliver updates, patches, and bug fixes     delivering continuous compliance, optimized usage and
to any user in any operating environment. Whether you         maximized value to application producers and their
want to deliver updates directly to home consumers running    customers. Flexera Software is trusted by more than
Windows or to enterprises with Linux systems managed          80,000 customers that depend on our comprehensive
by IT administrators, FlexNet Connect is the only solution    solutions- from installation and licensing, entitlement
you need.                                                     and compliance management to application readiness
                                                              and enterprise license optimization - to strategically
FlexNet Connect also enables you to deliver targeted HTML     manage application usage and achieve breakthrough
messages, including news about new product releases and       results realized only through the systems-level approach
upcoming events, directly to users’ desktops. Plus, if your   we provide. For more information, please go to:
relationship with your users explicitly permits, FlexNet      www.flexerasoftware.com
Connect can provide you with invaluable data about your
installed products, so you always know who is using what      Summary
version of your software, the number of users who have        More and more software producers and high-tech
installed a given update, and more.                           manufacturers are using an electronic software update
                                                              delivery solution to optimize the performance and stability
FlexNet Connect can update any application running on         of the software they sell and reduce their customer support
any platform, including Windows, Mac OS X, Solaris,           costs. When deciding whether to purchase such a solution
Linux, AIX, and any flavor of UNIX. It has a secure           or create their own, software producers should be aware
architecture that scales to hundreds of millions of end       that creating an effective update delivery solution is
users, making it ideal for software producers of every        extremely complex, requiring a substantial and long-term
size, customer base, and budget. Plus, FlexNet Connect is     developer commitment. For software producers and high-
extremely easy to implement into your applications, so you    tech manufacturers looking to save money by purchasing a
can be up and running in no time.                             proven, effective third-party update delivery solution, there’s
                                                              FlexNet Connect from Flexera Software.




                                                                 You can learn more about FlexNet Connect, and
                                                                 optionally	download	an	evaluation	of	the	solution,	by	
                                                                 visiting www.flexerasoftware.com/fnc.




Flexera Software: FlexNet Producer Suite Whitepaper Series                                                                      9
Flexera	Software	LLC                    Schaumburg                              United Kingdom (Europe,                 Japan (Asia,                            For more office locations visit:
1000 East Woodfield Road,               (Global Headquarters):                  Middle East Headquarters):              Pacific Headquarters):                  www.flexerasoftware.com
Suite 400                               +1 800-809-5659                         +44 870-871-1111                        +81 3-4360-8291
Schaumburg, IL 60173 USA                                                        +44 870-873-6300

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

Recomendados

An end to-end solution for creating smarter products por
An end to-end solution for creating smarter productsAn end to-end solution for creating smarter products
An end to-end solution for creating smarter productsIBM Rational software
634 vistas8 diapositivas
Dops 1033 dev-ops_review_final por
Dops 1033 dev-ops_review_finalDops 1033 dev-ops_review_final
Dops 1033 dev-ops_review_finalDaniel Berg
1.4K vistas29 diapositivas
Engineering Software Products: 2. agile software engineering por
Engineering Software Products: 2. agile software engineeringEngineering Software Products: 2. agile software engineering
Engineering Software Products: 2. agile software engineeringsoftware-engineering-book
3.8K vistas47 diapositivas
Ibm smarter quality_management por
Ibm smarter quality_managementIbm smarter quality_management
Ibm smarter quality_managementCristiano Caetano
284 vistas13 diapositivas
Engineering Software Products: 5. cloud based software por
Engineering Software Products: 5. cloud based softwareEngineering Software Products: 5. cloud based software
Engineering Software Products: 5. cloud based softwaresoftware-engineering-book
2K vistas52 diapositivas
How dvcs can reduce your development costs and enhance productivity final por
How dvcs can reduce your development costs and enhance productivity finalHow dvcs can reduce your development costs and enhance productivity final
How dvcs can reduce your development costs and enhance productivity finalpsluaces
622 vistas28 diapositivas

Más contenido relacionado

La actualidad más candente

FlexNet Connect Datasheet por
FlexNet Connect DatasheetFlexNet Connect Datasheet
FlexNet Connect DatasheetFlexera
468 vistas4 diapositivas
Engineering Software Products: 1. software products por
Engineering Software Products: 1. software productsEngineering Software Products: 1. software products
Engineering Software Products: 1. software productssoftware-engineering-book
6.7K vistas25 diapositivas
University of Miami Briefing: DevOps Steer – an agile response to customer fe... por
University of Miami Briefing: DevOps Steer – an agile response to customer fe...University of Miami Briefing: DevOps Steer – an agile response to customer fe...
University of Miami Briefing: DevOps Steer – an agile response to customer fe...Roger Snook
720 vistas23 diapositivas
FlexNet Connect Datasheet April 2014 por
FlexNet Connect Datasheet April 2014FlexNet Connect Datasheet April 2014
FlexNet Connect Datasheet April 2014Flexera
418 vistas4 diapositivas
DevOps for Enterprise Systems Overview por
DevOps for Enterprise Systems OverviewDevOps for Enterprise Systems Overview
DevOps for Enterprise Systems OverviewRosalind Radcliffe
2.4K vistas20 diapositivas
UCD components por
UCD components UCD components
UCD components IBM Rational software
3.8K vistas59 diapositivas

La actualidad más candente(20)

FlexNet Connect Datasheet por Flexera
FlexNet Connect DatasheetFlexNet Connect Datasheet
FlexNet Connect Datasheet
Flexera468 vistas
University of Miami Briefing: DevOps Steer – an agile response to customer fe... por Roger Snook
University of Miami Briefing: DevOps Steer – an agile response to customer fe...University of Miami Briefing: DevOps Steer – an agile response to customer fe...
University of Miami Briefing: DevOps Steer – an agile response to customer fe...
Roger Snook720 vistas
FlexNet Connect Datasheet April 2014 por Flexera
FlexNet Connect Datasheet April 2014FlexNet Connect Datasheet April 2014
FlexNet Connect Datasheet April 2014
Flexera418 vistas
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz por Susan Yoskin
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
Susan Yoskin1.2K vistas
Flevy.com - Feasibility Study Template for Electronic Software Distribution por David Tracy
Flevy.com - Feasibility Study Template for Electronic Software DistributionFlevy.com - Feasibility Study Template for Electronic Software Distribution
Flevy.com - Feasibility Study Template for Electronic Software Distribution
David Tracy2.3K vistas
DTS-1778 Understanding DevOps - IBM InterConnect Session por Sanjeev Sharma
DTS-1778 Understanding DevOps - IBM InterConnect SessionDTS-1778 Understanding DevOps - IBM InterConnect Session
DTS-1778 Understanding DevOps - IBM InterConnect Session
Sanjeev Sharma4.1K vistas
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu... por IBM Rational
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...
6.13.2013 2013 - Software, System, & IT Architecture - Good Design is Good Bu...
IBM Rational1.1K vistas
Requirement configuration management por Abdul Basit
Requirement configuration managementRequirement configuration management
Requirement configuration management
Abdul Basit2.2K vistas
Dell OpenManage Essentials: Improve efficiency with fewer tools, more benefits por Principled Technologies
Dell OpenManage Essentials: Improve efficiency with fewer tools, more benefits Dell OpenManage Essentials: Improve efficiency with fewer tools, more benefits
Dell OpenManage Essentials: Improve efficiency with fewer tools, more benefits
Requirements Management with HP ALM por pd7.group
Requirements Management with HP ALMRequirements Management with HP ALM
Requirements Management with HP ALM
pd7.group14.1K vistas
Application release-automation-with-zero-touch-deployment por Praveen John kumar
Application release-automation-with-zero-touch-deploymentApplication release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deployment
Praveen John kumar591 vistas

Destacado

Voz insesamista 4 por
Voz insesamista 4Voz insesamista 4
Voz insesamista 4mrmaldana
259 vistas12 diapositivas
9 por
99
9Sirkana
435 vistas35 diapositivas
MIP Response Test Trichloroethene por
MIP Response Test TrichloroetheneMIP Response Test Trichloroethene
MIP Response Test Trichloroethenejasonruf
377 vistas7 diapositivas
The Case For Roth IRA Conversions por
The Case For Roth IRA ConversionsThe Case For Roth IRA Conversions
The Case For Roth IRA ConversionsScott Wilcox
622 vistas18 diapositivas
Metricas por
Metricas Metricas
Metricas David Leon Sicilia
161 vistas7 diapositivas
cuaderno de experimentos por
cuaderno de experimentoscuaderno de experimentos
cuaderno de experimentosGerardo González Sánchez
3.5K vistas33 diapositivas

Destacado(20)

Voz insesamista 4 por mrmaldana
Voz insesamista 4Voz insesamista 4
Voz insesamista 4
mrmaldana259 vistas
9 por Sirkana
99
9
Sirkana435 vistas
MIP Response Test Trichloroethene por jasonruf
MIP Response Test TrichloroetheneMIP Response Test Trichloroethene
MIP Response Test Trichloroethene
jasonruf377 vistas
The Case For Roth IRA Conversions por Scott Wilcox
The Case For Roth IRA ConversionsThe Case For Roth IRA Conversions
The Case For Roth IRA Conversions
Scott Wilcox622 vistas
Housing Vouchers: What They Are and How To Calculate Them por Andy Carswell
Housing Vouchers: What They Are and How To Calculate ThemHousing Vouchers: What They Are and How To Calculate Them
Housing Vouchers: What They Are and How To Calculate Them
Andy Carswell712 vistas
Guia de ordenamiento para la firma del libro de acta 2013 PFG por David Leon Sicilia
Guia de ordenamiento para la firma del libro de acta 2013 PFGGuia de ordenamiento para la firma del libro de acta 2013 PFG
Guia de ordenamiento para la firma del libro de acta 2013 PFG
David Leon Sicilia240 vistas
Benefits of Software Upgradability of a Hardware Platform por Flexera
Benefits of Software Upgradability of a Hardware PlatformBenefits of Software Upgradability of a Hardware Platform
Benefits of Software Upgradability of a Hardware Platform
Flexera366 vistas
Final report por Shashank .
Final reportFinal report
Final report
Shashank .531 vistas
Invisible Exhibitor - MAYA Design por Erik Dahl
Invisible Exhibitor - MAYA DesignInvisible Exhibitor - MAYA Design
Invisible Exhibitor - MAYA Design
Erik Dahl1.7K vistas
FlexNet Operations Administration Training por Flexera
FlexNet Operations Administration TrainingFlexNet Operations Administration Training
FlexNet Operations Administration Training
Flexera506 vistas
Does the Cloud Change Anything? What can be learned from the Changing Enterpr... por Flexera
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
Flexera329 vistas

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

Types of Maintenance.pptx por
Types of Maintenance.pptxTypes of Maintenance.pptx
Types of Maintenance.pptxTheMusicFever
10 vistas11 diapositivas
Software Engineering.pptx por
Software Engineering.pptxSoftware Engineering.pptx
Software Engineering.pptxTheMusicFever
2 vistas11 diapositivas
The ultimate guide to release management process por
The ultimate guide to release management processThe ultimate guide to release management process
The ultimate guide to release management processEnov8
46 vistas12 diapositivas
Datasheet subversionpluginforrd por
Datasheet subversionpluginforrdDatasheet subversionpluginforrd
Datasheet subversionpluginforrdMidVision
144 vistas2 diapositivas
SWE-401 - 11. Software maintenance overview por
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewghayour abbas
51 vistas8 diapositivas
Datasheet datapowerpluginforrd por
Datasheet datapowerpluginforrdDatasheet datapowerpluginforrd
Datasheet datapowerpluginforrdMidVision
192 vistas2 diapositivas

Similar a Build vs. Buy: Designing an Effective Software Update Delivery Solution(20)

The ultimate guide to release management process por Enov8
The ultimate guide to release management processThe ultimate guide to release management process
The ultimate guide to release management process
Enov846 vistas
Datasheet subversionpluginforrd por MidVision
Datasheet subversionpluginforrdDatasheet subversionpluginforrd
Datasheet subversionpluginforrd
MidVision144 vistas
SWE-401 - 11. Software maintenance overview por ghayour abbas
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overview
ghayour abbas51 vistas
Datasheet datapowerpluginforrd por MidVision
Datasheet datapowerpluginforrdDatasheet datapowerpluginforrd
Datasheet datapowerpluginforrd
MidVision192 vistas
SWM_WP_MaturityModel_July15 por Mike Lemons
SWM_WP_MaturityModel_July15SWM_WP_MaturityModel_July15
SWM_WP_MaturityModel_July15
Mike Lemons320 vistas
Sdd Maintenance Of Software Solutions por gavhays
Sdd Maintenance Of Software SolutionsSdd Maintenance Of Software Solutions
Sdd Maintenance Of Software Solutions
gavhays850 vistas
Peoplesoft Update Manager (PUM) Presentation – During the upgrade and beyond por gravitonconsulting
Peoplesoft Update Manager (PUM) Presentation – During the upgrade and beyondPeoplesoft Update Manager (PUM) Presentation – During the upgrade and beyond
Peoplesoft Update Manager (PUM) Presentation – During the upgrade and beyond
gravitonconsulting10.9K vistas
whitepaper_workday_technology_platform_devt_process por Eric Saraceno
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
Eric Saraceno2.3K vistas
10 software maintenance por akiara
10 software maintenance10 software maintenance
10 software maintenance
akiara6.8K vistas
Effective Linux Migration Processes por sheilamia
Effective Linux Migration ProcessesEffective Linux Migration Processes
Effective Linux Migration Processes
sheilamia724 vistas
Rapid deploy™ plugin for websphere message broker por MidVision
Rapid deploy™ plugin for websphere message brokerRapid deploy™ plugin for websphere message broker
Rapid deploy™ plugin for websphere message broker
MidVision579 vistas
Software maintenance service strategies por SIS Tech
Software maintenance service strategiesSoftware maintenance service strategies
Software maintenance service strategies
SIS Tech154 vistas
Enabling Mobility through Continuous Delivery por Michael Medin
Enabling Mobility through Continuous DeliveryEnabling Mobility through Continuous Delivery
Enabling Mobility through Continuous Delivery
Michael Medin336 vistas

Más de Flexera

Get a Complete View of Your Business Services and IT Estate in ServiceNow wit... por
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Flexera
825 vistas76 diapositivas
Make Smarter Cloud Decisions at Every Step of Your Journey por
Make Smarter Cloud Decisions at Every Step of Your JourneyMake Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your JourneyFlexera
2.9K vistas30 diapositivas
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment por
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT EnvironmentFlexera
413 vistas46 diapositivas
Using Automated Policies for SaaS Governance and Compliance por
Using Automated Policies for SaaS Governance and ComplianceUsing Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and ComplianceFlexera
228 vistas27 diapositivas
The Practical Approach for End-to-End SaaS Management por
The Practical Approach for End-to-End SaaS ManagementThe Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS ManagementFlexera
328 vistas25 diapositivas
7 Things You Need to Know for Your Cloud-First Strategy por
7 Things You Need to Know for Your Cloud-First Strategy7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First StrategyFlexera
393 vistas59 diapositivas

Más de Flexera(20)

Get a Complete View of Your Business Services and IT Estate in ServiceNow wit... por Flexera
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Flexera825 vistas
Make Smarter Cloud Decisions at Every Step of Your Journey por Flexera
Make Smarter Cloud Decisions at Every Step of Your JourneyMake Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your Journey
Flexera2.9K vistas
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment por Flexera
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
Flexera413 vistas
Using Automated Policies for SaaS Governance and Compliance por Flexera
Using Automated Policies for SaaS Governance and ComplianceUsing Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and Compliance
Flexera228 vistas
The Practical Approach for End-to-End SaaS Management por Flexera
The Practical Approach for End-to-End SaaS ManagementThe Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS Management
Flexera328 vistas
7 Things You Need to Know for Your Cloud-First Strategy por Flexera
7 Things You Need to Know for Your Cloud-First Strategy7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First Strategy
Flexera393 vistas
The Role of In-House & External Counsel in Managing Open Source Software por Flexera
The Role of In-House & External Counsel in Managing Open Source SoftwareThe Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source Software
Flexera477 vistas
Addressing Open Source Risks During M&A: A Legal View por Flexera
Addressing Open Source Risks During M&A: A Legal ViewAddressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal View
Flexera213 vistas
Having Trouble Managing All Your Cloud Services? We Know! por Flexera
Having Trouble Managing All Your Cloud Services? We Know!Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!
Flexera211 vistas
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity por Flexera
Webinar: Maximizing the ROI of IT by Simplifying Technology ComplexityWebinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Flexera520 vistas
Webinar: What's New In FlexNet Manager Suite 2018 R1 por Flexera
Webinar: What's New In FlexNet Manager Suite 2018 R1Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1
Flexera878 vistas
Open Source Security - It can be done easily. por Flexera
Open Source Security - It can be done easily.Open Source Security - It can be done easily.
Open Source Security - It can be done easily.
Flexera2.3K vistas
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S... por Flexera
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Flexera876 vistas
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709 por Flexera
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Flexera398 vistas
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2 por Flexera
Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2
Flexera451 vistas
BDNA joins Flexera por Flexera
BDNA joins FlexeraBDNA joins Flexera
BDNA joins Flexera
Flexera21.2K vistas
Flexera Event - The Game Has Changed - Are You Ready? por Flexera
Flexera Event - The Game Has Changed - Are You Ready?Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?
Flexera566 vistas
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven... por Flexera
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Flexera733 vistas
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications por Flexera
Keeping a Lid on Costs for Cloud Infrastructure and SaaS ApplicationsKeeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Flexera547 vistas
Do You Manage Software? Understanding Your Role in Cybersecurity Defense por Flexera
Do You Manage Software? Understanding Your Role in Cybersecurity DefenseDo You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity Defense
Flexera372 vistas

Último

Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ por
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericShapeBlue
130 vistas9 diapositivas
Kyo - Functional Scala 2023.pdf por
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
457 vistas92 diapositivas
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online por
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
221 vistas19 diapositivas
NTGapps NTG LowCode Platform por
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
423 vistas30 diapositivas
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... por
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...ShapeBlue
145 vistas17 diapositivas
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
54 vistas69 diapositivas

Último(20)

Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ por ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue130 vistas
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online por ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue221 vistas
NTGapps NTG LowCode Platform por Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu423 vistas
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... por ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue145 vistas
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker54 vistas
"Surviving highload with Node.js", Andrii Shumada por Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays56 vistas
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... por ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue159 vistas
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue por ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue263 vistas
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... por ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue186 vistas
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue por ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue138 vistas
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... por ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue194 vistas
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool por ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue123 vistas
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... por ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue132 vistas
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... por ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 vistas
State of the Union - Rohit Yadav - Apache CloudStack por ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue297 vistas
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... por ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue126 vistas
Initiating and Advancing Your Strategic GIS Governance Strategy por Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software176 vistas

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

  • 1. Build vs. Buy: Designing an W H I T E PA P E R Effective Software Update Delivery Solution
  • 2. BUILD VS. BUY Build vs. Buy: Designing an Effective Software Update Delivery Solution Introduction: Build It or Buy It like a relatively simple task, one that might take a few For software producers and high-tech manufacturers, the developers just a month or two to accomplish. But creating ability to effectively deliver new software and data updates, an effective update delivery solution is far more complex patches, and bug fixes to every customer is vital to the than it might seem. The following document details some of success of any product line. Keeping customers on the most the requirements a development team must consider when current software version optimizes user productivity and designing their own software update delivery solution. satisfaction and significantly reduces the vendor’s customer It also discusses several of the technical components support costs. developers must program into the solution, and a few of the additional challenges they must overcome in order to create Unfortunately, most software producers and high-tech and maintain an effective software updating tool. Finally, manufacturers today have no means of proactively this document introduces an alternate for delivering updates to their user base. Many still rely on software producers contemplating building their own ineffective updating methods, such as mailing update CDs update delivery solution. to every customer or trying to alert users through email that new updates are posted on their Web site. Manually Different Software Update Delivery Requirements shipping update CDs is slow and often expensive while When developing an effective software update delivery still requiring end users to do too much work to install the solution, you must be constantly aware of the many update, and posting new updates to a Web site assumes requirements of both the customer receiving the updates and customers will actually take the time to visit the site, find the software producer Product Manager responsible for update the correct file, and install it properly. Neither method is distribution. The figure below depicts the relationship between reliable, nor do they give producers/device manufacturers a the software producer and its customers when it comes to way of knowing which customers have successfully installed update delivery. the latest updates. The following section examines some of the requirements The easiest and most effective way to ensure customers of the Product Manager and the customer. Because the have the latest updates and patches is for producers/ customer receiving the updates can be different depending manufacturers to use an electronic software update delivery on whether you sell software to consumers or enterprises solution with built-in usage reporting functionality. Such a (as shown in the figure above), the customer section is solution enables software producers to proactively deliver broken up into two parts: the consumer end user and the IT updates and patches to their user base, as well as receive administrator. real-time usage data reports detailing how many users have installed any update, the total number of active users of an Product Manager Requirements application, and more. When designing an update delivery solution you must consider the following requirements of the software producer Once a software producer decides to use an electronic Product Manager tasked with handling the publishing and update delivery solution, one question that usually arises is whether the software producer should purchase the management of the updates: solution or attempt to build their own updating tool. On the surface, building an update delivery solution may seem • Product Managers need a proactive, simple way to deliver updates. Getting customers on the current 2 Flexera Software: FlexNet Producer Suite Whitepaper Series
  • 3. BUILD VS. BUY CENTRAL SYS-ADMIN REGIONAL SYS-ADMIN OEM VENDOR / PARTNER SOFTWARE VENDOR END USERS version of your software improves user satisfaction and • Product Managers should be able to access the solution reduces customer support costs, but delivering updates from anywhere at any time. Product Managers may and patches to customers can be a never-ending need to access update information or publish new headache for Product Managers. They need an easy updates, patches, or hot fixes at bizarre times, and way to proactively notify all their end users of new they can’t always be sitting at their office to do it. They updates and deliver and install those updates to their should be able to log on to the update delivery solution customers’ systems. from anywhere at any time. • Product Managers need a non-programmatic way to • The update delivery solution needs to coexist with an publish updates. Product Managers aren’t developers; software producer’s update site. For software producers they shouldn’t be required to make source code-level that also enable end users to download updates from changes, or hand edit raw data files each time they their Web site, the update delivery solution must have to deliver a new update. An effective update coexist with this update site. This means that updates delivery solution provides Product Managers with posted to your corporate Web site should be the an easy-to-use interface that walks them through the same files used in the update solutions, which ideally update publishing process. would reference them directly. If two update sources don’t have the same build, the software producer will • The update delivery solution must have role-based be forced to waste time by doubling its QA effort, or security. Because a software producer might need worse yet, deliver the incorrect update files. different people to access their software update delivery solution, it must have role-based security that • Testing updates before distribution should be easy. lets Product Managers define the access rights and Often Product Managers will want a quick look at the privileges of every user in their group. Additionally, user experience of a new update before sending it to the security model must support the definition of groups their QA lab or out to customers. An effective update of users or product groups and restrict permissions delivery solution should provide testing functionality so based on these groups. The wrong user must never Product Managers can preview the end-user interface, be allowed to access unauthorized data or perform and download, apply, and test the update without restricted tasks, especially for other product lines they having the associated application deployed to the aren’t associated with. other production users. An update delivery solution should also enable an software producer’s QA lab Flexera Software: FlexNet Producer Suite Whitepaper Series 3
  • 4. BUILD VS. BUY to test the update process for new updates before get feedback on an update or message’s performance deploying them out to customers. from users and make any necessary changes before sending it to everyone. Staggered delivery also enables • Product Managers need real-time reporting tools. software producers to more evenly distribute the update Product Managers need to know if their updates load on their download servers. are being successfully installed by their users. An effective update delivery solution should provide • Product Managers must be able to brand updates and this information, but it should also enable Product messages to match their product line. The updating Managers to access other types of real-time usage experience presented to the end user should match data, including key facts on the total number of active the look, feel, and branding of the product itself. The users of an application, the number of users on each update delivery solution should enable the Product software version, how quickly new product releases Manager to brand the updates and messages so it are used in the marketplace, and more. It should also offers customers a consistent end-user experience. tell Product Manager how many users clicked on the marketing or support messages they deliver to their Consumer End-User Requirements customers’ desktops. If you sell software to consumers or end users that can update their own machines, you must consider the • Product Managers must be able to target updates to following customer requirements when designing an specific user groups and machines. Often Product update delivery solution: Managers publish updates that aren’t meant for their entire user base. That’s why they need their update • Make the updating process simple for the end user. delivery solution to make it easy for them to target Never assume your end users are technically savvy or specific user groups and, in some cases, particular will proactively search for new updates and patches customers’ machines. The update delivery solution for your applications. End users require an easy-to-use should enable Product Managers to enter in targeting UI to notify them of the availability of new updates, conditions so updates are only sent to customers and they need those updates to be easy to install. using certain operating systems or using an optional Even requiring end users to save and launch an update component of the software, for example. themselves is asking too much. The simpler you make the update notification, download, and installation • Product Mangers must be able to send updates only to process for your end users, the better. If end users can’t users entitled to receive them. Some software producers do it all with one or two mouse clicks, too many of require customers to be part of a maintenance or them will fail to install your updates. subscription plan to receive updates. An update delivery solution should have functionality that • The update process should be automatic. Although end automatically validates the entitlements of every user, users should be allowed to approve any changes made so unauthorized customers never receive privileged to their systems, once an update has been accepted by updates. The update delivery solution should be able the end user it should happen in the background. to authenticate customers either silently or by requiring the user to authenticate by entering data – like a serial • Downloading updates should not tie up the end user’s number. bandwidth. When designing an update solution for consumer software, you must assume that your • Product Managers must be able to target updates for customers live in a dial-up world with extremely limited multiple products or messages to multiple users. Often bandwidth. If the downloading of your updates takes a single update or HTML message will be meant for too long or takes up too much bandwidth, end users more than one version of a product, and sometimes an will be reluctant to download and install your updates update or message is meant for more than one product. in the future. A Product Manager shouldn’t have to waste time publishing the update or message separately for each • Only bother the end user when there is an update. product and version it targets. An efficient update End users want to be notified when new updates are delivery solution should enable them to publish the available, but they don’t want to be told that “No update once and have it delivered to everyone. updates are available” every time they launch your application. An effective update delivery solution • Product Managers need a way to stagger the delivery of should check for updates in the background and only updates. An effective update delivery solution should notify the end user when new updates are available. If enable Product Managers to distribute updates and no updates are available, it should remain silent. messages to a small percentage of their customers before deploying it out to their entire user base. By • The updating experience should be tailored to fit the staggering update delivery, Product Managers can application. Not all consumer applications are the 4 Flexera Software: FlexNet Producer Suite Whitepaper Series
  • 5. BUILD VS. BUY same, so they shouldn’t all present the exact same they don’t own, you shouldn’t bother end users with updating experience to the end user. Your update messages that do not apply to them. You must be able delivery solution should make it easy to tailor the to target the messages you send based on product and particulars of your product’s updating experience to specific version, the operating system they run, and fit your application. For example, some applications more. should prompt the end user to install critical new updates the moment the app is launched, while others IT Administrator Requirements are better off notifying users of new updates right If you sell software to enterprises, governments, hospitals, or after the application is closed. The UI used to notify any organization managed by IT administrators, you must the user of new updates should have the same look, consider the following requirements when designing an feel, and branding as the application itself to provide update delivery solution: a consistent end-user experience. An effective update delivery solution must make it easy to do all of the • IT administrators need to be proactively informed above and more. of the availability of new updates. Depending on the organization, a single IT administrator can • The update text should be in the end user’s native be responsible for managing as many as several language. Providing an update message in English to thousands applications. They have no time to regularly a German end user simply doesn’t work. An effective search your site for new updates and patches for your update delivery solution should translate update text products. It is crucial that you are able to notify them into the native language of the end user, whether they when new updates are available for your applications speak Danish, Dutch, Swedish, or any other language. in a way that they will take notice. If you don’t, your new updates could get lost in IT’s daily shuffle and • The updating experience should be tailored to fit the never deployed. end user. Never force users to install updates that don’t apply to them. An effective update delivery • IT administrators need complete control over update solution must be able to determine which software review, targeting, and distribution. An effective solution product and version each customer is running and must provide IT administrators with an easy way to display only the updates appropriate to them. It is control how they manage your updates, including when important for an update delivery solution to be able to and how they access, review, target, and distribute add conditions against file versions, file timestamps, your updates. They need to be able to control when and registry settings when targeting end users, so (date and time of day) they check your server for new you can send updates only to customers using certain updates, including the ability to schedule weekly and operating systems or using an optional component of monthly automated update checks. They must be able to your software. This will save you bandwidth and avoid optionally review all your updates’ metadata, including sending unnecessary updates to your end users. a full description, file size, and any relevant installation instructions before they decide to deploy them. They • Your updating server should always be available. should also have the option to bypass any review or One of the worst sins an update delivery solution testing and automatically deploy your updates as soon can commit is being unreachable when an end user as they receive them. When preparing to deploy your is trying to download an update or patch. That’s why updates, IT administrators should be able to easily an effective update delivery solution must be able target the machines in their organization they wish to efficiently process hundreds of individual user to receive your files – functionality should include the requests in milliseconds and scale to maintain steady ability to target specific products and versions and add performance as load/demand increases by simply conditions against file versions, file timestamps, and adding extra servers. Your update delivery solution registry settings. Finally, update distribution should be must be able to scale to meet the demands of your as simple as possible, so an effective update delivery entire user base, and have redundancies in place so solution should provide administrators with a choice of that if one server goes down, the others can handle the deploying using their software distribution system (i.e., extra load seamlessly. SMS, ZENworks, LANDesk, etc.) or using your update delivery solution itself. • Don’t send the end user messages that don’t apply to them. End users expect to receive informative • IT administrators need access to real-time reports on messages about new updates, new product releases, update distribution. Did the update just deployed and important technical support instructions, but they install successfully on every target system? If not, which don’t want to receive information that isn’t relevant systems still require the update? This is the kind of to the specific product and version they run. Just like accurate, real-time reporting data IT administrators you wouldn’t send a customer an update for a product require from an update delivery solution, but it isn’t Flexera Software: FlexNet Producer Suite Whitepaper Series 5
  • 6. BUILD VS. BUY necessarily the only data they need. Different highlights the components that make up an update delivery customers will require different reports, and an solution and some of the programming and code that each effective update delivery solution should be easily component requires. customizable to accommodate different customer reporting requirements. Client Component The following bullets describe a few of the functions of an • Updates must be dead simple to install and run. The update delivery solution that require code to be resident last thing IT administrators need is to have to waste on the target machine and integrated into the installed time and resources figuring out how to install and application and update. run your updates. You need to provide them with an easy way to download your updates, and the updates An update solution must be able to: themselves need to be bulletproof, requiring no end- user interaction. • Proactively and silently check for updates and only display a message when updates are available. This • IT administrators don’t want to be forced to deploy requires the creation of Internet connectivity software, updates. You can’t assume that your customers’ IT as well as source code to enable the solution to interact administrators will want to deploy every update you with databases. create. An effective update delivery solution must provide IT administrators with the option of first • Check for Internet connectivity and not prompt if the user reviewing and testing your updates before deciding is not connected. This requires knowledge of Internet whether or not to deploy. APIs for every platform targeted by the application being updated. The more platforms it targets, the more • Updates must be easy to manage. IT administrators difficult and time consuming this becomes. strive to reduce the TCO (total cost of ownership) of the applications they manage. The harder your • Read, store, and use proxy settings, including ID and updates are to manage, the higher your application’s password for authenticating proxies. This includes TCO. Your update delivery solution must simplify the auto-configured, browser-default configured, and script- entire updating process, from notification to testing to based configured proxy servers. distribution. If not, you risk alienating customers and driving up your own support costs. • Determine which version of the application is installed. The client agent must be able to query the target • IT administrators must be able to easily pass the machine’s operating system resources to determine update to testing. Many, if not all, of your customers’ the current version, service pack, and patch level of IT administrators will first test your updates before the application. In the case of hot fixes or smaller deploying them out to their operating environment. updates, this determination may involve the presence They may do the testing themselves, or they may pass and version of individual files or resources on the the update on to regional or local IT teams to conduct user’s system, rather than querying more obvious their own tests for their particular systems. If they version settings. chose to pass on the updates, an effective update delivery solution should make it easy not only to pass • Call servers to find available updates. This requires the on the update on, but for the local administrators to definition and implementation of a remote API and manage them, including easy review, targeting, handshaking algorithms. It requires extensive back-end and distribution. support, including servers that are easily scalable. • IT administrators must be allowed to use their existing • Only display updates available for installed applications. software distribution system. If an enterprise uses a Once an update is displayed or installed, it should distribution system such as SMS, LANDesk, ZENworks, never be displayed again to that particular end user. or Tivoli to deploy their applications, an effective distribution system must allow them the option of using • Use parameterized conditions to control which updates it to distribute new updates and patches. are targeted to users. This requires building each condition per update, and, because of privacy issues, Implementing a Software Update Delivery Solution the update solution’s client agent needs to run these On the surface, implementing an effective update delivery conditions on the target system, rather than sending solution may seem like something one or two developers the information about the end user’s system to the can handle in a few months time, but in reality it requires server for evaluation. a far more significant commitment. The following section 6 Flexera Software: FlexNet Producer Suite Whitepaper Series
  • 7. BUILD VS. BUY • Display the user interface in multiple languages. instructions, etc.) that should be transmitted and Many popular applications have a user base displayed to the end user. consisting of over 30 languages. Not only does supporting these languages require isolating and • Log requests for updates and updates distributed. separating all the strings in the user interface, it This enables software producers to ensure all end requires manually translating text into each language, users downloaded the update. Accomplishing this which can be extremely time consuming. A translated requires that transaction logs are stored into a user interface also requires careful design to ensure database for reporting. that the layout accommodates strings that may be vastly larger or smaller depending on the end user’s • Easily scale as user base increases by adding additional preferred language. servers. If the user base doubles, an update delivery solution must be able to successfully handle the • Download updates using checkpoint restart logic. This additional load by simply adding twice the servers. ensures the integrity of the update if a connection to the update server is somehow interrupted in • Be able to process millions of requests per day. mid-download. Depending on the application, end users might be contacting the server multiple times each day. Also, • Download updates using bandwidth throttling. The some updates require multiple server transactions. file transfer rate during update downloading should Each server must be able to seamlessly handle an be able to increase or decrease based on the target extremely high load. system’s available bandwidth, thereby preserving the user’s interactive experience. Server Component for Publishing Updates The following bullets describe a few of the functions • Verify the integrity of the downloaded file to ensure that the Product Manager’s area of the update solution the full file was downloaded. This can involve digital must perform. signatures or encryption technologies to ensure no third-party manipulations of downloaded binaries It must be able to: have occurred. • Enable Product Managers to easily add and update the • Run on mult iple plat forms and install OS-specific list of available updates. The user interface presented to executables passing opt ional command-line parameters. Product Managers to manage their updates should be This requires knowledge of each plat form an simple to use so that no coding is required to publish an applicat ion targets and t heir proprietary installat ion update, but robust enough to enable Product Manager formats, including MSI, MSP, EXE, and JAR. to effectively manage each update. Addit ionally, if your client displays a user interface, it must be ported to each supported plat form or • Create a logical relationship between installed product developed in plat form-neutral technologies. and available updates. Product Managers must be able to assign a specific installation sequence for • Display a professional user interface. The UI displayed to multiple updates. the end user needs to be polished and easy to use. This requires expertise in user interface design. • Display a list of updates per product. Software producers usually have more than one product to update, so the Server Component update delivery solution must make it easy to view and The following bullets describe a few of the functions an manage updates on a per product basis. update solution’s server must perform to process update requests from the client. • Allow for easy editing of the update URL. Product Managers need an easy way to enter and edit the URL It must be able to: where each update is stored. • Retrieve a list of available updates from database on • View update and usage reporting. Product Managers client request. Different versions of an application will need easy ways to review accurate, real-time data routinely contact the server for updates. The server about the adoption rates of their updates and the must recognize them and deliver a complete list of usage rates of their applications. available updates. • Create custom UI elements. Different applications often • Send information on updates to the client. Updates are require different update data to be entered into and more than just files. They should have accompanying captured by the update delivery solution. metadata (update description, file size, installation Flexera Software: FlexNet Producer Suite Whitepaper Series 7
  • 8. BUILD VS. BUY • Control access to software producer staff by product It Requires a Diverse Team of Experienced Developers line and function. Different Product Managers and As suggested in the previous section, it is extremely difficult internal staff need access to the solution for different for a single developer to author and maintain an effective reasons. The solution should have role-based security update delivery solution. Developing an update delivery to ensure they only can only do authorized tasks on solution requires substantial development expertise in authorized products. creating client, server, and database code. While a developer may have sufficient experience in one or even • Allow segmentation of access by product line. If an two of these core competencies, they almost never have it software producer has more than one product or in all three. It is therefore unrealistic to task one developer product line, it may need to segment the Product with the creation of an update delivery solution. It takes a Manager access to ensure that one Product Manager dedicated team of developers with specialized skills, and it does not accidentally view or edit the update takes time – both of which cost money. configuration settings for products that they do not manage. This will also simplify the number of updates It Requires an Elaborate QA Environment that each Product Manager needs to view and manage. Another reason why creating an effective update delivery solution is difficult is that from a QA standpoint, it requires • Test the updates before publishing. Product Managers more than just basic functionality testing. You also have to need a way to ensure new updates will successfully conduct performance and scalability tests to ensure that the download and install on the right end users’ systems update solution can handle millions of end-user requests before publishing them to their user base. in a day’s time and effectively scale by adding additional servers. You also need to conduct redundancy tests to ensure IT Administrator Component that if one server goes down, there will be no change in The following bullets describe a few of the functions that a the end-user experience. Performance, scalability, and customer’s IT administrator’s area of the update solution redundancy tests are specialized, requiring that you set must perform. up and maintain a dedicated QA environment, and many organizations do not have the experienced manpower and In addition to needing to perform all the functions equipment to conduct them. listed in the section above for Product Managers, the IT administrator component of the update solution must also be It Requires a Stable System able to: Developing the updating software and professional, polished UIs is not enough if the system isn’t stable. If it • Synchronize with software producer’s update server. IT loses contact with end users mid-download or periodically administrators need an easy way to synchronize with crashes, the solution is a failure. An update delivery the software producer’s update server to pull down new solution is similar to the unmanned shuttles and probes updates and patches. Administrators need an easy way NASA sends to Mars. No matter how state of the art to schedule when this synchronization occurs. the machines may be, they are useless if they can’t communicate with NASA. Stability in an update delivery • Distribute updates to either end users or to other IT solution is an absolute necessity. administrators. If they are distributing the update directly to end users, they should be allowed to either It Requires Continuous Improvements use their own software distribution system or the update Technology and end-user needs are constantly evolving, and delivery solution itself. If they are passing it down to an effective update delivery solution needs to keep pace. other IT administrators for testing and distribution, So creating an updating tool isn’t just a one shot deal – those administrators also need a UI that performs all something developers can build once and then go back to the same functionality. developing your applications full time. It requires continuous improvements, and that means a substantial and long-term • Present a professional, polished UI. If an update solution commitment from your development team. Plus, each new presents an software producer’s Product Managers with upgrade to the solution requires a new round of QA tests an unimpressive UI that is difficult to use, that’s bad. If described above, further tying up hardware and personnel. it does the same to customers, that’s unacceptable, and could cost an software producer significant revenue. An Alternative to Building Your Own Update Delivery Solution Additional Challenges to Developing an Update Instead of committing substantial developer resources to Delivery Solution creating a potentially flawed update delivery solution, many The following section details a few of the challenges software producers instead use FlexNet Connect to update software producers face when attempting to build their own their installed products. software update delivery solution. 8 Flexera Software: FlexNet Producer Suite Whitepaper Series
  • 9. BUILD VS. BUY About FlexNet® Connect About Flexera® Software Part of the FlexNet Producer Suite, FlexNet Connect makes Flexera Software is the leading provider of strategic it easy for software producers and high-tech manufacturers solutions for Application Usage Management; solutions to electronically deliver updates, patches, and bug fixes delivering continuous compliance, optimized usage and to any user in any operating environment. Whether you maximized value to application producers and their want to deliver updates directly to home consumers running customers. Flexera Software is trusted by more than Windows or to enterprises with Linux systems managed 80,000 customers that depend on our comprehensive by IT administrators, FlexNet Connect is the only solution solutions- from installation and licensing, entitlement you need. and compliance management to application readiness and enterprise license optimization - to strategically FlexNet Connect also enables you to deliver targeted HTML manage application usage and achieve breakthrough messages, including news about new product releases and results realized only through the systems-level approach upcoming events, directly to users’ desktops. Plus, if your we provide. For more information, please go to: relationship with your users explicitly permits, FlexNet www.flexerasoftware.com Connect can provide you with invaluable data about your installed products, so you always know who is using what Summary version of your software, the number of users who have More and more software producers and high-tech installed a given update, and more. manufacturers are using an electronic software update delivery solution to optimize the performance and stability FlexNet Connect can update any application running on of the software they sell and reduce their customer support any platform, including Windows, Mac OS X, Solaris, costs. When deciding whether to purchase such a solution Linux, AIX, and any flavor of UNIX. It has a secure or create their own, software producers should be aware architecture that scales to hundreds of millions of end that creating an effective update delivery solution is users, making it ideal for software producers of every extremely complex, requiring a substantial and long-term size, customer base, and budget. Plus, FlexNet Connect is developer commitment. For software producers and high- extremely easy to implement into your applications, so you tech manufacturers looking to save money by purchasing a can be up and running in no time. proven, effective third-party update delivery solution, there’s FlexNet Connect from Flexera Software. You can learn more about FlexNet Connect, and optionally download an evaluation of the solution, by visiting www.flexerasoftware.com/fnc. Flexera Software: FlexNet Producer Suite Whitepaper Series 9
  • 10. Flexera Software LLC Schaumburg United Kingdom (Europe, Japan (Asia, For more office locations visit: 1000 East Woodfield Road, (Global Headquarters): Middle East Headquarters): Pacific Headquarters): www.flexerasoftware.com Suite 400 +1 800-809-5659 +44 870-871-1111 +81 3-4360-8291 Schaumburg, IL 60173 USA +44 870-873-6300 Copyright © 2011 Flexera Software LLC. All other brand and product names mentioned herein may be the trademarks and registered trademarks of their respective owners. FNC_WP_BuildVsBuy_Oct11