Microservices at HBC
Hudson's Bay Company owns and operates multiple retail businesses, including Saks Fifth Avenue, Lord & Taylor, and The Bay. We will discuss microservices past, present, and future at HBC. We'll examine how HBC utilizes the Apibuilder project to accelerate software development.
Sean Sullivan is a Principal Software Engineer at the Hudson's Bay Company. Sean has worked on a variety of backoffice engineering projects, including payment processing and email generation. He is a contributor to open source projects and has contributed to Amazon's AWS SDK for Java version 2.0. He lives in Portland Oregon.
The AWS SDK for Java version 2.0 is a complete re-implementation of the SDK for the Java language. It provides a modern API that leverages the latest capabilities from the Java platform. This presentation will highlight key differences between the V1 API and the V2 API. Also, we will examine the V2 HTTP layer and the updated API for AWS CloudMetrics.
Sean Sullivan is a Principal Software Engineer at the Hudson Bay Company. HBC owns and operates multiple retail businesses, including Saks Fifth Avenue, Lord & Taylor, and TheBay.com. Sean has contributed code to the AWS SDK for Java project on Github. He lives in Portland Oregon.
In this second of a two part presentation, Steve Hall, Principal Engineer Next Generation Systems at Nike, will dive into the code, the tests, and the packing and running of Java EE microservices in Docker and Kubernetes. Attendees will learn practical DevOps tips that incorporate various aspects of Spring Boot, Spring Web Flux, Docker, and Kubernetes.
In this talk Steve Hall, Principal Engineer Next Generation Systems at Nike, will discuss why typical patterns used in Java EE may not work in microservices. He will show code and test examples using a progressive approach that incorporates Spring Boot, Spring Web Flux, Docker, and Kubernetes.
Insecure deserialization is one of the most critical web application security risks, yet it is by no means a new vulnerability category. Data serialization and deserialization have been used widely in applications, services and frameworks, with many programming languages supporting them natively. Deserialization got more attention recently as a potential vehicle to conduct several types of attacks: data tampering, authentication bypass, privilege escalation, various injections and, finally, remote code execution. Two recent vulnerabilities in Apache Commons and Apache Struts, both allowing remote code execution, helped raise awareness of this risk.
We will discuss how data serialization and deserialization are used in software, the dangers of deserializing untrusted input, and how to avoid insecure deserialization vulnerabilities.
Alexei Kojenov (https://twitter.com/kojenov) is a Senior Application Security Consultant with years of prior software development experience. During his career with IBM, he gradually moved from writing code to breaking code. Since late 2016, Alexei has been working as a consultant at Aspect Security, helping businesses identify and fix vulnerabilities and design secure applications. Aspect Security was recently acquired by Ernst&Young and joined EY Advisory cybersecurity practice.
Eric Schabell (http://www.schabell.org), an evangelist director from Red Hat, will be presenting a hands-on workshop for OpenShift, JBoss, Ansible, (et al), including several container based java example projects.
A modern developers world is full of new tools, new technologies and getting started can become a bit daunting. Let's take a tour of how to get started with containers, Cloud and some examples so that you have your very own private PaaS Cloud on your laptop. You'll be given a private Cloud in minutes that turns your laptop into a container platform where you then can explore a multitude of example projects from such domains as retail, travel, finance and more. Hold on to your developer hats as we get you started on application development in the Cloud with open technologies, Ansible deployment automation and container-based fun. Everything you're shown in this session is available for attendees to explore online and hands-on once they've returned home.
Do you have a need to slowly migrate your traffic from a legacy application to a shiny new set of micro-services? Do you have a need to handle common cross-cutting concerns like security in all your microservices?
Do you have a need to throttle requests to services?
Do you have a need to add any custom headers, enhance payloads to your requests?
Do you have to dynamically route to different backend services based on URI or other parameters?
If so you need a Gateway to your services that provide these features. Netflix Zuul is a well-known gateway that you may be familiar with. This presentation will introduce Spring Cloud Gateway that provides gateway pattern which provides a few great advantages on top of Netflix Zuul:
1. It uses a non-blocking IO for the downstream calls by building on top of Netty a NIO library for Java 2. It provides a great programming model to configure routing logic, filters - it provides a Java and Kotlin based DSL and also a way to configure via plain property files.
3. It is built on top of Spring 5 and Reactor 3 libraries, thus providing a reactive programming model About Biju Kunjummen:
Biju is a Solutions Architect with Pivotal’s Application transformation team and works with Pivotal Customers in refactoring and modernizing their legacy applications. He blogs at http://java-allandsundry.com and his twitter handle is bijukunjummen
Microservices are all the hype and engineering efforts have shifted to refactoring monoliths into smaller, independent and composable services. Of course, this allows individual components of the application/system architecture to be independently scaled, owned and operated. But, what about your data?
Building highly available, consistent and complex transactional/analytical applications at scale, that continue to perform as demand increases is challenging. Additionally, resigning a once, strongly consistent, ACID-compliant application backed by a DBMS into an eventually consistent architecture is unacceptable for many of the legacy systems still in use today. However, you cannot afford to keep relying on the same monolithic data architectures constituting a single point of failure and continue to supply your demand. In this meeting you will learn how existing applications can be modernized for the cloud by employing cloud-ready data management technologies, such as Apache Geode, which was built from the ground up on distributed, horizontally scalable (scale-out), shared-nothing architectural principles. When combined with the power of Spring running on Cloud Foundry, you have a recipe for protecting your existing investment while enabling you to leverage cloud-native design patterns that will move you towards the future.
This meeting will be a little different. There will be no microphones or projectors but everyone is encouraged to talk about a project they find interesting or show something they're building. Participation is totally optional but we hope to hear about any side projects you're working on, because a lot of times the most interesting things we build are built when we're supposed to be doing something else!
Presentations are intended to be brief 5-10 minute talks.
• How to build a mashup using data on recreation.gov (http://recreation.gov/)
• How to learn business acumen by freelancing software dev skills
If you've got something you'd like to talk about, send us a direct message so we can add it to the agenda.
Join Tom Hanley (http://engineering.skymind.io/author/tom-hanlon) from Skymind for an interactive tour through DeepLearning4j (DL4J), an open source, distributed, deep learning library for Java. Skymind is the creator and the primary commmercial supporter for DL4J.
To the uninitiated, deep learning can be indistinguishable from magic and in this talk you'll get a chance to see what its all about. Deep learning offers powerful techniques for building predictive models and creating value from large datasets in domains such as manufacturing, finance, advertising, and healthcare. Deep learning models have achieved near or better than human performance in machine translation, speech recognition, and image classification and recently beat the world’s best human Go players.
This presentation will focus on machine learning basics and showing how to setup a development environment so you can run some of the canonical neurel network applications like image classification and text analysis with DL4J.
To get the most out of this presentation, read through the brief https://deeplearning4j.org/quickstart tutorial so you can follow along with coding examples.