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
LMSUG 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 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.
Microservice Summit 2016 "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
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.
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.
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.
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"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
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.
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/
LMSUG 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 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.
Microservice Summit 2016 "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
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.
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.
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.
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"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
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.
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/
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.
JAX London 2016: "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 learned from working on a large variety of software projects over the past ten years. I will share success stories and battle scars, and suggest practical techniques that you can harness in order to help your team develop empathy.
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
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.
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).
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"Daniel Bryant
We all hear the term "DevOps" being thrown around on a daily basis, but what does it actually mean? With a little help from everyone's favourite 80's action hero, we'll undergo a whistle-stop tour of the philosophy, culture and tooling behind this buzzword, specifically aimed at Java Developers. We'll also look at a real-world case study from Instant Access Technologies Ltd, and explore the key role that DevOps has played during a successful upgrade of the epoints customer loyalty platform to support increasing traffic. The core discussion will focus on the challenges encountered as we moved from a monolithic app deployed into a data centre on a 'big bang' schedule, to a platform of loosely-coupled components, all being continuously deployed into the Cloud.
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.
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/
Haufe #msaday: "Building a Microservice Ecosystem"Daniel Bryant
Microservice platforms are finally becoming a reality: Mesos, Kubernetes, and a whole bunch of PaaS-style offerings are available, but the reality is that these platforms still don’t provide everything you need in order to build a fully functional microservice ecosystem. Come to this session to learn about the essential deployment, orchestration, and glue components that often have to be self-assembled. The presentation begins by looking at deployment techniques and tools and examines where to test (QA, staging, or production), how to test (integration and contracts), and how to separate deployment and release. It then discusses orchestration, configuration, and service discovery. Finally it looks at essential glue such as logging, monitoring, and alerting.
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"Daniel Bryant
Is continuous delivery mainstream? We would all like to think so, but as William Gibson reminds us, “The future is already here—it’s just not evenly distributed.” The large (unicorn) companies have been talking about deploying containerized applications for some time, but the processes, techniques, and technologies involved are not always clear when looking in from the outside. This can make it difficult to emulate their success.
Based on his experience building several Docker-based applications that were deployed to a range of orchestration and scheduling platforms, Daniel Bryant demonstrates how to create a scalable build pipeline that takes a series of Java applications, containerizes them, and deploys them to Docker Swarm.
Example code will be available to download via GitHub, and the examples can be executed locally via Vagrant.
DevOpsNorth 2017 "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.
We all hear the term "DevOps" being thrown around on a daily basis, but what does it actually mean? With a little help from everyone's favourite 80's action hero, we'll undergo a whistle-stop tour of the philosophy, culture and tooling behind this buzzword, specifically aimed at Java developers. We'll also look at a real-world case study from Instant Access Technologies Ltd, and explore the key role that DevOps has played during a successful upgrade of the epoints customer loyalty platform to support increasing traffic.
The core discussion will focus on the challenges encountered as we moved from a JVM-based monolithic app deployed into a data centre on a 'big bang' schedule, to a platform of loosely-coupled components, all being continuously deployed into the Cloud. We will conclude the talk by recommending a learning path for Java developers who are interested to learn more about DevOps.
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.
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
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
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!
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.
Harnessing Spark and Cassandra with GroovySteve Pember
This talk is an introduction to a powerful combination in the big data space: Apache Spark and Cassandra. Spark is a cluster-computing framework that allows users to perform calculations against resilient in-memory datasets using a functional programming interface. Cassandra is a linearly scalable, fault tolerant, decentralized datastore. These two technologies are complicated, but integrate well and provide such a level of utility that whole companies have formed around them.
In this talk we’ll learn how Spark and Cassandra can be leveraged within your Groovy Application: Spark normally asks for a Scala environment. We’ll talk about Spark and Cassandra from a high level and walk through code examples. We’ll discuss the pitfalls of working with these technologies - like modeling your data appropriately to ensure even distribution in Cassandra and general packaging woes with Spark - and ways to avoid them. Finally, we’ll explore how we at ThirdChannel are using these technologies.
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.
JAX London 2016: "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 learned from working on a large variety of software projects over the past ten years. I will share success stories and battle scars, and suggest practical techniques that you can harness in order to help your team develop empathy.
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
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.
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).
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"Daniel Bryant
We all hear the term "DevOps" being thrown around on a daily basis, but what does it actually mean? With a little help from everyone's favourite 80's action hero, we'll undergo a whistle-stop tour of the philosophy, culture and tooling behind this buzzword, specifically aimed at Java Developers. We'll also look at a real-world case study from Instant Access Technologies Ltd, and explore the key role that DevOps has played during a successful upgrade of the epoints customer loyalty platform to support increasing traffic. The core discussion will focus on the challenges encountered as we moved from a monolithic app deployed into a data centre on a 'big bang' schedule, to a platform of loosely-coupled components, all being continuously deployed into the Cloud.
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.
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/
Haufe #msaday: "Building a Microservice Ecosystem"Daniel Bryant
Microservice platforms are finally becoming a reality: Mesos, Kubernetes, and a whole bunch of PaaS-style offerings are available, but the reality is that these platforms still don’t provide everything you need in order to build a fully functional microservice ecosystem. Come to this session to learn about the essential deployment, orchestration, and glue components that often have to be self-assembled. The presentation begins by looking at deployment techniques and tools and examines where to test (QA, staging, or production), how to test (integration and contracts), and how to separate deployment and release. It then discusses orchestration, configuration, and service discovery. Finally it looks at essential glue such as logging, monitoring, and alerting.
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"Daniel Bryant
Is continuous delivery mainstream? We would all like to think so, but as William Gibson reminds us, “The future is already here—it’s just not evenly distributed.” The large (unicorn) companies have been talking about deploying containerized applications for some time, but the processes, techniques, and technologies involved are not always clear when looking in from the outside. This can make it difficult to emulate their success.
Based on his experience building several Docker-based applications that were deployed to a range of orchestration and scheduling platforms, Daniel Bryant demonstrates how to create a scalable build pipeline that takes a series of Java applications, containerizes them, and deploys them to Docker Swarm.
Example code will be available to download via GitHub, and the examples can be executed locally via Vagrant.
DevOpsNorth 2017 "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.
We all hear the term "DevOps" being thrown around on a daily basis, but what does it actually mean? With a little help from everyone's favourite 80's action hero, we'll undergo a whistle-stop tour of the philosophy, culture and tooling behind this buzzword, specifically aimed at Java developers. We'll also look at a real-world case study from Instant Access Technologies Ltd, and explore the key role that DevOps has played during a successful upgrade of the epoints customer loyalty platform to support increasing traffic.
The core discussion will focus on the challenges encountered as we moved from a JVM-based monolithic app deployed into a data centre on a 'big bang' schedule, to a platform of loosely-coupled components, all being continuously deployed into the Cloud. We will conclude the talk by recommending a learning path for Java developers who are interested to learn more about DevOps.
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.
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
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
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!
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.
Harnessing Spark and Cassandra with GroovySteve Pember
This talk is an introduction to a powerful combination in the big data space: Apache Spark and Cassandra. Spark is a cluster-computing framework that allows users to perform calculations against resilient in-memory datasets using a functional programming interface. Cassandra is a linearly scalable, fault tolerant, decentralized datastore. These two technologies are complicated, but integrate well and provide such a level of utility that whole companies have formed around them.
In this talk we’ll learn how Spark and Cassandra can be leveraged within your Groovy Application: Spark normally asks for a Scala environment. We’ll talk about Spark and Cassandra from a high level and walk through code examples. We’ll discuss the pitfalls of working with these technologies - like modeling your data appropriately to ensure even distribution in Cassandra and general packaging woes with Spark - and ways to avoid them. Finally, we’ll explore how we at ThirdChannel are using these technologies.
Surviving in a microservices environmentSteve Pember
Many presentations on Microservices offer a high level view; rarely does one hear what it’s like to work in such an environment. Individual services are somewhat trivial to develop, but now you suddenly have countless others to track. You’ll become obsessed over how they communicate. You’ll have to start referring to the whole thing as “the Platform”. You will have to take on some DevOps work and start learning about deployment pipelines, metrics, and logging.
Don’t panic. In this presentation we’ll discuss what we learned over the past three years. We’ll examine what a development lifecycle might look like for adding a new service, developing a feature, or fixing bugs. We’ll dive a bit into DevOps and see how one will become dependent on various metric and centralized logging tools, like Kubernetes and the ELK stack. Finally we’ll talk about team communication and organization... and how they are likely the most important tool for surviving a Microservices development team.
Are you tired of Hibernate? Is GORM is too heavy for your current project? Do you like having more control over your SQL? Do you like flexible DSLs? Try JOOQ!
JOOQ (Java Object Oriented Querying) is light-weight alternative to classic data access solutions or ORMs like Hibernate, JPA, JDBC, and GORM. JOOQ's goal is to give the developer a flexible DSL for building typesafe, database agnostic SQL queries, and attempts to convince the developer of a ‘database-first’ approach to building their application. In this talk we’ll quickly present an introduction to JOOQ from a high level, discuss its features, and see several examples of how we’re using JOOQ to great effect with many Spring Boot and Ratpack apps within our platform.
Top 5 Deep Learning and AI Stories - October 6, 2017NVIDIA
Read this week's top 5 news updates in deep learning and AI: Gartner predicts top 10 strategic technology trends for 2018; Oracle adds GPU Accelerated Computing to Oracle Cloud Infrastructure; chemistry and physics Nobel Prizes are awarded to teams supported by GPUs; MIT uses deep learning to help guide decisions in ICU; and portfolio management firms are using AI to seek alpha.
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"Daniel Bryant
The 'microservices' architectural style has taken the software development industry by storm over the past two years. Several people are arguing that this is simply classical SOA being rebranded, while others are suggesting that creating loosely-coupled composable services is simply architectural best-practice. Join Daniel for a brief introduction to the topic of microservices, and also a tour of the nastiest sins (anti-patterns) he has seen in his journey as a consultant.
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
* Lust - embracing the latest and greatest technology without evaluating the operational impact incurred by these choices
Presented at the BCS Software Practice Advancement SPA-298 event on 6/4/2016
AllDayDevOps: "Microservices: The People and Organisational Impact"Daniel Bryant
Microservices are where it’s at. Everything is easier to manage when it’s smaller, right? ‘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. Join this session to learn more.
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: leadership - advice on creating shared understanding, conveying strategy, and developing your team; empathy - because understanding others is at the heart of everything you do; 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.
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.
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.
Lisbon DevOps: "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.
Devternity 2016 "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!
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.
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…
JAXLondon 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, and provide guidance, processes and models to help overcome some of the identified limitations of our decision-making abilities.
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!
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
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.
Agile Software Development
Not being too attached to your initial idea of what the project will look like and to be ready for change and to refactor.
Agile software engineering combines a philosophy and a set of development guidelines.
To be agile you need to put the agile values and principles into practice.
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.
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.
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
Microservices Manchester: Microservices from 30,000ft by Daniel Bryant OpenCredo
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.
About Daniel Bryant
Daniel is Chief Scientist at OpenCredo having joined the company in 2014.
Daniel is responsible for leading engagements for OpenCredo at a number of organisations. He specialises in enabling agility within organisations, creating and leading effective software delivery teams while maximising the impact of software delivery.
Similar to Microservices: The Organizational and People Impact (20)
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Ambassador Labs
When you adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the need for fast feedback doesn’t. Kubernetes enables us to deploy and run applications at scale, but whether you’re coding or testing applications, you want to be able to get work done quickly without spinning up all of your microservices locally and driving your laptop fans into high speed!
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.
Ship Week 1: Intro to Continuous Delivery and GitOps
When building cloud native applications, software developers are no longer just responsible for coding new features. In the next module of Summer of Kubernetes, our expert guides (with the help of some special guests) will cover how to safely and effectively ship software without disrupting end users. To do this you will:
✅ Understand the basics of continuous delivery and GitOps
✅ Learn about how K8s enables declarative CD (via the use of reconciliation loops)
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.
In this talk, you will:
- 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
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Ambassador Labs
Many turn to static duplicate dev environments to shorten the dev loop and isolate code tests, but those bring about additional issues. The idea of safely sharing a dev environment and seeing your code changes in action immediately before sharing them probably seems impossible.
Service Preview, powered by Telepresence and the Ambassador Edge Stack, is here to help! This capability enables you to preview changes immediately and test locally with your tool of choice, while sharing a development cluster.
In this 45-minute webinar, Abhay Saxena will demonstrate using Service Preview to have a fast inner development loop while fixing a bug in a microservice, including stepping through the code in a debugger while other developers continue working unaffected.
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...Ambassador Labs
In this case-study talk, we will share Brent’s journey through the adoption of modern observability practices as he operated an architecture of distributed services. Facing difficulties using application logs as the primary tool to debug performance and reliability issues? Learn how to improve your company toolkit and engineering habits using existing monitoring tools with the addition of distributed tracing.
https://confoo.ca/en/yul2020/session/from-grief-to-growth-the-7-stages-of-observability
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex GervaisAmbassador Labs
Google Cloud Run’s use of Knative introduced a portable Serverless solution built on top of Kubernetes. In this talk, we’ll recap the basic guidelines, use cases, and benefits of a Serverless architecture. Getting up and started, you will learn to take advantage of containers and the Ambassador API Gateway to serve event-driven application workloads and save costs using your existing Kubernetes resources.
https://confoo.ca/en/yul2020/session/build-your-own-serverless-with-knative
[QCon London 2020] The Future of Cloud Native API Gateways - Richard LiAmbassador Labs
The introduction of microservices, Kubernetes, and cloud technology has provided many benefits for developers. However, the age-old problem of getting user traffic routed correctly to the API of your backend applications can still be an issue, and may be complicated with the adoption of cloud native approaches: applications are now composed of multiple (micro)services that are built and released by independent teams; the underlying infrastructure is dynamically changing; services support multiple protocols, from HTTP/JSON to WebSockets and gRPC, and more; and many API endpoints require custom configuration of cross-cutting concerns, such as authn/z, rate limiting, and retry policies.
A cloud native API gateway is on the critical path of all requests, and also on the critical path for the workflow of any developer that is releasing functionality. Join this session to learn about the underlying technology and the required changes in engineering workflows. Key takeaways will include:
A brief overview of the evolution of API gateways over the past ten years, and how the original problems being solved have shifted in relation to cloud native technologies and workflow
Two important challenges when using an API gateway within Kubernetes: scaling the developer workflow; and supporting multiple architecture styles and protocols
Strategies for exposing Kubernetes services and APIs at the edge of your system
Insight into the (potential) future of cloud native API gateways
https://qconlondon.com/london2020/presentation/future-cloud-native-api-gateways
What's New in the Ambassador Edge Stack 1.0? Ambassador Labs
Before Kubernetes, the boundary between your users and your monolithic application was simple to manage. Now with Kubernetes, managing the edge has become dynamic and complex. More developers are involved, there are exponentially more edge operations, and each microservice has diverse requirements.
To fully capitalize on the benefits of Kubernetes, you need to provide a solution that supports the autonomy of application developers, the various requirements of your microservices, and your ability to scale.
You no longer need an API Gateway - you need a self-service, comprehensive edge stack.
In this 40 minute webinar on January 30th, we will discuss and demo the new functionality available with the Ambassador Edge Stack.
Edge Policy Console- graphical UI to visualize and manage all of your edge policies
Security Features- automatic TLS setup via ACME integration, OAuth/OpenID Connect integration, rate limiting, and fine-grained access control
Developer Onboarding- API catalog, Swagger/OpenAPI documentation support, and a fully customizable developer portal
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes Ambassador Labs
As you adopt Kubernetes, the requirements for your edge change. You now have teams working on multiple services all with different requirements. How can you make sure your edge is Kubernetes-ready?
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...Ambassador Labs
One of the challenges facing Telepresence is growing the contributor community. It’s a complex application that requires a good understanding of OS networking, VPNs, Kubernetes, and everything in between. We’ll kick off this meeting with a general architectural overview of Telepresence. We’ll talk about how we’ve managed the project to date, and our investments to make it easier. We want to then turn it over for an interactive discussion with participants to see what we can do to make it easier to contribute and grow the Telepresence community.
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...Ambassador Labs
Every software development cycle is rife with inefficiency. Seasoned devs know the pain of getting access to essential remote systems, waiting for tests to run (and then fail), or debugging with only log files. This talk teaches you how to best leverage Kubernetes, remote infrastructure and related tooling to create a dev cycle that maximizes velocity and minimizes developer friction and frustration.
Using tools such as Kubernetes, Docker and Telepresence, I will walk attendees through several advanced techniques that can be used to produce an effective developer experience and optimized dev loop. The goal of this is to eliminate many sources of frustrating inefficiency and reduce cycle time between releases. I will demonstrate how to incrementally adopt some of these techniques and how to approach introducing new and unfamiliar technology and techniques to skeptical dev teams.
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...Ambassador Labs
Modern cloud applications today are built as distributed microservices. These microservices talk to each other over L7 protocols: HTTP, gRPC, Redis, Kafka, and more. In this world, L7 proxies have assumed a crucial role in managing and observing L7 protocols. In this talk, I’ll discuss the evolution of service architectures, the role L7 proxies play in this world, and how there is now a battle raging between Envoy Proxy, HAProxy, and NGINX. I’ll wrap by talking about why we chose Envoy Proxy as the anchor of our Ambassador API Gateway and show how that has enabled a number of new capabilities.
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYCAmbassador Labs
Getting traffic into a Kubernetes cluster should be simple, but it’s not. Richard Li explains how software architectures have evolved to take advantage of Kubernetes and discusses the implications that these changes have on ingress. Richard then covers some of the nuances of modern ingress, including authentication, resilience, and observability at the edge, explores how Kubernetes handles ingress today, with NodePorts, LoadBalancers, and ingress controllers, and shares his experience and lessons learned from using several real-world implementations of ingress on Kubernetes.
KubeCon NA 2017: Ambassador and Envoy (Envoy Salon)Ambassador Labs
Ambassador is an open source Kubernetes-native API Gateway built on the Envoy proxy. We talked about why and how we built Ambassador during the Envoy salon at KubeCon.
What’s the key to successfully adopting microservices on Kubernetes?
Building a development workflow that helps developers code faster.
In this webinar, we introduce the principles of a cloud-native development workflow where individual teams build and ship software independently from each other.
QCon SF 2017 - Microservices: Service-Oriented DevelopmentAmbassador Labs
Conventional wisdom is that microservices is an architecture that is the spiritual successor to service-oriented architecture. While true, this myopic view of microservices ignores some of the profound workflow shifts in today’s microservices organizations.
The reality is that microservices is an architecture _and_ workflow. In this talk, we’ll introduce the workflow of service-oriented development. Rafael will talk about how the real goal of microservices is to break up a monolithic development workflow. We’ll show you how, by breaking up your workflow, you can build software that lets you move fast and make things.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
2. TL;DR
Implementing Microservices is easy
Implementing Microservice systems is complex
(This includes the associated organisational/people systems)
13/07/2016 @danielbryantuk
3. Welcome to the early majority
13/07/2016 @danielbryantuk
Microservices are here
innovateordie.com.au/2010/05/10/the-secret-to-accelerating-diffusion-of-innovation-the-16-rule-explained/
4. What do I see in the field?
Most of the current problems with implementing microservices
are connected with people and organisational systems
this is good news, as we already have many solutions!
13/07/2016 @danielbryantuk
5. @danielbryantuk
• Chief Scientist at OpenCredo
ü Transformingorganisationsthrough technology and teams
ü Agile, Lean, Architecture, CI/CD, DevOps
ü Microservices, cloud, Containers, Java, Go, Docker, Kubernetes
• London Java Community Associate
• Adopt OpenJDK and JSR
• InfoQ Editor, DZone MVB, VOXXED, O'Reilly
13/07/2016 @danielbryantuk
6. Today
• Strategy
– Is your business ready for microservices?
– Technical leadership is vital
– Choosing Tools is challenging
• Feedback
– Optimise for Visibility and learning (throughout the organisational stack)
• Responsibilities
– Conway, spotify and cargo culting
– Devops is about sharing
13/07/2016 @danielbryantuk
7. 1. Strategy - situational awareness and leadership
13/07/2016 @danielbryantuk
8. Strategy - are Microservices A good fit?
• “our 'mode TWO' apps are Microservices”
– No transformation / migration plan
– SOE evolution limited by SOR
– Lipstick on the pig
• Not understanding principles (Cargo-culting)
– Teams not operating around Biz Functionality
– No leadership leads to building Mini-monoliths
• No Well-defined DevOps / SRE / Ops
– Deployment/ops free-for-all
13/07/2016 @danielbryantuk
9. Is your business ready?
• Critical success facts in software projects (1999)
– 1. Project managers don't understand user's needs
– 2. The project's scope is ill-defined.
– 3. Project changes are managed poorly.
– 4. The chosen technology changes.
– 5. Business needs change.
– 6. Deadlines are unrealistic.
– 7. Users are resistant.
– 8. Sponsorship is lost.
– 9. The project lacks people with appropriate skills.
– 10. Managers ignore best practicesand lessons learned
13/07/2016 @danielbryantuk
citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.620.6158&rep=rep1&type=pdf
12. Is your technical leadership (architecture) ready?
13/07/2016 @danielbryantuk
“If you can't build a [well-structured] monolith,
what makes you think microservices are the answer?”
Simon Brown
(bit.ly/1n7D0vp)
14. Tech Leadership - Responsibility, knowledge & tactics
• Promote shared understanding
– Communication (bit.ly/1Ia3u8o)
• Risk management
• ‘Just enough’ up front design
– Microservice glue and platforms
• Leadership principles
– Autonomy, purpose & mastery
13/07/2016 @danielbryantuk
15. Is your dev/operations team ready?
• Fowlers Microservices Prerequisities
– Rapid provisioning
– Basic monitoring
– Rapid application Deployment
• The technical side of devops
– Audit Continuous integration/delivery
– Choosing Tooling is challenging
13/07/2016 @danielbryantuk
16. Tooling - The’Spine Model
• Effective conversations make for effective
collaboration
– Kevin Trethewey & danie Roux, Agile 2015
• It's a TOOL Problem
– As a species, we have always been Tool users
and makers.
– We use _____ to get our work done
• People get stuck in a dilemma where equally
plausible options are available
– “Going up the Spine” breaks deadlock
http://spinemodel.info/explanation/introduction/
17. Tooling - The’Spine Model
• PRACTICES before Tools
– Decide on the Practices that the tools are there to support
– We do _____ to create value
• PRINCIPLES before Practices
– Decide on the Principles to measure those Practices against.
– We leverage _____ to change the system
• VALUES before Principles
– Make as explicitas possible the Values at playin the system.
– We optimise for _____
• NEEDS before Values
– It all starts at Needs. Why does this system exist in the first
place?
– We are here to satisfy _____
http://spinemodel.info/explanation/introduction/
18. Evaluation - Fitness functions
• Microservices as an Evolutionary Architecture
– Neal Ford and Rebecca Parsons
• Great for evaluation and documentation
– Platforms/ Language
– Middleware
– Data stores
13/07/2016 @danielbryantuk
20. Final thoughts: Pick Your (Technical) Battles...…
• Optimize globally across the organisation
– start small
– Product teams own thier languages and tools
– Apply 'Natural selection' - Only officially support 'fittest' tools
• As Dan McKinley says, “Choose Boring Technology”
• The internal open source model works well with microservices
13/07/2016 @danielbryantuk
21. 2. Feedback - visibility and constant learning
13/07/2016 @danielbryantuk
22. Constant learning (and action)
• Microservices typically generate more data
– This can stretch limitations within the organisation!
• Existing tooling is optimised towards monolithic applications
– Aggregation and intelligence is vital
• Regular reviews and retrospection are essential
– Take action from feedback and failures
13/07/2016 @danielbryantuk
26. Conversations are vital for Tech Leads
• Standards
– HTTP, REST, JSON, message format etc
– Documentation e.g. swagger, RAML, WADL
• Testing
– Consumer-based contracts (PACT, PACT-JVM, PACTO etc)
– E2e Automation, automation, automation
• Microservices framework/foundations
– Architypes, base modules (Finagle, Karyon) etc
13/07/2016 @danielbryantuk
27. Talk about Testing - API simulation with Hoverfly
• Lightweight Service virtualisation
– Open source (Apache 2.0)
– Go-based / single binary
– Written by @Spectolabs
• Flexible API simulation
– developing against agreed apis
– Great for nfr testing
13/07/2016 @danielbryantuk
28. Be prepared to talk about data liberation...
13/07/2016 @danielbryantuk
Microservice developers be like
F*cking monolithic database
Credit to Michael Hausenblas
29. Operational visibility
• Logging
– The 10 Commandments of Logging
– The Log: What every software
engineer should know
• Monitoring
– Rob Ewaschuk's Philosophy on
Alerting”
– Brendan Gregg's USE method
13/07/2016 @danielbryantuk
31. Microservices enable agility
• When done well...
• Build, measure, learn
– Design for impact
– Build-in signals and metrics
– Create a culture of experimentation and failing fast
• If you don'T collect the data and Take action to adapt...
– there is limited benefit with microservices
13/07/2016 @danielbryantuk
33. Conway'S law
“organizations which design systems are
constrained to produce designs which are
copies of the communication structures of
these organizations”
- Melvin conway
13/07/2016 @danielbryantuk
34. 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
13/07/2016 @danielbryantuk
35. Cross-functional Teams
• Spotify (bit.ly/1C46ZKo)
– Culture
• Amazon (bit.ly/1F3Dgkm)
– Communication
• Gilt (gi.lt/1rgyWvO)
– Strategic alignment
13/07/2016 @danielbryantuk
36. How does Devops fit into this?
• http://web.devopstopologies.com/
• @ matthewpskelton
• @beerops and @sigje
• Google SRE
13/07/2016 @danielbryantuk
37. Devops - define responsibilities
• Do you really want to build an
entire microservices platform?
• Focus on what matters
– Ci/CD
– Mechanical sympathy
– Logging
– Monitoring
13/07/2016 @danielbryantuk
38. Devops - the 'fullstack engineer' myth
“I'M sorry, but if you'RE not designing the computer chips and
writing the website, then I don'T wanna hear from you”
Charity Majors (@mipsytipsy), CraftConf 2016
http://www.ustream.tv/recorded/86181845
13/07/2016 @danielbryantuk
41. Change Management is Essential
• Fair process (three ‘E’s)
– Engagement
– Explanation
– Expectation
• Leading change
– Transformation is a process
– Communicate, plan, evaluate, learn, Empower
– Obtain buy-in from the top
13/07/2016 @danielbryantuk
42. Leading change
1. Establish sense of urgency
2. Create the guiding coalition
3. Develop a vision and strategy
4. Communicate the vision
5. Empower employees for broad-based action
6. Generate short-term wins
7. Consolidate gains and produce more change
8. Anchor new approaches in the culture
13/07/2016 @danielbryantuk
43. Wrapping up - Conclusion
• Strategy
– Get your business ready for microservices
– Technical leadership (architecture) skills are vital
– Choosing Tools is challenging
• Feedback
– Visibility and learning (optimise throughout the organisational stack)
• Responsibilities
– Learn from Conway and spotify, but do not cargo cult blindly
– Devops (done right) is a prerequisite for microservices
13/07/2016 @danielbryantuk