O'Reilly Software Architecture Conference 2019 - San Jose, California

      • Security and deception: Lessons from a professional liar - Michael Carducci (Mago:Tech)

        If it seems like humans are easy to deceive, it's because we are. The myriad traits that make humankind so eminently exploitable are practically baked into our DNA. Too often these same traits make it into the software we build. Michael Carducci takes an entertaining look at why humans are so easy to fool and explores what we can do to overcome our weaknesses and build more secure software.
      • 00:24:47

      • Architect as storyteller - Nathaniel Schutta (Pivotal)

        Nathaniel Schutta explains why an architect's job is to be a storyteller. Architects are essentially the Rosetta Stone of an organization, providing translation services (or, as some would call it, the "elevator" between the executive suite and the development floors). The challenge lies in not only crafting a compelling message but doing so for wildly disparate audiences.
      • 00:07:44

      • Next Architecture - Christopher Guzikowski (O'Reilly Media)

        Chris Guzikowski is the senior content director at O’Reilly Media, where he manages the acquisition and development of content in software architecture and software development. He’s also the cochair of O’Reilly’s Software Architecture Conference. Chris has been working on technical content and technology marketing for more than 30 years. He and his family reside in suburban Boston, MA.
      • 00:10:04

      • Choices of scale - Michael Feathers (R7K Research and Conveyance)

        Most discussion about scaling is about how to do it—but hardly ever about why it's difficult or whether it's really necessary in particular cases, let alone what the alternatives are. Join Michael Feathers to explore scaling your teams, organization, and architecture and learn the costs and benefits of various strategies in light of research about human cognition and systems cohesion.
      • 00:17:32

      • Evolving to cloud native - Nathaniel Schutta (Pivotal)

        Every organization has at least a phalanx or two in the cloud. This is, understandably, changing the way we architect our systems. But your application portfolio is full of heritage systems that hail from the time before everything was as a service. Not all of those applications will make it to the valley beyond, so join Nathaniel Schutta for tips on grappling with your legacy portfolio.
      • 00:43:55

      • Metrics for software architects - Alexander von Zitzewitz (hello2morrow)

        Software metrics can be used effectively to judge the maintainability and architectural quality of a code base. Even more importantly, they can be used as canaries in a coal mine to warn early about dangerous accumulations of architectural and technical debt. Alexander von Zitzewitz outlines key metrics that every architect should know and shares a new metric to measure software maintainability.
      • 00:46:14

      • Event storming - Allen Holub (Holub Associates) - Part 1

        Event storming offers a way to simultaneously collaborate with businesspeople to understand the problems that the business has to solve and develop an architecture for the solution. Join Allen Holub for an in-depth look at event storming and its underlying concepts (from DDD), as well as an extensive hands-on demo of the process.
      • 00:49:49

      • Event storming - Allen Holub (Holub Associates) - Part 2

        Event storming offers a way to simultaneously collaborate with businesspeople to understand the problems that the business has to solve and develop an architecture for the solution. Join Allen Holub for an in-depth look at event storming and its underlying concepts (from DDD), as well as an extensive hands-on demo of the process.
      • 00:36:20

      • Beyond accidental architecture - James Thompson (Mavenlink) - Part 1

        Every software system has an architecture. Many are little more than the result of circumstances, rather than deliberate decisions. Helping teams think about software architecture is a key to helping them grow well. James Thompson demonstrates how to assess approaches and make decisions based on what matters to your team and your projects.
      • 00:40:18

      • Beyond accidental architecture - James Thompson (Mavenlink) - Part 2

        Every software system has an architecture. Many are little more than the result of circumstances, rather than deliberate decisions. Helping teams think about software architecture is a key to helping them grow well. James Thompson demonstrates how to assess approaches and make decisions based on what matters to your team and your projects.
      • 00:30:16

      • Architecting for testing and continuous delivery - Ken Mugrage (ThoughtWorks)

        Most organizations want faster, more-incremental delivery of their applications, but fragile tests and complex continuous delivery pipelines often make this difficult. What if the problem isn’t the pipeline but the architecture of the system? Ken Mugrage details the architectural choices that will help you enable stable tests and faster pipelines.
      • 00:49:10

      • How to build a thriving DevOps culture - Mandy Waite (Google)

        Mandy Waite shares how she and her team at Google Cloud are working to make developers happier and more productive and details how her team uses their internal research and expands upon it to collaborate with Google Cloud partners and open source projects. Join in to get tips on how to cultivate a DevOps culture inside your company.
      • 00:39:22

      • Responsible microservices - Nathaniel Schutta (Pivotal) - Part 1

        There are many good reasons to use a microservices architecture, but there are no free lunches. The advantages of microservices come with added complexity. Teams should happily take on that complexity…provided the application in question benefits from the upside of microservices. Nathaniel Schutta cuts through the hype to help you make the right choice for your unique situation.
      • 00:47:20

      • Responsible microservices - Nathaniel Schutta (Pivotal) - Part 2

        There are many good reasons to use a microservices architecture, but there are no free lunches. The advantages of microservices come with added complexity. Teams should happily take on that complexity…provided the application in question benefits from the upside of microservices. Nathaniel Schutta cuts through the hype to help you make the right choice for your unique situation.
      • 00:40:04

      • Kubernetes APIs under the hood - Phillip Wittrock (Google) - Part 1

        Join Philip Wittrock to learn the fundamentals behind Kubernetes API creation and build your own Kubernetes extension API. You'll cover the fundamentals of defining APIs as resources (e.g., versioning semantics) and implementing APIs as controllers. During the second half, you'll apply the conceptual material as we build our own Kubernetes API for MongoDB from scratch.
      • 00:37:20

      • Kubernetes APIs under the hood - Phillip Wittrock (Google) - Part 2

        Join Philip Wittrock to learn the fundamentals behind Kubernetes API creation and build your own Kubernetes extension API. You'll cover the fundamentals of defining APIs as resources (e.g., versioning semantics) and implementing APIs as controllers. During the second half, you'll apply the conceptual material as we build our own Kubernetes API for MongoDB from scratch.
      • 00:54:52

      • Reactive DDD: When concurrent waxes fluent - Vaughn Vernon (Kalele) - Part 1

        Reactive software development is becoming essential to implementing responsive, resilient, elastic, and message-driven solutions. Vaughn Vernon shows you how, by aligning scale and throughput with business-driven model fluency of your core initiatives, you can achieve critical differentiating competitive advantage.
      • 00:49:37

      • Reactive DDD: When concurrent waxes fluent - Vaughn Vernon (Kalele) - Part 2

        Reactive software development is becoming essential to implementing responsive, resilient, elastic, and message-driven solutions. Vaughn Vernon shows you how, by aligning scale and throughput with business-driven model fluency of your core initiatives, you can achieve critical differentiating competitive advantage.
      • 00:38:00

      • A microservices murder mystery: Discover the root cause of an outage - Thomas Rampelberg (Buoyant)

        When you’re operating multiple services, outages can feel like murder mysteries. Forensics tools such as monitoring and observability are essential, but it's a challenge balancing priorities between new features and tools to pinpoint root causes. Thomas Rampelberg discusses how Linkerd 2.0 provides many of the tools you need to tame the chaos of operating microservices in a cloud native world.
      • 00:35:47

      • Observing the light at the end of the legacy tunnel - Isobel Redelmeier (LightStep)

        Modern observability tools offer so much to help keep fresh code, well, fresh. That's great news for greenfield code, but most code sooner or later succumbs to the woes of time and team churn. How do you apply observability to code that hasn't been instrumented since day one? Isobel Redelmeier explains how to use observability to refactor old code.
      • 00:40:16

      • 193 easy steps to DevOpsing your monolith - Cat Swetel (Ticketmaster)

        After an expensive failed attempt at a complete rewrite, Ticketmaster is attempting to evolve the monolith that is its core ticketing platform. Cat Swetel isn't talking about best practices for DevOpsing your monolith; she tells the true story of one company’s journey toward a more flexible, adaptable, and easily maintainable architecture using tools like Wardley Maps and real options theory.
      • 00:30:29

      • Building resilient microservices - Kasun Indrasiri (WSO2)

        The resiliency of microservices-based applications heavily depends on how well they handle interservice communication over an unreliable network. Kasun Indrasiri provides an in-depth overview of common microservice resiliency patterns such as timeout, retry, circuit breaker, fail-fast, bulkhead, transactions, and failover/load balancing, and the role service meshes play in realizing them.
      • 00:45:09

      • Distributed tracing and monitoring with OpenTelemetry - Simon Zeltser (Google)

        OpenTelemetry is a new standard for tracing and metrics of cloud services, used for observability into applications that span multiple clouds and technological stacks. Simon Zeltser explains how to use vendor-agnostic client libraries for OpenTelemetry to export telemetry to common distributed tracing systems and covers core concepts like tags, metrics, exporters, zPages, and context propagation.
      • 00:39:52

      • Lessons in Debugging Serverless Architecture - Chen Harel (OverOps) - Part 1

        Serverless architecture opens up a world of opportunity for development, providing ease of use while deploying and operating at scale. But this can decrease visibility, making it difficult to see when your environment is misbehaving in terms of throughput, functionality and performance. This talk introduces a successful new framework for debugging serverless architecture with real-world examples.
      • 00:40:30

      • Lessons in Debugging Serverless Architecture - Chen Harel (OverOps) - Part 2

        Serverless architecture opens up a world of opportunity for development, providing ease of use while deploying and operating at scale. But this can decrease visibility, making it difficult to see when your environment is misbehaving in terms of throughput, functionality and performance. This talk introduces a successful new framework for debugging serverless architecture with real-world examples.
      • 00:41:00

      • Serverless architecture for data science - Rustem Feyzkhanov (Instrumental)

        One of the main issues with deploying deep learning solutions is finding the right way to operationalize models within the company. The serverless approach for deep learning provides cheap, simple, scalable, and reliable architecture. Rustem Feyzkhanov shows you how to deploy the TensorFlow model for image captioning on AWS infrastructure.
      • 00:29:41

      • Surviving in a microservices environment - Stephen Pember (Toast) - Part 1

        Many presentations on microservices offer a high-level view of the architecture; rarely do you hear what it’s like to work in such an environment. Stephen Pember shares his experience migrating from a monolith to microservices across several companies, highlighting the mistakes made along the way and offering advice.
      • 00:30:55

      • Surviving in a microservices environment - Stephen Pember (Toast) - Part 2

        Many presentations on microservices offer a high-level view of the architecture; rarely do you hear what it’s like to work in such an environment. Stephen Pember shares his experience migrating from a monolith to microservices across several companies, highlighting the mistakes made along the way and offering advice.
      • 00:44:59

      • Computational thinking - Sarah Aslanifar (DevMynd and Tested Minds)

        We have a choice in designing our careers: follow the path of a technologist, exploiting a tech, or become a computational thinker who can address a much broader set of problems. Sarah Aslanifar compares the human mind to a computer, discusses ways to build intuition for your code, and teaches you some techniques to learn more efficiently and retrieve information more quickly.
      • 00:43:06

      • Evolving to microservices: SmartThings case study - Jeff Beck (SmartThings)

        Jeff Beck has been on a five-year journey evolving the architecture at SmartThings, moving from one monolith and three supporting services to more than one hundred microservices and expanding from a US-only platform to a worldwide IoT platform. The architecture has been shaped by product and organizational needs. Join Jeff to explore the major architectural eras iterated on the platform.
      • 00:38:07

      • Free as in puppies: Toward a better build-versus-buy understanding - Heidi Waterhouse (LaunchDarkly)

        A free puppy is great but also takes a lot of time, energy, and money. Likewise, when we make a build-versus-buy calculation, it's easy to miss several important parts of the calculation, including maintenance, updating, security, availability, and finding operators. None of those are easy to articulate or value for either side. Join Heidi Waterhouse to learn why business value is more than money.
      • 00:37:14

      • Service mesh: A new pattern, not a new technology - Marco Palladino (Kong)

        Vendors are trying to frame mesh as a new technology. However, just microservices are a pattern, not a specific technology, a service mesh is a new way to deploy features that were previously the domain of API management. Marco Palladino discusses the architectural pattern of the service mesh, the reasons for its emergence, and the technical requirements for meshes.
      • 00:50:59

      • In search of domain-driven design - Anuar Nurmakanov (EPAM)

        As one of the key drivers, an architect must be able to answer to any questions coming from developers, business analysts, and even Scrum Masters. Anuar Nurmakanov shares a journey using DDD and the many problems they faced. He shows what an architect can do to influence a team to start and keep using DDD even if facing obstacles and problems. Real life experience from the trenches
      • 00:43:38

      • Serverless for satellite imagery processing pipelines - Alex Kudriashova (Astro Digital)

        Over the last decade, a large number of optical, radar, and laser remote-sensing satellites were launched. Today, they provide daily global observation of the surface and enable extracting insights from the data that can be used in various industries from agriculture monitoring to mining and urban development. There are certain challenges to using satellite data, including low latency and accessibility issues caused by the pattern of mission operation and spacecraft orbit; large frame size (while in practice the area of interest may cover only 1% of the scene); and interoperability of the datasets from different sensors of different providers. All these challenges can be addressed based on using public cloud processing infrastructure with serverless processing nodes. Drawing on a practical example of a project to build a satellite-processing infrastructure—which covers the whole set of tasks from on-orbit operations to downlink, cross-calibration, and imaging product delivery—Alex Kudriashova walks you through designing and building an entire processing infrastructure and discusses its challenges.
      • 00:20:12

      • Testing microservices with consumer-driven contracts - Andrew Morgan (Independent)

        Testing microservices can be hard, as often they’re coupled together through APIs or messaging. This can lead to too much reliance on slow end-to-end testing or unreliable unit tests caused by inaccurate stubs of other microservices. Andrew Morgan introduces the consumer-driven contract testing technique, a TDD at the API level approach for microservices that aims to mitigate these problems.
      • 00:40:27

      • Applying reusability in information architecture - Edwin Maldonado (Contentful) - Part 1

        Software engineers usually find themselves changing hard-coded content on the presentation layer, changing a paragraph here and there; that’s difficult to maintain and hard to scale. Now imagine you have to support and apply the same changes on the website and other devices. Edwin Maldonado provides the tools you need to design a reusable information architecture.
      • 00:38:44

      • Applying reusability in information architecture - Edwin Maldonado (Contentful) - Part 2

        Software engineers usually find themselves changing hard-coded content on the presentation layer, changing a paragraph here and there; that’s difficult to maintain and hard to scale. Now imagine you have to support and apply the same changes on the website and other devices. Edwin Maldonado provides the tools you need to design a reusable information architecture.
      • 00:49:11

      • Applying reusability in information architecture - Edwin Maldonado (Contentful) - Part 3

        Software engineers usually find themselves changing hard-coded content on the presentation layer, changing a paragraph here and there; that’s difficult to maintain and hard to scale. Now imagine you have to support and apply the same changes on the website and other devices. Edwin Maldonado provides the tools you need to design a reusable information architecture.
      • 00:24:11

      • Shaping and communicating architecture - Seth Dobbs (Bounteous) - Part 1

        Communication is not an optional soft skill for architects—it's essential to our success. We can have the most brilliant ideas, but if we're ineffective in communicating their value or if we can't obtain buy-in from our stakeholders, we won't be successful. Seth Dobbs shares a process for effectively shaping and communicating your solutions to different stakeholders.
      • 00:39:22

      • Shaping and communicating architecture - Seth Dobbs (Bounteous) - Part 2

        Communication is not an optional soft skill for architects—it's essential to our success. We can have the most brilliant ideas, but if we're ineffective in communicating their value or if we can't obtain buy-in from our stakeholders, we won't be successful. Seth Dobbs shares a process for effectively shaping and communicating your solutions to different stakeholders.
      • 00:34:32

      • Shaping and communicating architecture - Seth Dobbs (Bounteous) - Part 3

        Communication is not an optional soft skill for architects—it's essential to our success. We can have the most brilliant ideas, but if we're ineffective in communicating their value or if we can't obtain buy-in from our stakeholders, we won't be successful. Seth Dobbs shares a process for effectively shaping and communicating your solutions to different stakeholders.
      • 00:19:43

      • Shaping and communicating architecture - Seth Dobbs (Bounteous) - Part 4

        Communication is not an optional soft skill for architects—it's essential to our success. We can have the most brilliant ideas, but if we're ineffective in communicating their value or if we can't obtain buy-in from our stakeholders, we won't be successful. Seth Dobbs shares a process for effectively shaping and communicating your solutions to different stakeholders.
      • 00:41:28

      • Thinking architecturally - Nathaniel Schutta (Pivotal) - Part 1

        As architects, it is our responsibility to effectively guide our teams on the technology journey. Nathaniel Schutta outlines the importance of trade-offs, how we can analyze new technologies, and how we can effectively capture the inevitable architectural decisions we'll make.
      • 00:31:14

      • Thinking architecturally - Nathaniel Schutta (Pivotal) - Part 2

        As architects, it is our responsibility to effectively guide our teams on the technology journey. Nathaniel Schutta outlines the importance of trade-offs, how we can analyze new technologies, and how we can effectively capture the inevitable architectural decisions we'll make.
      • 00:38:28

      • Thinking architecturally - Nathaniel Schutta (Pivotal) - Part 3

        As architects, it is our responsibility to effectively guide our teams on the technology journey. Nathaniel Schutta outlines the importance of trade-offs, how we can analyze new technologies, and how we can effectively capture the inevitable architectural decisions we'll make.
      • 00:26:24

      • Thinking architecturally - Nathaniel Schutta (Pivotal) - Part 4

        As architects, it is our responsibility to effectively guide our teams on the technology journey. Nathaniel Schutta outlines the importance of trade-offs, how we can analyze new technologies, and how we can effectively capture the inevitable architectural decisions we'll make.
      • 00:24:55

O'Reilly Software Architecture Conference 2019 - San Jose, California

  • Publisher: O'Reilly Media
  • Released: June 2019
  • Run time: 63 hours 22 minutes

The O'Reilly Software Architecture Conference San Jose 2019 (SACON) gathered the world's leading software architects and engineers to give presentations on software architecture's most useful technologies, trends, and techniques. This video compilation gives you complete access to the best of SACON's keynotes, tutorials, and technical sessions. It contains hours of material to review and study at your own pace. Whether you are optimizing legacy systems or migrating to cloud native architecture, this compilation from SACON San Jose 2019 offers you the insights and training you need to get to the next level.

Highlights include:

  • Contains hours of video recordings from the best of SACON San Jose 2019's keynotes, tutorials, and technical sessions.
  • 3.5 hour tutorials like Christian Hernandez's (Red Hat) hands-on introduction to Kubernetes and OpenShift; Nathaniel Schutta's (Pivotal) deep dive into trade-off analysis and how to use it to strategically choose the correct technology for your projects; and Valentina Rodriguez's (Independent) reveal of the twelve essential principles of architecture design in Agile environments.
  • Keynotes from Rebecca Wirfs-Brock (Wirfs-Brock Associates), Michael Feathers (R7K Research and Conveyance), Adam Tornhill (Empear), Rebecca Parsons (ThoughtWorks), and Neal Ford (ThoughtWorks).
  • Application Architecture sessions, such as Stefania Stefansdottir's (ThoughtWorks) walk through of the practices all new architects and tech leads should keep in mind when starting a new project; Ian Varley (Salesforce) on spotting and correcting the cognitive biases that undermine your software architecture; and Andrew Bonham and Thiagarajan Subramanian's (Capital One) review of how to use reactive architecture and microservices, machine learning, H20, Akka, and Kafka.
  • Microservices sessions, including Kasun Indrasiri's (WSO2) in-depth overview of common microservice resiliency patterns such as timeout, retry, circuit breaker, fail-fast, bulkhead, transactions, and more; Nathaniel Schutta (Pivotal) on the factors used to decide if something deserves to be a microservice or not; and Samir Behara (EBSCO) on building scalable microservice architectures with Envoy, Kubernetes, and Isti.
  • Enterprise Architecture sessions, including Heidi Waterhouse (Launch Darkly) on the smartest ways to achieve build-versus-buy decisions; Cat Swetel (Ticketmaster) on using value network mapping and real options theory to evolve monolithic software; and Paula Paul and Cassandra Shum's (ThoughtWorks) look at the benefits of expressing architecture through code and driving development with fitness functions.
  • Cloud Native sessions, such as Nathaniel Schutta (Pivotal) on the top strategies to follow when moving heritage systems to the cloud; Simon Zeltser (Google) on distributed tracing and monitoring with OpenCensus; and Lena Hall (Microsoft) and Adron Hall (DataStax) on choosing a platform (Terraform, AWS CloudFormation, Azure Resource Manager, etc.) to manage a cloud system.
  • Fundamentals sessions, including Isobel Redelmeier (LightStep) on how to use observability to refactor old code and Wendy Knox Everette (Leviathan Security) on why security engineering shouldn't just be a bolt-on to your application development process.
  • DevOps & Continuous Delivery sessions, such as Mandy Waite's (Google) review of the research-based best practices that make DevOps teams more productive and Nick Tune's (Empathy Software) look into the socio-technical mindset and the role it plays in boosting continuous delivery performance.
  • Multiple sessions on leadership, distributed systems, serverless, containers, containers orchestration, scale, chaos engineering, and more.