Session: Architectural patterns for cloud-native applications
The Cloud Native landscape is evolving with the evolution of containers, microservices and Kubernetes. As a result of this, the architectural patterns used to design, develop and deploy modern cloud-native applications have evolved significantly. This talk will start with discussing the need for containers and cloud-native applications. Then, I will dive into important architectural patterns like "Service Discovery", "Sidecar", "Operator" and "Elastic Scale" etc. I will also share few example scenarios to illustrate how some of these patterns can be applied to implement common use cases in the context of Kubernetes.
The talk will cover basics on virtualization, containers, kubernetes, cloud native applications and microservices.
We will first take a look at traditional model of building applications and then move to virtual model.
The talk will help answer questions like:
What are cloud native applications?
How containers are fit for microservices and cloud native applications in these days?
Why is there a need for container management platform?
There are some commonly agreed problems in software development lifecycle and there are some standard solutions that can be applied to solve for these problems. These solutions are called patterns. Similarly, we can use certain design patterns for for cloud-native solutions.
We will look in details at these at problems and which pattern we can apply to solve for that problem. We will understand pros and cons of each architectural style as well.
- High level basics of virtualization, containers, cloud-native applications and microservices.
- Implementing even a simple production grade cloud-native application requires a good understanding of distributed systems and container management platforms.
- There is a common set of problems that apply to cloud-native applications and there are some design patterns for solutions to those problems.
- Software engineers have to be fluent in cloud-native technologies in order to apply suitable architectural patterns to common problems.
I am Ankita. I am a Software Engineer at American Express. A hire from Grace Hopper Conference, I began my career here as a fresh graduate from University in 2015. I am part of the Enterprise Communications team at Amex working to provide consistent experience to our card members that receive servicing and marketing communications across multiple channels like email, sms, letter and push. In the past 5 years of work experience as a developer, I have led and implemented multiple platform modernisation initiatives to drive Digital Communications experience for our customers. My areas of technical interest include Java, Vert.x, GraphQL, RESTful APIs, Microservices Architecture, Performance and Event-Driven Asynchronous non-blocking web services.
Recently I have been intrigued by GraphQL and Vert.x frameworks and have been working on them for around close to an year. I have designed, developed and implemented highly scalable service using Vert.x (leveraging its asynchronous model) in Amex which is successfully running in production. In our journey of platform modernisation, moving away from monolithic legacy application to building microservices, improving performance, Vert.x and GraphQL played a major role and I want to share my experience with everyone.
I am passionate about fueling technology innovation having deep impact on customers and business. I have given many technical talks at Amex to fresh graduates as well as experienced developers and enjoys sharing the great work happening in the engineering teams I work with, and coaching engineers to do the same as well.
My interests include mentoring, networking, attending technical conferences, being a technical speaker and technical blogging. I was a speaker at WomenWhoCode technical global conference where I gave a lightning talk on the topic "REST To GraphQL: A structured Thinking Approach".
I am also an active member of Inclusion and Diversity workstream at Amex, wherein I am working to prepare our organization to be able to onboard People with Disabilities. This requires right mindset of not only team leads but also all colleagues, inclusive culture, sensitization trainings and physical and technical infrastructure.