Senior Cloud Architect
Hossam is a Senior Cloud Architect at Amazon Web Services. He has over 18 years experience in software industry. Specialising in Microservices, Serverless, Domain Driven Design, and Continuous Delivery.
Area of Expertise
Have you ever found yourself in a situation where an order was mistakenly sent twice to a customer due to a network glitch? Do you worry about unintended side effects or inconsistent states caused by retries and failures in your serverless workflows? Do you want to ensure reliability in the face of retries and network failures in serverless applications? If so, this talk is for you.
Idempotency is the property of an operation whereby it can be applied multiple times without changing the result beyond the initial application. You can run an idempotent operation safely multiple times without any side effects like duplicates or inconsistent data.
This talk explores the significance of idempotency in building serverless applications that can gracefully handle failures and retries. We will cover strategies for designing idempotent APIs, implementing idempotent consumers, and managing unique request identifiers. Additionally, we will show real-world examples that illustrate how to implement idempotent serverless applications in practice.
Join us as we dive into the serverless computing world and explore how to leverage idempotent design principles to enhance the reliability and confidence of your serverless applications.
While many developers have already implemented continuous delivery for their application code, the same can't be said for databases. This is because making changes to databases can be risky and can lead to data corruption or loss if not done carefully. Companies also need to be careful not to cause extended downtime.
Imagine if you could push database changes to production without causing any downtime or loss of data. Sounds too good to be true, right?
Well, it's not! In this talk, we'll cover the fundamentals of database continuous integration and delivery, the common gotchas and how to overcome them. Then, we will go through real-world scenario showing how to safely and securely deploy the database changes. Finally, we'll look at how to manage database changes during blue-green and canary releases.
By the end of this talk, you'll know everything you need to get started with database continuous delivery, and you'll be ready to reap the benefits for yourself. Are you ready to get started?
Have you started building containerized application and struggled with scaling across multiple hosts? Would you like to simplify DevOps tasks such as deployment and configuration? Have you heard about Kubernetes and would like to learn more?… then this presentation is for you!
Kubernetes is an open source system for managing containerized applications across multiple hosts; providing basic mechanisms for deployment, maintenance, and scaling of applications.
In this presentation, I will walk you through Kubernetes fundamentals, the high level architecture, how would you deploy an ASP.NET Core that communicate with SQL Server DB to Kubernetes and finally how would you configure and launch auto-scaling, self-healing Kubernetes cluster.
Have you heard about Infrastructure as Code (IaC) and would like to start applying it? Have you found tools like ARM templates, CloudFormation and Terraform verbose and fiddly? Would you like to provision your infrastructure safely and repeatedly using your favourite tools and language? Have you heard about Pulumi and would like to learn more? ...then this talk is for you!
Pulumi is an open-source Infrastructure as Code tool that enables using general-purpose programming languages like C#, TypeScript, Go, and Python to define infrastructure resources which is a better approach over using text-based formats like ARM templates, CloudFormation or Terraform.
With Pulumi, developers can utilise their favourite tools and IDEs, avoid learning another infrastructure DSL and capitalise on their existing knowledge and skillset to define infrastructure resources.
By the end of the talk, you'll understand how Pulumi works, how to use Pulumi with .Net Core to provision cloud infrastructure resources and assemble resources into higher-level abstractions that can be packaged and reused within your company.
You will get the most out of this talk if you are familiar with any of the cloud platforms Azure, AWS, GCP, etc.
You have probably heard about Domain-Driven Design (DDD) and read about the benefits of building complex software applications with DDD, but struggled in applying DDD to your project especially with legacy code bases that have anemic domain models.
In this session, we will cover the fundamentals of DDD with focus on the tactical patterns like aggregates, entities, value objects and domain events, how to use a pragmatic approach to craft a cohesive domain model, and finally how to leverage EF Core capabilities to persist the domain model into a relational database.
By the end of this talk, you will be equipped with enough knowledge to apply DDD principles to both greenfield and brownfield projects without cluttering your domain model with dependencies on EF Core.
Kubernetes became the de-facto standard for deploying and managing containers at scale. However, many developers might not be aware of the new threats that containers introduce and what are the common practices to mitigate them… How to verify that the container images you are using are safe? How to patch unsafe images? How to avoid containers breakout? How to ensure that a compromised container will not gain access to the rest of the cluster?
This talk focuses on pragmatic approaches to make your container images and running containers are more secure leveraging features like pod security context, pod security policy and admission control.
Senior Cloud Architect