Gadget Software moves cloud native platform from AWS to OCI, reducing costs and increasing developer efficiency
December 16, 2021 | 7 minute read
Product self-service is a goal for manufacturers and consumers alike. Manufacturers provide customers with product documentation consisting of quick start guides, user manuals, and installation instructions with the hope the instructions are followed. Physical instructions are frequently misplaced and discarded by consumers. Physical instructions are also expensive to print and distribute and not eco-friendly. While PDF instructions are less expensive to distribute, they’re difficult to navigate, read, and follow on smartphones.
While instructions define the difference between a great and poor product experiences, they do not define the entire self-service experience. Along with easy-to-follow instructions, customers want the ability to register products, acquire extended warranties, purchase parts or accessories, schedule service, and if necessary, speak with service representative. Customers want the entire self-service support experience available on the smartphone.
Gadget Software’s software-as-a-service (SaaS) enables manufacturers to provide an optimized self-service support solution. The company's AI transforms instructions into intuitive, easy-to-follow information. Additionally, its virtual publishing platform integrates the transformed instructions with extra support services delivered on-demand as web apps retrieved with QR codes and branded mobile apps. To compliment its ADX platform, Gadget Software’s usage metrics also provide manufacturers with new customer engagement insights.
Figure 1: Gadget Software product overview
Goals for Gadget Software’s cloud migration
Gadget Software previously hosted its SaaS Advanced Document Experience (ADX) platform on Amazon Web Services (AWS), but they found several gaps in AWS infrastructure capabilities, and Gadget’s own needs for a cloud infrastructure provider that offered speed, agility, automation of manual processes, and high availability.
As a result, Gadget’s engineers searched for a new cloud provider with various requirements and goals for its migration. Its primary requirement was to quickly deploy new features and services. Gadget Software also wanted to partner with a cloud provider that offered the following features:
- Dynamic resource provisioning and autoscaling to match traffic fluctuations and bursty workloads.
- Speed and agility to deploy new development, test, and QA environments quickly and efficiently.
- Reduction in administrative tasks, specifically database administration tasks.
- High availability and dynamic scaling, especially for its Kubernetes environment, which is a crucial part of its infrastructure.
Suite of Oracle products used
Since migrating its platform to OCI, Gadget Software can now increase the speed, agility, and automation on its platform. The following list includes the relevant OCI features, services, and tools that Gadget Software utilizes:
- Oracle Container Engine for Kubernetes (OKE): Oracle Container Engine for Kubernetes (OKE) is an Oracle-managed container orchestration service that can reduce the time and cost to build modern cloud native applications. Unlike many other cloud infrastructure vendors, OCI provides Container Engine for Kubernetes as a free service that runs on higher performance, lower-cost Compute shapes.
- Oracle MySQL Database service: Oracle MySQL Database service is a fully managed database service that lets developers quickly develop and deploy secure, cloud native applications using the MySQL open source database.
- Oracle bare metal shapes: Oracle’s bare metal servers provide customers with isolation, visibility, and control by using dedicated compute instances. The servers support applications that require high core counts, large amounts of memory, and high bandwidth, scaling up to 160 cores (the largest in the industry), 2 TB of RAM, and up to 1 PB of block storage.
- OCI virtual cloud network: Oracle virtual cloud networks (VCNs) provide customizable and private cloud networks in OCI. Like a traditional data center network, the VCN provides customers with complete control over their cloud networking environment, including assigning private IP address spaces, creating subnets and route tables, and configuring stateful firewalls.
- Internet gateway: An internet gateway as an optional virtual router that connects the edge of the VCN with the internet. To use the gateway, the hosts on both ends of the connection must have public IP addresses for routing. Connections that originate in your VCN and are destined for a public IP address (either inside or outside the VCN) go through the internet gateway. Connections that originate outside the VCN and are destined for a public IP address inside the VCN go through the internet gateway.
- NAT gateway: NAT is a networking technique commonly used to give an entire private network access to the internet without assigning each host a public IPv4 address. The hosts can initiate connections to the internet and receive responses, but not receive inbound connections initiated from the internet.
- OCI Logging: The OCI Logging service is a highly scalable and fully managed single pane of glass for all the logs in your tenancy. Logging provides access to logs from Oracle Cloud Infrastructure resources. These logs include critical diagnostic information that describes how resources are performing and being accessed.
- OCI Auditing: The OCI Audit service automatically records calls to all supported Oracle Cloud Infrastructure public application programming interface (API) endpoints as log events. Currently, all services support logging by Audit. Object Storage service supports logging for bucket-related events, but not for object-related events. Log events recorded by the Audit service include API calls made by the OCI Console, command line interface (CLI), software development kits (SDK), your own custom clients, or other OCI services.
Gadget Software’s cloud native SaaS platform
Gadget Software offers its primary SaaS platform Advanced Document Experience (ADX) to various manufactures, retailers, and companies. ADX is powered by three technology clusters. The first is the analysis and transformation engine which is responsible for taking existing documents and preparing them to be uploaded into the core. The core is responsible for managing and visualizing the content. The last of these clusters of technology is responsible for presentation of the content itself.
For all three of these technologies, Gadget Software uses OCI to deploy their algorithms. These three technologies comprise ADX’s “conversion engine,” which uses a collection of tools and software components to both format and transform documents into virtual instructions accessible from any mobile device, through the assigned mobile application. The result is an improved user experience that provides clearer instructions in less time. To help customers retrieve and navigate instructions, Gadget’s ADX platform offers advanced features, such as search engines, instructional videos, and interactive guides.
In addition to arming its customers with dynamic instructional processes, Gadget Software’s ADX platform also offers engagement analytics that track granular topics, providing more detailed insight into current product information, and uncover future product enhancement and development opportunities.
Migration path and Oracle solution
Gadget Software’s cloud native document virtualization platform relies on OCI and Kubernetes to quickly deploy new services, features, and development, test, and QA environments. The company’s application has deployed its ACE cluster software in the first fault domain, a MySQL Client in the second fault domain, and Oracle Document Manager with Oracle Block Storage in the third with the following details:
- The ACE cluster is deployed in a primary-standby highly available environment. You can scale the cluster up and down quickly as it runs on OKE.
- MySQL Database service is in a separate private subnet that spans all three fault domains. This service provides fully isolated and shared database environments for customers.
- The internet gateway provides access to online users and third-party tools, and the NAT gateway provides address translation.
Gadget Software is actively working on implementing more capabilities on OCI, including load balancing, API gateway, File System Storage, and other services. The following architecture shows the future state for Gadget Software’s cloud native implementation on OCI.
Figure 2: Gadget Software’s cloud native implementation on OCI (some services to be deployed by early 2022)
Gadget Software’s migration from AWS to OCI resulted in a significant cost reduction in both its operating and capital expenses. The OCI features and tools that Gadget Software used also enabled its development team to spend less time on database administration and more time on core business, higher-value development activities. The OCI tools and services that Gadget Software is running allow its engineers to manage and monitor the overall health of its platform, instead of writing management scripts for its relational database environment, a task now automated on OCI.
By using OKE, Gadget Software can scale on demand. For example, Gadget Software can scale up its demand for various use cases: When they onboard an influx of mobile customers, or when they onboard a particular customer signing onto the platform in different locations. Regardless of the use case, Gadget Software can now scale on demand by expanding its compute and presentation capacity as needed to support customers and then scale capacity back when it’s no longer necessary. With OKE, Gadget Software can also now set the number of concurrent processes that are running in an instance, offering the development team both isolation and control.
Given the success with migrating its ACE production platform to OCI, Gadget Software is in the process of migrating its core content and core engine to OCI. Engineers have worked with OCI’s Cloud Engineering team to move all its development environments onto Oracle Cloud Infrastructure. Services used in the end-state architecture include OCI Load Balancing and Oracle API Gateway.
For more information, see the following resources:
- Use Oracle Cloud Free Tier to try OCI.
- Explore Oracle Cloud Lift services for assistance with migrating workloads to OCI.
- Learn more about Oracle Cloud Native services, OCI’s capabilities for Kubernetes, MySQL, and more.
- Get technical details from Gadget Software’s head of architecture and explore Oracle’s Built & Deployed video series.
The authors want to thank Matt Goldensohn and Max Riggsbee from Gadget Software for their contributions.