We predominantely work closely with Azure technologies. This has, however, chanced somewhat over the last six months with the advent of containerisation. A greater proportion of our CI/CD is beginning to take advantage of Kubernetes and Docker as a means of providing auto scale, self-healing and resilience in a more cloud agnostic fashion.
Serverless computing is still very much tied to each of the various cloud offerings such as Azure offering Service Fabric, Logic Apps, Function Apps and Batch. These are being used as discrete functional entities and are loosely coupled to the design should the pricing in AWS, Google Cloud Platform, or IBM Cloud offer a more competitive pricing structure. So, a cloud mesh is the preferrred option basing architectural decisions with security, resiliience and pricing at the heart of the design.
With the advent of the cloud more and more of our solutions center around Domain Driven Design (DDD) as well as using Event Driven architecture to break the solution into functional units along the microservices pattern. This has also meant that we've looked at both event sourcing as well as Command Query Responsibility Segregation (CQRS) to increase throughput.