Conference: Nov 13-15, 2017
Workshops: Nov 16-17, 2017
Presentation: Designed For Deployment
Abstract
Software design is often seen as the process of introducing abstractions and protocols to simplify the act of composing larger programs from smaller ones.
However, these days, hardly any complex system is a monolith and is often composed of many interacting components (services, modules, other applications etc). In addition, infrastructure-as-code tools such as Chef are as much a part of the codebase as application code. When development teams run such systems, a good chunk of their time involves triaging errors or triaging user facing problems. The process of analysis and reasoning about a running system or designing for deployment concerns is very different from the process of synthesis and composition involved in writing application software. In this talk, I would like to explore some patterns and lessons learned in deploying & maintaining a complex system (https://snap-ci.com) over the past few years.
Similar Talks
![](../sites/default/files/styles/spaker_72h/public/jie9e82.jpg?itok=zI7ugtkB)
.
Tracks
Monday Nov 7
-
Architectures You've Always Wondered About
You know the names. Now learn lessons from their architectures
-
Distributed Systems War Stories
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.” - Lamport.
-
Containers Everywhere
State of the art in Container deployment, management, scheduling
-
Art of Relevancy and Recommendations
Lessons on the adoption of practical, real-world machine learning practices. AI & Deep learning explored.
-
Next Generation Web Standards, Frameworks, and Techniques
JavaScript, HTML5, WASM, and more... innovations targetting the browser
-
Optimize You
Keeping life in balance is a challenge. Learn lifehacks, tips, & techniques for success.
Tuesday Nov 8
-
Next Generation Microservices
What will microservices look like in 3 years? What if we could start over?
-
Java: Are You Ready for This?
Real world lessons & prepping for JDK9. Reactive code in Java today, Performance/Optimization, Where Unsafe is heading, & JVM compile interface.
-
Big Data Meets the Cloud
Overviews and lessons learned from companies that have implemented their Big Data use-cases in the Cloud
-
Evolving DevOps
Lessons/stories on optimizing the deployment pipeline
-
Software Engineering Softskills
Great engineers do more than code. Learn their secrets and level up.
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
Wednesday Nov 9
-
Architecting for Failure
Your system will fail. Take control before it takes you with it.
-
Stream Processing
Stream Processing, Near-Real Time Processing
-
Bare Metal Performance
Native languages, kernel bypass, tooling - make the most of your hardware
-
Culture as a Differentiator
The why and how for building successful engineering cultures
-
//TODO: Security <-- fix this
Building security from the start. Stories, lessons, and innovations advancing the field of software security.
-
UX Reimagined
Bots, virtual reality, voice, and new thought processes around design. The track explores the current art of the possible in UX and lessons from early adoption.