Join this talk to learn how you can quickly create a Kotlin backend service using Spring Boot, and use Spring Cloud GCP to leverage many of the useful Google Cloud services for database, storage, and observability in minutes. These services are fully managed, so you don’t need to spend any time setting up and managing new infrastructure. Instead, you can just focus on the code. When the backend is ready, we’ll deploy it to our serverless platform, where your backend service can…
Often we hear people talk about “great developer experience” but what does that mean? It seems to be like “beauty” – in the eye of the beholder. Yet, great developer experience (DX) is 100% about developer productivity and can be measured in terms of value and time. There are 4 key principles that help guide us to deliver value and reduce friction to increase productivity and thus deliver experiences which developers will love. These principles address the entire surface area of what…
Ray has been on a 6-months rotation with an internal Google team to help bringing a project to public Cloud using cloud-native technology stack and Kubernetes. Ray will share the architecture, development environment technicals, devops tools, and some tough decisions that needed to be made to move the project along while being prepared for changes in the future. This session to learn the journey including development environment tools choices (Docker Compose, Skaffold, Kustomize, Jib), to the…
As a developer advocate working with customers, Ray has seen all sorts of issues due to dependency conflicts. Dependency conflicts come in many different forms and have different impacts on your applications. This presentation examines common causes of a dependency conflict, how you can mitigate it as a library developer, and how end users can resolve it. It also covers what Google has been documenting in terms of best practices and what tools it has created to help, based on its learnings.
For Spring and Java developers, building containers is a common obstacle on the road to Kubernetes adoption. Traditionally, Dockerfiles define container builds imperatively, but can also be cumbersome, error-prone, and slow. The development cycle can be slow. IDE support is generally poor. Most likely, your Java application will crash with an OOMKill message.
Enterprises are moving applications to the cloud to increase operational agility. However, most of the migrations are lift and shift that don’t really take full advantage of Cloud services. Google Cloud Platform is the first to bring awesome end-to-end experiences for Java application development, from writing with the most popular framework, Spring and Spring Boot, to plugins for Maven, Gradle, Eclipse, and IntelliJ, and to deployment options for PaaS, containers, and more. But this is…
From function source code to running in Kubernetes in 5 minutes. That’s the power some of the latest open source projects can bring to your fingertips. This perceived simplicity actually hides layers of abstractions underneath. In this deep dive, we’ll explore all the technology behind the scenes, from Kubernetes, Istio, Knative, to riff and Spring Cloud function.
Spring Framework and Spring Boot have made huge strides in making it easier than ever to develop the next generation of cloud native applications. Importantly, a number of Spring projects provide cloud-vendor agnostic abstractions to developers so that with a simple configuration switch, you’re able to move your local application to run in an on prem datacenter or in the cloud with managed services.
Ray Tsang from Google contributed a couple of generators for JHipster, including the initial Kubernetes support, Istio support, and Google App Engine support. In this session, we’ll see how to use these generators to quickly create and deploy JHipster applications into these environments. We’ll also look at the latest work being done on thin microservices architecture such that circuit breakers, retries, load balancing and more are delegated to Istio. In App Engine, we’ll see…
After years of development of a new security sandbox, App Engine Standard now supports Java 8 and practically all of the JVM languages that runs atop of standard OpenJDK 8. In the new sandbox environment, we removed the Java security sandbox and the classes whitelist; this allows developers to use all features in the JVM and still being protected within a secure environment.
Microservices are here to stay. When applied properly, microservices techniques and culture ultimately help us continuously improve business at a faster pace than traditional architecture. However, microservices architecture itself can be complex to configure. All of a sudden, we are faced with the need for a service discovery server, how do we store service metadata, make decisions on whether to use client side load balancing or server side load balancing, deal with network resiliency, think…
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.
Everyone is talking about containers—but be aware! It takes discipline to use container technology. It may not be as secure nor as optimal as you thought it would be. Although it’s relatively easy to create a new immutable container image to run everywhere, you may have fallen into many of the caveats. Is it running as the root user? Why are the images taking so much space? Why did your containers run out of space in the first place!? Most importantly, your container images may not be as…
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.
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. Kubernetes handles a number of failure scenarios gracefully, from a crashed process, to a failure of a cluster node. We’ll show this through a real Raspberry Pi computing cluster that runs Kubernetes - and play a real-life chaos monkey by pulling the plugs!
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.
A quick overview on Docker containers, usages, and how to scale up from a single container to a fleet of containers working together with Kubernetes for real-life workloads, such as running java-based applications! Join this session to see how to use Kubernetes to launch, manage, and rolling-upgrade a fleet of Java application instances with session replication.