The document outlines Daniel Bryant's presentation on "The Seven (More) Deadly Sins of Microservices". It discusses common pitfalls when adopting a microservices architecture, including lusting after the latest technology, communication lock-in between services, not properly addressing non-functional requirements, and challenges around testing transient systems. Bryant provides examples and recommendations to avoid these sins, such as evaluating technology fit, avoiding single domain models, and employing service virtualization tools for testing.
microXchg 2017: "Microservices: The People and Organisational Impact"Daniel Bryant
Microservices are where it's at. Everything is easier to manage when it's micro, right? Micro code bases (less than 10 LOC), micro containers (less than 10Mb), and micro teams (less than one person???). 'Micro' things may appear to be easier to manage, but there is always a macro context, and working with people and teams is no exception. This talk presents some of the challenges the OpenCredo team have seen when implementing microservices within a range of organisations, and we'll suggest tricks and techniques to help you manage your 'micro' teams and the 'macro' level.
Topics covered include: empathy - because understanding others is at the heart of everything you do; leadership - advice on creating shared understanding, conveying strategy, and developing your team; organisational structure - from Zappos' holocracy to MegaOrg's strict hierarchy, from Spotify's squads, chapters and guilds, to BigCorp's command and control. There is a management style for everybody; and more
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"Daniel Bryant
It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk Daniel will introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include:
Envy - introducing inappropriate intimacy within services by creating a shared domain model, and how many teams deploy and use data stores incorrectly;
Wrath - failing to deal with the inevitable bad things that occur within a distributed system;
Sloth - ignoring the importance of NFRs; and
Lust - embracing the latest and greatest technology without evaluating the impact incurred by these choices.
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
All is not completely rosy in microservice-land. It’s often a sign of an architectural approach’s maturity that anti-patterns begin to be identified and classified alongside well-established principles and practices. Daniel Bryant introduces seven deadly sins from real projects, which left unchecked could easily ruin your next microservices project.
Daniel offers an updated tour of some of the nastiest anti-patterns in microservices from several real-world projects he’s encountered as a consultant, providing a series of anti-pattern “smells” to watch out for and exploring the tools and techniques you need to avoid or mitigate the potential damage.
Topics include:
Pride: the admission of the challenges with testing in a distributed system
Envy: introducing inappropriate intimacy within services by creating a shared “canonical” domain model
Wrath: failing to deal with the inevitable bad things that occur when operating new technologies, both from the people and technical aspects
Sloth: composing services in a lazy fashion, which ultimately leads to the creation of a "distributed monolith”
Lust: embracing the latest and greatest technology without evaluating the operational impact incurred by these choices
CraftConf 2017 "Microservices: The Organisational and People Impact"Daniel Bryant
Microservices are where it's at. Everything is easier to manage when it's micro, right? Micro code bases (less than 10 LOC), micro containers (less than 10Mb), and micro teams (less than one person???). 'Micro' things may appear to be easier to manage, but there is always a macro context, and working with people and teams is no exception. This talk presents some of the challenges the OpenCredo team have seen when implementing microservices within a range of organisations, and we'll suggest tricks and techniques to help you manage your 'micro' teams and the 'macro' level.
Topics covered include: empathy - because understanding others is at the heart of everything you do; leadership - advice on creating shared understanding, conveying strategy, and developing your team; organisational structure - from Zappos' holocracy to MegaOrg's strict hierarchy, from Spotify's squads, chapters and guilds, to BigCorp's command and control. There is a management style for everybody; and more
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
There is trouble brewing in the land of microservices – today’s shiny technology is tomorrow’s legacy, and there is concern that we will all be dealing with spaghetti services in 2018…
It is often a sign of an architectural approach’s maturity that, in addition to the emergence of well-established principles and practices, anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project…
This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest, greatest (and costly) technology.
O'Reilly SACON NY 2018 "Continuous Delivery Patterns for Contemporary Archite...Daniel Bryant
Last year at this conference we learned from Mark Richards that modern software has almost completed its evolution toward component-based architectures—seen in the mainstream embrace of self-contained systems (SCS), microservices, and serverless architecture. We all know the benefits of component-based architectures, but there are also many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
Topics include:
- The core stages in the component delivery lifecycle: Develop, test, deploy, operate, and observe
- How contemporary architectures impact continuous delivery and how to ensure that this is factored into the design
- Modifying the build pipeline to support testability and deployability of components (with a hat tip to Jez Humble’s and Dave Farley’s seminal work)
- Commonality between delivery of SCS, microservices, and serverless components
- Continuous delivery, service contracts, and end-to-end validation: The good, the bad, and the ugly
- Validating NFRs within a service pipeline
Lessons learned in the trenches
J1 2015 "Thinking Fast and Slow with Software Development"Daniel Bryant
In the international bestseller Thinking, Fast and Slow, Daniel Kahneman explains how we, as human beings, think and reason and, perhaps surprisingly, how our thought processes are often fundamentally flawed and biased. This session explores the ideas presented in the book in the context of professional software development. Along this journey, the presentation also shares techniques, processes, and models that can help overcome some of the identified limitations of our decision-making abilities. Topics discussed include the “availability heuristic,” which can lead developers to choose the “latest and greatest” technology without proper evaluation; “optimistic bias,” which can blind architects so they can’t see the “unknown unknowns” within a project; and more.
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesDaniel Bryant
All is not completely rosy in microservice-land. It’s often a sign of an architectural approach’s maturity that anti-patterns begin to be identified and classified alongside well-established principles and practices. Daniel Bryant introduces seven deadly sins from real projects, which left unchecked could easily ruin your next microservices project.
Daniel offers an updated tour for 2016 of some of the nastiest anti-patterns in microservices from several real-world projects he’s encountered as a consultant, providing a series of anti-pattern “smells” you can sniff out and exploring the tools and techniques you need to avoid or mitigate the potential damage.
Topics include:
- Pride: Selfishly building the wrong thing, such as the “Inter-Domain-Enterprise-Application-Service-Bus” or a fully bespoke infrastructure platform
- Envy: Introducing inappropriate intimacy within services by creating a shared “canonical” domain model
- Wrath: Failing to deal with the inevitable bad things that occur within a distributed system
- Sloth: Composing services in a lazy fashion, which ultimately leads to the creation of a “distributed monolith”
- Lust: Embracing the latest and greatest technology without evaluating the operational impact incurred by these choices
microXchg 2017: "Microservices: The People and Organisational Impact"Daniel Bryant
Microservices are where it's at. Everything is easier to manage when it's micro, right? Micro code bases (less than 10 LOC), micro containers (less than 10Mb), and micro teams (less than one person???). 'Micro' things may appear to be easier to manage, but there is always a macro context, and working with people and teams is no exception. This talk presents some of the challenges the OpenCredo team have seen when implementing microservices within a range of organisations, and we'll suggest tricks and techniques to help you manage your 'micro' teams and the 'macro' level.
Topics covered include: empathy - because understanding others is at the heart of everything you do; leadership - advice on creating shared understanding, conveying strategy, and developing your team; organisational structure - from Zappos' holocracy to MegaOrg's strict hierarchy, from Spotify's squads, chapters and guilds, to BigCorp's command and control. There is a management style for everybody; and more
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"Daniel Bryant
It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk Daniel will introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include:
Envy - introducing inappropriate intimacy within services by creating a shared domain model, and how many teams deploy and use data stores incorrectly;
Wrath - failing to deal with the inevitable bad things that occur within a distributed system;
Sloth - ignoring the importance of NFRs; and
Lust - embracing the latest and greatest technology without evaluating the impact incurred by these choices.
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
All is not completely rosy in microservice-land. It’s often a sign of an architectural approach’s maturity that anti-patterns begin to be identified and classified alongside well-established principles and practices. Daniel Bryant introduces seven deadly sins from real projects, which left unchecked could easily ruin your next microservices project.
Daniel offers an updated tour of some of the nastiest anti-patterns in microservices from several real-world projects he’s encountered as a consultant, providing a series of anti-pattern “smells” to watch out for and exploring the tools and techniques you need to avoid or mitigate the potential damage.
Topics include:
Pride: the admission of the challenges with testing in a distributed system
Envy: introducing inappropriate intimacy within services by creating a shared “canonical” domain model
Wrath: failing to deal with the inevitable bad things that occur when operating new technologies, both from the people and technical aspects
Sloth: composing services in a lazy fashion, which ultimately leads to the creation of a "distributed monolith”
Lust: embracing the latest and greatest technology without evaluating the operational impact incurred by these choices
CraftConf 2017 "Microservices: The Organisational and People Impact"Daniel Bryant
Microservices are where it's at. Everything is easier to manage when it's micro, right? Micro code bases (less than 10 LOC), micro containers (less than 10Mb), and micro teams (less than one person???). 'Micro' things may appear to be easier to manage, but there is always a macro context, and working with people and teams is no exception. This talk presents some of the challenges the OpenCredo team have seen when implementing microservices within a range of organisations, and we'll suggest tricks and techniques to help you manage your 'micro' teams and the 'macro' level.
Topics covered include: empathy - because understanding others is at the heart of everything you do; leadership - advice on creating shared understanding, conveying strategy, and developing your team; organisational structure - from Zappos' holocracy to MegaOrg's strict hierarchy, from Spotify's squads, chapters and guilds, to BigCorp's command and control. There is a management style for everybody; and more
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
There is trouble brewing in the land of microservices – today’s shiny technology is tomorrow’s legacy, and there is concern that we will all be dealing with spaghetti services in 2018…
It is often a sign of an architectural approach’s maturity that, in addition to the emergence of well-established principles and practices, anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project…
This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest, greatest (and costly) technology.
O'Reilly SACON NY 2018 "Continuous Delivery Patterns for Contemporary Archite...Daniel Bryant
Last year at this conference we learned from Mark Richards that modern software has almost completed its evolution toward component-based architectures—seen in the mainstream embrace of self-contained systems (SCS), microservices, and serverless architecture. We all know the benefits of component-based architectures, but there are also many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
Topics include:
- The core stages in the component delivery lifecycle: Develop, test, deploy, operate, and observe
- How contemporary architectures impact continuous delivery and how to ensure that this is factored into the design
- Modifying the build pipeline to support testability and deployability of components (with a hat tip to Jez Humble’s and Dave Farley’s seminal work)
- Commonality between delivery of SCS, microservices, and serverless components
- Continuous delivery, service contracts, and end-to-end validation: The good, the bad, and the ugly
- Validating NFRs within a service pipeline
Lessons learned in the trenches
J1 2015 "Thinking Fast and Slow with Software Development"Daniel Bryant
In the international bestseller Thinking, Fast and Slow, Daniel Kahneman explains how we, as human beings, think and reason and, perhaps surprisingly, how our thought processes are often fundamentally flawed and biased. This session explores the ideas presented in the book in the context of professional software development. Along this journey, the presentation also shares techniques, processes, and models that can help overcome some of the identified limitations of our decision-making abilities. Topics discussed include the “availability heuristic,” which can lead developers to choose the “latest and greatest” technology without proper evaluation; “optimistic bias,” which can blind architects so they can’t see the “unknown unknowns” within a project; and more.
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesDaniel Bryant
All is not completely rosy in microservice-land. It’s often a sign of an architectural approach’s maturity that anti-patterns begin to be identified and classified alongside well-established principles and practices. Daniel Bryant introduces seven deadly sins from real projects, which left unchecked could easily ruin your next microservices project.
Daniel offers an updated tour for 2016 of some of the nastiest anti-patterns in microservices from several real-world projects he’s encountered as a consultant, providing a series of anti-pattern “smells” you can sniff out and exploring the tools and techniques you need to avoid or mitigate the potential damage.
Topics include:
- Pride: Selfishly building the wrong thing, such as the “Inter-Domain-Enterprise-Application-Service-Bus” or a fully bespoke infrastructure platform
- Envy: Introducing inappropriate intimacy within services by creating a shared “canonical” domain model
- Wrath: Failing to deal with the inevitable bad things that occur within a distributed system
- Sloth: Composing services in a lazy fashion, which ultimately leads to the creation of a “distributed monolith”
- Lust: Embracing the latest and greatest technology without evaluating the operational impact incurred by these choices
Metaswitch 2018: "Guns, Germs and Steel (and Microservices)"Daniel Bryant
A lot of the questions I hear at microservice conferences are along the lines of “should I use technology X?” or “what are your thoughts about the Spotify organisation model?” While these focused questions are important, experience has taught Daniel that embracing a disruptive approach to building and operating software, such as that introduced by microservices, requires a much more systemic approach.
Anyone who has read Jared Diamond’s seminal book on history “Guns, Germs, and Steel”, which explains why over the past 13,000 years Eurasian and North African civilizations have survived and conquered others, will recognise that environmental differences could be at the core to making systemic changes. Following in Diamond’s footsteps, in this talk Daniel will share with you potential "environmental differences” that makes a microservice implementation successful.
Key topics and takeaways:
- The importance of communicating the strategy and vision of a microservices migration.
- How to establish and act upon architectural feedback.
- An overview of core technology components, and how they fit into the dev, test and operation of microservices.
DevOpsCon 2017 "Continuous Delivery with Containers"Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications. Topics covered include: The impact of containers on CD, Adding metadata to container images, Validating NFR changes imposed by executing Java applications within a container, Lessons learned the hard way (in production).
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...Daniel Bryant
[Many thanks to Nginx for sponsoring this O'Reilly webinar!]
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this webcast we will look at the steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Creating a container pipeline (including functional and nonfunctional testing)
- Lessons learned the hard way
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" is also available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
Two years ago at Devoxx UK we talked about DevOps, what it was, why it was important and how to get started. Boy, was it scary. Now we’re wiser. More battle-scarred. The large scale of the challenge for application writers exploiting cloud and DevOps is clearer, but so is the path forward. Understanding the DevOps approach is important, but equally you must understand specific deployment technologies, security issues, operational reliability, and how to drive organisational transformation. Whether creating simple applications or sophisticated microservice architectures many of the challenges are the same. Join us to learn how you can apply this within your team and company.
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...Daniel Bryant
The technology changes required when implementing a microservice-based application are only one part of the equation. The business and organisation will also most likely have to fundamentally change. In an ideal world, this shouldn’t be a problem - what with the rise of agile, lean and DevOps - but this is not always the situation Daniel encounters in his consulting travels. He would like to share with you some stories of successful (and not so successful) strategies and tactics he has used over the past four years when introducing service-oriented architecture into organisations.
Join Daniel for a whistle-stop tour of the business and people challenges that he has experienced first hand when implementing a greenfield microservice project, and also breaking down a monolith. You will discover ‘divided companies’ vs ‘connected companies’, determine the actual impact of conway's law, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation.
Microservices: The Organizational and People ImpactAmbassador Labs
Microservices are where it's at. Everything is easier to manage when it's micro, right? Micro code bases (less than 10 LOC), micro containers (less than 10Mb), and micro teams (less than one person???). 'Micro' things may appear to be easier to manage, but there is always a macro context, and working with people and teams is no exception. This talk presents some of the challenges the OpenCredo team have seen when implementing microservices within a range of organisations, and we'll suggest tricks and techniques to help you manage your 'micro' teams and the 'macro' level.
Topics covered include: empathy - because understanding others is at the heart of everything you do; leadership - advice on creating shared understanding, conveying strategy, and developing your team; organisational structure - from Zappos' holocracy to MegaOrg's strict hierarchy, from Spotify's squads, chapters and guilds, to BigCorp's command and control. There is a management style for everybody; and more
OC 2015: The Business Behind MicroservicesDaniel Bryant
The technology changes required when implementing a microservice-based application are only one part of the equation. The business and organisation will also most likely have to fundamentally change. In an ideal world, this shouldn’t be a problem – what with the rise of agile, lean and DevOps – but this is not always the situation I encounter in my consulting travels. I would like to share some stories of successful (and not so successful) strategies and tactics I have used over the past four years when introducing service-oriented architecture into organisations.
Join me for a whistle-stop tour of the business and people challenges that I have experienced first hand when implementing a greenfield microservice project, and also breaking down a monolith. We’ll look at ‘divided companies’ vs ‘connected companies’, determine the actual impact of conway’s law, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation.
vJUG24 2017 "Continuous Delivery Patterns for Contemporary Architecture"Daniel Bryant
VJUG24 SESSION: CONTINUOUS DELIVERY PATTERNS FOR THE MODERN JAVA DEVELOPER (I.E. ALL OF US!)
Modern software architecture is evolving towards fully component-based systems, but there can be many challenges in delivering these applications in a continuous, safe and rapid fashion. This talk presents a series of patterns that will help developers implement continuous delivery solutions.
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on continuous delivery with Java
- The importance of adding metadata to container images
- Validating NFR changes imposed by executing Java applications within a container
- Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ...Daniel Bryant
The technology changes required when implementing a microservice-based application are only one part of the equation. The business and organisation will also most likely have to fundamentally change. In an ideal world, this shouldn’t be a problem – what with the rise of agile, lean and DevOps – but this is not always the situation Daniel encounters in his consulting travels. He would like to share with you some stories of successful (and not so successful) strategies and tactics he has used over the past four years when introducing service-oriented architecture into organisations.
Join Daniel for a whistle-stop tour of the business and technical people challenges that he has experienced first hand when implementing a greenfield microservice project, and also breaking down a monolith. You will discover ‘divided companies’ vs ‘connected companies’, determine the actual impact of Conway’s Law on architecture and operations, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation.
ZTLive 2016 "Introduction to Microservices"Daniel Bryant
We’ll begin our webinar with a high-level overview of the concepts of microservices, from the perfect storm of programmable infrastructure, new architectural concepts and DevOps, to key building blocks of a microservice architecture, like API design, service discovery and fault tolerance.
http://zeroturnaround.com/webinar/
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"Daniel Bryant
My thoughts on applying software craftsmanship principles to the world on DevOps. Presented at the London Software Craftsmanship Community, July 18th 2014
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices.
SC 2015: Thinking Fast and Slow with Software DevelopmentDaniel Bryant
In the international bestseller ‘Thinking, Fast and Slow’, Daniel Kahneman explains how we as human beings think and reason, and perhaps surprisingly how our thought processes are often fundamentally flawed and biased. This talk explores the ideas presented in the book in the context of professional software development. As software developers we all like to think that we are highly logical, and make only rational choices, but after reading the book I’m not so sure. Here I’ll share my thinking on thinking. Topics that will be discussed include; the ‘Availability Heuristic’, which can lead developers to choose the ‘latest and greatest’ technology without proper evaluation; ‘Optimistic Bias’ which can blind architects from the ‘unknown unknowns’ within a project; and more!
SpringOne Platform 2016
Speaker: Doug Sherman; Principal Engineer, DreamWorks
DreamWorks Animation is a company that has historically thrived on taking advantage of cutting edge technologies and has more currently set its sights on further utilizing Microservices and the Cloud as part of its movie making process. This session will review the efforts that took place in both the initial phases which incorporated targeted parts of the Spring Framework, as well as more current efforts that leveraged Spring projects such as Spring Boot, Spring Data and Spring Cloud. Highlighted throughout the talk will be examples demonstrating the pros and cons of various approaches taken, including the social engineering aspects of changing a movie making culture to fully embrace what it means to adopt a Microservices platform.
Exploring the drivers behind the Microservices hype, and defining the prerequisites in architecture and infrastructure needed before contemplating this path.
Presented at the first Sydney Microservices Meetup - Small Talk.
Pragmatic Security and Rugged DevOps - SXSW 2015James Wickett
From SXSW Interactive 2015
Writing code that works is hard. Writing rugged code that can stand the test of time is even harder. This difficulty is often compounded by crunched timelines and fast cycles that prioritize new features. Add in evolving business needs and new technology and it becomes confusing to know what to do and how to integrate security into your application.
This workshop brings in some of the top developers and application security practitioners to help you ruggedize your end-to-end development lifecycle from code commit to running system.
Three Takeaways:
1. You will learn pragmatic approaches and tooling that will affect your development processes and delivery pipelines.
2. Armed with tools and ideas for monitoring your operational and runtime security.
3. You will walk away with code examples and tools that you can put into practice right away for security and rugged testing.
http://schedule.sxsw.com/2015/events/event_IAP35935
OpenCredo: "A Guide to Becoming Famous within IT"Daniel Bryant
My thoughts on how to gain fame within the software development industry, that have been shared both internally at OpenCredo, and also at the LJC Open Conference last year
Microservices: Organizing Large Teams for Rapid DeliveryVMware Tanzu
SpringOne Platform 2016
Speakers: Patricia Anderson; Senior Consultant, Credera. Micah Blalock; Senior Architect, Credera. Jason Goth; Principal Architect, Credera.
A microservice architecture is pattern that is most commonly associated with larger organizations where services and teams are organized around separate business capabilities. In a project our team recently completed, we used a microservice architecture to allow us to organize a large team to develop a large analytics platform at speeds that would not have been possible using a more typical service-oriented architecture.
In this session, we discuss the organizational structure and communication and development strategies and tools to allow teams to work in parallel without drowning in process overhead and coordination costs.
Metaswitch 2018: "Guns, Germs and Steel (and Microservices)"Daniel Bryant
A lot of the questions I hear at microservice conferences are along the lines of “should I use technology X?” or “what are your thoughts about the Spotify organisation model?” While these focused questions are important, experience has taught Daniel that embracing a disruptive approach to building and operating software, such as that introduced by microservices, requires a much more systemic approach.
Anyone who has read Jared Diamond’s seminal book on history “Guns, Germs, and Steel”, which explains why over the past 13,000 years Eurasian and North African civilizations have survived and conquered others, will recognise that environmental differences could be at the core to making systemic changes. Following in Diamond’s footsteps, in this talk Daniel will share with you potential "environmental differences” that makes a microservice implementation successful.
Key topics and takeaways:
- The importance of communicating the strategy and vision of a microservices migration.
- How to establish and act upon architectural feedback.
- An overview of core technology components, and how they fit into the dev, test and operation of microservices.
DevOpsCon 2017 "Continuous Delivery with Containers"Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications. Topics covered include: The impact of containers on CD, Adding metadata to container images, Validating NFR changes imposed by executing Java applications within a container, Lessons learned the hard way (in production).
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...Daniel Bryant
[Many thanks to Nginx for sponsoring this O'Reilly webinar!]
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this webcast we will look at the steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Creating a container pipeline (including functional and nonfunctional testing)
- Lessons learned the hard way
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" is also available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
Two years ago at Devoxx UK we talked about DevOps, what it was, why it was important and how to get started. Boy, was it scary. Now we’re wiser. More battle-scarred. The large scale of the challenge for application writers exploiting cloud and DevOps is clearer, but so is the path forward. Understanding the DevOps approach is important, but equally you must understand specific deployment technologies, security issues, operational reliability, and how to drive organisational transformation. Whether creating simple applications or sophisticated microservice architectures many of the challenges are the same. Join us to learn how you can apply this within your team and company.
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...Daniel Bryant
The technology changes required when implementing a microservice-based application are only one part of the equation. The business and organisation will also most likely have to fundamentally change. In an ideal world, this shouldn’t be a problem - what with the rise of agile, lean and DevOps - but this is not always the situation Daniel encounters in his consulting travels. He would like to share with you some stories of successful (and not so successful) strategies and tactics he has used over the past four years when introducing service-oriented architecture into organisations.
Join Daniel for a whistle-stop tour of the business and people challenges that he has experienced first hand when implementing a greenfield microservice project, and also breaking down a monolith. You will discover ‘divided companies’ vs ‘connected companies’, determine the actual impact of conway's law, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation.
Microservices: The Organizational and People ImpactAmbassador Labs
Microservices are where it's at. Everything is easier to manage when it's micro, right? Micro code bases (less than 10 LOC), micro containers (less than 10Mb), and micro teams (less than one person???). 'Micro' things may appear to be easier to manage, but there is always a macro context, and working with people and teams is no exception. This talk presents some of the challenges the OpenCredo team have seen when implementing microservices within a range of organisations, and we'll suggest tricks and techniques to help you manage your 'micro' teams and the 'macro' level.
Topics covered include: empathy - because understanding others is at the heart of everything you do; leadership - advice on creating shared understanding, conveying strategy, and developing your team; organisational structure - from Zappos' holocracy to MegaOrg's strict hierarchy, from Spotify's squads, chapters and guilds, to BigCorp's command and control. There is a management style for everybody; and more
OC 2015: The Business Behind MicroservicesDaniel Bryant
The technology changes required when implementing a microservice-based application are only one part of the equation. The business and organisation will also most likely have to fundamentally change. In an ideal world, this shouldn’t be a problem – what with the rise of agile, lean and DevOps – but this is not always the situation I encounter in my consulting travels. I would like to share some stories of successful (and not so successful) strategies and tactics I have used over the past four years when introducing service-oriented architecture into organisations.
Join me for a whistle-stop tour of the business and people challenges that I have experienced first hand when implementing a greenfield microservice project, and also breaking down a monolith. We’ll look at ‘divided companies’ vs ‘connected companies’, determine the actual impact of conway’s law, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation.
vJUG24 2017 "Continuous Delivery Patterns for Contemporary Architecture"Daniel Bryant
VJUG24 SESSION: CONTINUOUS DELIVERY PATTERNS FOR THE MODERN JAVA DEVELOPER (I.E. ALL OF US!)
Modern software architecture is evolving towards fully component-based systems, but there can be many challenges in delivering these applications in a continuous, safe and rapid fashion. This talk presents a series of patterns that will help developers implement continuous delivery solutions.
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on continuous delivery with Java
- The importance of adding metadata to container images
- Validating NFR changes imposed by executing Java applications within a container
- Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ...Daniel Bryant
The technology changes required when implementing a microservice-based application are only one part of the equation. The business and organisation will also most likely have to fundamentally change. In an ideal world, this shouldn’t be a problem – what with the rise of agile, lean and DevOps – but this is not always the situation Daniel encounters in his consulting travels. He would like to share with you some stories of successful (and not so successful) strategies and tactics he has used over the past four years when introducing service-oriented architecture into organisations.
Join Daniel for a whistle-stop tour of the business and technical people challenges that he has experienced first hand when implementing a greenfield microservice project, and also breaking down a monolith. You will discover ‘divided companies’ vs ‘connected companies’, determine the actual impact of Conway’s Law on architecture and operations, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation.
ZTLive 2016 "Introduction to Microservices"Daniel Bryant
We’ll begin our webinar with a high-level overview of the concepts of microservices, from the perfect storm of programmable infrastructure, new architectural concepts and DevOps, to key building blocks of a microservice architecture, like API design, service discovery and fault tolerance.
http://zeroturnaround.com/webinar/
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"Daniel Bryant
My thoughts on applying software craftsmanship principles to the world on DevOps. Presented at the London Software Craftsmanship Community, July 18th 2014
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices.
SC 2015: Thinking Fast and Slow with Software DevelopmentDaniel Bryant
In the international bestseller ‘Thinking, Fast and Slow’, Daniel Kahneman explains how we as human beings think and reason, and perhaps surprisingly how our thought processes are often fundamentally flawed and biased. This talk explores the ideas presented in the book in the context of professional software development. As software developers we all like to think that we are highly logical, and make only rational choices, but after reading the book I’m not so sure. Here I’ll share my thinking on thinking. Topics that will be discussed include; the ‘Availability Heuristic’, which can lead developers to choose the ‘latest and greatest’ technology without proper evaluation; ‘Optimistic Bias’ which can blind architects from the ‘unknown unknowns’ within a project; and more!
SpringOne Platform 2016
Speaker: Doug Sherman; Principal Engineer, DreamWorks
DreamWorks Animation is a company that has historically thrived on taking advantage of cutting edge technologies and has more currently set its sights on further utilizing Microservices and the Cloud as part of its movie making process. This session will review the efforts that took place in both the initial phases which incorporated targeted parts of the Spring Framework, as well as more current efforts that leveraged Spring projects such as Spring Boot, Spring Data and Spring Cloud. Highlighted throughout the talk will be examples demonstrating the pros and cons of various approaches taken, including the social engineering aspects of changing a movie making culture to fully embrace what it means to adopt a Microservices platform.
Exploring the drivers behind the Microservices hype, and defining the prerequisites in architecture and infrastructure needed before contemplating this path.
Presented at the first Sydney Microservices Meetup - Small Talk.
Pragmatic Security and Rugged DevOps - SXSW 2015James Wickett
From SXSW Interactive 2015
Writing code that works is hard. Writing rugged code that can stand the test of time is even harder. This difficulty is often compounded by crunched timelines and fast cycles that prioritize new features. Add in evolving business needs and new technology and it becomes confusing to know what to do and how to integrate security into your application.
This workshop brings in some of the top developers and application security practitioners to help you ruggedize your end-to-end development lifecycle from code commit to running system.
Three Takeaways:
1. You will learn pragmatic approaches and tooling that will affect your development processes and delivery pipelines.
2. Armed with tools and ideas for monitoring your operational and runtime security.
3. You will walk away with code examples and tools that you can put into practice right away for security and rugged testing.
http://schedule.sxsw.com/2015/events/event_IAP35935
OpenCredo: "A Guide to Becoming Famous within IT"Daniel Bryant
My thoughts on how to gain fame within the software development industry, that have been shared both internally at OpenCredo, and also at the LJC Open Conference last year
Microservices: Organizing Large Teams for Rapid DeliveryVMware Tanzu
SpringOne Platform 2016
Speakers: Patricia Anderson; Senior Consultant, Credera. Micah Blalock; Senior Architect, Credera. Jason Goth; Principal Architect, Credera.
A microservice architecture is pattern that is most commonly associated with larger organizations where services and teams are organized around separate business capabilities. In a project our team recently completed, we used a microservice architecture to allow us to organize a large team to develop a large analytics platform at speeds that would not have been possible using a more typical service-oriented architecture.
In this session, we discuss the organizational structure and communication and development strategies and tools to allow teams to work in parallel without drowning in process overhead and coordination costs.
Managing a Microservices Development Team (And advanced Microservice concerns)Steve Pember
So you’re decided to make the transition to a Microservice Architecture. You’ve spent time doing the research. You’ve designed out the responsibilities of each service with your team. You’ve read and memorized the entire article Martin Fowler wrote on the subject. Now, you’re running a team that’s tasked with building some Microservices. You’re built or extracted your first services. You’ve been successfully transmitting data between these services. What next? What should you be aware of? What should keep you up at night?
In this talk we’ll begin with a brief introduction to the architecture pattern before covering some of the more advanced topics when developing Microservices, focusing primarily on team management and service design philosophy. We’ll discuss the CAP theorem and why it should be your obsession. We’ll look at how Conway’s Law should be taken seriously and how it can serve as a warning to facilitate better communication between teams. Finally we’ll examine some common pitfalls of Microservices architectures and how they can be mitigated.
muCon 2016: "Seven (More) Deadly Sins of Microservices"Daniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk Daniel will introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include:
Envy - introducing inappropriate intimacy within services by creating a shared domain model, and how many teams deploy and use data stores incorrectly;
Wrath - failing to deal with the inevitable bad things that occur within a distributed system;
Sloth - ignoring the importance of NFRs; and
Lust - embracing the latest and greatest technology without evaluating the impact incurred by these choices.
This is an all-new 2016 version of Daniel's popular 'deadly sins talk' that was recently presented at QCon NY. The talk received 94% highest rating, and was the fifth most attended talk at the conference. Daniel plans to continually improve the presentation based on his learnings and attendee feedback.
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
There are numerous examples of DevOps and Continuous Delivery reference architectures available, and each of them vary in levels of detail, tools highlighted, and processes followed. Yet, there is a constant theme among the tool sets: Jenkins, Maven, Sonatype Nexus, Subversion, Git, Docker, Puppet/Chef, Rundeck, ServiceNow, and Sonar seem to show up time and again.
Lessons From A Decade In Media EntrepreneurshipRafat Ali
20 lessons I have learned from spending a decade plus in vertical media entrepreneurship, creating and building two companies: paidContent and now Skift.
LJC 2015 "The Crafty Consultants Guide to DevOps"Daniel Bryant
Come along and learn how the Crafty Consultant makes his money by consulting craftily in DevOps. We'll see how silos can be broken down by introducing more independent and isolated team, how only idiots automate everything, and why monitoring only provides actionable insight that simply confuses your clients...
...and then we'll look at the real world implementation of DevOps :-) The primary aims of this talk are to introduce the concepts behind the DevOps movement, and we'll do this by debunking all of the Crafty Consultant's advice. We'll cover the drivers of breaking down silos (in business and in tech), the benefits of automation (especially with provisioning and configuring infrastructure), and the power that monitoring provides (particularly when deploying to the cloud, or implementing a microservice architecture).
Jfokus 2015 "Thinking Fast and Slow with Software Development"Daniel Bryant
In the international bestseller 'Thinking, Fast and Slow', Daniel Kahneman explains how we as human beings think and reason, and perhaps surprisingly how our thought processes are often fundamentally flawed and biased. This talk explores the ideas presented in the book in the context of professional software development. As software developers we all like to think that we are highly logical, and make only rational choices, but after reading the book I'm not so sure. Here I'll share my thinking on thinking. Topics that will be discussed include; the 'Availability Heuristic', which can lead developers to choose the 'latest and greatest' technology without proper evaluation; 'Optimistic Bias' which can blind architects from the 'unknown unknowns' within a project; and more!
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
There is trouble brewing in the land of microservices – today’s shiny technology is tomorrow’s legacy, and there is concern that we will all be dealing with spaghetti services in 2018…
It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project…
CTOs in London "The Challenges of Evaluating Development Technology Within th...Daniel Bryant
As a technology-focused CTO it can be very challenging to effectively bridge the goals between the business and technology. A primary challenge is maintaining an awareness of current (and future) technologies that could add value to your business, and developing the knowledge and skills to correctly evaluate them the unique perspective (and incentives) of the CTO position. This talk aims to share some of the techniques the OpenCredo team have identified over the past decade of working alongside technology leaders from a variety of organisations.
The London Web "Empathy - The Hidden Ingredient of Good Software Development"Daniel Bryant
When I ask fellow developers what they think about empathy, the answer is often “not much”. However, I believe that the skill of empathy, being able to place yourself in another’s position, is crucial to designing, building and operating software at any scale. Join me for a whistle stop tour of the benefits of empathy, which I have learned from working on a wide variety of software projects over the previous ten years. I will share stories of success and failure, and suggest practical techniques that you can harness in order to help your team develop empathy.
When gathering requirements and performing business analysis, it is obvious that the ability to experience from within another user/customer/being's frame of reference is a valuable skill, but the same can be said when writing code. If we follow Martin Fowler’s train of thought where “any fool can write code that a computer can understand. Good programmers write code that humans can understand” we can see that empathy is at the heart of this skill. We could also argue that the rise of “DevOps” is simply both sides of the traditional divide trying to understand each other better. Developing the skill of empathy isn’t necessarily easy, but in this talk I will share my learnings, techniques and tricks for developing more effective software.
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"Daniel Bryant
(Updated for Sept 2016, and Java-themed as this talk was presented as part of the 'Virtual JUG' vJUG24 event on 27th Sept)
There is trouble brewing in the land of microservices – today’s shiny technology is tomorrow’s legacy, and there is concern that we will all be dealing with spaghetti services in 2018…
It is often a sign of an architectural approach’s maturity that, in addition to the emergence of well-established principles and practices, anti-patterns also begin to be identified and classified. In this talk we introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project…
This talk will feature as a session in vJUG24, the first 24 hour virtual Java Conference in the World. More information is available at http://virtualjug.com/vJUG24/
Haufe #msaday - Seven More Deadly Sins of Microservices by Daniel Bryant OpenCredo
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk Daniel will introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include:
Envy - introducing inappropriate intimacy within services by creating a shared domain model, and how many teams deploy and use data stores incorrectly;
Wrath - failing to deal with the inevitable bad things that occur within a distributed system;
Sloth - ignoring the importance of NFRs; and
Lust - embracing the latest and greatest technology without evaluating the impact incurred by these choices.
This is an all-new 2016 version of Daniel's popular 'deadly sins talk' that was recently presented at QCon NY. The talk received 94% highest rating, and was the fifth most attended talk at the conference. Daniel plans to continually improve the presentation based on his learnings and attendee feedback.
O'Reilly SACON "Continuous Delivery Patterns for Contemporary Architecture"Daniel Bryant
Last year at this conference we learned from Mark Richards that modern software has almost completed its evolution toward component-based architectures—seen in the mainstream embrace of self-contained systems (SCS), microservices, and serverless architecture. We all know the benefits of component-based architectures, but there are also many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
Topics include:
- The core stages in the component delivery lifecycle: Develop, test, deploy, operate, and observe
- How contemporary architectures impact continuous delivery and how to ensure that this is factored into the design
- Modifying the build pipeline to support testability and deployability of components (with a hat tip to Jez Humble’s and Dave Farley’s seminal work)
- Commonality between delivery of SCS, microservices, and serverless components
- Continuous delivery, service contracts, and end-to-end validation: The good, the bad, and the ugly
- Validating NFRs within a service pipeline
- Lessons learned in the trenches
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"Daniel Bryant
Modern software has almost completed its evolution toward component-based architectures—seen in the mainstream embrace of self-contained systems (SCS), microservices, and serverless architecture. We all know the benefits of component-based architectures, but there are also many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
Learning Outcomes:
- Identify core stages in the component delivery lifecycle: Develop, test, deploy, operate, and observe
- How contemporary architectures impact continuous delivery and how to ensure that this is factored into the design
- Modifying the build pipeline to support testability and deployability of components (with a hat tip to Jez Humble’s and Dave Farley’s seminal work)
- Commonality between delivery of SCS, microservices, and serverless components
- Continuous delivery, service contracts, and end-to-end validation: The good, the bad, and the ugly
- Validating NFRs within a service pipeline
- Lessons learned in the trenches
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"Daniel Bryant
All is not completely rosy in microservice-land. It’s often a sign of an architectural approach’s maturity that anti-patterns begin to be identified and classified alongside well-established principles and practices. Daniel Bryant introduces seven deadly sins from real projects, which left unchecked could easily ruin your next microservices project.
Daniel offers an updated tour for 2016 of some of the nastiest anti-patterns in microservices from several real-world projects he’s encountered as a consultant, providing a series of anti-pattern “smells” you can sniff out and exploring the tools and techniques you need to avoid or mitigate the potential damage.
Topics include:
Pride: Selfishly building the wrong thing, such as the "Inter-Domain-Enterprise-Application-Service-Bus” or a fully bespoke infrastructure platform
Envy: Introducing inappropriate intimacy within services by creating a shared “canonical” domain model
Wrath: Failing to deal with the inevitable bad things that occur within a distributed system
Sloth: Composing services in a lazy fashion, which ultimately leads to the creation of a "distributed monolith”
Lust: Embracing the latest and greatest technology without evaluating the operational impact incurred by these choices
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce the original edition of the seven deadly sins that, if left unchecked, could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Dublin Microservice "Introduction to Service Meshes"Daniel Bryant
While service meshes may be the next "big thing" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.
In this talk, Daniel Bryant will share with you what service meshes are, why they are (and sometimes are not) well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This presentation begins with a brief history of the development of service meshes, and the motivations of the unicorn organisations that developed them. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio/Envoy, Linkerd, and NGINX Plus.
muCon 2014 "Building Java Microservices for the Cloud"Daniel Bryant
Building microservices for the Cloud is easy, right?... Perhaps, but if you want to build effective and reliable services that not only work correctly within the Cloud, but also take advantage of running within this unique environment, then you might be in for a surprise. This talk will introduce lessons learnt over the past several years of designing and implementing successful Cloud-based Java applications which we have codified into our Cloud development ‘DHARMA' principles; Documented (just enough); Highly cohesive / lowly coupled (all the way down); Automated from commit to cloud; Resource aware; Monitored thoroughly; and Antifragile.
We will look at these lessons from both a theoretic and practical perspective using several real-world case studies involving a move from monolithic applications deployed into a data center on a 'big bang' schedule, to a platform of JVM-based loosely-coupled components, all being continuously deployed into the Cloud. Topics discussed will include API contracts and documentation, architecture, build and deployment pipelines, Cloud fabric properties, monitoring in a distributed environment, and fault-tolerant design patterns.
This presentation was delivered at muCon 2015 on 27/11/14, the microservice conference. The video can be seen here: https://skillsmatter.com/skillscasts/5938-developing-java-services-for-the-cloud
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"Daniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce seven deadly sins that if left unchecked could easily ruin your next microservices project...
This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell. Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices.
CloudNativeLondon 2017: "What is a Service Mesh, and Do I Need One when Devel...Daniel Bryant
While service meshes may be the next "big thing" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.
In this talk, Daniel Bryant will share with you what service meshes are, why they're well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This presentation begins with a brief history of the development of service meshes, and the motivations of the unicorn organisations that developed them. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio/Envoy, Linkerd, and NGINX Plus.
Attendees will walk away from the talk with a high-level overview of the concept, tools for deciding when best to use a service mesh, and a getting started guide if they decide this technology is the right fit for their organisation.
O'Reilly 2017: "Introduction to Service Meshes"Daniel Bryant
While service meshes may be the next "big thing" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.
In this webcast, Daniel Bryant shows you what service meshes are, why they're well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This webcast begins with a brief history of the development of service meshes. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio (Envoy), Linkerd, NGINX Plus, and Traefik. Attendees will walk away with a high-level overview of the concept, tools for deciding when best to use a service mesh, and a getting started guide if they decide this technology is the right fit for their organization.
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"Daniel Bryant
Modern Java applications are moving towards component-based architectures, as seen in the mainstream embrace of self-contained systems (SCS), microservices, and serverless architecture. We all know the benefits of component-based architectures, but there are also many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
Topics include:
– The core stages in the component delivery lifecycle: Develop, test, deploy, operate, and observe
– How contemporary architectures impact continuous delivery and how to ensure that this is factored into the design
– Modifying the build pipeline to support testability and deployability of components (with a hat tip to Jez Humble’s and Dave Farley’s seminal work)
– Commonality between delivery of SCS, microservices, and serverless components
– Continuous delivery, service contracts, and end-to-end validation: The good, the bad, and the ugly
– Validating NFRs within a service pipeline
– Lessons learned in the trenches
Continuous Delivery with Containers: The Good, the Bad, and the Ugly - Daniel...Codemotion
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications. Topic covered include: * The impact of containers on CD * Adding metadata to container images * Validating NFR changes imposed by executing Java applications within a container * Lessons learned the hard way (in production)
JAX DevOps 2018 "Continuous Delivery Patterns for Modern Architectures"Daniel Bryant
Modern software development architecture has almost completed its evolution towards being properly component-based: this can be seen by the mainstream embracing Self Contained Systems (SCS), microservices, and serverless. We all know the benefits this can bring, but there can be many challenges delivering applications built using these styles in a continuous, safe, and rapid fashion.
This talk presents a series of patterns based on real-world experience, which will help architects identify and implement solutions for continuous delivery of contemporary architectures. Key topics and takeaways include:
- Core stages in the component delivery lifecycle: develop, test, deploy, operate and observe
- How contemporary architectures impact continuous delivery
- Modifying the build pipeline for testability and deployability of components (with a hat tip to Jez Humble and Dave Farley’s seminal work)
- Commonality between delivery of SCS, microservices and serverless components
- Continuous delivery, service contracts and end-to-end validation: The good, bad and ugly
- Lessons learned in the trenches
O'Reilly 2016: "Continuous Delivery with Containers: The Trials and Tribulati...OpenCredo
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this webcast we will look at the steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Creating a container pipeline (including functional and nonfunctional testing)
- Lessons learned the hard way
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" is also available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
The impact of containers on Java and Continuous Delivery
Adding metadata to container images
Validating NFR changes imposed by executing Java applications within a container
Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
Building applications for the IaaS Cloud is easy, right? "Sure, no problem - just lift and shift!" all the Cloud vendors shout in unison. However, the reality of building and deploying Cloud applications can often be different. This talk will introduce lessons learnt from the trenches during two years of designing and implementing cloud-based Java applications, which we have codified into our Cloud developer’s 'DHARMA' rules; Documented (just enough); Highly cohesive/loosely coupled (all the way down); Automated from code commit to cloud; Resource aware; Monitored thoroughly; and Antifragile.
We will look at these lessons from both a theoretic and practical perspective using a real-world case study from Instant Access Technologies (IAT) Ltd. IAT recently evolved their epoints.com(http://epoints.com/) customer loyalty platform from a monolithic Java application deployed into a data centre on a 'big bang' schedule, to a platform of loosely-coupled JVM-based components, all being continuously deployed into the AWS IaaS Cloud
DLJCJUG 2015: The Seven Deadly Sins of MicroservicesDaniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well-established principles and practices, that anti-patterns also begin to be identified and classified. In this talk we introduce seven deadly sins that if left unchecked could easily ruin your next microservices project...
This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell. Topics covered include: Pride - selfishly ignoring the new requirements for testing; Envy - introducing inappropriate intimacy within services by creating a shared domain model; Wrath - failing to deal with the inevitable bad things that occur within a distributed system; Sloth - composing services in a lazy fashion, which ultimately leads to the creation of a “Distributed Monolith”; and Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices.
JavaOne 2016 "Java, Microservices, Cloud and Containers"Daniel Bryant
Everyone is talking about building “cloud native” Java applications—and taking advantage of microservice architecture, containers, and orchestration/PaaS platforms—but there is surprisingly little discussion of migrating existing legacy (moneymaking) applications. This session aims to address this, and, using lessons learned from several real-world examples, it covers topics such when to rewrite applications (if at all), modeling/extracting business domains, applying the “application strangler” pattern, common misconceptions with “12-factor” application design, and the benefits/drawbacks of container technology.
ContainerSched 2017 "Continuous Delivery with Containers: The Good, the Bad, ...Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk you will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Adding metadata to container images
- Validating NFR changes imposed by executing Java applications within a container
-Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
Similar to DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices" (20)
ITKonekt 2023: The Busy Platform Engineers Guide to API GatewaysDaniel Bryant
API Gateways are certainly not a new technology, but the way in which they are being deployed, configured, and operated within modern platforms is forcing many of us to rethink our approach. Can we simply lift and shift our existing gateway into the cloud? Is our API gateway GitOps friendly (and does it need to be)? And what about service meshes, CNI, eBPF, and...
Join this talk for a whistle stop tour of modern API gateways, which a focus on deploying and managing this technology within Kubernetes (on which many modern platforms are built):
- Understand why platform engineers should care about API Gateways today
- Learn about API gateways, options, and requirements for modern platforms
- Identify key considerations for migrating to the cloud or building a new platform on Kubernetes
- Understand how cloud native workflows impact the user/developer experience (UX/DX) of an API gateway
- Explore the components of a complete "edge stack" that supports end-to-end development flows
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...Daniel Bryant
When enterprise organizations adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the fact remains that we all still add the occasional bug to our code. The main challenge you now face is how to perform integration or end-to-end testing without spinning up all of your microservices locally and driving your laptop fans into high speed!
Join me for a tour of your microservices testing options using a series of Java-friendly tools.
- Explore challenges with scaling container-based application development (you can only run so many microservices locally before minikube melts your laptop)
- Learn about effective unit testing with mocks, using TestContainers for dependency testing, and using Telepresence to extend your local testing environment into the cloud
- Understand when to use each type of test and tooling based on your use case and requirements for realism, speed, and practicality
- See how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"Daniel Bryant
API Gateways are certainly not a new technology, but the way in which they are being deployed, configured, and operated within modern platforms is forcing many of us to rethink our approach. Can we simply lift and shift our existing gateway into the cloud? Is our API gateway GitOps friendly (and does it need to be)? And what about service meshes, CNI, eBPF, and...
Join this talk for a whistle stop tour of modern API gateways, which a focus on deploying and managing this technology within Kubernetes (on which many modern platforms are built):
- Understand why platform engineers should care about API Gateways today
- Learn about API gateways, options, and requirements for modern platforms
- Identify key considerations for migrating to the cloud or building a new platform on Kubernetes
- Understand how cloud native workflows impact the user/developer experience (UX/DX) of an API gateway
- Explore the components of a complete "edge stack" that supports end-to-end development flows
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...Daniel Bryant
When enterprise organizations adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the fact remains that we all still add the occasional bug to our code. The main challenge you now face is how to perform integration or end-to-end testing without spinning up all of your microservices locally and driving your laptop fans into high speed!
Join me for a tour of your microservices testing options using a series of Java-friendly tools.
- Explore challenges with scaling container-based application development (you can only run so many microservices locally before minikube melts your laptop)
- Learn about effective unit testing with mocks, using TestContainers for dependency testing, and using Telepresence to extend your local testing environment into the cloud
- Understand when to use each type of test and tooling based on your use case and requirements for realism, speed, and practicality
- See how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"Daniel Bryant
Over the last year, the Ambassador Labs team has doubled down on their adoption of Product Led Growth (PLG), a growth model where product usage drives customer acquisition, retention, and expansion. It’s been an interesting journey for the DevRel team, who have found themselves working more closely with both the sales and growth engineering teams.
In their quest to reduce the friction of product adoption, they’re thinking more and more about the end-to-end experiences, experimentation, instrumentation, data analysis, and handoffs — much like we saw in the software development world with the adoption of DevOps breaking down barriers between engineering and operations.
The Ambassador Labs team have learned more about the value of creating hypotheses and analyzing quantitative data, but have also been reminded that there is no substitute for qualitative data and engaging human-to-human. Join Daniel for a whistle-stop tour of PLG through the DevRel lens:
– Understand how moving to PLG can impact devrel teams and the work they do: for better and worse!
– Explore how DevRel tooling and community platforms are increasingly overlapping with PLG marketer tooling
– Learn how to structure your goals, common languages, and teams for successfully adopting PLG
Fall 22: "From Kubernetes to PaaS to... err, what's next"Daniel Bryant
Developers building applications on Kubernetes today are being asked to not just code applications -- they are also responsible for shipping and running their applications, too. We often talk about needing a Kubernetes platform, but are we really looking for a PaaS? Or instead, are we looking for some kind of developer control plane with a Goldilock-sized collection of tools that provides just the right amount of platform? This talk will look back on my experience of building platforms, both as an end-user and now as part of an organization helping our customers do the same. We’ll wrap this talk with a walk-through of the CNCF ecosystem through the developer control plane lens, and look at what’s next in the future of this important emerging category.
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Daniel Bryant
Join me for a tour of coding, testing, and shipping microservices using remote-to-local “remocal” tools and techniques. You will:
- Understand the challenges with scaling container-based application development – i.e. you can only run so many microservices locally before minikube melts your laptop.
- Learn when to use various types of development practices and tooling based on your use case and requirements for production realism, speed, and practicality.
- Explore how to utilize containerized dependencies and Docker for testing, including for both apps and services you own and those you don’t.
- Learn how Telepresence can enable “remocal” development, expanding your local machine and Docker Desktop out into a remote Kubernetes cluster.
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...Daniel Bryant
Many organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code.
The challenge here is that many of your existing local debugging tools and practices can’t be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join Daniel to learn about:
- Quick overview of remote-local ("remocal") options and tooling e.g. “kubectl port-forward”, Skaffold, ksync, Telepresence etc.
- An exploration of how Telepresence can “intercept” or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
-- The benefits of getting a “hot reload” fast feedback loop between applications being developed locally and apps running in the remote environment
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...Daniel Bryant
When enterprise organizations adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the fact remains that we all still add the occasional bug to our code. The main challenge you now face is how to perform integration or end-to-end testing without spinning up all of your microservices locally and driving your laptop fans into high speed! Join me for a tour of testing microservices using a series of Java applications as a case study.
You will learn everything about effective unit testing with mocks, using TestContainers for dependency testing, and using Telepresence to extend your local testing environment into the cloud. Learn when to use each type of test and tooling based on your use case and requirements for realism, speed, and practicality. We will discuss how to utilize containerized dependencies and Docker for testing, including both apps and services you own and those you don’t. We’ll also go over the challenges with scaling container-based application development (you can only run so many microservices locally before minikube melts your laptop). Finally, you’ll see how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine.
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"Daniel Bryant
Many engineers are confused about how a cloud-native API gateway relates to Kubernetes Ingress or a Service load balancer. This talk will unravel this confusion.
An API gateway is at the core of how APIs are managed, secured and presented within any web-based system. Although the technology has been in use for many years, it has not always kept pace with recent developments within the cloud-native space.
Join Daniel Bryant in uncovering the evolution of API gateways over the past ten years and how the original problems they were solving have shifted in relation to cloud-native technologies and workflow.
KubeCon EU 2022: From Kubernetes to PaaS to Err What's NextDaniel Bryant
Developers building applications on Kubernetes today are being asked to not just code applications -- they are also responsible for shipping and running their applications, too. We often talk about needing a Kubernetes platform, but are we really looking for a PaaS? Or instead, are we looking for some kind of developer control plane with a Goldilock-sized collection of tools that provides just the right amount of platform? This talk will look back on my experience of building platforms, both as an end-user and now as part of an organization helping our customers do the same. The key takeaways are:
- Treat platform as a product
- Realize that you can’t have good developer experience (DevEx) without good UX
- Focus on workflows and tooling interoperability
We’ll wrap this talk with a walk-through of the CNCF ecosystem through the developer control plane lens, and look at what’s next in the future of this important emerging category.
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Daniel Bryant
Many Java-based organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can’t be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
– The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
– Quick overview of remote-local ("removal") options and tooling e.g. “kubectl port-forward”, Skaffold, ksync, Telepresence etc
– An exploration of how Telepresence can “intercept” or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
– The benefits of getting a “hot reload” fast feedback loop between applications being developed locally and apps running in the remote environment
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"Daniel Bryant
Developers building applications on Kubernetes today are being asked to not just develop applications -- they are also responsible for releasing and running their applications, too. In this talk, we’ll discuss the secular shift towards what Netflix calls “Full Cycle Development” or what Google calls “Service Ownership”. With developers managing so much of the cloud-native development loop, a new class of infrastructure has emerged -- the developer control plane. We’ll explore the evolution from Kubernetes to PaaS, to the developer control planes in use today. We’ll draw on our personal experiences and podcast chats with the larger CNCF community, and discuss real-world examples of developer control planes used at New Relic, Spotify, InVision, and Twitter. We’ll wrap this talk with a walk through of the CNCF ecosystem through the developer control plane lens, and look at what’s next in the future of this important emerging category.
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...Daniel Bryant
At a previous JAX event I talked about effective cloud native Java developer workflow. Two years later and many new developer technologies have come and gone, but I still hear daily from cloud developers about the pain and friction associated with building, debugging, and deploying to the cloud. In this talk I’ll share my latest learning on how to bring the fun and productivity back into delivering Kubernetes-based software.
Join this talk to:
Learn why the core tenets of continuous delivery — speed and safety — must be considered in all parts of the cloud native SDLC
Explore how cloud native coding benefits from thinking separately about the inner development loop, continuous integration, continuous deployment, observability, and analysis
Understand how cloud native best practices and tooling fit together. Learn about artifact syncing (e.g. Skaffold), dev environment bridging (e.g. Telepresence), GitOps (e.g. Argo), and observability-focused monitoring (e.g. Prometheus, Jaeger)
Explore the importance of cultivating an effective cloud platform and associated team of experts
Walk away with an overview of tools that can help you develop and debug effectively when using Kubernetes
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Daniel Bryant
Many organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can't be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
- The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
- An exploration of how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
- The benefits of getting a "hot reload" fast feedback loop between applications being developed locally and apps running in the remote environment
- A tour of Telepresence, from the sidecar proxy deployed into the remote K8s cluster to the CLI
- An overview of using "preview URLs" and header-based routing for the sharing, collaboration, and isolation of changes you are making on your local copy of an intercepted service
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Daniel Bryant
By Daniel Bryant, Ambassador Labs We all need to be able to get user traffic into our applications, and your requirements for services running on Kubernetes are no different. "But", I hear you say, "what about the K8s Ingress spec? And how do I observe what's happening under the hood? And who should be responsible for configuring the gateway: dev or ops?" These are all good questions! Join me for a whistle-stop tour of all things emissary-ingress, where we will explore how this new edition to the family of CNCF incubation projects can make your life easier when it comes to routing, observability, and integration into the bigger (people and technology) picture.
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"Daniel Bryant
Many Java-based organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can't be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
- The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
- An exploration of how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
- The benefits of getting a "hot reload" fast feedback loop between applications being developed locally and apps running in the remote environment
- A tour of Telepresence, from the sidecar proxy deployed into the remote K8s cluster to the CLI
- An overview of using "preview URLs" and header-based routing for the sharing, collaboration, and isolation of changes you are making on your local copy of an intercepted service
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...Daniel Bryant
Many Java-based organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can't be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
- The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
- An exploration of how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
- The benefits of getting a "hot reload" fast feedback loop between applications being developed locally and apps running in the remote environment
- A tour of Telepresence, from the sidecar proxy deployed into the remote K8s cluster to the CLI
- An overview of using "preview URLs" and header-based routing for the sharing, collaboration, and isolation of changes you are making on your local copy of an intercepted service
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...Daniel Bryant
At GOTO Amsterdam in 2019 I presented how to create an effective cloud native developer workflow. Two years later and many new developer technologies have come and gone, but I still hear daily from cloud developers about the pain and friction associated with building, debugging, and deploying to the cloud. In this talk I'll share my latest learning on how to bring the fun and productivity back into delivering Kubernetes-based software.
Join this talk to:
Learn why the core tenets of continuous delivery -- speed and safety -- must be considered in all parts of the cloud native SDLC
Explore how cloud native coding benefits from thinking separately about the inner development loop, continuous integration, continuous deployment, observability, and analysis
Understand how cloud native best practices and tooling fit together. Learn about artifact syncing (e.g. Skaffold), dev environment bridging (e.g. Telepresence), GitOps (e.g. Argo), and observability-focused monitoring (e.g. Prometheus, Jaeger)
Explore the importance of cultivating an effective cloud platform and associated team of experts
Walk away with an overview of tools that can help you develop and debug effectively when using Kubernetes
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...Daniel Bryant
HashiCorp Consul integrates with Ambassador to securely route Ingress traffic to Consul Service Mesh when using Kubernetes. When onboarding applications onto a service mesh or when integrating with existing applications outside of the Mesh, a north south API gateway is typically required for communications with clients outside of the network. Ambassador is a Kubernetes API Gateway that allows you to route incoming traffic to your Consul Service Mesh proxies while also providing the ability to leverage advanced API Gateway functionalities such as rate limiting and authentication.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
1. The Seven (More) DEADLY SINS OF Microservices
@opencredo
Daniel Bryant
@danielbryantuk
2. Previously, AT Devoxx UK & QCON NYC 2015...
22/02/2017 @danielbryantuk
https://www.infoq.com/presentations/7-sins-microservices
3. The Seven (more) Deadly Sins of Microservices
1. LUST - Using the (Unevaluated) latest and greatest tech…
2. GLUTTONY - Communication lock-in
3. GREED - What'S Mine is mine (within the organisation)…
4. SLOTH - Getting lazy with NFRs
5. WRATH - Blowing up when bad things happen
6. ENVY - The shared single domain fallacy
7. PRIDE - testing in the world of transience
22/02/2017 @danielbryantuk
4. @danielbryantuk
• Chief Scientist at OpenCredo, CTO at SpectoLabs
• Agile, architecture, CI/CD, Programmable infrastructure
• Java, Go, JS, microservices, cloud, containers
• Continuous delivery of value through effective technology and teams
22/02/2017 @danielbryantuk
bit.ly/2jWDSF7
5. What are our goals?
• Delivery of value to end users (customers)
• Business agility
• Safer, more rapid changes to software systems
– But Consider CI/CD, Devops, and value stream before microservices
22/02/2017 @danielbryantuk
6. 1. Lust - Using THE (unevaluated) LATEST and Greatest Tech…
22/02/2017 @danielbryantuk
7. Evaluation - are Microservices A good fit?
• “our 'mode TWO' apps are Microservices”
– Middle-management latch on to Buzzword
– New app evolution limited by existing system
– Lipstick on the pig
• Not understanding architecture principles
– Not building around business Functionality
– Creating Mini-monoliths (no twelve factors)
• No Well-defined DevOps / SRE / Ops
– Deployment/ops free-for-all
22/02/2017 @danielbryantuk
8. Tech example: To containerise, or not to containerise?
(dockaH, dockah, dockah... Dockah?)
22/02/2017 @danielbryantuk
14. 2. GLUTTONY - Communication lock-in
22/02/2017 @danielbryantuk
15. Rpc - not the devil in disguise
• Don'T rule out RPC (e.g. grpc)
– Sometimes the contract (and speed) are beneficial
– Human readability of JSON can be over-rated
• Sometime events are better
– Asynchronous (AP vs CP)
– durable message queues are interesting (But, No one size fits all)
22/02/2017 @danielbryantuk
16. The ESB is dead - long live the esb!
22/02/2017 @danielbryantuk
17. The ESB is dead - long live the esb!
22/02/2017 @danielbryantuk
18. The ESB is dead - long live the esb!
22/02/2017 @danielbryantuk
• Is this an ESB?
• Or an API gateway?
19. The ESB is dead - long live the API Gateway!
22/02/2017 @danielbryantuk
• Watch for the API Gateway morphing
into an Enterprise service bus
– Loose coupling is vital
• But let me be clear...
– The API Gateway pattern is awesome
– Centralise cross-cutting concerns
– Prevent wheel-reinvention (plugins)
– Check out kong, apigee, Mulesoft etc
20. 3. GREED - What'S mine is mine... (within the organisation)…
22/02/2017 @danielbryantuk
21. Previously...
• Conway'S Law
• Microservices are about people, as much as they are tech
– Maybe more
– Particularly in a migration / transformation
22/02/2017 @danielbryantuk
22. We hear this a lot...
“We’ve decided to reform our teams around squads, chapters and guilds”
• Beware of cargo-culting
– Repeat three times “We are not spotify”
• Understand the practices, principles, values etc
22/02/2017 @danielbryantuk
23. 4. SLOTH - Getting Lazy with NFRs
22/02/2017 @danielbryantuk
24. Getting lazy with non-Functional Requirements
“The driving technical requirements for a system should be identified early
to ensure they are properly handled in subsequent design”
Aidan Casey
Guiding principles for evolutionary architecture
22/02/2017 @danielbryantuk
25. Getting lazy with non-Functional Requirements
• The 'ilities' Can be (often) be an afterthought
– Availability, Scalability, auditability, testability etc
• Agile/Lean: Delay decisions to the ‘last responsible moment’
– NewsFlash - Sometimes this is up-front
• It can be costly (or prohibitive) to adapt late in the project
– Microservices don'T make this easier (sometimes more difficult)
22/02/2017 @danielbryantuk
27. 5. WRATH - Blowing up when bad things happen
22/02/2017 @danielbryantuk
28. When bad things happen, people are always involved
22/02/2017 @danielbryantuk | @oakinger
29. People Pain point - How does Devops fit into this?
• Devops topologies
– http://web.devopstopologies.com/
– @matthewpskelton
22/02/2017 @danielbryantuk
32. How much value does non-deployed code
provide to users?
0
(*Universal Unit of Value)
22/02/2017 @danielbryantuk
*
33. 6. ENVY - The shared SINGLE domain fallacy
22/02/2017 @danielbryantuk
34. Previously - One Model to Rule Them All...
• One model…
– Breaks encapsulation
– Introduces coupling
• Know your DDD
– Entities
– Value Objects
– Aggregates and Roots
22/02/2017 @danielbryantuk
36. 7. PRIDE - testing in the world of transience
22/02/2017 @danielbryantuk
37. Previously...
• Local verification
– Consumer-Driven contracts
• End-to-end
– BDD-style critical path
• Remember the test pyramid
22/02/2017 @danielbryantuk
martinfowler.com/articles/microservice-testing/
38. Service virtualisation / API simulation
• Virtualise request/response of services
– Unavailable
– Expensive to run
– Fragile/brittle
– Non-deterministic
– Cannot simulate failures
https://dzone.com/articles/continuously-delivering-soa
22/02/2017 @danielbryantuk
39. Service virtualisation
• Classics
– CA service virtualization
– Parasoft virtualize
– HPE service virtualization
– IBM Test Virtualization server
• New (open source) kids on the block
– Hoverfly
– Wiremock
– VCR/Betamax
– Mountebank
– mirage
22/02/2017 @danielbryantuk
40. Hoverfly
• Lightweight Service virtualisation
– Open source (Apache 2.0)
– Go-based / single binary
– Written by @Spectolabs
• Flexible API simulation
– HTTP / HTTPS
– Highly performant
22/02/2017 @danielbryantuk
43. The Seven (more) Deadly Sins of Microservices
1. LUST - Using the (Unevaluated) latest and greatest tech…
2. GLUTTONY - Communication lock-in
3. GREED - What'S Mine is mine (within the organisation)…
4. SLOTH - Getting lazy with NFRs
5. WRATH - Blowing up when bad things happen
6. ENVY - The shared single domain fallacy
7. PRIDE - testing in the world of transience
22/02/2017 @danielbryantuk