App? 都2019年了,难道有谁还不知道App吗?是的,在很大程度上,得益于过去10年智能手机和平板电脑的出现,就连我们的爷爷奶奶可能都在逛着淘宝,刷着微博,看着抖音,当然连他们也会清楚什么是“App”。
但是,在这些我们所熟知的“App”(应用)之外,又有谁真正了解企业应用(enterprise application)呢?
并不是《愤怒的小鸟》
首先,让我们先澄清一点,即企业应用程序是一个人们可能在企业工作中使用的应用程序。显然,它并不是《愤怒的小鸟》、《疯狂的糖果》或《宝可梦Go》。
其次,我们也需了解这样一个事实,即有一些过去非企业应用的程序已经升级并发展为了某种形式的企业应用(如Twitter或Facebook,国内的则如正在走向to B的头条等),其中有些应用已经在企业商业用例方面有所发展。
第三,我们还要记住,许多普通用户会使用企业应用程序,例如Office办公软件或各类Adobe工具来进行个人业务。
所以,我们不讨论任何核心形式、迭代或软件使用实例;我们讨论的是为任务关键用例构建的核心企业应用程序,这些用例具有很多不同的工程类型。
依据用户意愿,它们是企业级的企业应用程序。
什么才是企业级的应用?
如果我们查看是什么样的核心特性、工程特性和特征使一个应用程序最终成为了企业级应用,那么或许我们就可以理解为什么技术行业总是试图为某些类型的软件收取更高的费用。
关键点在于开源。日常生活工作中,我们会接触到大量的开源应用程序,它们通常会分为两类:社区版(Community Edition)与企业版(Enterprise Edition)。社区版对于非商业的应用通常都是免费的,其核心库、依赖项和代码库也大多为动态可更改的。而企业版会被代码锁定,并需要进行付费,其中包括维护、服务和支持。
但是企业级软件的核心原理和应用理由要比用户是否得到支持和更新更深入,因为内部流程是不同的。
更深层次的区分因素
企业应用程序可以在开发和操作化(在软件开发人员语言中称为“生产”的状态)之间提供更深层次的体系结构思考。换句话说,它将为速度而构建,为规模而构建,并为它在运行后状态下必须承担的所有下行和脏数据(dirty data)流而构建。
此外,企业应用程序可能会提供更深入、更细粒度的审计级别。这将确保业务提供给IT的数据能够更准确地检查与利润和损失相关。
并且,企业应用程序通常会提供更深层次的可靠性、更深远的端到端加密,并且可能已经经过严格的质量保证和测试,以提高稳定性。它还常常预先配置,以满足安全生产环境的要求。
新兴数据库公司MariaDB服务器产品管理 VP Max Mether表示:“我们发现,我们的企业客户与普通社区用户有着非常不同的需求。”“这些客户的工作规模完全不同,他们非常注重稳定性和安全性。为了能够满足这些需求,很明显,我们需要通过创建专门针对企业生产工作负载的(我们的软件)另一个版本产品来专注于不同的解决方案。
综合应用部署平台供应商Platform.sh CEO Fred Plais同意企业软件开发必须是可预测的,可靠的,可审计的和可重复的。 他也认为,人们可能不会在意消费者软件中的偶然故障,但企业软件 -尤其是电子商务软件 , 必须时时可用。
“从基础设施到代码,对软件栈的所有级别的开发过程进行持续、自动的洞察是至关重要的。企业开发的北极星——在不需要人工干预(和潜在的人为错误)的情况下持续部署,可以在实现小量增幅的同时降低风险。同时,自动化将越来越多地帮助降低风险,并充满斗志地实施重大变革——即使是在周五晚上,”Plais说到。
日立万通拉(Hitachi Vantara)解决方案工程VP Wael Elrifai基本上同意Plais的观点。Elrifai表示,在过去的几年中,企业级的含义已经发生了变化——只要想想源代码的可用性就知道了。
“在商业计算的(绝对)早期,所有软件实际上都是开源的。此后不久,出现了一种100%私有的趋势……随着1980年代的GNU宣言和1990年代早期Linus Torvald创建的Linux出现,我们看到了钟摆的再次摆动。即使在今天,像Hortonworks(现在Cloudera)这样的公司也会将企业级别划分为遵循全天候的支持和完全定制的开源组件。我还期望企业级软件具有健壮的系统文档以及定期更新的路线图或远景。”Elrifai说道。
基础设施、集成和分析软件公司Tibco CMO Thomas Been则认为企业应用程序不仅需要实现其使命宣言,还需要展示企业所需的健壮性、可伸缩性和敏捷性。
“真正使企业应用程序成为企业应用(并赋予它企业级地位)的是,当一款软件为企业提供了足够的信心,让它们能够用它来运行业务中最关键的部分。虽然这个定义早在20年前就可以给出,但是现在数字转型正在把这些词语的含义带入未知的领域。企业最关键的部分横跨客户体验、运营和数字服务。健壮性要求以一种即时的方式面向更广泛的受众,而可扩展性则要求利用适当的功能(如相关分析)来面向所有相关的内部用户角色,”Been表示到。
此外,Been还提醒到,敏捷性是企业应用的关键;他解释说,企业软件应该能够轻松地连接到业务的其余部分、客户和生态系统。
架构职责
所以,我们的确可以在家里使用企业软件……是的,我们甚至可以在工作中(在经过批准的情况下)安全地使用消费者级软件,但是要构建企业级的任务关键型软件,在运行它们之前,需要满足许多体系结构职责。
而这里还要多说一句,似乎目前为止还没有人找到《愤怒的小鸟》、《疯狂的糖果》以及《宝可梦Go》的企业用例,这些App似乎还不用成为企业应用。