Serverless Craic from The Serverless Edge

Serverless Craic Ep31 Event Driven Architecture Examples at EDA Day

September 16, 2022 Treasa Anderson Season 1 Episode 31
Serverless Craic from The Serverless Edge
Serverless Craic Ep31 Event Driven Architecture Examples at EDA Day
Show Notes Transcript

We are talking about Event Driven Architecture examples today. There was an event in London a few weeks ago, called EDA Day. It was organised by GOTO with a lot of AWS contributors. It was neat because it was one day focused on event driven architectures. It showed the coming together of a 15 to 20 year old pattern of EDA, plus serverless. And all the bigger services on top of that, like Eventbridge and Step Functions.

Gregor Hohpe's Keynote 

Gregor Hohpe did the keynote talk: 'I made everything loosely coupled. Does my app fall apart?' Gregor is an AWS enterprise strategist. And he talked about the event landscape and the complexities behind event driven and architecture. He had a diagram called: 'A calls B'. It looked pretty simple until you get to the million things you need to think about when A calls B!

Serverless Espresso 

Julian Wood, Ben Smith, and a few others from Serverless Land, put together a demo called Serverless Espresso. You scan a barcode and through an event driven step function, event bridge sequence, you can order a coffee from your phone. So look up AWS labs, to see Serverless Espresso. It's well put together to show how you build an event driven architecture from the ground up.

Ben Ellerby - Minimal Viable Migrations 

He worked in Theodo and is an AWS Serverless Hero. He has a thing about Minimal Viable Migrations. A lot of people think event driven is a greenfield or brand new thing. But he had a great talk about existing architecture and going event driven. He talked about doing a small part of your architecture and going bit by bit. By using an incremental model.

David Boyne - Awesome EventBridge

David Boyne joined AWS and does ‘Awesome EventBridge’. He has open source projects. And he does a great talk on 'Thinking Event First'. How to approach events and get your schemes right. And really think about your domain model and lock it in from day one. Look up his resources on ‘Awesome EventBridge’.

Marcia Villalba - FooBar Serverless 

Marcia Villalba is a developer advocates at AWS. She's got great content on good practices and getting started. She has a really nice way of explaining these concepts.  Check out her FooBar Serverless YouTube channel. There is tons of developer friendly content from beginner to more advanced. 

Lego Talk - Sarah Hamilton and Sheen Brisals

The last one to talk about is Lego. They sponsored the event. And they had two talks. Sarah Hamilton is one of the software engineers and she gave a really good talk about the advanced techniques they're using in their event driven architecture. My friend, Sheen Brisals was speaking as well. They have a fantastic story, which is well worth listening to. It's about how they moved to an event driven serverless architecture. There's a socio-technical element to this. How you organise your teams and the attitude is what I would call a core engineering competency and mindset. As opposed to an architectural pattern. Lego tells their story brilliantly.

Product Leader panel

The event ended with a panel of product leaders from Eventbridge, Step Functions and MongoDB. It was a really relaxed panel. Emily Shea, who we know well, was there. She works in go to market for serverless. It was a relaxed chat. No one was pushing any tools. They were shooting the breeze on good practice and what's coming down the track. The evolution of event

Serverless Craic from The Serverless Edge
Check out our book The Value Flywheel Effect
Follow us on X @ServerlessEdge
Follow us on LinkedIn
Subscribe on YouTube

Dave Anderson:

Hey folks! Welcome to the next edition of Severless Craic with Dave Anderson, Technical Fellow at Bazaarvoice, and Author and Contributor at The Serverless

Mark McCann:

I'm Mark McCann, Architect at Globalisation Edge. Partners and Author and Contributor at The Serverless Edge.

Mike O'Reilly:

Hello, Michael O'Reilly Architect at Globalisation Partners and Contributor with The Serverless Edge.

Dave Anderson:

Today we figured we talk about Event Driven Architecture. There was an event in London a few weeks ago, called EDA Day. I was lucky and privileged to attend. It was organised by GOTO with a lot of AWS contributors. It was neat because it was one day focused on event driven architectures. And there was an AWS and serverless slant. I thought it was fascinating. Because it showed the coming together of a 15 to 20 year old pattern of EDA, plus serverless. And all the bigger services on top of that, like Eventbridge and Step Functions. What do you guys think? There's definitely something in the air around event driven architecture. We've been talking about it for about 15 years. It's starting to become real.

Mark McCann:

A lot of the barriers to entry are starting to be removed. There are a lot more developer friendly services and capabilities to explore and experiment with. The feedback loop and iteration cycles are quicker. You can fire up eventbridge or use SNS or SQS. We've codified these patterns and CDK patterns in Serverless land. So they're more approachable now than they have ever been. And a lot more practical so you can rapidly experiment with them. The timing was perfect for an EDA Day to bring it all together.

Mike O'Reilly:

I don't know if it's a modern thing. But when you think about things like Team Topologies, and how to organise your domains and domain driven design, the industry has come on a wee bit in recent years. It's easier to own an area of a platform, than it ever was. And you think about how teams should be set up, interact and move from one area to the other. We can do that now because we can leverage EDA and event driven approaches to organisational design and product design as well. We're in a better spot than we were a few years back.

Mark McCann:

High performance teams, loose coupling and building for rapid product delivery is critical right now. So EDA fits the bill for that.

Dave Anderson:

If you're interested in EDA Day, google GOTO. They organise great conferences like GOTO Amsterdam, GOTO Copenhagen, etc. Google GOTO EDA Day and you'll see a bunch of stuff there. You can download slides. I remember talking about this 15 years ago. You think of people like Gregor Hohpe, who first wrote the pattern up. And Eric Evans talking about domain driven design. I remember speaking to those people 15 years ago, and thinking this is a cool idea. But it would be so hard to do. You needed a huge team to do it. Now you can spin these things up pretty quickly. And that leads us to EDA day itself, because Gregor Hohpe did the keynote

talk:

'I made everything loosely coupled. Does my app fall apart?' And he set the scene really well. Gregor is an AWS enterprise strategist. And he talked about the event landscape and the complexities behind event driven and architecture.

He had a diagram called:

'A calls B'. It looked pretty simple until you get to the million things you need to think about when A calls B! And he's not selling AWS, He says there's a million ways to do this. You have got to pick the right way. He has a great way of talking about things.

Mike O'Reilly:

When we get into the topics in the book, we talk about building momentum and next best action. You have got to be able to assemble the systems in a composable fashion. That requires a lot of discipline. We harp on about well architected and adopting good design practices. And some of the talks we will get to later. Like how to use domain modelling etc. But it's difficult. And it requires a certain degree of rigour. Earlier today, we were having conversations on eventing within the box and eventing across the box. And internal/external eventing. There's a lot of engineering rigour and design challenge to do. But with serverless and rapid delivery, you can embrace it and move fast: iterate, rapidly increment, change, pivot or do whatever you need to do. It all comes back to engineering rigour and well architected.

Mark McCann:

One of the big differentiators is that these things are codified and patterns are readily available. And Gregor talked about it. You have composable building blocks that you can build upon. So you're not starting from first principles of event driven architecture. You are able to leverage higher order building blocks to rapidly build event driven architecture,

Dave Anderson:

Gregor explained it really well. He said that there were three languages in a cloud native serverless domain. You've got the business domain and how you talk about the business domain as as a business person. The eventing architecture and how you talk about it as an architect. And then the cloud native area, and how you talk about it as a cloud engineer. So DDD, event framework and CDK for automation. It's about having those three separate languages and how you talk. And bringing them together at the end. It was a cracking talk to kick EDA Day off.

Mike O'Reilly:

His talk was awesome. I actually sat through Gregory's talk.

Dave Anderson:

They had a whole bunch of stuff running. And one neat thing to mention is a developer advocate called Julian Wood. He's worth looking up on Twitter. He, Ben Smith, and a few others from Serverless Land, put together a demo called Serverless Espresso. You scan a barcode and through an event driven step function, event bridge sequence, you can order a coffee from your phone. It looks and sounds really simple. But you watch the whole thing happen. That's a great lab. So look up AWS labs, to see Serverless Espresso. It's well put together to show how you build an event driven architecture from the ground up.

Mike O'Reilly:

That's the big thing, isn't it? Five years ago, if you wanted to do something like that, you would have used Kafka or something else hefty and overpowered. And completely unfit for what you wanted to do. Or some sort of queue which

leads to the questions:

who owns the queue and who is going to run the queue. Patterns are super powerful. When people get their hands on that stuff, there's no going back.

Mark McCann:

In the past those things would have been cost prohibitive. Everyone would have run a mile before they would have fired that up on their account. But with the low cost serverless options now, you can quickly do this and not worry about outlaying hundreds of dollars of AWS costs.

Dave Anderson:

Another good speaker was Ben Ellerby. He worked in Theodo and is an AWS Serverless Hero. He has a thing about Minimal Viable Migrations. A lot of people think event driven is a greenfield or brand new thing. But he had a great talk about existing architecture and going to event driven. He talked about doing a small part of your architecture and going bit by bit. So using an incremental model.

Mark McCann:

His article on event bridge storming is essential reading for anyone trying to build out an event driven architecture. It's taken the event storming work of Alberto Brandolini on. And adds event bridge elements and detail to it. He has a fantastic blog post as well. Check that out.

Dave Anderson:

Ben's got a great company that he founded after Theodo called Aleios. They do that actual stuff. They're well worth a look for brilliant content. And David Boyne has done a whole bunch of stuff. He has joined AWS and does awesome event bridge. He has open source projects. And he does a great talk on 'Thinking Event First'. How to approach events and get your schemes right. And really think about your domain model and lock it in from day one. So he's got a bunch of tools as well. So it's worth looking up his resource on awesome event bridge.

Mark McCann:

The event catalogue is awesome as well.

Mike O'Reilly:

There's a recent blog he came out with on this topic. It's about domain driven design. And it's in line with what you were just saying about Ben and event storming. And creating your bounded context. Great content for anyone who is

Mark McCann:

One big advantages of not doing undifferentiated interested. heavy lifting. And leveraging AWS managed services is having access to the developer advocate community. They build, document and doworkshops and tutorials that we can leverage. We come across problems in our own context. And we're able to see the likes of David putting out stuff that's relative and relatable to what we are seeing internally. It's great that they're there. They're continuing to invest in the developer advocacy community. Because it's been a great resource for us. And the work they've done in Serverless Land as well.

Dave Anderson:

The best thing is we've worked with lots of software vendors in the past. And usually the labs are like a secret sauce. If you pay us lots of money, you can get access to the lab, and it'll be great. And you can see this lab secret. These guys will stick them online for nothing. GitHub for free! You want the lab, there it is! Download it yourself and do it yourself, please. It's a great democratisation of information, which I think is brilliant. We're not all privileged enough to travel and get into expensive training courses. Sometimes you just want to just grab something to have a look at it. Another great speaker was Marcia Villalba. She has a lot of brilliant content. She's one of the developer advocates at AWS. She's got great content on good practices and getting started. She has a really nice way of explaining these concepts. There is one thing I get nervous about around event driven and domain driven. People who are good at it tend to get very complicated very quickly and lose everyone. But Marcia's super at bringing these concepts across and helping normal teams, which is every team.

Mike O'Reilly:

That's something we coach with our engineers. Around observability and being able to trace these things through their workflows in their life spans.

Mark McCann:

Check out her FooBar Serverless YouTube channel. There is tonnes of developer friendly content from beginner to more advanced. It's one of my YouTube subscriptions that I watched quite regularly.

Dave Anderson:

The last one to talk about is Lego. They sponsored the event. And they had two talks. Sarah Hamilton is one of the software engineers and she gave a really good talk about the advanced techniques they're using in their event driven architecture. My friend, Sheen Brisals was speaking as well. They have a fantastic story, which is well worth listening to. It's about how they moved to an event driven serverless architecture. There's a socio technical element to this. How you organise your teams and the attitude is what I would call a core engineering competency and mindset. As opposed to an architectural pattern. Lego tell their story brilliantly.

Mark McCann:

One of the biggest things about the Lego approaches is that it's based on user needs. They're good at articulating the need that they're trying to solve. And then what pattern or technology they're bringing tp bare to solve it. Sheen Brisal'd blog and the Lego engineering blog have been great for sharing their learnings, which is fantastic.

Mike O'Reilly:

I've gone through the slides but haven't seen the talk yet. But it sounds like they are working at scale as well. They're streaming Kinesis. I've never managed to get a good use case for Kinesis. A lot of my experiences is with SQS SNS and we're just getting into event bridge now. So it's good to see teams out there pusing us all on.

Dave Anderson:

All these things are happening at a massive scale. Their entry point was scale for a Black Friday event. But it's brilliant to hear how they put all that together.

Mike O'Reilly:

You find that a lot of these technologies and services facilitate you to learn the trade of EDA. You start off using basic SNS, SQS and evolve into event bridge. When you're going up to the next level, you can learn about Kinesis. It supports that evolutionary architecture which is another benefit of EDA. It's good to see different teams at different periods in their evolution. And leverages tech in very different ways, which is awesome.

Dave Anderson:

In yesteryear, the design you needed to do for an EDA was the most difficult thing to get right. If you built it yourself from the ground up, you got itworking at a basic level. But when you started to scale, you had to re architect on the fly. That was really difficult. But now with this modern approach, you can spend your time on the design. And when the skill comes, the tools have it for you. You still have to tweak a few things. But at least you know that event bridge isn't going to fall over. With some currency it will probably scale faster than you can. You are not stuck hand cranking a load of messages flying around. It's not pretty when you get scale.

Mike O'Reilly:

Reliability is a topic for event driven systems. Low operational burden gives you more time to focus on reliability and quality.

Dave Anderson:

You don't want to be sitting and worrying about size of queues and buffers etc. I will not sit up all night watching queues. Then the event ended with a panel of product leaders from Eventbridge, Step Functions and MongoDB. it was a really relaxed panel. Emily Shea who we know well was there. She works in go to market for serverless. It was a relaxed chat. No one was pushing any tools. They were shooting the breeze on good practice and what's coming down the track. The evolution of event driven architecture and the tie in with serverless. There's something in it! I don't want to say Serverless is become EDA or EDA is becoming serverless. But serverless enables EDA for sure.

Mark McCann:

There are huge synergies there.

Dave Anderson:

Take a look at GOTO and GOTO Play. It will have a lot of other videos. On the website, in the schedule, you can click on the speakers and a lot of them have slides there. The talks will come out on the GOTO Play YouTube channel in the next couple of weeks. So that's the craic with EDA. Thanks for listening. Follow us@ServerlessEdge on Twitter. Check out the blog at TheServerlessEdge.com. And thanks for watching.