Ever wondered what makes a cloud-native application “cloud-native”? Ever wondered what the unique challenges are and how best to address them on fully-open Java technologies? In this workshop, you’ll learn what it means to be cloud-native and how that impacts application development. You’ll learn about Eclipse MicroProfile, an industry collaboration defining technologies for the development and management of cloud-native microservices. With a full set of MicroProfile workshop modules available to you, you’ll be able to start with the basics of REST services and progress to more advanced topics, or you can jump right in and develop secure, fault tolerant, configurable and monitorable microservices.
Once you’ve developed your microservice, you’ll learn how to package it in a Docker container and deploy it to a Kubernetes cluster. Finally, you’ll learn the role of a service mesh and use Istio to manage your microservice interactions.
This workshop is for anyone who wants to look beyond the hype and get some hands-on experience developing with blockchain technology. You’ll learn how to use and integrate Java applications with the dominant public blockchain Ethereum. We’ll also touch on the private blockchain technology.
Are you tired of slow, inaccurate, and painful static and dynamic scanners? Of security vendors putting DevOps lipstick on their legacy tools? In this talk, we will create a continuous, effective, and scalable DevSecOps pipeline using free security tools that leverage the power of instrumentation – like AppD for security. We'll show you how to get started with IAST (Interactive Application Security Testing) to instantly and accurately pinpoint vulnerabilities in your applications and APIs while you code and test. We’ll also set up OSS (Open Source Security) to analyze your libraries for vulnerabilities without scanning. Then we’ll show you how to enable RASP (Runtime Application Self-Protection) to gain full application security visibility and protection in production. Finally, we'll show you how to integrate all this telemetry into tools your teams already use (like Eclipse, IDEA, Slack, GitHub, JIRA, Jenkins, Splunk) using powerful plugins and comprehensive APIs.
When running code in a serverless environment two factors become more important than they might have been when running elsewhere. First and foremost as quick start-up time is vital for a good user-experience, because the platform can, at any time, start a new instance of your code to serve a higher request rate. Secondly, as you are typically paying per GB-second of RAM consumed, memory efficiency will save you money directly.
In this talk we will first explore the behaviour of the OpenJDK JVM in a serverless environment – you will learn how to improve memory efficiency and start-up time of the JVM for this environment. We will then see how, using the Fn Project and Oracle Functions, we can easily start using a runtime generated by GraalVM instead of an OpenJDK-based one. We will finish by examining the impact of this change and discussing ideas for further work to improve the user-experience and cost-base of your serverless apps.
Twitter is a massively distributed system with thousands of machines running thousands of JVMs. In any similar big system a small change in performance and CPU utilization is multiplied thousandfold and results in big savings. Electricity costs, cooling costs, and possibly reduction of server farm size. One way to improve Java performance and reduce CPU utilization is to simply generate better machine code. Simply is obviously not trivial but doable. Twitter is going down that road and experimenting with Graal to generate better code and reduce cost.
By using Graal, Twitter is saving a lot of money in computation cost. This talk shows the advantages of running Graal in production.
This example driven talk will guide you through concrete approaches to using continuous profilers in a production environment. Remember the old days, when your software stack was simple to understand and requirements were less demanding? With modern systems, distributed microservices talk to each other all the time over the network. Cloud deployments mean a huge variance in the type of hardware that you deploy to. Rapid iteration and deployment cycles result in rapidly changing workloads that invalidate performance tests before they’re written. Globalised, 24/7 uptimes mean that functional or performance outages aren’t acceptable at any point in time.
These changes have helped businesses get their product out to market much more rapidly, but they often make it harder for developers to find and fix performance problems or to improve the efficiency of their systems. From attending this talk you’ll understand:
Are you looking for the best environment to deploy your new application? Or maybe, you are considering to migrate your existing Java application to the Cloud.
On Google Cloud you can find different services to create your infrastructure and it can be difficult to decide which one to use.
During this talk I will review with examples the options that we have when we consider Google Cloud and I will provide information to help you to decide the service that could be more useful for your use case.
Do you love Kotlin? Do you think you know all about Kotlin? This talk will challenge you! If you are a Kotlin beginner, it will introduce you to some secrets of the language. Kotlin is a language which is very easy to learn for Java developers. Its gentle learning curve should not prevent us from exploring the more advanced features and aspects.
Having already worked with Kotlin in many projects, I have discovered a few useful tricks and not-so-widely-known features that can be beneficial for programmers of any level: From a series of posts on my blog, I will show things that people don't know you can do with Kotlin.
This session is completely based on live coding.
Serverless computing is getting its fair share of hype. Learn how applications are constructed, distributed, and run in this paradigm.
In this seminar we will discuss:
In this talk, you will hear how containers are also changing the way that developers code, test and deliver. Learn about techniques that are being designed that will help reduce the knowledge burden on developers and are providing development environments more suitable to the new world of Cloud Native.
The rise of containerized applications, the need to deliver on the promise of polyglot microservice architectures and the growth of Kubernetes as the orchestration system of choice are all contributing to a development model that is quite different from the past and which is greatly increasing the amount of expertise and knowledge a developer needs on a daily basis.
This session will help you get a clearer view of the choices coming your way — from new platforms like Knative or Jenkins X through emerging event-based application architectures to new open source development tools designed to help manage the new complexities of being a developer. We'll explore the principles behind these tools, why they are important and educate you on what you should be learning.
Just writing code is here to stay!
After this session you will be able to say Garbage Collection tuning isn’t rocket science, it’s common sense. You will learn Key Performance Indicators (KPIs), useful tools, best practices and algorithms to tune your system's garbage collection. Besides tuning, you will also learn how to use garbage collection metrics to troubleshoot and even forecast memory problems.
This workshop is for anyone who wants to look beyond the hype and get some hands-on experience developing with blockchain technology. You’ll learn how to use and integrate Java applications with the dominant public blockchain Ethereum. We’ll also touch on the private blockchain technology.