Deploy a Recruitment Advertising Platform With OKE on Oracle Cloud

The future of job advertising depends on more than just putting the right job postings in front of the right job seekers.

Today's recruiters also need tools to help them navigate an omni-channel network to attract, score, and hire top talent in all sorts of hyper-competitive job markets.

Combining machine learning algorithms with job-specific hiring logic, such as work experience, certifications, and skills, GoToro's recruitment advertising platform helps hiring managers quickly identify and source applicants in high-volume, high-turnover markets from a wide range of hiring sites. GoToro created a digital recruitment advertising tool called Leading Edge Optimization (LEO) to help employers make intelligent recruiting investments, fast.

Founded in 2015, New Jersey-based GoToro has built and deployed its Leading Edge Optimization (LEO) recruiting platform on Oracle Cloud Infrastructure (OCI) using Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE). Processing multiple data points from job advertisement sites to applicant tracking systems (ATS) such as Oracle Recruiting Cloud Service, LEO recommends adjustments to the client in near real time, proactively managing risks and budget overruns.

By running its job advertising platform on OCI, GoToro helps its clients to:

  • Integrate with recruiting applications such as Oracle Recruiting Cloud Service
  • Customize recruiting strategies for each job posting with real-time updates
  • Calibrate and manage budgets in real time

Architecture

Users, such as managed and self-managed clients, candidates, and administrators, access GoToro's Leading Edge Optimization (LEO) platform by using an internet gateway.

The internet gateway routes the user request to a public subnet where Oracle Cloud Infrastructure Load Balancing forwards the request to the front-end Kubernetes container. The load balancer provides high availability for the platform as the containers are deployed across multiple availability domains.

The engine that runs the GoToro platform is a series of containers for tasks such as scheduling, chatting, searching, and other proprietary functions that are managed by Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE). GoToro engineers use Oracle Cloud Infrastructure DevOps to automate the software development lifecycle by using continuous integration/continuous delivery (CI/CD). The containers store recruitment data in a primary and standbyOracle MySQL Database Service configuration. GoToro developers and IT administrators administer the platform by using Oracle Cloud Infrastructure Bastion.

The platform integrates with existing applicant tracking systems such as Oracle Recruiting Cloud Service. GoToro imports the job feeds from Oracle Recruiting and provides feedback about the applicants' qualifications and eligibility. There are integration points for a BI dashboard, SMS, and email providers, as well as the use of social media for authentication.

Oracle Cloud Infrastructure Monitoring actively and passively monitors the environment, generating notifications and alarms. Oracle Cloud Infrastructure Streaming ingests recruiting data with back-ups stored in Oracle Cloud Infrastructure Object Storage.

Although the diagram shows the production environment, the architecture also includes similar environments for development, testing, and staging that are grouped in OCI compartments. With Oracle Cloud Infrastructure Identity and Access Management (IAM) and policies, GoToro is able to create four, isolated environments within a single OCI tenancy.

The following diagram illustrates the reference architecture.



gotoro-oci-arch-oracle.zip

For its future-state architecture, GoToro is exploring the expansion of their data platform to include Oracle Cloud Infrastructure Functions to provide a serverless architecture, Oracle Cloud Infrastructure API Gateway to publish APIs, and Oracle Big Data Cloud to assist with the processing and managing of raw data. GoToro is also exploring additional security tools such as Oracle Cloud Infrastructure Vulnerability Scanning Service to assist in managing and patching systems, and Oracle Cloud Guard to provide a unified view of the security posture for the tenancy.

The architecture has the following components:

  • Tenancy

    A tenancy is a secure and isolated partition that Oracle sets up within Oracle Cloud when you sign up for Oracle Cloud Infrastructure. You can create, organize, and administer your resources in Oracle Cloud within your tenancy. A tenancy is synonymous with a company or organization. Usually, a company will have a single tenancy and reflect its organizational structure within that tenancy. A single tenancy is usually associated with a single subscription, and a single subscription usually only has one tenancy.

  • 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).

  • 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.

  • Availability domain

    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.

  • 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 list

    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.

  • Route table

    Virtual route tables contain rules to route traffic from subnets to destinations outside a VCN, typically through gateways.

  • Internet gateway

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

  • 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.

  • 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.

  • Bastion service

    Oracle Cloud Infrastructure Bastion provides restricted and time-limited secure access to resources that don't have public endpoints and that require strict resource access controls, such as bare metal and virtual machines, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE), and any other resource that allows Secure Shell Protocol (SSH) access. With Oracle Cloud Infrastructure Bastion service, you can enable access to private hosts without deploying and maintaining a jump host. In addition, you gain improved security posture with identity-based permissions and a centralized, audited, and time-bound SSH session. Oracle Cloud Infrastructure Bastion removes the need for a public IP for bastion access, eliminating the hassle and potential attack surface when providing remote access.

  • 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.

  • Registry

    Oracle Cloud Infrastructure Registry is an Oracle-managed registry that enables you to simplify your development-to-production workflow. Registry makes it easy for you to store, share, and manage development artifacts, like Docker images. The highly available and scalable architecture of Oracle Cloud Infrastructure ensures that you can deploy and manage your applications reliably.

  • Notifications

    The Oracle Cloud Infrastructure Notifications service broadcasts messages to distributed components through a publish-subscribe pattern, delivering secure, highly reliable, low latency, and durable messages for applications hosted on Oracle Cloud Infrastructure.

  • 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.

  • Streaming

    Oracle Cloud Infrastructure Streaming provides a fully managed, scalable, and durable storage solution for ingesting continuous, high-volume streams of data that you can consume and process in real time. You can use Streaming for ingesting high-volume data, such as application logs, operational telemetry, web click-stream data; or for other use cases where data is produced and processed continually and sequentially in a publish-subscribe messaging model.

  • 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, Oracle 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.

Get Featured in Built and Deployed

Want to show off what you built on Oracle Cloud Infrastructure? Care to share your lessons learned, best practices, and reference architectures with our global community of cloud architects? Let us help you get started.

  1. Download the template (PPTX)

    Illustrate your own reference architecture by dragging and dropping the icons into the sample wireframe.

  2. Watch the architecture tutorial

    Get step by step instructions on how to create a reference architecture.

  3. Submit your diagram

    Send us an email with your diagram. Our cloud architects will review your diagram and contact you to discuss your architecture.

Acknowledgments

  • Authors: Robert Huie, Luke Yeates, Sasha Banks-Louie
  • Contributors: Brad Goodwin, Akash Kapoor, Robert Lies

    Oracle Extended Team: Kyle Finnerty

    GoToro Team: Sean Prendergast, Bruno Stanziale, Shreyansh Kuppanatti, Steve Shulze