Software in Flux: Open Source, Cloud, Virtualized, and App-Driven Shifts

Software in Flux: Open Source, Cloud, Virtualized, and App-Driven Shifts

Introduction

  • Marginal Costs: The costs linked with each additional unit of production.
  • Open Source Software (OSS): Software that is free, allowing anyone to view and potentially change the code.
  • Cloud Computing: Replacing on-premises computing with services delivered over the Internet.
  • Software as a Service (SaaS): A cloud computing model where a firm subscribes to third-party software, receiving a service delivered online.
  • Virtualization: Technology that allows a single computer to act as multiple separate computers, aiding in resource consolidation and creating savings and efficiencies.

Open Source Software

  • Linux: An open-source operating system.
  • The source code for OSS products is openly accessible.
  • Anyone can modify and redistribute the code.
  • Conventional software firms, in contrast:
    • Treat their intellectual property as closely guarded secrets.
    • Almost never provide the source code for their commercial software products.
  • Some firms see OSS as a threat to their economic model.

Turn on the LAMP—It’s Free!

  • LAMP: An acronym for Linux, Apache Web server software, MySQL database, and programming languages starting with P (e.g., Perl/Python/PHP).

Why Open Source?

  • Cost: Free alternatives to costly commercial code.
  • Reliability: With more people reviewing the code, errors are more likely to be identified and corrected.
  • Security: Security vulnerabilities can be identified and addressed more quickly with many eyes examining the code.
    • Security-focused: Technology products with strong security features.
  • Scalability: The ability to handle increasing workloads or to be easily expanded to manage workload increases.
    • Allows a firm to grow from startup to blue chip without significant code rewrites.
  • Agility and Time to Market: Skipping software development segments allows new products to reach the market faster.

When the Open Source Army Doesn’t Show Up: Lessons from Heartbleed

  • Many open source projects are well-maintained by coordinated contribution armies, often overseen by paid professionals.
  • In spring 2014, the Heartbleed bug exposed some woefully neglected open source products.
  • Heartbleed was an error in the OpenSSL security toolkit, which is used by about two-thirds of Internet websites and underpins security when sending secure information over the Internet.
  • A routine coding error created a vulnerability that could allow hackers to gather passwords, encryption keys, and other sensitive information, leading to “the largest security breach in the history of the human race.”
  • The Linux Foundation developed the Core Infrastructure Initiative, a multimillion-dollar project designed “to fund open source projects that are in the critical path for core computing functions.”
  • Heartbleed is a cautionary tale for managers: even if a tool is widely used, one should audit its software products to understand the strength of support and potential risks associated with use.

Examples of Open Source Software

  • WordPress: Software for running a blog or website; It powers about a third of websites.
  • Firefox: A web browser that alternatives to Chrome, Safari, and Internet Explorer.
  • LibreOffice: An alternative to Microsoft Office.
  • Gimp: A graphic tool with features like Adobe Photoshop.
  • Shotcut for video editing and Audacity for audio editing
  • Magento: E-commerce software.
  • TensorFlow: Open source machine learning software.
  • Alfresco: Collaboration software competing with Microsoft SharePoint and EMC's Documentum.
  • Marketcetera: An enterprise trading platform for hedge fund managers, competing with FlexTrade and Portware.
  • Zimbra: Open source e-mail software, competing with Outlook server.
  • MySQL, Ingres, and PostgreSQL: Open source relational database software packages competing with commercial products from Oracle, Microsoft, SAP, and IBM.
  • MongoDB, HBase, and Cassandra: Nonrelational distributed databases used to power massive file systems (used to power key features on Facebook, Twitter, LinkedIn, and Amazon).
  • SugarCRM: Customer relationship management software competing with Salesforce.com and Siebel.
  • Docker: Tools for “containerization,” an evolution beyond virtualization.
  • Asterisk: An open source implementation for running a PBX corporate telephony system competing with offerings from Nortel and Cisco.
  • Git: Version control software, critical for managing most commercial software products.
  • Free BSD and Sun’s OpenSolaris: Open source versions of the Unix operating system.

Why Give It Away? The Business of Open Source

  • Lowers the cost of computing and makes computing options accessible to smaller firms.
  • It is reliable, secure, and lowers computing costs for all users.
  • It diverts funds that can be used for other competitive initiatives and encouraging innovation.
  • Open source firms valued in excess of $$1 billion include:
    • Hortonworks
    • Cloudera
    • MapR
    • MongoDB
    • Docker
  • Vendors make money on OSS by selling support and consulting services.
  • Industry’s evolution (standards competition):
    • Pre-Linux days: Almost every major hardware manufacturer made its own incompatible version of the Unix operating system.
    • As such, they had difficulty attracting third-party vendors to write application software.
    • Now all major hardware firms run Linux, resulting in a large, unified market attracting software developers.

Linux on the Desktop?

  • Linux is common on mobiles, consumer electronics, and on enterprise solutions, but not on desktop computers because:
    • It is not easy to install.
    • Its complexity can raise the total cost of ownership.
    • Total cost of ownership (TCO): All costs linked with the design, development, testing, implementation, documentation, training, and maintenance of a software system.
  • The small number of desktop users also dissuades third-party firms from porting popular desktop applications over to Linux.

Legal Risks and Open Source Software: A Hidden and Complex Challenge

  • Open source software isn’t without its risks.
  • Certain products are difficult to install and maintain.
  • Adopters without support contracts may lament having to rely on an uncertain community of volunteers to support their problems and provide innovative upgrades.
  • Another major concern is legal exposure.
  • Firms adopting OSS may be at risk if they distribute code and aren’t aware of the licensing implications.
  • Some commercial software firms have pressed legal action against the users of open source products when there is a perceived violation of software patents or other unauthorized use of their proprietary code.
  • Also complicating issues are the varying open source license agreements (these go by various names, such as GPL and the Apache License), each with slightly different legal provisions—many of which have evolved over time.

Defining Cloud Computing

  • Two categories of cloud computing:
    • Software as a service (SaaS): Firm subscribes to a third-party software-replacing service that is delivered online.
    • Utility computing: Firm develops its own software and then runs it over the Internet on a service provider’s computers.
    • Platform as a service (PaaS): Delivers tools so an organization can develop, test, and deploy software in a cloud.
    • Infrastructure as a service (IaaS): Offers a more bare-bones set of services that are an alternative to buying its own physical hardware.
  • Some are developing their own private clouds—pools of computing resources that reside inside an organization and that can be served up for specific tasks as need arrives.
  • Evolution of cloud computing has huge implications across the industry:
    • Financial future of hardware and software firms.
    • Cost structure and innovativeness of adopting organizations.
    • Skill sets likely to be most valued by employers.

Software in the Cloud: Why Buy When You Can Rent?

  • Most SaaS firms earn money via a usage-based pricing model similar to a monthly subscription.
  • Other SaaS firms:
    • Offer free services that are supported by advertising.
    • Promote the sale of upgraded or premium versions for additional fees.
  • Compete directly with the biggest names in software (NetSuite, Workday, HubSpot, Splunk).

Benefits of SaaS

  • Lower costs and financial risk mitigation.
  • Faster deployment times and variable operating expense.
  • Scalable systems.
  • Higher quality and service levels.
  • Remote access and availability.
  • Limits development to a single platform.
  • Tighter feedback loop.
  • Ability to instantly deploy bug fixes and product enhancements.
  • Lower distribution costs.
  • Greater accessibility.
  • Reducing software piracy.

SaaS: Not Without Risks

  • Dependence on a single vendor.
  • Concern about the long-term viability of partner firms.
  • Users may be forced to migrate to new versions—possibly incurring unforeseen training costs and shifts in operating procedures.
  • Reliance on a network connection, which may be:
    • Slower
    • Less stable
    • Less secure
  • Data assets stored off-site with the potential for security and legal concerns.
  • Limited configuration, customization, and system integration options compared to packaged software or alternatives developed in-house.
  • User interface of Web-based software is less sophisticated and lacks the richness of most desktop alternatives.
  • Ease of adoption may lead to pockets of unauthorized IT being used throughout an organization.

Understanding Cloud Computing Models: PaaS, IaaS, and Motivations and Risks

  • Sometimes a firm develops its own custom software but wants to pay someone else to run it for them—that’s where cloud offerings come in.
  • Hardware and software exists “in the cloud,” meaning somewhere on the Internet.
  • You only pay for the amount of processing, storage, and telecommunications used.
  • Cloud vendors typically host your software on their systems.
  • Examples of hardware cloud services:
    • Salesforce.com offers Force.com, which includes several cloud-supporting tools to write applications specifically tailored for Web-based delivery.
    • Google’s App Engine offers developers several tools including a database product called Bigtable.
    • Microsoft offers Windows Azure.
  • Platform as a service (PaaS): Cloud providers offer services for customers to build their own applications on the provider’s infrastructure. Services include hardware, operating system, tools, and hosting.
  • Infrastructure as a service (IaaS): Cloud providers offer services that include running the remote hardware, storage, and networking. Client firms can choose the software used.
    • Good alternative for firms that want even more control.
    • Offered by a wide variety of firms including Amazon, CSC, Rackspace, HP, IBM, and VMware.
  • Cloudbursting: Use of cloud computing to provide excess capacity during periods of spiking demand. It is a scalability solution that is provided as an overflow service, kicking in as needed.
  • Black swans: Events that cannot be predicted but can cause an impact. Scalable computing resources can help a firm deal with spiking impact from Black swan events.
  • Installing a complex set of systems on someone else’s hardware can be a brutal challenge, and in many cases is just about impossible.
  • Firms considering cloud computing need to do a thorough financial analysis.
  • System maintenance costs often include the need to clean up old files or put them on tape.
  • Costs can add up if unlimited data is stored in the cloud.
  • Firms should enter the cloud cautiously, particularly where mission-critical systems are concerned.
  • If a cloud vendor fails you and all your eggs are in one basket, then you’re down, too.

Clouds and Tech Industry Impact

  • Shifting to cloud computing alters the margin structure for many in the computing industry.
  • Server farm: A massive network of computer servers running software to coordinate their collective use. Provide the infrastructure backbone to SaaS, hardware cloud efforts, and many large-scale Internet services.
  • Cloud computing can accelerate innovation.
  • Changes the desired skills mix and job outlook for IS workers.
  • Enables organizations to spend less on hardware infrastructure and reinvest in strategic efforts and innovation.
  • Firms need to think about the strategic advantages that can be created.
  • The area surrounding the Columbian River in the Pacific Northwest is tailor-made for creating the kinds of massive data installations needed for cloud computing because of:
    • Cheap land
    • Low-cost power
    • Ultrafast fiber-optic connections
    • Mild climates.
  • Google, Sun, Microsoft, IBM, and HP have all developed rapid-deployment server farm modules.

Virtualization: Software that Makes One Computer Act Like Many

  • Virtualization: A type of software that allows a single computer or cluster of connected computers to function as if it were several different computers.
  • Can be used to reduce an organization’s hardware needs, create a firm’s own private cloud of scalable assets, and cut energy consumption and lower carbon footprint.
  • Containers: A type of virtualization that allows for shared operating systems for more resource savings and faster execution.
  • Virtual desktops: Running an instance of a PC’s software on another machine and delivering the image of what is executing to the remote device.
  • Allow firms to scale, back up, secure, and upgrade systems far more easily than if they had to maintain each individual PC.

Apps and App Stores: Further Disrupting the Software Industry on Smartphones, Tablets, and Beyond

  • Compared with packaged software, apps lower the cost of software distribution and maintenance.
  • Apps offer a richer user interface and integrate more tightly with a device’s operating system.
  • Huge firms have leveraged smartphone apps as their only, or primary interface with consumers.
  • Critics say apps force consumers into smartphone walled gardens and raise consumer switching costs.

Make, Buy, or Rent

  • Key Variables to Consider:
    • Competitive Advantage: Do we rely on unique processes, procedures, or technologies that create a vital, differentiating competitive advantage?
    • Security: Are there unacceptable risks associated with using the packaged software, OSS, cloud solution, or an outsourcing vendor? Are we convinced that the prospective solution is sufficiently secure and reliable? Can we trust the prospective vendor with our code, our data, our procedures and our way of doing business? Are there noncompete provisions for vendor staff that may be privy to our secrets? For off-site work, are there sufficient policies in place for on-site auditing?
    • Legal and Compliance: Is our firm prohibited outright from using technologies? Are there specific legal and compliance requirements related to deploying our products or services?
    • Skill, Expertise, and Available Labor: Can we build it?
    • Cost: Is this a cost-effective choice for our firm?
    • Time: Do we have time to build, test, and deploy the system?
    • Vendor Issues: Is the vendor reputable and in a sound financial position? Can the vendor guarantee the service levels and reliability we need? What provisions are in place in case the vendor fails or is acquired? Is the vendor certified via the Carnegie Mellon Software Institute or other standards organizations in a way that conveys quality, trust, and reliability?