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 Red Hat while contributing to open source projects, such as Infinispan. Aside from technology, Ray enjoys traveling and adventures.
A new pattern for building massively scalable and resilient applications has emerged over the past several years, that is to completely decentralize the entire application architecture. One of the biggest challenges for building a decentralized application is defining a common protocol that all services can use for communication. gRPC with protobuf solves this problem by providing the building blocks for creating a language neutral protocol. In this workshop we will start with the basics of creating a protocol with gRPC and protobuf. Then using gRPC building blocks we will build a basic decentralized application. Along the way we will cover:
- Distributed Service Discovery
- Bootstrapping a Mesh Network
- gRPC Client Side Load Balancing
- Context Propagation with gRPC
- Advanced use of gRPC Interceptors
Debugging applications in production is like being the detective in a crime movie. Especially with microservices. Especially with containers. Especially in the cloud. Trying to see what’s going on in a production deployment at scale is impossible without proper tools! Google has spent over a decade deploying containerized Java applications at unprecedented scale and the infrastructure and tools developed by Google have made it uniquely possible to manage, troubleshoot, and debug, at scale.
Join this session to see how you can diagnose and troubleshoot production issues w/ out of the box Kubernetes tools, as well as getting insight from the ecosystem with Weave Scope, JFrog Artifactory & Stackdriver tools.
Dealing with real-time, in-memory, streaming data is a unique challenge and with the advent of the smartphone and IoT (trillions of internet connected devices), we are witnessing an exponential growth in data at scale. Learning how to implement architectures that handle real-time streaming data, where data is flowing constantly, and combine it with analysis and instant search capabilities is key for developing robust and scalable services and applications.
In this lab session, we will look at how to implement an architecture like this, using reactive open source frameworks. The streaming data architecture has the following tiers: * Data collection tier * Data transport tier * Analysis tier * In-Memory data store tier * Data access tier * Client tier
An architecture based around the Swiss rail transport system will be use throughout the lab. To make it easier to set up the lab environment, we will be running the lab atop of Google Cloud Platform.
Lab session technologies: Java (attendees must be comfortable with Java 8), Infinispan, Vert.x, OpenShift and Google Cloud.