Stories of success and failure building modern service and function-based applications, including event sourcing, reactive, decomposition, & more.
Track: Microservices / Serverless Patterns & Practices
Location: Ballroom A
Day of week: Monday
Track Host: Susanne Kaiser
Susanne Kaiser is an independent tech consultant from Hamburg, Germany, and was previously working as a startup CTO transforming their SaaS solution from monolith to microservices. She has a background in computer sciences and experience in software development and software architecture for more than 15 years and regularly presents at international tech conferences.
10:35am - 11:25am
From Winning the Microservice War to Keeping the Peace
Many companies are focused on creating or transitioning to a microservice architecture. I will explain how this journey went for a top-tier video service & also a major games studio, and show the many advantages we found. In one company we successfully created 800+ services optimized around functionality, delivery speed and organizational structure. We won the microservices war!
However, getting there was only half the battle. Operating and evolving such significant systems reveals a number of challenges: monitoring and root cause analysis, cascading failures and scaling for major events are just some. We explain how you can use our learnings to avoid common pitfalls when working with microservices, and reveal what we would do differently if we could wind back the clock.
11:50am - 12:40pm
Reactive DDD—When Concurrent Waxes Fluent
Developers around the world are moving to rapidly adopt Domain-Driven Design (DDD), and in greater numbers than ever before. That's because DDD delivers powerful results in practice. At the same time, Reactive software development is becoming essential to implementing responsive, resilient, elastic, and message-driven solutions, including event streams of fast data. This world of distribution, concurrency, latency, and the uncertainty of time-critical results, must be tackled along with the complex business challenges. This talk gives practical guidance on using DDD to model business-driven solutions that result in software that is fluent, type-safe, and with core Reactive properties. Specific attention is given to moving legacy systems that have deep debt to ones that have clear boundaries, deliver explicit and fluent business models, and exploit modern hardware and software architectures.
1:40pm - 2:30pm
Connecting, Managing, Observing, and Securing Services
With the growing adoption of cloud native architectures, Istio has become the de facto framework to load-balance, route, secure and monitor the traffic that flows between services. Istio provides a common networking, security, policy, and telemetry substrate for services that we call a ‘Service Mesh’. Come learn how a service mesh helps with the transition from monoliths to microservices, to empower operations teams, and to adopt security best-practices. Then we’ll touch on a few advanced use cases, like how a service mesh can help you build applications deployed across multiple clusters and multiple infrastructure providers.
2:55pm - 3:45pm
Serverless and Chatbots: A Match Made in the Cloud
The Internet tutorials promised that building a chatbot was simple, and that the magic of Serverless would make it even simpler. And it was true. But it turns out that the simple runs out very quick. By the time I discovered this I was already hooked on both Conversational AI and Serverless technologies. Conversational Interfaces let users interact with technology in a new way - and Serverless lets developers build software in a new way. Combined they bring something brand new that requires both learning new skills and applying existing skills in new ways.
Our team has built an Employee Digital Assistant for the employees of our Fortune 100 company. Using practical examples from our chatbot, let me share with you some of the lessons we learned that can get you started with your own chatbot. Building a simple chatbot is simple - building a great chatbot is what I’m going to show you how to do.
4:10pm - 5:00pm
Crisis to Calm: Story of Data Validation @ Netflix
The best outage is the one that never happens! Runtime system behavior is increasingly driven by data flowing from various data sources. Each update is as impactful as code pushes, if not more, increasing the risk of outages. This makes a strong case for automated detection of bad data, similar to what we already do for code pushes. To that end, we invested in detecting and preventing bad data in real time with techniques like circuit breakers and data canaries.
In this presentation, I will talk about the journey from having no data validations to our current set of techniques that are an essential part of availability at Netflix. I will share my experience in maintaining a great Netflix customer experience while enabling fast and safe data propagation.
Key takeaways:
- Detecting and preventing bad data is essential to high availability.
- Ways to make circuit breakers, data canaries and staggered rollout effective.
- Efficient validations via sharding data and isolating change.
Tracks
Monday, 5 November
-
Microservices / Serverless Patterns & Practices
Evolving, observing, persisting, and building modern microservices
-
Practices of DevOps & Lean Thinking
Practical approaches using DevOps & Lean Thinking
-
JavaScript & Web Tech
Beyond JavaScript in the Browser. Exploring WebAssembly, Electron, & Modern Frameworks
-
Modern CS in the Real World
Thoughts pushing software forward, including consensus, CRDT's, formal methods, & probabilistic programming
-
Modern Operating Systems
Applied, practical, & real-world deep-dive into industry adoption of OS, containers and virtualization, including Linux on Windows, LinuxKit, and Unikernels
-
Optimizing You: Human Skills for Individuals
Better teams start with a better self. Learn practical skills for IC
Tuesday, 6 November
-
Architectures You've Always Wondered About
Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, & more
-
21st Century Languages
Lessons learned from languages like Rust, Go-lang, Swift, Kotlin, and more.
-
Emerging Trends in Data Engineering
Showcasing DataEng tech and highlighting the strengths of each in real-world applications.
-
Bare Knuckle Performance
Killing latency and getting the most out of your hardware
-
Socially Conscious Software
Building socially responsible software that protects users privacy & safety
-
Delivering on the Promise of Containers
Runtime containers, libraries, and services that power microservices
Wednesday, 7 November
-
Applied AI & Machine Learning
Applied machine learning lessons for SWEs, including tech around TensorFlow, TPUs, Keras, PyTorch, & more
-
Production Readiness: Building Resilient Systems
More than just building software, building deployable production ready software
-
Developer Experience: Level up your Engineering Effectiveness
Improving the end to end developer experience - design, dev, test, deploy, operate/understand.
-
Security: Lessons Attacking & Defending
Security from the defender's AND the attacker's point of view
-
Future of Human Computer Interaction
IoT, voice, mobile: Interfaces pushing the boundary of what we consider to be the interface
-
Enterprise Languages
Workhorse languages found in modern enterprises. Expect Java, .NET, & Node in this track