Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Evolutionary architecture

Architecture is becoming much less monolithic and static. According to Neal Ford and Rebecca Parsons of ThoughtWorks, “The software universe exists in a state of constant flux; it is dynamic rather than static. Architecture isn’t an equation but rather a snapshot of an ongoing process.” Take a look at how architectures, like microservices and serverless, are necessary in the time of continuous development and delivery.

Add to your personal schedule
1:30pm5:00pm Monday, July 16, 2018
Location: C123-124
Level: Intermediate
Allen Holub (Holub Associates)
If you still use large up-front design phases, you'll likely encounter problems with your design as you implement. The solution is to build around a domain-focused metaphor that allows for incremental changes while maintaining coherence throughout. Allen Holub demonstrates how to develop an effective and coherent architecture incrementally as the code evolves. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 17, 2018
Location: Portland 255
Level: Intermediate
Rebecca Parsons (ThoughtWorks)
Most people assume architectures are hard to change. Evolutionary architecture is a approach to overturning this assumption. Join Rebecca Parsons to explore the family of software architectures that support evolutionary change and learn how to build evolvable systems. You'll discover a different way to think about software architecture. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 17, 2018
Location: C120-122
Level: Intermediate
Brian Capouch (Saint Joseph's College), Danilo Zekovic (Compass Holding)
GraphQL offers web programmers an alternative to REST. It is a schema-based, client-centric model for data interchange that offers many advantages, and is being rapidly adopted. We introduce the basic concepts of graphQL, its data types and schema concepts, the graphiQL debugging interface, and use a “starter kit” to allow attendees to get a hands-on feel for using graphQL. Read more.
Add to your personal schedule
11:00am11:40am Wednesday, July 18, 2018
Location: D137/138
Level: Intermediate
Soam Vasani (Platform9 Systems), Timirah James (Platform9 Systems)
While FaaS functions are an easy fit for small use cases like webhooks, creating larger systems with them is still an open area. Soam Vasani and Timirah James share four different approaches to compose FaaS functions together to form large applications: coordinating functions, event-driven composition, workflows, and compiling functions. Read more.
Add to your personal schedule
11:50am12:30pm Wednesday, July 18, 2018
Location: D137/138
Level: Intermediate
Data comes in all shapes and sizes, come find out how we tackle the issue of working across large distributed teams, and find solutions to our data persistence challenges. Read more.
Add to your personal schedule
1:45pm2:25pm Wednesday, July 18, 2018
Location: D137/138
Level: Intermediate
Andrew Jessup (Scytale), Priyanka Sharma (LightStep )
Projects like SPIFFE and SPIRE have modernized identity authentication across microservices and can serve as the basis for correlating metrics from multiple sources (with the help of OpenTracing). Read more.
Add to your personal schedule
2:35pm3:15pm Wednesday, July 18, 2018
Location: D137/138
Level: Beginner
Anubhav Mishra (HashiCorp)
Continuous integration and deploy systems are part and parcel of today’s software delivery pipelines. Today, there are two choices for a CI/CD system: You either pay for a service or host your own. Most of the time we end up waiting for resources to free up or paying for under-utilized resources. See how serverless computing can be used to create a cost-effective and reliable CI/CD pipeline. Read more.
Add to your personal schedule
4:15pm4:55pm Wednesday, July 18, 2018
Location: D137/138
Level: Beginner
Rustem Feyzkhanov (Astro Digital)
This year industry recognized TensorFlow 1.4 was released. I’ve ported it into AWS Lambda and built image recognition tool. Why? Given the price tag 1 run (recognition of 1 picture) will cost $0.00005. It is cheaper than almost any alternatives, very scalable (1000 functions can be run in parallel), and integrates into cloud infrastructure. My talk will help to fit ML model into AWS Lambda. Read more.
Add to your personal schedule
5:05pm5:45pm Wednesday, July 18, 2018
Location: D137/138
Level: Beginner
Smruthi Venkatesh (Platform9 Systems)
Smruthi Venkatesh explains how to do canary deployments in a FaaS system on Kubernetes, covering making changes to functions and monitoring the system. Read more.
Add to your personal schedule
11:00am11:40am Thursday, July 19, 2018
Location: D137/138
Level: Intermediate
Justin Cormack (Docker), Rolf Neugebauer (Docker)
Immutable infrastructure is the part of continuous delivery that has taken longest to arrive. However, its time has come, as system software needs to be part of architectural agility too. Read more.
Add to your personal schedule
11:50am12:30pm Thursday, July 19, 2018
Location: D137/138
Level: Intermediate
Lakshmi Inbamuthiah (Capital One), Joy Sarkar (Capital One)
In this presentation, we will analyze the challenges with Alexa Skill development , especially around building a continuous integration and delivery best practices. We will demonstrate how to build a CICD pipeline in Jenkins , for Alexa Skill development. Read more.
Add to your personal schedule
1:45pm2:25pm Thursday, July 19, 2018
Location: D137/138
Level: Intermediate
Taylor Barnett (Stoplight)
Go search on the internet for “unexpected API behavior.” No one likes when an API doesn’t work as expected. The idea of testing APIs is not a novel concept, but the concept of testing based on a specification is an under-explored space. In this talk, we will explore how to utilize contract testing with the OpenAPI Specification to create better APIs through real-life examples and techniques. Read more.
Add to your personal schedule
2:35pm3:15pm Thursday, July 19, 2018
Location: D137/138
Level: Intermediate
Alex Borysov (Google), Mykyta Protsenko (Roku)
Are you developing microservices or just considering splitting your monolith? What is the right way for your services to communicate with each other? gRPC is a modern high performance RPC framework from Google, while REST is an established architectural pattern. We will discuss pros and cons of each approach, so in the end you can decide what is the right choice for you and your project. Read more.
Add to your personal schedule
4:15pm4:55pm Thursday, July 19, 2018
Location: D137/138
Level: Beginner
Istio’s Pilot consumes information from a service registry and provides a platform agnostic service discovery interface suitable for Consul or Eureka. Istio uses this information to set up routing rules, policies, and circuit-breaking.This talk will demonstrate how a Pilot adaptor for Consul or Eureka can use Envoy proxies to route and monitor applications that are running outside of Kubernetes. Read more.
Add to your personal schedule
5:05pm5:45pm Thursday, July 19, 2018
Location: D137/138
Level: Intermediate
Dikang Gu (Facebook)
Instagram is running one of the largest Cassandra deployments in the world. Since last year, the Cassandra team at Instagram has been working on a very interesting project to make Apache Cassandra's storage engine to be pluggable, and implement a new RocksDB based storage engine into Cassandra. The new storage engine can improve the performance of Apache Cassandra significantly. Read more.