Ray Tsang
From Google
Ray is a Developer Advocate for the Google Cloud Platform. Ray had extensive hands on cross-industry enterprise systems integration delivery and management experiences during his time at Accenture, managed full stack application development, DevOps, and ITOps. Ray specialized in middleware, big data, and PaaS products during his time at RedHat while contributing to open source projects, such as Infinispan. Aside from technology, Ray enjoys traveling and adventures.
Pwn'ed within 48 hours
Never expose any services on the public internet without a security review! If you are running Tomcat servers, always hide and/or secure the manager UI.
Join this talk to see how Ray's Tomcat server was hacked within 48 hours since it was online that was running on a non-standard port. We'll take a look at the tools that the hackers deployed and what these tools can do.
Pwn'ed within 48 hours
Never expose any services on the public internet without a security review! If you are running Tomcat servers, always hide and/or secure the manager UI.
Join this talk to see how Ray's Tomcat server was hacked within 48 hours since it was online that was running on a non-standard port. We'll take a look at the tools that the hackers deployed and what these tools can do.
Scaling with Kubernetes, Automatically! Learn Kubernetes API through writing a visualizer to an autoscaler
Kubernetes is a powerful, open source, container orchestration / cluster management tool created by Google. It drew upon all the lessons learned from a near-decade of using containers at Google. In this session, we'll look beyond container orchestration with Kubernetes, but also taking a deep dive into more advanced feature such as autoscaling. But its most powerful feature is its versatile REST API which you can use to tailor Kubernetes to your needs.
In addition to the Kubernetes Autoscaler, We'll look at: - How to access the Kubernetes API securely - The different Kubernetes resources, such as Pod, Replication Controller, Service, etc. - How to update/manage your entire cluster using the API
We'll demonstrate all of the concepts via a custom autoscaler that scales a stateful application using custom metrics, such as Infinispan!
Building a unikernel Java Application
I thought it's all about containers now - what are unikernels? Join this session to learn a bit about unikernels, what it's good at, and how to run a Java application with it!
With unikernel, you no longer need to wait for that long OS boot and initialization time, and get better-than-container level of security isolation, and resource isolation.
In this session, you'll learn about the different types of unikernels. We'll pick one, OSv unikernel, and: - Use its tool to build a Tomcat unikernel image - Use its tool to build a Spring Boot unikernel image - Running the unikernel application inside of KVM - Deploying the unikernel application to the cloud - Deploying and managing a cluster of them
gRPC 101 for Java Developers
gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. gRPC is based on many years of Google's experience in building distributed systems - it is designed to be low latency, bandwidth and CPU efficient, to create massively distributed systems that span data centers, as well as power mobile apps, real-time communications, IoT devices and APIs. It's also interoperable between multiple languages.
But beyond that fact that it's more efficient than REST, we'll look into how to use gRPC's streaming API, where you can establish server-side streaming, client-side streaming, and bidirectional streaming! This allows developers to build sophisticated real-time applications with ease.
In addition to learning about gRPC and HTTP/2 concepts with code and demonstrations, we'll also deep dive into integration with existing build systems such as Maven and Gralde, but also frameworks such as Spring Boot and RxJava. - Configuring projects to generate gRPC stub code - Writing/using a Spring Boot starter to run gRPC server - Integrating w/ RxJava's observable sequences, which matches very well with gRPC's Stream Observable constructs