You are viewing details from a past event. Please check our upcoming event schedule if you are looking for current content.

Ken Sipe

Cloud Architect & Tech Leader

Ken is a distributed application engineer. Ken has worked with Fortune 500 companies to small startups in the roles of developer, designer, application architect and enterprise architect. Ken's current focus is on containers, container orchestration, high scale micro-service design and continuous delivery systems.

Ken is an international speaker on the subject of software engineering speaking at conferences such as JavaOne, JavaZone, Great Indian Developer Summit (GIDS), and The Strange Loop. He is a regular speaker with NFJS where he is best known for his architecture and security hacking talks. In 2009, Ken was honored by being awarded the JavaOne Rockstar Award at JavaOne in SF, California and the JavaZone Rockstar Award at JavaZone in Oslo, Norway as the top ranked speaker.

Presentations

Are you Mocking Me (with Spock)

8:30 AM MDT

Spock is a groovy based testing framework that leverages all the “best practices” of the last several years taking advantage of many of the development experience of the industry. So combine Junit, BDD, RSpec, Groovy and Vulcans… and you get Spock!

There are 3 tools I use on every Java project I control… this is one of them and with good reason.

This session assumes some understanding of testing and junit and builds on it. We will introduce and dig deep into Spock as a test specification and mocking tool. Topics include:

Unit testing
Data driven tests
Mocking and Stubbing
Partial Mocks
Spock Extensions

Flying through Cloud Native (CNCF)

10:30 AM MDT

The maturing of industry projects and tools around cloud development and administration has led to the formation of the Cloud Native Computing Foundation. This new foundation is similar to the Apache Foundation in that it provides governance over projects from incubation to maturity. These projects define the current and future standards of the cloud which is important for all devops teams to be aware of. This session is a guided at jet speed tour of each project and how it fits in the eco-system.

This session will briefly cover each of the CNCF projects will a outline of:

  • what the project is
  • how it works
  • level of maturity
  • competitive landscape

The projects covered include:

  • Kubernetes
  • containerd
  • Prometheus
  • OpenTracing
  • Fluentd
  • rkt
  • CNI
  • Jaeger
  • Notary
  • Envoy
  • CoreDNS
  • Linkerd

Java 9 Memory and GC

1:00 PM MDT

So your server is having issues? memory? Connections? Limited response? Is the first solution to bounce the server? Perhaps change some VM flags or add some logging? In todays Java 9 world, with its superior runtime monitoring and management capabilities the reasons to the bounce the server have been greatly reduced.

This session will look at the Java monitoring and management capabilities, which includes the ability to make VM argument changes on the fly. This session will dive into the different memory compartments and how they are used by the JVM. Final this session will explore the different GC options and how they affect response times and throughput.

This session will include new features in Java 9 to make it more container aware.

Container Friendly Java 9

2:45 PM MDT

Containers and Micro-service are like peanut butter and jelly, they just go together. However do you know how resources are managed in a container and how that affects your application. This session will dive into how Java is affected living under control groups.

This session will review containers, the underlying technology to containers along with different container runtimes such as Docker. We will look at the anatomy of a container including control groups (cgroups) and namespaces. This session will conclude with the challenges of running the JRE in a container and the impact that has on the efficiency of the process at scale.

This session will include container friendly changes to Java 9 around memory and ergonomics. It will also provide advice on how to get consistent CPU share.

Kubernetes Deep Dive

4:30 PM MDT

In the container orchestration space, one of the top contenders is Kubernetes (K8S). This session will go into detail of each component in Kubernetes along with how to use it. Anyone attending this session should be able to easy get stated with K8S and have an understanding of what they would need to do to their application to enable it to be K8S friendly.

This session will dive into different applications (stateful/stateless, data-focused/micro-service focused) and how they are managed with the different components of kubernetes:

  • kube-apiserver
  • etcd
  • kube-controller-manager
  • kube-scheduler
  • kubelet
  • kube-proxy
  • pods
  • container resource monitor
  • UI

To 99.99 and Beyond

8:30 PM MDT

When architecting a critical system the Availability of CAP theorem becomes the most important element. Architecture measures availability in 9s with 99.99% equating less than 1 hour of unplanned downtime. This session will focus on what it takes to get there.

After establishing high availability expectations and measurements, this session will dive into what it takes to establish the highest scale possible. It includes a look at infrastructure needs with a separation between capacity and scale. A look a service discovery with pro and cons of service to service dependencies. We look at infrastructure necessary such as health checks and monitoring. The session will include a look at different layers of fault domains including cross region.

Books

Spring Recipes: A Problem-Solution Approach (Expert's Voice in Open Source)

by Gary Mak, Daniel Rubio, and Josh Long

With over 3 million users/developers, Spring Framework is the leading “out of the box” Java framework. Spring addresses and offers simple solutions for most aspects of your Java/Java EE application development, and guides you to use industry best practices to design and implement your applications.

The release of Spring Framework 3 has ushered in many improvements and new features. Spring Recipes: A Problem-Solution Approach, Second Edition continues upon the bestselling success of the previous edition but focuses on the latest Spring 3 features for building enterprise Java applications. This book provides elementary to advanced code recipes to account for the following, found in the new Spring 3:

  • Spring fundamentals: Spring IoC container, Spring AOP/ AspectJ, and more
  • Spring enterprise: Spring Java EE integration, Spring Integration, Spring Batch, jBPM with Spring, Spring Remoting, messaging, transactions, scaling using Terracotta and GridGrain, and more.
  • Spring web: Spring MVC, Spring Web Flow 2, Spring Roo, other dynamic scripting, integration with popular Grails Framework (and Groovy), REST/web services, and more.

This book guides you step by step through topics using complete and real-world code examples. Instead of abstract descriptions on complex concepts, you will find live examples in this book. When you start a new project, you can consider copying the code and configuration files from this book, and then modifying them for your needs. This can save you a great deal of work over creating a project from scratch!

What you’ll learn

  • How to use the IoC container and the Spring application context to best effect.
  • Spring’s AOP support, both classic and new Spring AOP, integrating Spring with AspectJ, and load-time weaving.
  • Simplifying data access with Spring (JDBC, Hibernate, and JPA) and managing transactions both programmatically and declaratively.
  • Spring’s support for remoting technologies (RMI, Hessian, Burlap, and HTTP Invoker), EJB, JMS, JMX, email, batch, scheduling, and scripting languages.
  • Integrating legacy systems with Spring, building highly concurrent, grid-ready applications using Gridgain and Terracotta Web Apps, and even creating cloud systems.
  • Building modular services using OSGi with Spring DM and Spring Dynamic Modules and SpringSource dm Server.
  • Delivering web applications with Spring Web Flow, Spring MVC, Spring Portals, Struts, JSF, DWR, the Grails framework, and more.
  • Developing web services using Spring WS and REST; contract-last with XFire, and contract–first through Spring Web Services.
  • Spring’s unit and integration testing support (on JUnit 3.8, JUnit 4, and TestNG).
  • How to secure applications using Spring Security.

Who this book is for

This book is for Java developers who would like to rapidly gain hands-on experience with Java/Java EE development using the Spring framework. If you are already a developer using Spring in your projects, you can also use this book as a reference—you’ll find the code examples very useful.

Table of Contents

  1. Introduction to Spring
  2. Advanced Spring IoC Container
  3. Spring AOP and AspectJ Support
  4. Scripting in Spring
  5. Spring Security
  6. Integrating Spring with Other Web Frameworks
  7. Spring Web Flow
  8. Spring @MVC
  9. Spring RESTSpring and Flex
  10. Grails
  11. Spring Roo
  12. Spring Testing
  13. Spring Portlet MVC Framework
  14. Data Access
  15. Transaction Management in Spring
  16. EJB, Spring Remoting, and Web Services
  17. Spring in the Enterprise
  18. Messaging
  19. Spring Integration
  20. Spring Batch
  21. Spring on the Grid
  22. jBPM and Spring
  23. OSGi and Spring