EGXTECH2018: EG XTECH CONFERENCE 2018
PROGRAM FOR WEDNESDAY, NOVEMBER 14TH
Days:
previous day
all days

View: session overviewtalk overview

10:00-11:30 Session 16A: Day 3: Rome

Day 3: Rome

Location: Rome
10:00
How to Earn a Black Belt in GraphQL testing

ABSTRACT. Hotels.com is rapidly moving to an architecture based on GraphQL microservices. But what is GraphQL and which is the best way to test it? Here's where Karate comes in handy: a Cucumber based test framework which allows to write tests in an easy way. Angela and Luca will show you some of the most powerful features of this tool like text manipulation to write effective checks on GraphQL response, data driven testing, test reporting, etc.

Topics: QA/Testing framework Level: Beginner

10:30
Hcom API Vision

ABSTRACT. Providing public APIs comes with several challenges; different clients have their own use cases to implement and service interfaces must be flexible enough to satisfy all of them and reduce breaking changes at the same time. During the past years, the mobile APIs team has accumulated a lot of expertise in providing and maintaining web services, supporting not only native apps but also third party consumers. The REST approach has been a good and loyal companion along our journey, but it has now probably reached its limits, suffering from problems such as underfetching (N+1 problem) and overfetching. We'll be showing you how Hcom is going to change the way it provides web-services to external clients, starting from a "schema-first" modeling of our content to a single point of access to get all kind of information you may need, all powered by a GraphQL interface which will allow even more consumers to take advantage of our APIs.

11:00
HCOM approach to Multivariate Testing

ABSTRACT. We are going to explain the evolution of the Hcom approach to testing website changes.

we will explain why we moved from the library approach, where the experiments were coupled with the application, to the service approach highlighting the advantages of the latter over the former.

We will describe how we guarantee the consistency of user's journey, preventing the users to see different variants of the same experiments

We also describe how we keep decoupled the mvt code from the business logic and how it enables a transparent reporting of the mvt usage.

10:00-11:00 Session 16B: Day 3: Montreal

Day 3: Montreal

Location: Montreal
10:00
Methods for Efficient and Predictable Releasing

ABSTRACT. What about a possibility to run your Production Live Traffic on your next release even before putting it in production? And then releasing this next version within a minute with a very high level of confidence. On top of that, what about still having the capability to rollback within a minute should something goes wrong after the release?

In the Geography team, we execute of what we call the soaking (a.k.a. shadow testing) on a candidate stack for the next release before sending the production traffic to this new release. We combine this type of testing with an efficient and predictable way to switch the traffic between a candidate and a release stack to get a very high level of confidence. Even if the confidence is pretty high, we still have possibility to rollback to the previous release within a minute should something wrong happen.

This presentation will explain the technique used by GEO to easily release a new Gaia version with confidence. In more details we’ll discuss: * Method and benefits of the stack soaking. * Method in use for a blue/green releasing. * Capability of the method for a fast rollback * Importance of predictability and repeatability in a pipeline

This 30 minutes presentation is open to everyone and will discuss more about the methods and benefits. No specific technical knowledge is required to attend the presentation.

10:30
Presentation of Rancher 2.0 - How to simplify Kubernetes deployment

ABSTRACT. Over the last two years, new services like TCS, Content Hub, Localization moved away from ECS to deploy their multiple services using docker swarm (2017), Rancher 1.x (2018) and Rancher 2.x/Kubernetes (2019). I will cover the migration from ECS to Rancher2.x and I will explain why we did it and what are the benefits to use this platform.

This session will be accessible to any levels

10:00-12:00 Session 16C: Day 3: Chicago

Day 3: Chicago

Location: Chicago
10:00
Sharing Experiences on Spark Structured Streaming

ABSTRACT. The presentation will summarize the experiences that the Partner Journey team had while developing a real-time system designed to build out a data store containing metadata information regarding all email communications that have happened between a hotel partner and Expedia. The most interesting aspects of the system is a stream-to-stream join that was required in order to solve the problem, and the technology used to solve it – Spark Structured Streaming. Stream-to-stream joins are a common problem faced in many real time systems. Until the release of Spark 2.3 in March 2018, there was only a handful of frameworks capable of tackling this challenging problem, most notably Apache Flink, Kafka Streams, and Spark’s DStreams. The goal of this presentation would be to share the challenges, learnings, and impressions that my team has had, so that other teams in Expedia can make a more informed decision when evaluating technology choices, more specifically Spark Structured Streaming, as their platform of choice for real-time streaming systems.

* What will be the main points and topic of the presentation?

The meat of the presentation will cover the problems that our team has encountered while attempting to achieve exactly-once semantics and stream-to-stream join using Spark Structured Streaming. I plan to talk about three to four problems that my team has encountered that I believe to be most useful for teams looking to develop streaming systems.

Below are short summaries of the issues I am planning to discuss.

** Problems suitable for Spark Structured Streaming and why we chose it

Not all streaming problems are the same. I plan on briefly introducing my team’s business use case and sharing what features attracted us to Spark, what were our criteria for evaluating streaming technologies and finally why we ended up choosing Spark Structured Streaming.

** Missing data due to undocumented watermarking behavior

Spark Structured Streaming claims to support a left-outer join functionality, which it does, albeit with a surprising twist. The watermark will only advance when a join condition is met, therefore some datasets in which the join condition is satisfied infrequently might not suit Structured Streaming.

** Application crashes due to S3 eventual consistency

My team encountered multiple ways in which the application spontaneously failed. I would like to share our findings on the root causes, potential solutions, and workarounds, as well as active Spark JIRA’s which are being worked on to address these issues.

** Data duplication due to S3 eventual consistency

Similar to the above – I will share our learnings on writing to S3 from Spark Structured Streaming applications and identify ways in which they can be mitigated.

* Audience

The talk will be tailored towards a technical audience. I do not believe that any experience with real-time systems will be necessary in order to understand the contents of the talk, however audience members who are considering building a real-time system or migrating an existing one will be able to benefit the most out of attending.

10:30
Why We Rewrote an AWS Lambda from Python to Go

ABSTRACT. Since 2016, the HIP Team in Egencia (also known as the Quackers) has maintained a project to ensure resource compliance with our tagging policies (and those laid down by ERS). When we started this, AWS supported Java, NodeJs, and Python for runtime languages – At that time, Python seemed like the right choice for both its approachability and the packages that were available for it. With the addition of Go (a.k.a. golang) to this list last year, we saw potential benefits for a rewrite. This talk will explain those benefits and how the team went forward with that rewrite. We'll focus on performance benefits, the ease of understanding our task in go, and how we used go's concurrency primitives to match the structure of our python codebase. We'll conclude with a short demonstration of the payoffs in performance we've seen for the rewrite.

10:45
From DevOps to DevProd

ABSTRACT. DevOps is great we need it, we can't live without it. But now that we have the tools we need to build/test/deploy our feature to production. What happens next? The common developer answer would be: "Well let's work on the next feature. Give me a task"

I thought I invented this term DevProd but it turns out this is actually a thing and companies are using it (i.e Spotify) where teams are formed into squads where devs are encouraged to follow up on the features they built, check analytics and AB test results (with the help of Product people), know their users and suggest features to Product instead of just implementing them.

I can argue that a Full Stack developer is not as valuable as a "Full Cycle" developer. This talk is mainly to illustrate some of the successful process changes we implemented and the strong collaboration between product and devs in the Egencia Mobile Team to encourage participation of developers into the full cycle of feature developments and not just the coding part of it. Will also try to showcase some of things that we have some room to grow in and possibly ideas we can experiment with that other companies are happy with.

11:00
CSS Grid - You Don't Need Much to Start. Now.

ABSTRACT. This presentation is about the CSS3 Grid layout system. It will provide a brief overview of the basics needed to start, with a couple of easily digestible examples. The main focus will fall on a practical real-life example that was developed for Flight Infosite. It showcases a CSS Grid implementation with a fallback to UITK Grid (CSS Flexbox). The goal is to illustrate that we don't need to wait for 100% browser support (which means for IE 11 to disappear) to start using most elements of CSS Grid now, and future-proof our layouts by solving the everlasting problems of mobile first and multiple breakpoint support in a standard way.

- CSS Grid basics - it's the W3C standard way of laying out a page in rows and columns of boxes. Walk through and demonstrate the bare necessities of achieving such layout. Focus on simplicity rather than on an exhaustive inventory of all available properties for all kinds of complex scenarios. - Use a simple example and manipulate it with Chrome Dev Tools, to illustrate the ease with which such a layout can be customized to support multiple form factors. - Walk through a real-life example: Flight Infosite with a superimposed CSS Grid layout controlling the main page modules, which gracefully degrades to the existing UITK Grid layout if there is lack of browser support.

The audience will learn: - UI Development is not just about JavaScript - good application design starts with UI markup and styling. - It is not too early to start using CSS Grid and create layouts that will last a while and be easily adaptable and customizable. - It is not as hard and overwhelming as it seems when one goes through a full-blown and thorough overview of all CSS Grid's capabilities. - Creating a real-life practical example of a technology you want to evangelize shouldn't be a daunting task.

The expected level for participants is intermediate and advanced in HTML and CSS3, so they may be able to follow, understand and enjoy the talk. Beginners may also be encouraged - if only for the purpose of exploring an opportunity to focus their future learning efforts.

I expect this talk to cover no less than 45 minutes and no more than an hour.

11:30
EG Data Strategy

ABSTRACT. Lodging data users across Expedia Group including analysts, data science teams and engineering teams are finding it difficult to utilize data to achieve their goals. This is because there is no clear definition on what the data means, it's not easily accessible, there are multiple copies of it, it's outdated or it's incomplete. There is no commonly agreed vision, governance and strategy to handle the data.

To address these issues, we are proposing a data strategy that includes: 1) Streamlining responsibilities of the data producers 2) Establishing a common registry for data definition of all data assets 3) Establishing an EG approved federated data lake 4) Providing a one stop shop for all lodging data needs for our consumers.

We believe that by defining and implementing a proper end to end data strategy, we can address the data challenges for our consumers and transform EG into a data first organization.

10:00-11:00 Session 16D: Day 3: San Francisco

Day 3: San Francisco

Location: San Francisco
10:00
Gamification of the App

ABSTRACT. Why is the app not fun? * Same experience every time * No humor * No entertainment (sounds, videos, animations) * There is no reward except for the final purchase * No 'replay value' Why are games fun? * Testing fate, developing skill * Beating the competition * Being surprised by results * Humor * Keeping score * Entertaining cut scenes

The app could be made much more entertaining using the tools available to any app developer: Animations, Sound effects, Music, Video, Augmented Reality, Virtual Reality, Social Networks, Online Leaderboards, Mini-games, Personalization, geo-locating, and Intelligent non-player characters (chat bots).

Let's explore where and how we can add engaging/interactive/entertaining content to our apps, with little or no need for additional backend support or API's. What do we have to lose?

10:30
An overview of how we brought our outdated post-booking experience on the Android app into the modern age.

ABSTRACT. What main points/topics we will cover • Moved to MVVM with Android Architecture Components (ex. LiveData) • Technologies used such as: Retrofit Dagger Kotlin RXJava Gson • Pain points we faced such as: Logic tightly coupled with the UI Many layers of abstraction to the data from response to UI Classes that have multiple responsibilities Original code overall was hard to test

What the audience will learn by attending your session • How code ages and what it takes to bring it up-to-date • A before and after glimpse of a complete overhaul of a Line of Business • Key takeaways from our experience: Team was unfamiliar with the code initially and used an agile approach to come to today’s solution. Some refactoring of previously written code was required, but it ultimately it led to a much higher quality product. Reusing code with generic views, viewmodels, utils, etc where possible allows for faster and more consistent development. However must find a balance between creating generic vs specific components because some situations are best handled with a custom solution. Must find a balance between creating generic vs specific components Up-front investment in writing testable code allows for easier testing going forward. We used test helper classes, using interfaces and mocks. We also followed the “separation of concerns” principle and leveraged dependency injection.

11:00-13:30 Session 17: Day 3: Gurgaon

Day 3: Gurgaon

Location: Gurgaon
11:00
Data streaming with Apache Kafka

ABSTRACT. With business growth and consequently increasing traffic on Egencia, we were required to scale our real time updates to downstream systems. Our usecase was to scale multiple consumers independent of each other, which could consume stream of time order updates on each update keeping below constraints/issues in mind - NRT (Near Real Time) - minimum SRE support - fault tolerance - high throughput We’ll discuss challenges faced by traditional queuing systems i.e. RabbitMQ etc. in solving our business use case and how modern streaming technologies served our purpose well. Streaming engines give some extremely useful features like - contention free scalability amongst different consumers, - fault tolerance, compaction of messages, - configurable retention period, - offset reset/moving, etc. We’ll talk about popular streaming engine, Apache Kafka with its features and drawbacks.

11:30
Managing travel booking orders through smart contracts and blockchain

ABSTRACT. When travels assets are booked by users on Expedia they enter into a contract. This basically guides any future changes to order like rescheduling, complete cancelling and partial cancelling. This is like a contract between user and Expedia. The idea is to use Blockchains and smart contracts to manage the contract. Smart contracts are contracts written in code (Solidity is the language used for Ethereum). These contracts gets executed whenever there is an event on blockchain network and takes actions appropriately. The idea is to attach a smart contract to each order booking and store the order on the blockchain network. Whenever there is a event then smart contract code is executed for an order and it takes relevant action. Using blockchain, which is distributed data store makes the process less error prone.

12:00
Adaptive Alerting

ABSTRACT. How we are aiming to reduce mean time to detect (MTTD) for production incidents, by creating a platform that can monitor as many signals of system health as possible in real time. How we are trying to limit the number of false positives by making it 'adaptive' without requiring extensive intervention from operation teams and app owners. The attendees will learn about real time data monitoring using Machine Learning and how Kafka and Kstreams enable us to scale. Level Beginner.

12:30
Global market manager and hotel partners access billions of competitive intelligence signals using spark, redis, aurora, s3 and redshift

ABSTRACT. We live in a world where customers have become extremely price sensitive. Research shows that, before booking a travel, customers can visit up to 38 websites (http://www.travelmarketreport.com/articles/Consumers-Visit-38-Sites-Before-Booking-Expedia-Says). A better price in any of these 37 competitor websites will make Expedia lose a visitor, revenue and Marketing cost that comes with it. To put that in context – Expedia brand marketplace has 3M visitors on a daily basis, who are searching for 5K different check-in/checkout-date, 130K destinations, and across potentially 450K partners! This is why, along the time, Expedia Group has built different systems to be able to: * Shop: Understand what are the most relevant Competitor, Travel Dates & Partners to target * Partner with data providers: Communicate with the data partners to scrape the data * Ingest & Process the data received so that they are transformed into actionable and prioritized insights * Expose data in meaningful ways to customer-facing Expedia Group applications, Market Managers & Hotel partners

However, the processing platform faced scaling and realtime challenges. This is why we have decided to create a new Ingestion, Processing & Exposure platform named SkyBML using AWS infrastructure. It is a kafka, spark and s3 based system that produces real time Competitive Intelligence data about Expedia's Lodging Inventory. SkyBML platform receives billions of messages translating to terabytes of data per month. These streaming messages are processed by a spark cluster utilizing 4 EC2 machine (m5.2xlarge). Platform writes and caches data at a TPS of 100,000 per second which is enabled by a 200 GB 8 node ElastiCache redis cluster. Streaming processed data is persisted real-time in an Aurora - MySQL instance, which acts as real-time data-store for partner and market manager facing applications. Processed data is also egested to Redshift DW for reporting and analytical use-cases.The raw, reference and processed datasets generated by SkyBML are stored in S3 data lake for further processing and backfilling.

To adjust for changes in competitor landscape, or for potentially bad data entering the system, Skybml frequently needs to reprocess historical data, time periods ranging from a few months to up to two years. Data is of the order of magnitude of terabytes therefore, SkyBML needs to run in a ‘batch’ mode on a massive memory optimized cluster based on x1.16xlarge (approx 1 TB memory) instances.

The goal of the session is to demonstrate how to build cost effective streaming system that handles billions of events using spark, elastic cache, redshift, s3 as data lake and presto.

13:00
Istio meets Haystack

ABSTRACT. With the rapid adoption of microservices, there is a definite need of a framework that allows load-balancing, routing, securing and monitoring the traffic that flows between microservices. Come and learn about Istio(a project from Google and IBM) that provides a common networking, authentication/authroization, policy and telemetry substrate for services that we call a ‘Service-Mesh’. Unlike Linkerd, haproxy or nginx that are called data-planes, istio provides a control plane that ties pieces together. We will demonstrate how we integrate Expedia's open sourced haystack with Istio that can empower operations teams and developers to diagnose their issues faster by increasing the observability with trends and traces.

11:30-13:00 Session 18: Day 3: Paris

Day 3: Paris

Location: Paris
11:30
Evaluating Amazon Lex for use as a Voice-based chat bot

ABSTRACT. The Egencia CXO team has spent the last 6 months building a voice-based chatbot with amazon lex. We wanted to give a review of what works well, what works poorly, and where we think the technology needs to go to adopt widespread use.

Topics in the talk: Differences between text and voice-based design Limitations in lex for user interactions Things that should work but don't (asking for 2 pieces of information at once and getting 2 at once) Things that are mostly broken: Phone numbers, city names, understanding Scottish people. What needs to improve, what our teams next plans are.

12:00
Ranking flights for business travel agency users

ABSTRACT. In this presentation we focus on the methodology used in order to understand the current situation of flight bookings within Egencia, as well as the approaches explored in order to find a better alternative to the currently used price sorting. We propose new ranking models able to capture a general collective relevance for the Egencia business travelers, focusing mainly on the following parts: • A study of three approaches adapted to flights ranking: one-class classification (OCC), multi-criteria decision aid (MCDA) and learning-to-rank (LTR); • A thorough offline evaluation of the ranking performance.

The audience will get insights into three different methods of approaching ranking strategies (machine learning and operational research perspectives), as well as how the ranking evaluation can be performed offline.

In term of experience, ideally the audience has an intermediate level of experience in Data Science.

The required time of the presentation is approximately 45 minutes, but, if necessary, it can be reduced to 30 minutes.

For more details, please find a copy of the full document here: https://www.dropbox.com/s/83uolco12jyoi5h/written-thesis-2018-final-HEDES.pdf?dl=0

12:30
Machine Learning Based Bot Detection

ABSTRACT. - What your presentation or workshop is about

This presentation is about bots (short for robots) which are automated crawlers that create traffic to websites to extract various information. Bot traffic on E-commerce sites like Expedia is significant in terms of request count and business impact. It is estimated that automated programs accounts for 5% to 50% of generated sessions. This includes non-harmful web crawlers from search engines such as Google, unwanted bots by competitors scraping content to gain an unfair competitive advantage, and malicious attempts by fraudsters and hackers with the goal to commit online fraud or break into customer accounts. Bot traffic, both 'good' and 'bad', takes up significant computational resources and slow down web sites for real customers.

Reliable bot detection is a challenging task as bots have become advanced in mimicking human behavior, often spoof features in HTTP requests like user agent and location, and use dynamic IP rotation, often hidden behind proxies. As a result, typical bot routing systems are based on human generated rules around IP-addresses and can account for the most egregious bot behavior. They are limited in that they lag the offending bot traffic, do not generalize beyond the rules are only able to classify a fraction of all traffic.

- What main points/topics you will cover

In this talk we describe our recent developments of deep learning models in the bot detection space. Given that many features in an HTTP request can be spoofed, and knowing that bad bots will actively spoof some of these attributes to evade standard detection procedures, we rely on less-easily spoofed, behavioral signatures that involve the session of HTTP requests as a whole. We demonstrate that it is indeed possible to create a machine learning model that discriminates bot vs human traffic with good predictive performance. This system when deployed will help automatically detect and route the different varieties of human and bot traffic which can result in significant cost savings, more robust and faster sites, less cyber-attacks and last but not least - better performing recommender systems.

- What the audience will learn by attending your session

The audience will learn about bots and why it’s important detect them. The audience will also learn that it is possible to create a machine learning model that detects bots with good predictive performance.

- What level of experience the audience needs (beginner, intermediate, advanced)

This talk is targeted to audience with previous exposure to machine learning.

- If it’s a workshop, can people join remotely? What will attendees need to participate (laptop, software, etc.)?

This proposal is for a talk.

- How long will your session last?

The session is expected to last for 20 min.

12:00-15:30 Session 19A: Day 3: Brisbane

Day 3: Brisbane

Location: Brisbane
12:00
Shortening the distance between engineering and customers using sentiment analysis and NLP.

ABSTRACT. Using various cloud services, I will run through a talk outlining how we could use sentiment analysis to enhance the connection between developers and end users.

I will demonstrate taking a collection of call recordings and feeding them through various services to help tighten iteration and development loops and early notification of issues as they are reported by customers over the phone, as well as customer opinions on upcoming features etc.

The audience will require no programming experience and would be great for market managers and people in Product to attend. I will be making an effort to use a GUI in most of the steps that I work through and will limit CL use.

12:30
An engineering team's meandering journey into data science

ABSTRACT. Audience Level: Beginner Talk length: 15min

Abstract Today's world is rapidly moving towards a human existence supported by "artificial intelligence". Software engineers the world over are considering the question "how do we need to use data science in our development efforts?". In the Affinity Prime team, we have recently begun moving our data models in the AI direction. This has involved learning how to apply best practices not only in engineering, but also data science and machine learning.

In this talk, we will discuss: -processes that have helped us on-board with ML approaches -tools and resources that have been helpful -things that haven't worked well in the adoption process -what we will do differently in the future We aim for this talk to assist other engineering teams as they consider using machine learning in their own work. We also hope that this talk will contribute to the ongoing discussion around how we undertake data science in Expedia Group.

13:00
Getting Some REST

ABSTRACT. Do you work on network based software systems? Have you ever lost an argument because you didn't know how to respond to the phrase: "Because it's RESTful!"? Do you generally get an inadequate amount of sleep? In this session you can lean back, relax, and get some much needed shut-eye. Alternatively, you can stay awake and you will learn the details about exactly what REST is and where it came from. You'll learn how adopting it affects parts of your systems far beyond GET and POST and how it can help everyone involved in working on them. You'll learn about the trade-offs one makes in choosing to conform to the REST architectural style and when/why you might look for alternatives or decide to break the rules. Lastly, you will get an update on EPS's rAPId (eye movement?) service and how being RESTful is helping us delight our partners. Join me on a minor journey of semantics and philosophy!

13:30
Functional Programming with Kotlin

ABSTRACT. - Writing good code is hard, but that doesn’t mean that we should never tend to that mythical abstract of `fun` and sustainable code. - The goal of this talk is to help understand the concepts behind functional programming like lambdas, recursion, higher order functions and more. - We will go through a few examples in Kotlin and try to think functionally to write cleaner and more maintainable code and understand why Kotlin has been voted of the most lovable language of the year

- Key takeaways: Understand basic functional programming principles, Use Kotlin to apply these principles in everyday work, Learn a functional way to write concise and maintainable code,

- Level of audience: Beginner to Intermediate

- Remote attendance is possible

- I have presented this talk at https://www.australianwomenintech.com/agenda

14:00
Affinity Prime Leopard - migrating a successful service onto a machine learning platform

ABSTRACT. Audience Level: Intermediate Talk length: 15min

Abstract Affinity Prime Service is a thematic inference analysis service. It has been successfully answering travel questions about hotels and destinations for the last 2+ years. However, over that time, a number of challenging factors regarding further feature development and engineering in this service have emerged including: -tight coupling of data ingestion with statistical weighting -limitations with on-boarding of new data sources, affinity terms, and algorithms -a restricted set of client questions our models are set up to answer

Thankfully, data platforms have rapidly evolved over that time, enabling us to consider how these new technologies might help to address the challenges. This talk will describe the work we have done to migrate onto newer architecture for machine learning and data science. We will particularly describe howe we have separated the various concerns in our work regarding data management, performant service architecture, cost optimisation, and algorithm selection and model improvement. We hope that this talk will provide technical insight into how a service can migrate onto now machine learning platforms, particularly assisting engineers to think through the critical considerations involved in such an undertaking.

14:30
Anomaly Detection with Adaptive Alerting

ABSTRACT. Site and app monitoring at scale are difficult due to the sheer number of alerts that a large environment generates, many of which are "false positives". We need a way to improve the quality of the signal and create sufficient context to support diagnostic efforts.

In this talk we'll explore Adaptive Alerting, the anomaly detection system based on machine learning that we're developing at Expedia. You'll hear about how we use machine learning to create time series anomaly detection models, as well as work we're pursuing around automated model selection and optimization procedures. You'll also learn about work we're doing in conjunction with the Haystack team to understand how to build a higher-level understanding of what's happening based on low-level time series anomalies.

Logistics: Deepti and I (Willie) would like to co-present this session. She is in Sydney and I am in Brisbane. Ideally the setup will allow us to co-present from different locations.

15:00
How a DevOps team went on a journey of object oriented discovery

ABSTRACT. The CAT Cluster Automation team consists of engineers from both software development and system administration backgrounds. Each individual on the team has a differing level of experience and comfort with software development and design, ranging from nascent to very strong. We found it increasingly difficult to encourage and maintain quality in our software, most of which was (and is) implemented in Ruby.

At the end of 2017, in the spirit of "growth mindset", the pod collectively decided to begin a book study group. We selected Sandi Metz' book "Practical Object Oriented Design in Ruby". Over the course of three to four months we read through the book, one chapter per fortnight. A different team member volunteered to lead the discussion of each chapter. At the conclusion of the study, we distilled the lessons we learnt into a few core principles. Since then, we've been using those principles to guide and shape our work as we embark on re-implementing the ECS deployment automation on a new platform.

In this talk we'll share our journey, and show how this has helped us form a more cohesive and productive team, embodying a strong #devops mentality. We'll also run down the core principles we settled on as a team, resulting in software that is fundamentally easy to change, understand, reuse and maintain. The talk will be aimed at a beginner to intermediate audience.

12:00-15:00 Session 19B: Day 3: London

Day 3: London

Location: London
12:00
OneTeaming Experimentation Platforms across Expedia

ABSTRACT. Cross-brand collaboration has led to rapid gains in Experimentation Platform capabilities for BEX and HomeAway. Looking forward, BEX, HomeAway, and Hotels.com are collaborating to identify additional areas for co-development in other areas of the Experimentation Platform. This is all driving towards doing things in-common when it makes sense, but having the ability to do things specific to a brand when that makes sense. Overall, reducing effort and increasing velocity wherever we can work together.

Recently, the HomeAway team has on-boarded to Abacus, and BEX and HomeAway have co-developed key enhancements that are applicable to many parties: - Multi-tenant searchable experiment management UI - Experiment Targeting to limit the audiences of certain tests at config-time - Per-bucket configurations or payloads, allowing variants content to vary in configuration - Node.js-based bucketing aligned with Java hashing - Good Experimental Design / Scientific Method – Hypothesis, Key Metrics, etc. - Reporting on Experiments by key metadata – Org, Team, Vein, etc. - A searchable / reportable experiment result repository containing BEX, HomeAway, and soon Product Benchmarking's competitive experimental results

Looking forward, Hotels.com has joined in collaborating on other areas of our Experimentation Platform. We are currently digging into areas where it makes sense and where it may not make sense to align in the Analysis and Readout data, tooling, people, and processes within each of our Experimentation Platforms, and there are bound to be some exciting possibilities that we’ll be speaking to you about soon in those areas.

12:30
Accelerating machine learning with MLeap

ABSTRACT. In this talk, we describe how we use MLeap at EPS to minimize the overhead of getting machine learning models out in production and use these models for real-time predictions.

We start by focusing on the ML model serialization format that MLeap provides and show how it eliminates any rewriting that needs to be done to serve models in production. The common serialization format also makes it simple to deploy a wide range of ML applications and frameworks.

We then look at the MLeap execution engine for machine learning pipelines. Taking our hotels sorting use case as an example, we share the encouraging performance results of our model scoring service in production, even while scaling to high throughputs.

There is much to be gained from having teams of software engineers and data scientists working in close collaboration. Data scientists start to gain a production mindset and understand how testability, scalability, monitoring and maintainability are becoming increasingly important. Conversely, software engineers start to be exposed to machine learning, especially getting visibility of the feature engineering is a very achievable first step. We explore how this is one of the most significant merits of MLeap and our experience at EPS.

Level of experience: - intermediate

Additional links: 1. https://medium.com/@ancasarb/real-time-serving-machine-learning-models-with-mleap-151b39dfc3d7 2. https://blog/eantechblog/2018/04/12/what-happens-after-data-scientists-build-predictive-models/

13:00
Chaos in a Box

ABSTRACT. Running multiple services of various type (http service, cassandra, kafka, etc) at scale creates a new set of challenges for resiliency testing.

This talk dives into the architecture of HomeAway stack and the journey in building tools that enable developers to run resiliency tests in any environment, that is - easy to execute - developer friendly - minimizes the blast radius of any unwanted effects

We will deep-dive into resilience testing of a service with Cassandra backend, touching on the challenges involved and also demonstrating how we achieved the desired outcomes. It will cover the introduction of chaosbox a developer/ops friendly toolbox for injecting failures on a running container with help of some docker networking magic and toxiproxy

13:30
Improving your team's source code searching capabilities

ABSTRACT. The good old times when entire websites including Hotels.com were served by a single service are gone!

It is now clear that most companies are moving from monoliths to microservices. This obviously brings numerous advantages, however it also poses several issues, such as that an IDE can no more effectively locate source code as this spreads along several projects.

Here is where source code search engines come into play.

This presentation is divided into two parts.

In the first and main part we'll focus on source code search engines and we'll cover the following: - Why you need a source code search engine. - Why Git hosting services' integrated search engines cannot adequately cover our needs. - Overview and comparison between the most popular code search engines. - Recommendations based on your needs and use cases. - Recent advances. - Overview of the proposed solution for Hotels.com and Expedia Group brands.

In the second part we'll present HApiDoc, a method-based code search engine we implemented at Hotels.com which builds on top of CLAMS and provides an end-to-end solution that can be used to mine API usage examples in the form of source code snippets from client source code.

You don't need to know anything about source code search engines before the session. However, by the end of the presentation it should be clear to everyone why these are important, especially for companies with thousands of repositories like Expedia brands. You'll also get an idea of the source code search engine that would work best for you.

This presentation will be quite similar to the one that will be given at Voxxed Days Thessaloniki in November (https://voxxeddays.com/thessaloniki/improving-your-teams-source-code-searching-capabilities/). The duration of the session will be approximately 45 minutes.

14:00
Data Highway – Easy stream-first data management

ABSTRACT. Data Highway is a data streaming platform built and used by Hotels.com. Designed to enable data producers to easily publish their data and make it available to stream consumers as well as being landed into the data lake. Whilst at the same time also enforcing strong data model contracts. The system handles hundreds of datasets and tens of thousands of messages per second becoming a critical part of our data infrastructure. In this talk we will provide an overview of Data Highway and the types of use-cases it serves. We’ll present our platform agnostic architectural design and open approach to development that is benefitting Hotels.com and other groups in EG. Finally, we’ll present the next step of our journey where we plan to build out enhanced features to help us realize a ‘stream-first’ mindset across our entire data platform.

14:30
Mutant Tests Too: The SQL

ABSTRACT. The big data platforms of many organisations are underpinned by a technology that is soon to celebrate its 45th birthday: SQL. This industry stalwart is applied in a multitude of critical points in business data flows; the results that these processes generate may significantly influence business and financial decision making. However, the SQL ecosystem has been overlooked and ignored by more recent innovations in the field of software engineering best practices such as fine grained automated testing and code quality metrics. This exposes organisations to poor application maintainability, high bug rates, and ultimately corporate risk.

We present the work we’ve been doing at Hotels.com to address these issues by bringing some advanced software engineering practices and open source tools to the realm of Apache Hive SQL. We first define the relevance of such approaches and demonstrate how automated testing can be applied to Hive SQL using HiveRunner, a JUnit based testing framework. We next consider how best to structure Hive queries to yield meaningful test scenarios that are maintainable and performant. Finally, we demonstrate how test coverage reports can highlight areas of risk in SQL codebases and weaknesses in the testing process. We do this using Mutant Swarm, an open source mutation testing tool for SQL languages developed by Hotels.com that can deliver insights similar to those produced by Java focused tools such as Jacoco and PIT.

13:00-16:00 Session 20: Day 3: Austin

Day 3: Austin

Location: Austin
13:00
On Autonomy: An Investigation into the Effects of Decoupled Native Application Development with Observations on Development Efficiencies More Generally

ABSTRACT. Efficiency is a double-edged sword of Development Organizations -- at its best an engine of great fortune, and at its worst, an anchor of despair. One component of efficiency for development organizations resides in the notion of autonomy: are projects independent and self-contained? Leading theories posit that autonomy is a key component of efficient teams, and we see this reflected in the architecture of web technologies at HomeAway. As a consequence, the HomeAway Android team has been leading an initiative to transition our native application development to a decentralized and autonomous model. We achieve this result by transforming the mono-repo for our application into independent projects that can be managed in isolation. In this talk, we will cover the steps we have taken to achieve this transition, and the corresponding advances these changes have brought our teams with a particular eye towards efficiency gains in terms of developer productivity. In the course of this study, we will posit several theories about development efficiency at enterprise scale and provide modern recommendations based on our learnings.

This talk is relevant for all development teams, particularly native application developers (iOS and Android). People should come away with an understanding of the value of solving for modularity, composition, and autonomy, and an appreciate for leveraging common design patterns, object-oriented principles, functional-reactive principles, and clean coding practices. We will showcase the HomeAway Instant App as a by-product of the aforementioned work.

13:30
Financial Event Pipeline: The Resilient Heartbeat of the Enterprise

ABSTRACT. Title: Financial Event Pipeline: The Resilient Heartbeat of the Enterprise

Topic: How we built a real-time, lossless business events stream Main points: Design of streaming applications with Kafka, business modeling, role in enterprise domain-driven design Audience learning: Lessons we learned about defining, running, and implementing an event pipeline Audience experience: Beginners and advanced technologists alike will benefit from this presentation

HomeAway has created a resilient event production pipeline for bookings and payments that powers business insights, financials, and product features such as partner ranking. We took it to new levels, providing insight and driving financials

The financial pipeline platform emits events in real time to expose booking requests, bookings, payins, and payouts to business and technical consumers throughout the enterprise. The platform, used directly or aggregated with other event streams to produce business events, is crucial in the HomeAway tax remittance process, heartbeat monitoring, revenue trends and disruptions, supplier ranking, devops, and many business insight workstreams.

Architecture ============

Event broadcasting platforms are a crucial plank in our company's evolution toward domain-driven design (DDD), which in turn is a powerful enabler for migrating our service-oriented architecture (SOA) to cloud-based data centers. We will discuss the enterprise architecture that a fully-realized event-driven ecosystem unlocks, and the role of our specific application suite in achieving it. The financial pipeline platform serves as the primary portal out of the ecommerce bounded context to the rest of the enterprise and is central to HomeAway's business.

Challenges and solutions ========================

As they implemented the booking events solution using Kafka, Java, Mongo, MySQL, and a host of other building blocks, our financial pipeline team encountered several challenges that any enterprise migrating from legacy monoliths to a loosely-coupled, asynchronous event-driven architecture will face. We addressed each of them using technology, design, and process.

Normalization ------------- The ecommerce platform, like most legacy systems, grew organically over a long period, accumulating perverse edge cases, disused features, and operational complexity. These problems are acute in HomeAway's booking platform because HomeAway operates a three-sided market place with a wide variety of interaction models between all three participants.

The booking events platform listens to the legacy system's database for events that should be broadcast out of the bounded context. But the myriad flows and exception paths mandate extensive normalization of the event stream so that it is comprehensible to consumers.

We will discuss our primary normalization mechanisms:

- Hydration: Aside from the facts contained in the event itself, carefully-selected additional dimensions are included with it so that clients can easily link the event with datasets from other bounded contexts.

- Summary state models: Uninteresting transient states, semantically equivalent states, and states misused between flows are massaged into a few higher-level, uniform state models.

- Data cleansing: Some fields are present or absent, or mean different things, depending on the context of a particular raw event. The booking events system fills in the blanks and renames values to hide implementation concerns from consumers.

- Cumulative financials: The bookings system orchestrates a variety of asynchronous business processes. As such, a given flow may produce events with random ordering. The booking events platform balances transaction amounts such that all consumers will arrive at the same total value for a booking regardless of the order in which they received events.

Resiliency ---------- From its first day, the financial pipeline team held to the principle that the event stream would be of sufficient reliability and resiliency that consumers can drive tier-1 use cases with it. For example, a fundamental pillar of our marketplace design functionality, supplier ranking metrics, rewards our partners in real time based on their performance as measured by their bookings; failure of the booking event stream will be directly visible to our customers.

As such, we invested heavily in the resiliency of our system using a variety of implementations, configurations, and conventions:

- Formal criteria: We formalized the definition of "resilient" such that our consumers would know how much they could depend on us. Specifically, we communicated a contract biased toward confirmed, consistent delivery over timely delivery, but with event volume closely monitored to detect and rapidly remedy aberrations.

- Kafka tuning: Most of HomeAway's experience with Kafka prior to this effort was focused on analytics data, which is voluminous but not precious. We needed to run penny-perfect financials off of our event stream, so we learned how to tune Kafka for ultimate durability at the expense of latency.

- Reusable resiliency features: We developed elaborate systems for detecting failures, retrying them, and deduping received events, and packaged them as Java libraries such that we could reuse them across different event streams and even with other teams for creating their own ultra-reliable event streams.

Validation ---------- Along with delivering events reliably, we were committed to delivering every event accurately, with no tolerable errors or loss. Every missing or incorrect event is examined and remedied by the team. Accomplishing this required a thorough end-to-end validation system which could:

- Confirm that every event store contains all of the same events, or that omissions (e.g., duplicated or spurious events) could be explained definitely.

- Perform windowing to smooth out inconsistent event delivery timing and verify that related events have been emitted together.

- Report out problems in a way that facilitates rapid correction or replay by on-call personnel.

Modular triggering and publishing --------------------------------- The modular design of the financial pipeline eventing platform allows us to easily support varied paths of event ingress and egress:

- New update triggers from systems of record can be added with plug and play ease.

- New event outlets can be added just as easily, and provide for differentiation of content. For example, we publish to both an open Kafka cluster and a secured Kafka cluster. Personally-identifiable information (PII) is redacted from the streams emitted into the open cluster; this is important to our GDPR compliance and was an elegant way to allow insensitive consumers to adopt the stream with little friction.

Rewriting history ----------------- One of the team's most interesting innovations was for handling historical data. Not every field or event type that is generated now was generated in the early days of the event streams, thus consumers of the current schema will find gaps when viewing older events. We implemented two mechanisms to address these inconsistencies while preserving the immutability of our streams:

- Amendments: When an event emitted in the past lacked a field later considered important, or populated it incorrectly, an amendment event is published to a separate amendment stream. The amendment event identifies the original event and provides a diff between it and the event that would be emitted under the current event logic. Because the amendments are in a separate Kafka topic, the original event stream remains consistent for consumers who have already read it; only consumers who care about the changes in the amendment need know about it.

- Replays: Events that had not yet been instrumented in the originating system of record can be emitted retroactively, exploiting the fact that our event contract specifically allows out-of-order events. The replayed events are published on the main event topic, as no client could have seen them previously.

Lessons learned --------------- The team will share some of the many lessons they learned the hard way while implementing this complex system. These lessons will be useful to anyone planning to use these technologies and solve these business problems.

Examples of lessons we learned:

- MongoDB indexing features have functional gaps that make complex deduping logic difficult to realize.

- MongoDB also presents a variety of operational challenges, as some maintenance activities can be disruptive to production use of the system.

- Producing a clean event stream from a legacy system by observing its existing database writes couples the event broadcasting system very closely with that legacy system; in retrospect, we would have augmented the legacy system to normalize and hydrate events before persisting them so that all of the persistence knowledge would live in a single application.

- Kafka loses events. There are many subtle failure modes in Kafka (rebalancing, client buffering, etc.) that the implementer must anticipate and handle.

- Kafka loses events. Even with perfect tuning and seamless devops, Kafka sometimes loses events without explanation. Many developers, influenced by the common comparisons made between Kafka and databases, assume that this is impossible.

The entire technical team will be present to answer any audience questions about the team's experiences or learnings not discussed in the presentation.

14:00
Homeaway Virtual Reality Tour

ABSTRACT. What your presentation or workshop is about Virtual Tours, which actually is a simulation of an existing location has become extremely popular and is now being used in a variety of industries. Within HomeAway, we have built an ecosystem around capturing, hosting virtual tours, integrating third party tours and providing travelers with a rich immersive experience way beyond the static photos and videos. This presentation would introduce our technologies, processes, and capabilities to a broader audience.

What main points/topics you will cover * MVP Model around Building The Project * Variety of Technologies used (Objective C, Java, Node, Python, Matlab) * Demystifying how a Virtual Tour is Constructed. * Our Process Model and Where we are now. * Future Plans

What the audience will learn by attending your session * Get educated around Homeaway VRTours * Find opportunities where other brands could leverage VR Tours and the Tech we have. * Know about a variety of technologies we are using. * See a Live Demo of a VRTour Capture.

What level of experience the audience needs (beginner, intermediate, advanced) * Beginner

If it’s a workshop, can people join remotely? What will attendees need to participate (laptop, software, etc.)? * No this is more an open talk.

How long will your session last? * 45 Minutes (30 Minutes talk and 15 Minutes Q&A).

14:30
10 Advanced Topics in Alexa Skills Development

ABSTRACT. * Overview: Amazon Alexa is a powerful platform for voice-based conversational apps. This talk covers advanced topics in developing Alexa skills such as supporting video, using integrated text messaging, new modes of interaction, audio streaming, authentication, etc.

* Demos I have many demos covering Echo Show, Audio Streaming, Session Storage, Authentication, Mobile Integration, etc. I can vary the demos based on time.

* Duration: 30 minutes to 1 hour. If we have 1 hour, I can go deeper and show more demos.

* Topics: 1. Authentication in Alexa 2. Session Management 3. Using Video and Touch in Skills 4. Audio Streaming 5. Text Messaging Integration 6. Wildcard Recognition Mode 7. VPC Integration 8. Using XRAY for Tracing 9. Running Experiments 10. Multilingual Development

* Learning Objectives: Learn about 10 advanced topics in Alexa development

* Level: Advanced

15:00
Multi Region Traffic Director

ABSTRACT. Case Study about how the HomeAway built a global Multi Region, Multi Cloud, Traffic Management solution using Content Distribution Networks and a hybrid of public and private clouds. Over the last two years we have grown a team dedicated to extending our capabilities related to routing traffic to thousands of applications, microservices and functions produced by our developers. We started by inner-sourcing Styx and aspects of Cloud Gate Proxy.

HomeAway's stack leverages Styx (https://github.com/HotelsDotCom/styx), Haystack (https://github.com/ExpediaDotCom/haystack) as well as numerous Cloud Native Computing Foundation (CNCF) projects including Linkerd, Open Tracing, Prometheus as well as Kafka streams to support plug-and-play adoption of future observability components.

The talk will be supported by live demos and example code.

15:30
Bot Stew: Traffic Classification using a blend of signal classifiers at HomeAway

ABSTRACT. How HomeAway iterated from single sources of truth for bot detection including vendors to a blend of classifiers that supports real-time Edge classification using HTTP headers and asynchronous near real-time classification using Machine Learning (ML) models. Includes a preview of how we use client-side signals e.g. mouse movement to enrich our classifications for humans as well as bots.

We will provide an overview of our architecture and a demo of live classification.

13:30-14:30 Session 21: Day 3: Bangalore

Day 3: Bangalore

Location: Bangalore
13:30
UI Automation using Nightwatch

ABSTRACT. Problem Statement Automation Testing is popular and plays a key role in efficient Web Application development process. However, choosing a right automation framework and technology is always challenging because of below concerns: Framework should be maintainable and scalable - Which framework has wide inbuilt capabilities? - Which framework can provide faster test execution time? - Does framework supports various browsers and platforms? - Does framework supports parallel execution? Open source with support availability

Nightwatch as Automation Framework Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps, websites and responsive automation. Nightwatch gives us myriad options for customization according to our requirements and for a sample one of the customizations can be “built-in test runner which can run the tests either sequentially or in parallel, together, by group, tags or single”. At Hotels.com Shopping, we aim for faster and frequent production releases and Nightwatch helps us to achieve the right way. Currently we have ~450 test scenarios for Search Results and Product Details Page which run consistently on both test & production environments. Nightwatch provides us the capability to run tests on different browsers, platforms and resolutions. With good parallel execution support, our regression execution time ~20 minutes which is way better in comparison with some other widely used frameworks.

As part of this talk we would cover the benefits of using NightWathch as an automation suite and help others who are precinct with traditional java based solutions We would also would touch upon some other capabilities of nightwatch viz - Tagging support - In-built logging - Cloud Execution support - Support to configure third party reporting like Allure

We expect the audience to have some understanding/awareness of java or javascript based automation and anyone who wants to get stared with UI automation. This will be a talk backed with a presentation and we are planning for a ~30 mins of presentation

As a takeaway, we plan to convey If you are looking for an efficient UI automation framework for your web application, then Nightwatch can be one of your go-to solutions.

14:00
ML model serving landscape

ABSTRACT. Machine learning models are developed by data scientists using different frameworks. Since the tools and frameworks used by data and application engineers are different, to operationalise a model in production, the trained model is exported and made available to the data engineers in a particular format or package. This model serving is done in different ways and the best practices for doing so are still emerging. Key considerations for model serving are supporting low latency, support for versioning of models etc This talk will explore the available model serving options like pmml, tensor-flow serving, MLeap etc. We also touch upon the limitations of some of these options.

14:00-18:00 Session 22: Day 3: Bellevue
14:00
GARRETT VARGAS CTO TALK

ABSTRACT. TBC

14:30
Next generation Tech Operations: Autoremediation with OMF

ABSTRACT. Nobody wants to wake up at 2am and fix a broken application that is no longer generating revenue for your business. It is with this sentiment in mind that the Platform Health team created the Kepler Orchestration Management Framework (OMF).

The Platform Health team and their Kepler product suite provides frameworks and platforms to enable business value and visibility across applications, services and domains within Expedia Group. Kepler focuses on managing changes in the technology ecosystem and determining necessary preventative measures.

In this session, we will illustrate how you can bring your business operations into the modern era by automatically resolving infrastructure, system and application failures quickly and automatically by utilizing the Orchestration Management Framework. OMF works side-by-side with the Event Management Framework (EMF) and our monitoring tools to ensure the alerts are resolved rapidly and automatically without having to call resources to manually fix the issues.

We'll take a look at the platform, it's capabilities with real time autoremediation and even look under the covers at the core workflow engine that powers OMF.

15:00
Demystifying the Marketing Attribution Myth

ABSTRACT. Marketing Attribution, i.e. giving credit to a marketing channel for a transaction has always been at the epicenter for all ecommerce companies, as this decides how the marketing budget is allocated. This platform is currently being used in BEXG and directly impacts the marketing P&L of over $1.5B. In this session, we will share how we leveraged multiple AWS components (Kinesis, Firehose, Lambdas, SQS, SES, Cloudwatch, S3, API Gateway, ECS) to build a resilient and robust platform that enables organizations to test and learn multiple attribution models at scale. We will connect the dots between best practices and how to realize these patterns on AWS. You will leave with ideas on managing large data volume at scale, shifting from a batch process to a micro service architecture, building flexibility and resiliency into platforms, and other lessons we have learnt to help your organization scale in the cloud.

Wiki link (https://confluence.expedia.biz/display/EDE/EDE+Attribution+Intelligence)

15:30
Separating Logging Concerns from Your Business Logic

ABSTRACT. The LPIE SyncBook team uses a microservice architecture, and as a result, we found a challenge with our logging code. We found that we were duplicating logging code across our microservices. In addition, we wanted to isolate our logging code from our business logic in order to keep our service classes clean and readable, and finally, we wanted to make our logging more robust and ensure that we would have accurate logs even in the event of failures in the system, such as deserialization failures.

To solve these problems, we created a library system that sits on the edges of all of our applications which is responsible for taking care of all logging to graphite, splunk, and message logging for all of our applications. By separating the logic responsible for logging from our business logic, we are able to keep our service classes and controllers very clean. In addition, by intercepting incoming requests as they enter the system and as they leave our system, we are able to log raw request and response bodies, http headers, http status codes, and urls. I will discuss the technologies we used to do this, namely Feign custom loggers and Spring Boot filters, but the solution is not specific to these technologies.

We believe this pattern for logging could be utilized by other teams at Expedia to achieve the same benefits we’ve seen from utilizing this architecture, and this session will provide the details necessary for attendees to implement this pattern themselves in their own systems. Some understanding of Spring and Spring Boot would be helpful for this talk but is not necessary. I would categorize the level of experience attendees need between beginner and intermediate. I plan for the session to last for about 30 minutes including time for Q&A.

16:00
Still on Java 8? Then you gotta move to 11!

ABSTRACT. With the advent of the new Oracle JDK contracts (Can't use JDK 8 for production after January), and the new Java release trains (where a new version is coming every 6 months), we now need to fully embrace a path for upgrading our Java versions continuously.

In this talk we go over the Java Ecosystem changes, and the reasons why we now need to upgrade to OpenJDK. We also share our plan, and experience in upgrading from Java 8 to 11 for the Air Team Services. In addition we highlight the goodies that came from the upgrade (JSR and JEPs that are now part of 11).

16:30
How HomeAway Revamped The Way We Monitor Site Performance to Focus on User Experience

ABSTRACT. • What your presentation or workshop is about At Expedia Group we believe performance matters. In this session we will talk about how HomeAway revamped the way we monitor site performance to focus on user experience.

• What main points/topics you will cover We will deep dive into what metrics are important, and explain why no single metric can replace an engagement curve. We will also demo performance dashboards that we’ve been developing at HomeAway to visualize long term performance trending.

• What the audience will learn by attending your session Monitoring performance can be quite complex. In this session the audience will learn how HomeAway simplified performance monitoring to focus on user experience. We will cover the difference between synthetic monitoring and RUM (Real User Monitoring), the most important metrics available (TTFB, Load Event, TTI, Start Render, Page Weight, custom metrics, etc.) and important measurements to consider (average, percentiles, histogram, engagement curve, etc.)

• What level of experience the audience needs (beginner, intermediate, advanced) Beginner.

• If it’s a workshop, can people join remotely? What will attendees need to participate (laptop, software, etc.)? No laptop needed.

• How long will your session last? 45 mins presentation + 15 mins Q/A.

17:00
AWS Cost Optimization Basics

ABSTRACT. Throughout FY 2018, the Cost Optimization and Transparency SIG co-hosted sessions with AWS TAMs in Bellevue HQ highlighting opportunities to reduce spend in AWS. Mostly this represents finding and eliminating unused or under-utilized resources. In aggregate, this represents millions of dollars in wasted money each year.

Topics to cover include: - Unattached EBS Volues - Legacy Instance types - Optimizing EBS storage (IOPS vs GP2) - Lights on/off - Rightsizing instances - S3 optimizations - Autoscale - Spot and Spot Fleet - Spend and Optimization Reports

You can view each of these sessions here: https://confluence.expedia.biz/pages/viewpage.action?spaceKey=ECI&title=Cost+Optimization+and+Transparency+SIG#CloudSecuritySIG-1653685959

This session would be a synopsis of these topics, emphasizing the additional available resources which already exist. This is aimed at beginner and intermediate cloud engineers, developers, operations and managers of infrastructure.

17:30
TUCKER MOODY TALK

ABSTRACT. TBC