Hyreo: Hybrid On-Premises Deployment on Oracle Cloud Infrastructure

Hyreo deployed their hybrid on-premises and Amazon Web Services (AWS) production platform on Oracle Cloud Infrastructure with minimal architectural changes but with all the benefits of being in Oracle Cloud. Workloads include core systems, conversational AI systems, batches, integrations, and more.

Hyreo is a human resources (HR) platform focused on candidate experience. Hyreo delivers a customer-like experience for candidates throughout the recruiting process. Their philosophy is to make candidates the center of the recruiting universe and to turn recruiters into true, talent relationship champions.

The following major factors drove Hyreo to adopt Oracle Cloud Infrastructure:

  • Security: With all Hyreo customers, securing the infrastructure is top priority. Using the in-built security layers in Oracle Cloud Infrastructure, they easily migrated the existing infrastructure and worked with the customer security team to implement the additional security measures to meet their requirements.
  • Support: In the on-premises solutions, Hyreo had to manage multiple support teams, which was becoming a complex exercise. With a service license agreement (SLA)-based support, they can now resolve issues much more quickly and efficiently.

Customer Story

Learn more about Hyreo's journey to Oracle Cloud:

Architecture

Hyreo manages integrations with various third-party systems, such as enterprise applicant tracking systems (ATS) and other human capital management (HCM) platforms. The data from these other systems is in multiple formats, such as from API calls, files, emails, and so on.

Hyreo uses Oracle Cloud Infrastructure Load Balancing to direct external users and systems to its frontend application in the data processing layer, which is responsible for sending and receiving the data to the external systems. The data goes to an intermediate storage system in the form of message queues or Oracle Cloud Infrastructure Object Storage, depending on the data received. The data management layer processes the data from the intermediate storage using defined data models and pushes the data to the permanent storage. The permanent data layer stores the data in both structured and unstructured format.

The load balancer is placed in a public subnet. Different private subnets house the virtual machines (VMs) for the data integration application, the message queue application, and the VM hosting the models to process the data and push to it to permanent storage.

Incoming data comes in through the data integration VM, from which it's sent temporarily either to the message queue or to object storage. From there, it's copied to the data processing and the mapping model and then to permanent storage, which can be a MySQL database or object storage, depending on the type of data.

Hyreo plans to use Oracle Cloud Infrastructure Data Integration as part of the changes in the integration layer. With the different predefined connectors available for connecting to different software-as-a-service (SaaS) platforms and managed file transfer (MFT) solutions, this choice can help them build a better solution.

The following diagram illustrates this reference architecture.



The architecture has the following components:

  • Region

    An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).

    All the resources in this architecture are deployed in a single region.

  • Availability domains

    Availability domains are standalone, independent data centers within a region. The physical resources in each availability domain are isolated from the resources in the other availability domains, which provides fault tolerance. Availability domains don’t share infrastructure such as power or cooling, or the internal availability domain network. So, a failure at one availability domain is unlikely to affect the other availability domains in the region.

    All the resources in this architecture are deployed in a single availability domain.

  • Compartment

    Compartments are cross-region logical partitions within an Oracle Cloud Infrastructure tenancy. Use compartments to organize your resources in Oracle Cloud, control access to the resources, and set usage quotas. To control access to the resources in a given compartment, you define policies that specify who can access the resources and what actions they can perform.

  • Virtual cloud network (VCN) and subnets

    A VCN is a customizable, software-defined network that you set up in an Oracle Cloud Infrastructure region. Like traditional data center networks, VCNs give you complete control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.

  • Security lists

    For each subnet, you can create security rules that specify the source, destination, and type of traffic that must be allowed in and out of the subnet.

  • Service gateway

    The service gateway provides access from a VCN to other services, such as Oracle Cloud Infrastructure Object Storage. The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.

  • Internet gateway

    The internet gateway allows traffic between the public subnets in a VCN and the public internet.

  • Load balancer

    The Oracle Cloud Infrastructure Load Balancing service provides automated traffic distribution from a single entry point to multiple servers in the back end.

    This architecture includes a public load balancer.

  • Compute

    The Oracle Cloud Infrastructure Compute service enables you to provision and manage compute hosts in the cloud. You can launch compute instances with shapes that meet your resource requirements for CPU, memory, network bandwidth, and storage. After creating a compute instance, you can access it securely, restart it, attach and detach volumes, and terminate it when you no longer need it.

  • Object storage

    Object storage provides quick access to large amounts of structured and unstructured data of any content type, including database backups, analytic data, and rich content such as images and videos. You can safely and securely store and then retrieve data directly from the internet or from within the cloud platform. You can seamlessly scale storage without experiencing any degradation in performance or service reliability. Use standard storage for "hot" storage that you need to access quickly, immediately, and frequently. Use archive storage for "cold" storage that you retain for long periods of time and seldom or rarely access.

  • Oracle MySQL Database Service

    Oracle MySQL Database Service is a fully managed Oracle Cloud Infrastructure (OCI) database service that lets developers quickly develop and deploy secure, cloud native applications. Optimized for and exclusively available in OCI, MySQL Database Service is 100% built, managed, and supported by the OCI and MySQL engineering teams.

    Oracle MySQL Database Service has an integrated, high-performance analytics engine (HeatWave) to run sophisticated real-time analytics directly against an operational MySQL database.

  • Monitoring

    Oracle Cloud Infrastructure Monitoring service actively and passively monitors your cloud resources using metrics to monitor resources and alarms to notify you when these metrics meet alarm-specified triggers.

Explore More

Learn more about the features of this architecture.