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

Scaling and Fault Tolerance Workshop

9:00 AM MDT

There was a day when it was common to see the twitter fail whale! This imagine, extinct today, was the sign that scaling at twitter was broken in some way. What did Twitter do in order to increase their ability to scale, be more fault tolerant all while growing significantly. The answer is a move to Apache Mesos and leveraging container technology.

Google in 2009 had a top secret project we now know as the Google Borg project. That technology was reincarnated in an open source project out of UC Berkley known as Apache Mesos. Mesos has grown up significantly while at Twitter providing production tested solution for scaling applications and containers. In addition Solomon himself stated at DockerCon EU in December 2014 that Mesos is the only reliable way to scale docker in a production environment today.

This session is a hands on workshop. It is broken into 3 separate but related parts.

The first part is an 1.5 hour lecture of the challenges of the datacenter today. It will provide an overview of

* containers, 
* static vs. elastic partitions 
* schedulers.

The second part is a dive into docker with time for hands on labs. You will need access to docker for 1/2 of this session. We will have some discussion on the issues of running Java in a container with a focus on needs of production.

The third part will be on Apache Mesos and several different schedulers. We will discuss:

* different types of containers
* stateful service solution
* service discovery
* typical failures at twitter and how to avoid them

This also has a hands on component. You will need either:

* A Google Compute Engine account
* A AWS account
* Software local on your laptop to run vagrant

The last shorter part will include an overview of technologies on the horizon in this fast paced micro-services space.

Scaling up on the web

8:30 AM MDT

The drive to continuous delivery, micro services and PaaS includes the need to auto scale and potentially auto provision services. This session will identify the legacy thinking of a statically partitioned world and drive to the scalable world of Apache Mesos.

This session will look at the failings of the many of today's cloud technology, identify the goals we have and look into the tooling of how to get there. In this session we will look at:

  • static vs elastic partitioning
  • vm vs containers
  • separating cluster capacity from application scale
  • load balancing with HAProxy

This session will be packed with demonstrations.

Fault Tolerance to a Fault

10:30 AM MDT

If there is a safe bet, it is that everything fails. From hard drives to power supplies, from routers to software, everything fails. Frankly a planned upgrade of a production service is planned down time, or a failure to continue services for a planned period of time.

This session will look at planning for failure by deploying into an Apache Mesos cluster.

This session will delve into how Apache Mesos identifies failures and how it protects from them. It will also look at how to upgrade infrastructure without down time.

Building a PaaS Workshop

1:30 PM MDT

Platform as a Service (Paas) is all the buzz today…. but why? What's the value proposition? Once you have decided that it is for you… what are your options?

This 2 session presentation is broken down in to 3 parts. The first is understanding why organizations on moving to PaaS and what to expects. The second and third part includes a walk through of PaaS options with part 2 being traditional PaaS and part 3 highlighting container based PaaS solutions.

We will conclude with a short discussion on getting PaaS like experiences without a PaaS and what that might look like.

Building a PaaS Workshop

3:15 PM MDT

Platform as a Service (Paas) is all the buzz today…. but why? What's the value proposition? Once you have decided that it is for you… what are your options?

This 2 session presentation is broken down in to 3 parts. The first is understanding why organizations on moving to PaaS and what to expects. The second and third part includes a walk through of PaaS options with part 2 being traditional PaaS and part 3 highlighting container based PaaS solutions.

We will conclude with a short discussion on getting PaaS like experiences without a PaaS and what that might look like.

Next Generation Web Applications Workshop

9:00 AM MDT

The next generation of web applications using a cluster of resources instead of running on a single instances of a node in a cluster. To build this capability from scratch would be a costly proposition. Fortunately there is Apache Mesos. It abstracts the cloud and the data center and allows you to focus on your application needs. This is a workshop which will get into writing your first application which leverages a cluster of nodes.

To participate in this session you will need a computer with Java on it and for the best experience you will need a google account for Google Cloud Platform. An alternative is to use Vagrant with Virtualbox.

This will be a code focused workshop with focus on:

  • Apache Mesos
  • Protocol Buffers
  • Java

Next Generation Web Applications Workshop

11:00 AM MDT

The next generation of web applications using a cluster of resources instead of running on a single instances of a node in a cluster. To build this capability from scratch would be a costly proposition. Fortunately there is Apache Mesos. It abstracts the cloud and the data center and allows you to focus on your application needs. This is a workshop which will get into writing your first application which leverages a cluster of nodes.

To participate in this session you will need a computer with Java on it and for the best experience you will need a google account for Google Cloud Platform. An alternative is to use Vagrant with Virtualbox.

This will be a code focused workshop with focus on:

  • Apache Mesos
  • Protocol Buffers
  • Java

Understanding Java Memory

1:30 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 6 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.

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