Highlights from Oracle OpenWorld and SuiteConnect San Francisco
on Oct 10, 2019
Oracle OpenWorld 2019 includes SuiteConnect San Francisco, a conference-within-a-conference. Here we share some of the things we learned about Oracle NetSuite, Oracle Cloud Infrastructure, Oracle Autonomous Database, and more.
Full Article Below -
Three Years In, Oracle’s Acquisition of NetSuite is Looking Like a Pretty Smart Move
Virtually all acquisitions begin optimistically, with hopes for synergies, growth, and efficiency gains. That was the case when NetSuite was first acquired by Oracle. At SuiteWorld 2017, Oracle’s CEO Mark Hurd said, “We want to provide all the benefits of Oracle’s scale with none of the encumbrances … We will make [Oracle’s] resources available [to NetSuite], but we won’t tell NetSuite how to do things.” That was the plan, and expectations for this acquisition to bear fruit were high.
However, 70% to 90% of acquisitions fail.1 It has been almost three years since Oracle’s acquisition of NetSuite—so, how has this one gone? Quite well, judging by the numbers … and continued enthusiasm of NetSuite employees and customers. In April this year, we heard that Oracle NetSuite’s revenues have been growing at 30% per year since the acquisition and that they had over 16,000 customers. At SuiteConnect San Francisco, less than half a year later, they announced having over 18,000 customers. Oracle NetSuite continues to grow—28% in Q4 FY2019 (i.e. March-May 2019) and “mid-twenty percent” rate for Q1 FY2020. Those are quite healthy growth rates for a $1+ billion division.
At SuiteConnect, I asked NetSuite’s founder, Evan Goldberg (at right), what were the main drivers of this growth. He said part of it was their ability to leverage Oracle’s international resources (sales offices, support centers, localization engineers), enabling NetSuite to grow international business much faster than they would have otherwise. He also said, as they add more and more verticals to their SuiteSuccess rapid implementation programs, it has been driving more adoption. Jason Maynard, SVP, Global Field Operations at NetSuite added that North America growth has also been strong.
Oracle’s Autonomous Platform
For several years, Oracle has been developing and building out an autonomous platform, providing autonomous administration and operation of an enterprise’s databases and IT infrastructure. Their strategy is to offload, automate, and optimize much of the behind-the-scenes administrative work for technologists (IT infrastructure professionals and software developers). The autonomous platform includes several mutually supporting components/platforms:
Oracle Exadata Database Machine—Specialized, purpose-built hardware and software providing scale-out compute and storage, optimized for massive databases. The Oracle Autonomous Database runs on Exadata machines. These systems can also be run at the customer’s data center, either as a private cloud owned and operated by the customer or as ‘Exadata Cloud at Customer,’ where the systems are owned and managed by Oracle, and the customer pays a subscription fee.
Oracle Cloud Infrastructure (OCI)—OCI is a combination of Infrastructure-as-a-Service and Platform-as-a-Service offerings2 that include compute, storage, networking and edge services, integration, security and identity management, application development environment/tools, integration, analytics, and emerging technologies (AI/ML, IoT, blockchain, digital assistant).
Oracle Autonomous Database—The Autonomous Database, essentially the Oracle Database enhanced with AI-driven automation, delivers self-patching, self-securing, and other labor-saving capabilities. Its multitenant architecture provides support for database consolidation, including non-relational data. It also offers built-in supports for IoT, AI/ML, and blockchain.
Oracle Autonomous Transaction Processing—This is Oracle’s autonomous OLTP service, built on the Autonomous Database. It automates tuning of performance using machine learning to optimize indexing, caching, and compression. Oracle says their platform provides 12 times the transaction processing speed and 100 times faster mixed workloads processing speed compared to AWS Aurora.
Oracle’s Autonomous Database and OCI (Oracle Cloud Infrastructure)
Oracle is looking to their autonomous database and platform strategy to help them continue to dominate in the database market, as well as to help them continue to grow their substantial application business. Large relational databases traditionally require a lot of care and feeding—enough to keep several hundred thousand database administrators busy, around the world.3 Oracle’s Autonomous Database handles administrative tasks automatically, including provisioning, configuration, encryption, patching and updating, scaling, tuning, and error management/recovery.
The benefits of this automation go beyond labor savings to include improved performance, security, and availability. Oracle’s SLA for the Autonomous Database guarantees 99.995% availability, equating to less than 30 minutes a year of downtime. NetSuite told us that when they moved onto Oracle’s Autonomous Database, it automatically tuned 6,000 of their database indexes in less than 24 hours, resulting in a significant increase in performance. Security is improved because patches are applied automatically as soon as they are released. There is almost no lag between the issuing of patches and their application, thereby greatly reducing the window of exposure.
Oracle’s revenues from public-cloud infrastructure are much smaller than from their database business (where they are #1 in worldwide market share) or applications business (where they are #2 in worldwide market share). Nevertheless, Oracle has ambitious aspirations for OCI and it is important to their database business (more on that in our conclusion below).
Microservices Support in Oracle Database
Oracle Database contains support for managing microservices and for writing multitenant applications. These capabilities help simplify the development of modern cloud-based applications. Modern applications are increasingly being built using a microservices architecture—i.e. their functionality is organized as a set of fine-grained, loosely-coupled, independently deployable services communicating via lightweight technology-agnostic protocols. Benefits of this approach include better modularity, parallel development, deployability, modifiability, and resilience to design erosion.
However, implementing microservices architecture is challenging. It introduces complexities and challenges dealing at scale with load balancing, security, latency, BAC (backup, availability, consistency), fault tolerance, and difficulty executing atomic transactions across multiple microservices. To manage microservices, developers increasingly use containers (OS-level virtualization systems such as Docker) and container-orchestration systems (e.g. Kubernetes, Docker Swarm, Spring Framework). These provide OS-independence, provisioning and deployment, resource allocation, scaling up and down, load balancing, health monitoring, redundancy, and application configuration. Oracle offers a Container Registry and Oracle Container Engine for Kubernetes.
Oracle’s microservices environments enables agility in the development process, and rapid, non-disruptive response to issues, since each microservice can be patched independently. It provides horizontal scalability (‘scale out’), dynamically and automatically increasing and decreasing the number of nodes available for individual microservices (other platforms require manual intervention to scale out additional resources). Asynchronous, stateless messaging between microservices is provided by Oracle Advanced Queuing, a feature of Oracle Database, which includes support for atomic transactions4 across multiple microservices. Creating atomic transactions across multiple microservices is difficult without this kind of support from the platform.
Multitenant Application Support in Oracle Database
Cloud applications can be either hosted5 or ‘true SaaS’6 (i.e. single-instance, multitenant applications). Multitenant applications are architecturally fundamentally differently from standard on-premise (or hosted) applications. On premise or hosted applications have one (or more) instance for each tenant (customer). In contrast, multitenant applications are architected to allow many different customers to share the same instance of code. Multitenancy brings many benefits such as more efficient use of CPUs and memory, more rapid implementation, lower support costs, and continuous upgrades enabling users to automatically always have the latest version and capabilities.
However, developing multitenant applications takes more work and care, particularly around security and data management/segregation within the application. It is absolutely critical for the developer to segregate data for each tenant and ensure security is strictly maintained throughout the application, so that users can only access the data that they are authorized to. Competitors may be running on the same instance and it would be disastrous if any user can see the data of any another user/company without proper authorization.
In addition, developers need to provide mechanisms for multiple independent per-customer customization within a single instance. That is distinct from the typical approach for customizing on-premise applications, in which the customer can customize their own instance. While convenient in the short run, customized instances can lead to challenges when upgrading to a new version, thereby anchoring the customer to an old version of the software and decreasing agility over the long run. As well, developers of multitenant applications need to include mechanisms to ensure that no single customer/user can monopolize compute or networking resources.
Starting with release 12c, Oracle Database introduced the multitenant container databases (CDB) architecture. CDBs provide support for the multitenant applications, as well as database consolidation. CDBs are able to contain multiple ‘pluggable databases’ (PDBs). Per Oracle’s Introduction to the Multitenant Architecture, “a PDB is a portable collection of schemas, schema objects, and nonschema objects that appears to an Oracle Net client as a non-CDB.” This allows programmers to use the same tools and techniques with the multitenant database as they are used to with traditional single-tenant applications. Oracle guarantees they will behave the same, per their PDB/non-CDB compatibility guarantee.7
Thus, the Oracle Database takes care of all the behind-the-scenes work and security for segregating data by users, allowing developers to use familiar development tools and approaches. With more and more enterprises of all sizes and stripes preferring or even mandating that the software they use runs in the cloud, this should help traditional developers with no multitenant experience to meet those needs. It should also ease the burden for developers who have written multitenant code.
Consolidated and Converged Database
Oracle’s multitenant CDB/PDB architecture allows users to consolidate many disparate databases into one. Moving dozens, hundreds, or thousands of databases into a single consolidated database simplifies administration (applying patches to all systems at once, consolidated management tools), improves performance (via virtualization), reduces costs (fewer compute and memory resources required), simplifies and accelerates provisioning of new databases, simplifies backup and disaster recovery, and improves security (consolidated access control).
The multitenant database can also support a variety of types of data, including relational databases, key-value, JSON documents, streaming data (e.g. IoT streams), graph databases, geospatial data, and more—all in a single converged multimodel database. The converged database can support the wide and growing range of types of data, algorithms, and workloads, all in a single database. Data preparation is integrated allowing ingesting, cleansing, and transforming from multiple sources. SQL is the common access API across all of the supported data types. An additional benefit is the reduction of data fragmentation and data management complexity.
NetSuite’s Migration to OCI and Autonomous Database
The fact that NetSuite has decided to move to the Oracle Autonomous Database—including relying on it to do many of the multitenant tasks that were formerly performed within NetSuite’s own multitenant code—is a persuasive endorsement of the value of using this platform for multitenant software development. NetSuite is one of the leading multitenant solutions in the world, used by over 18,000 companies. NetSuite’s founder and current EVP in charge of NetSuite, Evan Goldberg, is a respected software engineer and the original developer of NetSuite. NetSuite is his baby. Knowing Evan, it’s a safe bet he would not consent to rewriting the platform just because Oracle acquired NetSuite. You can be pretty sure he would only do it if it was the best technical decision.
Blockchain Platform, Applications, and Database Tables
We are still in the early discovery phase in the market for blockchain applications. Most people and companies are still learning what blockchain is and are trying to understand what applications it is good for. There are very few enterprise blockchain applications at scale with mature functionality. This is due to the many hurdles to the development and commercial success of blockchain applications (for a summary of these hurdles, see Blockchain for Supply Chain).
Oracle’s Blockchain Platform (based on Hyperledger) helps deal with some of these challenges.8 It is a managed service that helps accelerate blockchain application development by providing rapid provisioning of all required components, automated operations, security monitoring, and identity management/partner onboarding. CargoSmart used Oracle Blockchain Platform to build their blockchain-based Global Shipping Business Network. In addition to the platform, Oracle offers four different blockchain applications built on the platform: Intelligent Track and Trace, Product Lineage and Provenance, Intelligent Cold Chain, and Warranty Usage and Tracking.
Oracle also announced native blockchain tables in Oracle Database 20c and Oracle Autonomous Database. These do not directly provide a distributed ledger capability, but rather provide trusted immutability within a standard relational database. Each record has a cryptographic hash that chains it to the prior record, and a digital signature to ensure no records can be modified and indisputably record who wrote the record. Records can be written (once) and read, but not updated or deleted, thereby providing immutability of the data in all records. While not directly supporting a distributed multi-party ledger, a blockchain table could be used by a trusted Supply Chain Network provider to offer immutable shared data services to the participants in the network. The table should also be useful when auditability is critical.
Redwood, Next Generation UX
We saw a number of prototypes and demos using Redwood, Oracle’s next generation UI/UX. Redwood is starting to pervade Oracle’s branding and applications’ UI. It has a distinctive and (at least to me) attractive, almost artistic, look and feel. But it is about much more than that. The initiative began in earnest in late 2017 when Oracle hired Hillel Cooperman to build a team to “elevate Oracle’s user experience to a new level.” In his recent blog post, Hillel explained that this is about more than just a new software UI. It is a whole design philosophy and culture. He said “there are three important principles that companies, which I love, all share … 1) every single interaction with a customer (or the public, or a partner, or an employee) contributes to the overall user experience, 2) every one of those interactions is an opportunity to tell a unique and differentiated story. Not a list of features and functions of their product, but a story about … why their company exists, and 3) telling that story effectively and beautifully … is every single employee’s job regardless of their role or function.”
Hillel went on to explain “The folks at Oracle Design … have been working to create a brand-new state-of-the-art design system that works for periodic users, and power users. That works for end users and developers. That works for content-heavy experiences and works for interaction-focused experiences. That works for digital experiences, and physical ones like our annual Oracle OpenWorld conference … All these groups came together to create a system that’s flexible, that’s expressive, that scales, that tells our unique story, and that’s constantly evolving based on design research, learning, and listening. And while we are still at the beginning of our journey, and have a lot of important and intensive work ahead of us to bring this user experience to our customers at scale, I could not be more thrilled to share with you a sneak preview.”
Figure 1 – Examples of Screenshots of Redwood UI
The prototypes I saw of Redwood UI in applications were promising, with modern, intuitive look and feel and flow/logic.
And Much More …
There was a lot more that we don’t have time to cover here. These include capabilities such as the Oracle Digital Assistant, a conversational bot interface being embedded in Oracle Cloud Applications and NetSuite applications as well:
AI/ML services, available for roll-your-own AI/ML, but also being built into Oracle Cloud Applications (Adaptive Intelligent Apps) and NetSuite applications, as well as Data Safe, a new cloud service that automatically detects patterns and anomalies in the database;
Microsoft SQL Server on OCI (Oracle Cloud Infrastructure);
Oracle Application Express (APEX) low code application development platform;
Among many supply chain capabilities, one I found particularly innovative was Oracle’s integration of IoT and logistics—specifically they are integrating OTM (Oracle Transportation Management) Cloud, Oracle WMS Cloud, and Oracle IoT Cloud (IoT for Fleet Management). Route plans generated in OTM are sent to IoT FM and WMS. The outbound load is automatically generated in WMS for the source DC, based on the plan from OTM. The shipment is tracked in IoT FM, including optionally geofencing based on the route to get alerts for deviations. As updates are made, various participants can receive notifications when the truck is loaded, appointments updated, and various geofences crossed. The latter can be used to alert the inbound facility that the load is arriving soon or is running late. ETA can be monitored more precisely with communications to the receiving facility. The handoff between transportation and warehouse has historically been a point of friction, where a lot of improvements are needed. Once this integration is in place, a lot of that friction can be mitigated—all kinds of other scenarios and improvements can be realized, addressing chronic problems. This new capability is expected by the end of this year.
The Role of Applications and Infrastructure for Oracle’s Growth
Oracle has dominated the database market for a long time. Over the past decade, they have faced some stiff competition in the database arena from MS SQL and open source databases (both relational and NoSQL). This has challenged Oracle’s ability to grow their database business. Over the past five years, Oracle has averaged about 1% revenue growth per year, with operating income declining slightly in that period (though their operating income has been rising recently). During this time, Oracle has lost market share and revenue in the database market, but thankfully that was compensated by robust growth in cloud applications (both Fusion-based and NetSuite).
Compared to their database and application businesses, Oracle’s share of the Infrastructure (IaaS/PaaS) market is still small (less than 1%). However, Oracle Cloud Infrastructure is important for Oracle, because developers will typically select which cloud infrastructure platform they use, and then the developer’s choice of database is influenced by which cloud infrastructure they have committed to. Competing against Amazon, Microsoft, and Google in the cloud infrastructure market is tough. Cloud infrastructure is not a space we cover in-depth, so we won’t do a side-by-side comparison. Having said that, it looks like Oracle is making the right investments in cloud infrastructure to differentiate themselves.
Things look much brighter for Oracle in the cloud application business. Both Oracle Cloud Applications and Oracle NetSuite are growing much faster than the market as a whole. For example, Oracle’s cloud ERP offerings, Oracle ERP Cloud and Oracle NetSuite have been growing at a rate of 30-33% for the past four quarters. This helps Oracle to sustain investments overall.
Large companies that survive and thrive for a long time, especially in high tech, are forced to reinvent themselves over and over, sometimes radically. Oracle has been going through reinvention on a number of fronts—moving applications to the cloud, building out OCI, and bold investments in Redwood UX. They will have to make all the right moves. If they do, they could continue to grow as one of the top global software companies in the world.
1 According to the HBR article, M&A: The One Thing You Need to Get Right. -- Return to article text above 2 Competing with AWS, Azure, Google Cloud, and other cloud service providers. -- Return to article text above 3 There are over 100K DBAs in the US alone. -- Return to article text above 4 Per the Wikipedia entry on Atomicity “An atomic transaction is an indivisible and irreducible series of database operations such that either all occur, or nothing occurs. … An example of an atomic transaction is a monetary transfer from bank account A to account B. It consists of two operations, withdrawing the money from account A and saving it to account B. Performing these operations in an atomic transaction ensures that the database remains in a consistent state, that is, money is neither lost nor created if either of those two operations fail.” -- Return to article text above 5 Hosted applications are single-tenant applications. These typically have been architected for running on-premise, but happen to be hosted in the cloud. They require one (or more) instance(s) per customer and a separate system (or virtual machine) and database for each customer. -- Return to article text above 6 For more on ‘true SaaS’ architectures, see On Demand Now (published in 2004, but still relevant). -- Return to article text above 7 Oracle says that “a PDB behaves the same as a non-CDB as seen from a client connecting with Oracle Net. The installation scheme for an application back end that runs against a non-CDB runs the same against a PDB and produces the same result. Also, the run-time behavior of client code that connects to the PDB containing the application back end is identical to the behavior of client code that connected to the non-CDB containing this back end.” -- Return to article text above 8 Many of the challenges to succeeding in a commercial blockchain application are non-technical, such as incenting participation of other parties and developing the right business model. -- Return to article text above
To view other articles from this issue of the brief, click here.