I'm Bringin' Hexy Back: Crafting Serverless Hexagonal Architectures Under Test
Join us for a workshop on Hexagonal Architecture, also known as Ports and Adapters. This workshop will provide an extensive understanding of the principles and practical implementation of Hexagonal Architectures. RSVP essential.
Workshop Overview
- Introduction to Hexagonal Architecture
- Definition and history of Hexagonal Architecture.
- Comparison with traditional layered architecture.
- Benefits of using Hexagonal Architecture in modern software development.
- Core Components and Concepts:
- Domains: Central business logic and how to keep it isolated from external concerns.
- Ports: Interfaces that define the entry points and exit points of the application.
- Adapters: Implementations of ports to interact with external systems like databases, UI, and other services.
- Practical Implementation:
- Setting up a Hexagonal Architecture project for a financial services application.
- Defining and implementing domain models, ports, and adapters.
- Best practices for structuring your project for clarity and scalability.
- Hands-on coding exercises to reinforce concepts.
- Testing Strategies in Hexagonal Architecture:
- Techniques for unit testing the business logic in isolation.
- Mocking adapters for integration testing.
- End-to-end testing strategies to ensure the entire application works seamlessly.
- Tools and frameworks for effective testing.
- Advanced Topics and Best Practices:
- Integrating with third-party services using adapters.
- Managing cross-cutting concerns like logging, monitoring, and security.
- Interactive Q&A and Live Problem Solving:
- Open discussion at the conclusion of the workshop.
- Real-world problem-solving exercises to apply learned concepts.
- Collaborative debugging and code reviews to solidify understanding.
Outcomes:
By the end of this workshop, participants will:
- Gain a deep understanding of Hexagonal Architecture principles and components.
- Be able to design and implement applications using Hexagonal Architecture.
- Develop robust testing strategies to ensure application reliability.
Presenters
Rami Ruhayel shapes minds as the Graduate Developer Program Lead for JourneyOne and crafts solutions as a Software Engineer at Jibility. Rami believes in the transformative power of education and innovation. He has a distinct affinity for the NaN data type, and is fascinated by the blobfish. He lives by the guiding principle that "Monads are monoids in the category of endofunctors". His favourite colleague is Ben Bower (no s).
Ben Bowers is a Software Engineer at JourneyOne and an alumnus of the JourneyOne Graduate Program. With a mantra of "It's 5pm somewhere" Ben navigates the complexities of software development with grace, drawing inspiration from Bjarne Stroustrup. Essential to his BBQ toolkit is a quality meat thermometer. The hexagon, his favourite shape, symbolises the efficiency and balance he brings to his work.
Pre-Requisites
Knowledge
This is a Level 300 workshop. To get the most out of it you will need familiarity, though not proficiency, with AWS serverless services including:
- DynamoDB
- Lambda
- EventBridge
- API Gateway
- IAM
Workshop code is written in Javascript/Typescript.
Equipment
This is a hands-on workshop, so you will need:
- Hardware: Your own laptop and charger.
- Software: A browser.
- Accounts: Your own GitHub account. We will be using GitHub Codespaces. GitHub 'individual' accounts are free to set up and come with more than enough free Codespaces hours to complete the workshop. If you already have an account please make sure you have enough Codespaces hours remaining (or create a new account).
A temporary AWS sandbox account will be provided to you.
Time and Place
2pm to 5.00pm on Tuesday, 25th June at AWS Perth Offices, Level 9, 240 St. George’s Terrace.
Please arrive a few minutes early to sign in.
CloudCraft Workshop Series
CloudCraft Workshops are brought to you by the Perth AWS User Group, with the support of our sponsors and AWS. The workshop series is run in addition to our monthly meetups and provides an opportunity for our members to gain hands-on experience with AWS under the guidance of expert volunteers.
RSVP
RSVP via the event page at Meetup.com.