You are viewing content from a past/completed QCon

Track: Microservices / Serverless Patterns & Practices

Location: Ballroom A

Day of week: Monday

Stories of success and failure building modern service and function-based applications, including event sourcing, reactive, decomposition, & more.

Track Host: Susanne Kaiser

Independent Tech Consultant, previously CTO @JustSocialApps

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.

Andrew McVeigh, Former VP Architecture @hulu

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.

Vaughn Vernon, DDD Expert, Author of "Implementing Domain-Driven Design" & Architect @kalele_io

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.

Zack Butcher, Core Contributor @IstioMesh & Founding Engineer @tetrateio. Previously Software Engineer @Google

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. 

Gillian Armstrong, Cognitive Technologies @Liberty_IT

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.

Lavanya Kanchanapalli, Senior Software Engineer @Netflix

5:25pm - 6:15pm

Microservices Open Space

Proposed Tracks

  • Architectures You've Always Wondered About

    Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, & more

  • Machine Learning without a PhD

    AI/ML is more approachable than ever. Discover how deep learning and ML is being used in practice. Topics include: TensorFlow, TPUs, Keras, PyTorch & more. No PhD required.

  • Production Readiness: Building Resilient Systems

    Making systems resilient involves people and tech. Learn about strategies being used from chaos testing to distributed systems clustering.

  • Building Predictive Data Pipelines

    From personalized news feeds to engaging experiences that forecast demand: learn how innovators are building predictive systems in modern application development.

  • Modern Languages: The Right Language for the Job

    We're polyglot developers. Learn languages that excel at very specific tasks and remove undifferentiated heavy lifting at the language level.

  • Delivering on the Promise of Containers

    Runtime containers, libraries and services that power microservices.

  • Evolving Java & the JVM

    6 month cadence, cloud-native deployments, scale, Graal, Kotlin, and beyond. Learn how the role of Java and the JVM is evolving.

  • Trust, Safety & Security

    Privacy, confidentiality, safety and security: learning from the frontlines.

  • Beyond the Web: What’s Next for JavaScript

    JavaScript is the language of the web. Latest practices for JavaScript development in and out of the browser topics: react, serverless, npm, performance, & less traditional interfaces.

  • Modern Operating Systems

    Applied, practical & real-world deep-dive into industry adoption of OS, containers and virtualization, including Linux on.

  • Optimizing You: Human Skills for Individuals

    Better teams start with a better self. Learn practical skills for IC.

  • Modern CS in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Human Systems: Hacking the Org

    Power of leadership, Engineering Metrics and strategies for shaping the org for velocity.

  • Building High-Performing Teams

    Building, maintaining, and growing a team balanced for skills and aptitudes. Constraint theory, systems thinking, lean, hiring/firing and performance improvement

  • Software Defined Infrastructure: Kubernetes, Service Meshes & Beyond

    Deploying, scaling and managing your services is undifferentiated heavy lifting. Hear stories, learn techniques and dive deep into what it means to code your infrastructure.

  • Practices of DevOps & Lean Thinking

    Practical approaches using DevOps and a lean approach to delivering software.

  • Operationalizing Microservices: Design, Deliver, Operate

    What's the last mile for deploying your service? Learn techniques from the world's most innovative shops on managing and operating Microservices at scale.

  • Developer Experience: Level up your Engineering Effectiveness

    Improving the end to end developer experience - design, dev, test, deploy and operate/understand.