Sneak Peek into Workday’s Technology Stack

Workday Technology
Workday Technology
Published in
5 min readNov 8, 2017

By Fergal Somers

The engineering team at Workday has been hard at work. As part of the mission of this newly launched blog, we want to share a first look behind the scenes at some of the areas we’ll explore further in future posts:

Opening up the Workday Cloud Platform

The Workday Cloud Platform enables external developers to build with Workday by exposing our applications and technology via RESTful design-time and run-time APIs. These APIs provide access to our core applications — including Human Capital Management, Financial Management, and Student — as well as underlying technology, including Workday’s user interface, conversational services, content management, and analytics.

The Workday Cloud Platform enables extensibility through three different design patterns: application extensions, composite applications, and external applications. Application extensions allow developers to expand Workday functionality via applications that exist and run entirely on Workday’s infrastructure. Composite applications merge Workday and external data to provide functionality that leverages the Workday design system for UI/UX. Finally, external applications run on third-party cloud infrastructure and leverage Workday data and functionality.

UI

While not the first, nor only, metadata-driven user interface system, Workday’s UI technology is unique. We utilize concepts ranging from compilers to browsers/rendering engines to build and maintain sophisticated, scalable systems that power Workday experiences across all types of devices and form factors. UI engineers continually push the envelope, from the latest front-end rendering concepts, rich interactive media experiences, the incorporation of artificial intelligence and machine learning, to the design of conversational UI paradigms. When combined with creative design, we provide Workday’s users with incomparable experiences.

Collaboration

Workday’s collaboration technology (Worksheets) enables users to slice and dice data within Workday and combine it with external sources in a high-fidelity, real-time spreadsheet UX. To support the level of interactivity and responsiveness required for this experience, we built an advanced distributed compute engine, WebSocket-powered web architecture, and native iOS and Android client components.

We are also empowering end users to interact with Workday through the conversational UI. It enables end users to collaborate around specific tasks and flows within Workday, and to interact with Workday-supplied bots. It also enables outside developers to mash-up Workday and other platforms with third-party bots.

Data Analytics

Our data analytics offering, Workday Prism Analytics, provides leaders a full picture of their business by empowering their analysts to blend Workday and non-Workday data and surface key insights. It uses big data technologies such as Spark and Hadoop to process terabytes of data using massive parallelism. We provide a state-of-the-art interactive data preparation system that delivers guided transformations, example data, and summary statistics built on the latest web technologies. The prepared data, enriched with row- and cell-level security, is published to the query engine for interactive reporting, dashboards and data discovery that scales to large data and number of users. We also have a highly performant in-house browser-based visualization engine to render the rich visualizations for data discovery.

Search and Machine Learning

To stay true to our innovation promise to customers, Workday’s Search, Data Science and Machine Learning (ML) teams focus on ways to make Workday applications smarter and simpler.

We build ML services to power applications across the Workday product portfolio including search, recommended candidates, expense receipt parsing, forecasting for planning/budgeting, and retention risk. Key categories include computer vision, natural language processing, anomaly detection, recommendations, and time series forecasting. We use a range of techniques from simple regression to complex deep learning. Deep personalization across applications is powered by our knowledge graph. Our ML capabilities enable rapid development of services by supporting the building, versioning, and deployment of ML models. Stay tuned for deep dives in future blog posts.

Core Services

Our core services provide the transaction and query processing engine for all Workday applications. We support billions of complex transactions and queries per month and manage terabytes of rapidly-growing data per customer while keeping the system responsive to ever-growing workloads. To handle the tremendous transaction and query load, sophisticated concurrency techniques are used to support serializable isolation levels and large scale query throughput. Coupling distributed computing techniques with large in-memory near/far cache support enables us to rapidly scale both memory and computing capabilities. Supporting high performance at scale for the world’s largest companies is our mission.

Shared Services

In Workday we build and provide shared services for monitoring, security, logging, and onboarding so that service applications can be deployed consistently and reliably in production data centers. Our engineers are experts on projects like OpenStack, Kubernetes, OpenContrail, Gradle, Jenkins, Zuul, Chef, and Prometheus, to name a few. DevOps brings development and operations teams together in an agile way. We’re taking DevOps to the next level by providing not just tools or programmable interfaces, but automation that enables developers to deliver code from code-commit all the way to production, across all global data centers. This is one part of the magic behind the Power of One.

In addition to deployment, we provide shared services that include Zookeeper based service discovery, key management, and Kafka and RabbitMQ for message queues. We collect logs, stats, and metrics from all microservices in real-time and use these to power monitoring, alerting, querying, and reporting capabilities.

Persistence Services

We employ a variety of persistence technologies including MySQL, HDFS, Redis, S3, and Elasticsearch. All of our persistence services must support encryption-at-rest, which means if the technology does not support it already, we need to provide it. For example, we have extended Elasticsearch to provide per-tenant encryption while preserving the rich querying capabilities of Elasticsearch.

Application Development

In order to build applications with the same look and feel at a fast pace, we developed an internal language and abstraction layer called XpressO (XO). XO abstracts application developers from having to worry about the underlying platform, allowing them to focus on building applications of varying complexities with configurable security and access layers. These developers expose their data models and functionality through web services and REST APIs so customers can integrate with and/or extend the Workday applications. We are working hard on a successor to XO, called YP, which we will detail in future posts.

Languages

At Workday we use a variety of languages including Java, Scala, Python and Ruby. In particular, there is a thriving interest in functional programming methods and languages across Workday. We are constantly evaluating new languages, programming styles, and software toolkits to create scalable software that is easy to build, test, and maintain. We host regular Meetups at Workday offices in the US and Europe, helping us build strong developer communities.

We hope this gave you a bit more insight into our technology stack. Please stay tuned for more. In the meantime, check out our jobs page if you want to help us build great things. Questions or comments? Please email us.

--

--