The term enterprise class is not well defined. As an adjective, enterprise-class sounds really good. It conjures up the notion that whatever is being written about or discussed is of substance, and as such, of great value. When it comes to new enterprise-class training and development solution technologies, however, chief learning officers (CLOs) cannot rely on marketing buzz; they need to know the difference between common application web-based eLearning and training services and next-generation enterprise microservice technologies.
Every organization is based on its unique proprietary knowledge. There is, of course, easily obtainable mandatory compliance and general “how-to” training related to most every operational discipline, but this is not enough. Today’s competitive markets demand a deeper level of organization-centric training that produces greater learning traction, faster. Achieving extra learning traction means more effective blended learning, eLearning, eMentoring, “get-up-to-speed” onboarding, learning analytics, intelligent reporting, and other solutions such as digitized knowledge management.
As organizations expand locally, regionally, and internationally, still more powerful technology is demanded to serve the needs of the organization. Enter enterprise-class knowledge solution technologies.
Volkswagens and Ferraris
Volkswagens are great for getting around town. They are economical, fun, and typically not driven more than 100 miles per hour. Ferraris are not Volkswagens. Ferraris are race cars. They are designed to exceed 200 miles per hour on the autobahn or race track. To achieve this level of performance, Ferrari engines and body designs are crafted to meet the highest performance standards. Each high-tolerance part must complement every other high-tolerance part of a Ferrari engine and its subsystems. As such, Ferraris are considered design and engineering works of art.
Likewise, enterprise-class computer systems are expected to rise to the very highest standards of performance and durability. Just as a race car driver’s life is at stake at 200-plus miles per hour, an organization’s operation is also at risk based upon the quality of the technical infrastructure underlying its operation.
Enterprise-class systems represent the backbone of most organizations and, once installed, they are intended to function in that capacity for years and decades. The problem is, just as race car technology must advance to stay competitive, so must organizational technologies. Microservice technologies help solve both the technical advancement problem and the evolving learning problems faced by every organization.
Enterprise-class infrastructures
There are three broad categories of computing systems that contribute to an organization’s technical infrastructure: monolithic; SOA (service-oriented architecture); and microservice architecture technologies. Monolithic systems, such as mainframe ERP (enterprise resource planning) and single-purpose departmental computers, rely upon conventional programming standards that integrate functional layers of software code to perform single-purpose requirements such as accounting, sales, inventory, or credit card processing. Monolithic systems provided the backbone of the Internet we know today, launched in the early 1990s when HTTP protocols and graphics-oriented browsers were first introduced.
In the early 2000s, a new breed of software architecture came into prominence, called service-oriented architectures. SOAs are designed to integrate discrete, fully developed and maintained software components with host application software to perform desired functions and tasks. These functions might include the software code for the menu bars commonly seen on operating systems and applications, or perhaps a calendar or a calculator function. SOA functions can be accessed remotely if desired. The advantage of SOAs is that they eliminate much of the time and cost associated with the programming and testing of common, non-proprietary functions.
Now, unlike SOA architectures that are designed to integrate pre-programmed function and/or task components, microservice architectures are designed to process discrete task elements that make up a complete task, one that in turn makes up a larger computer function. For this reason, programming microservice code requires that the programmer think at a micro level while also keeping the larger function, and overall program design, in mind. A single microservice function could be composed of hundreds of discrete tasks that work together to perform the function. The advantage of microservice programming is that it can dramatically increase the speed of program development and improve program flexibility, interoperability, performance, bug detection, and correction. Companies such as Amazon, Netflix, Uber, Airbnb, eBay, and others rely upon microservice architectures to deliver their services.
Enterprise knowledge solutions
The trend toward cloud-based applications is in full force. There is good reason for this. SaaS (Software as a Service), especially those that are developed with microservice architectures, make the buying decision less risky for CLOs. Here’s why:
- Flexibility—Developers can code functions, tasks, and entire systems that more accurately align technology with business goals and objectives. Example: the ability to interface multiple concurrently running applications such as MySQL (storage), ElasticSearch (indexing/search), MongoDB (processing), Neo4j (graph DB), and proprietary databases such as MarkLogic, Oracle, and SQL.
- Increased agility—Makes it easier, faster, and safer to develop and test new features and functions, lowering development and change reconfiguration costs normally associated with monolithic and SOA architectures.
- Scaling—Enables scaling of individual functions (services) to solve “bottleneck” problems that reduce system efficiency and performance. Scaling issues are common with monolithic architectures, requiring, in many cases, that large blocks of an application be reconfigured to solve bottleneck problems.
- Interoperability—Supports seamless systems interoperability with other applications for bi-directional transfers of relevant organizational knowledge to support descriptive, diagnostic, predictive, and prescriptive analytics for near and real-time requirements.
- Multi-layering—Supports replication (cloning) of services to support multi-country, multi-language requirements, while also providing wide-scale interoperability.
Conventional monolithic and SOA web-based technologies do not offer this level of functionality or performance. If your intention is to purchase a new learning management system that will serve your requirements for years and decades out, then a high-end microservice technology may be a better choice for the long run.
Pricing enterprise-class services
Unlike web-based and low-end SOA or regular SaaS services, high-end microservice SaaS, especially those that deliver true organizational knowledge representations, cost more because they deliver more. You can expect to pay a standard licensing fee of $20,000 to $50,000-plus, a fixed monthly rate maintenance and upgrade fee, and a monthly cost-per-user fee—typically presented as an annual per-user cost. In return, you get a fully managed service that allows you to reduce programming staff and long waiting periods for “priority” adds, moves, and changes.
As an example, there are over 42,000 companies in the US with 500-plus employees; 50 state governments with 25,000 to 200,000 or more employees; and a national government with hundreds of thousands of employees. Given this, you can expect the cost of a Ferrari-class service to be $50,000 and up for the license fee; $2,500 per month for maintenance and upgrades; and $10 a month or $120 a year per user, depending on the actual number of employees using the service. Of course, these numbers are negotiable depending on the vendor and services provided. Tiered pricing scenarios are also offered. In these cases, the cost per user might start at $19.95 per month, then drop down to $6 per month or $72 per year per user.
Custom programming costs represent an additional cost for interfacing disparate systems or adding new proprietary functions and features. Many modern services, however, have replaced the need for deep programming because they allow non-programming professionals to develop their own programs using common language. Programming costs are usually covered under a separate agreement.
Enterprise-class SaaS service qualifying standards
- Architecture—Does the service operate with a single database backend that needs to be reconfigured every time new features and functions are added to the service? This requirement can be costly.
- Interoperability—Does the software interoperate with other software applications? This requirement is about leveraging already-owned applications and services, and especially near and real-time updates for knowledge management and eLearning.
- Scalability—Will the service scale with minimal performance loss to support hundreds, thousands, even millions of end users?
- Customization—Can the software be customized to accommodate the needs of multiple departments, projects, or R&D units? Does customization require programming, or can non-programmers fulfill the requirements?
- Performance—Does the software architecture support concurrent use of different databases (relational, NoSQL, Graph, etc.) to optimize data storage, indexing, processing, and retrieval?
- Search—Does the software architecture support data and documents, down through the text within documents?
- Security—Does the software meet or exceed current security standards to protect it from outside threats and data leaks?
- Analytics and reporting—Does the service provide standard algebraic functions (+, -, /, x)? Does it perform advanced analytics such as correlations? How extensive are reporting capabilities based on these functions?
- User access and permissions—Does the software provide “role-based” user access and permissions to fulfill “need-to-know” or “need-to-access” requirements? Are other forms of permissions available?
- Services—Does the service currently meet the deep-knowledge service requirements of your organization, and will it support future growth and development?