SlideShare ist ein Scribd-Unternehmen logo
1 von 108
AGILE ARCHITECTURE
IN A MODERN
CLOUD-NATIVE ECOSYSTEM
By Turja N Chaudhuri
Meet Sam .
Sam has around 10 years
of experience in IT as a
SysAdmin + IT Operator.
Sam recently completed 3
cloud certification exams.
With his newfound cloud
knowledge , Sam attends a
Cloud architecture
interview for a prestigious
IT firm .
Unfortunately , the interview
does not go well . He is asked
about topics he had not
encountered in the cloud
certification exams .
He gets rejected .
Meet Stephanie .
She works as a Lead
Developer in an IT
company.
She has developed quite a
few products using cloud
services.
She is asked to take over
the role of a Cloud
Architect for a large-scale
application which will be
published across the
enterprise.
She delivers the product , but it
is neither scalable ,nor resilient
enough , even though she is a
great coder , and had put the
best programming standards in
place .
She loses the trust of the client
and as a consequence , her
manager.
So , the million $ question is –
1 . What went wrong ?
2 . What did they (particularly) do wrong
?
3 . How can I/you prevent myself/ourself
from doing the same mistakes?
Hopefully , at the end of the talk ,
you(the audience) should be in a
better position to
answer these questions yourself !!
We will revisit these 2 scenarios at the end of this talk!!
Let me (briefly) introduce myself -
Currently , an Assistant Director,
Cloud Practice at EY (Ernst & Young).
Before that I led the CCOE ( Cloud
Centre Of Excellence Team ) at Accenture.
Have 10+ years of IT experience , working on
Cloud since 2017.
But , most importantly , I successfully transitioned
my career
from being a C#,SQL developer
to a Cloud solution architect.
I want to help you do the same , in case
you guys are interested
I will try to leave 5-10 minutes at the
end to address any queries you might
have on this topic.
So , you can ask the questions on chat .
If I cannot answer them during the session
I promise , I will personally reach out to you ,
and answer them later.
Agenda -
Before ,we go into Cloud Native
Architecture , we need to first understand
the basics.
Note –
Getting the basics right is very important.
In this ever-changing landscape of myriad technologies , it
is only possible to stay relevant , if you understand the
foundation topics .
The trick to note here is that the fundamentals / basics
have not changed that much over the years.
They have stood the test of time .
Today there is Kubernetes tomorrow there will be
something else , but the essence will stay the same (
mostly ).
Otherwise , the same issues we faced
earlier (in our on-prem systems
, for example ) , will potentially resurface.
What is architecture ?
IEEE 1471:2000 definition -
‘’The fundamental organization of a system embodied
in its components, their relationships to each other,
and to the environment, and the principles guiding
its design and evolution.’’
Grady Booch , IBM Fellow
‘’All architecture is design but not
all design is architecture;
architecture represents the set of
significant design decisions that shape
the structure and behaviour
of a system where significance
is measured by cost of change.’’
Ref - https://twitter.com/grady_booch/status/1257355498598342656?lang=en
Martin Fowler
https://www.youtube.com/watch?v=DngAZyWMGR0
“the set of design decisions
that must be made early”
What is architecture ?
Matthew Parker , previously Global Head
of engineering – Pivotal Labs
“Architecture , in the field of
software development ,
are decisions that are hard to reverse ”
Some examples could be -
“Whether to deploy our application on container based
compute environment like Kubernetes or go with
a serverless model like AWS Lambda ”
“Whether to go with synchronous API-based
communication or use a event-bus based asynchronous
messaging system like RabbitMQ/AWS SQS”
OR
OR
“What programming language do you use for your
application development”
Ok , then who/what are architects ?
“Architects have a holistic understanding
of the system , across a different spectrum
of views and viewpoints , and they offer a
different perspective of the
system/design.”
“The architect doesn’t have
to be the smartest
person in the room.
Instead they make
everyone else smarter.”
Gregor Hohpe ,
Enterprise Strategist , AWS
https://architectelevator.com/architecture/multiple-dimensions/
Why do we need architecture ?
Architecture matters -
“Bad architecture / no architecture slows down the ability of our customers to compete , as over time it becomes
harder and harder to ship new features”
https://martinfowler.com/bliki/DesignStaminaHypothesis.html
Let me explain ,
Ref - https://betterprogramming.pub/agile-
architecture-intent-vs-the-immediate-36d327289b2d
Agile architecture - Immediate Architecture to
Architecture Intent
But , what does this have to
do with me ?
Why do I care about
software/cloud architecture ?
Why would I want to become a Cloud
Architect?
https://info.flexera.com/CM-REPORT-State-of-the-Cloud
“Almost all organizations are using at least one cloud”
Reason 1 – Cloud adoption is increasing
https://info.flexera.com/CM-REPORT-State-of-the-Cloud
Reason 2 – Companies are spending
money on cloud
Reason 3 - Because , a 2020 survey by
the Job
search engine Indeed says – “Software
Architect is the best job ”
Look around you , you will see
that architects are typically
paid 5-10x , the salary
of standalone engineers/developers.
What is cloud architecture ?
Cloud architecture is the way technology components combine to build a cloud,
in which resources are pooled through
virtualization technology and shared across a network.
The components of a cloud architecture include:
• A front-end platform (the client or device used to access the cloud)
• A back-end platform (servers and storage)
• A cloud-based delivery model
• A network
If I had to define Cloud Architecture , or focus on a part of it , that makes the most sense to me , is to go with
the below analogy -
Pets Vs Cattle – If you understand this
you understand Cloud architecture
Scalability Reliability Efficient Secure
Maintainable Extensible Observable
Testable
So , in essence we can think of a cloud architecture
as an architecture / design that -
Noticed something ?
Essentially , nothing has changed .
All the constraints / quality
attributes that you
needed to maintain in your datacenter
based applications are relevant even now ,
more so than ever .
The cloud might
be new , but the
essence of
architecture
remains the
same .
Scalability Reliability Efficient Secure
Maintainable Extensible Observable
Testable
And if you can ensure that you manage your solution/architecture to align with the
below constraints/requirements , then you are already doing the right thing -
Essentially , the attributes that public cloud offer , for
example – infinite compute , pay as you go offering and so
on , helps architects in building solutions that respect the
quality attributes we discussed before .
Cloud Platforms / Cloud Service
Providers (AWS, Azure,GCP) help
architects in building better solutions
And these are
called – Non
Functional
Requirements
Normally , in architecture design , there
are different types of requirements
• Functional
• UI
• Business/Domain
• Non-Functional (NFR)
Being a cloud architect , you should
focus on documenting , defining ,
implementing and managing the NFR(s)
of the system you are designing.
Typically , these are documented in SADs (
Solution Architecture Documents )
Cloud-native architectures
Cornelia Davis , Amazon , Cloud
Foundry
“CLOUD-NATIVE = LOOSELY COUPLED
RUNNING IN THE CLOUD”
“Cloud is where you compute ,
Cloud-native is how you compute”
Ref - https://www.youtube.com/watch?v=VpZHLtu8mj0&t=1045s
Cloud native is a big topic , stretching across a lot
of components -
Principles of Cloud-native architectures
https://www.ibm.com/cloud/architecture/architecture/practices/cloud-native-principles/
Wait , what ?
“At a high-level , if you really think about it ,
Cloud native architecture principles
are just extensions of the best practices/standards
that enforces the same NFR(s)
that we discussed”
Let’s take an example –
One of the key principles of cloud native architectures
is immutability .
This means that the infrastructure is not modified in
place after deployment .
This means that we must have an automated way of
creating
a new instance of an application .
This means that if our existing application is down , we can
quickly create a new instance.
This means my application is (as a consequence) RELIABLE
So , simply put cloud-native application
architectures are a way to build better applications
that work better , scale better , are more reliable ,
take advantage of the cloud , provided
you play by the rules .
The last part is very important – you need to play by the
rules .
Cloud service providers like AWS ,Azure OR cloud native
platforms like Kubernetes , VMWare Tanzu are here
to help , but you still need to architect your
system correctly.
And that is where cloud architects come into play.
Cloud-native is an approach to
build & run applications that can
leverage the advantages of the
cloud computing model.
These applications are built and
deployed in a rapid cadence to
the cloud platform and offer
organizations greater agility,
resilience, and portability across
clouds.
In a nutshell ,
At this point , it makes sense to briefly introduce
some of the
tools , and practices that make designing
Cloud native applications possible -
Mostly , we start our cloud-native journey
by learning about docker , which is good .
But , please understand
Docker != Cloud native
But , it’s true , you should learn about
containers , as they really help in building
cloud-native applications .
Containers
Ref - https://www.docker.com/resources/what-container
A container is a standard unit of software that
packages up code and all its dependencies so
the application runs quickly and reliably from
one computing environment to another. A
Docker container image is a lightweight,
standalone, executable package of software
that includes everything needed to run an
application: code, runtime, system tools,
system libraries and settings.
Containers isolate software from its
its environment and ensure that it works
works uniformly despite differences for
differences for instance between development
development and staging.
It essentially solves -
But , then how do we manage multiple
containers ?
Container orchestration automates the deployment,
management, scaling, and networking of containers.
Enterprises that need to deploy and manage hundreds or
thousands of containers and hosts can benefit from
container orchestration.
Along came Kubernetes
Kubernetes -
Kubernetes is a portable, extensible, open-source
platform for managing containerized workloads and
services, that facilitates both declarative configuration
and automation.
It has a large, rapidly growing ecosystem. Kubernetes
services, support, and tools are widely available.
Microservices -
Microservice architectural style is an approach to
developing a single application as a suite of small services,
each running in its own process and communicating with
lightweight mechanisms, often an HTTP resource API.
These services are built around business capabilities and
independently deployable by fully automated deployment
machinery.
There is a bare minimum of centralized management of
these services, which may be written in different
programming languages and use different data storage
technologies.
Cloud-study loop
Here , I want to share
a few small things that worked
for me in my journey to become
a better cloud architect .
Focus on developing T shaped skills -
1 . Follow other ,
better solution
architects.
2 . Listen to cloud
podcasts while
talking a walk , or
chilling out.
3 . Write a small
program , in
whatever language ,
at least once a
month.
4 . Subscribe to good
newsletters to stay
updated.
5 . Get the basics
right .
Start with the why ,
before the how .
6 . At work , try to get
a gig that lets you
think about
architecture.
7 . Write at least one
blog , a month , on
technology , and
architecture , no
matter what.
8 . Get certified , as
much as possible.
9 . Try to speak on
cloud
technologies/software
architecture at events.
10 . Attend as many
cloud interviews as
possible
There is no shortcut
to becoming a good
cloud architect.
You need to spend
the required time ,
and effort .
So , coming back to the question –
1 . What went wrong ?
2 . What did they do wrong ?
3 . How can I/you prevent
myself/ourself from doing the same
mistakes?
Scenario 1 ( Sam ) – Needs to understand
how architecture is important , and how
to design applications that respect the
NFR(s) to get a Cloud architect role ; only
certifications are not enough
Scenario 2 ( Stephanie ) – Only
programming/having a limited
perspective of a system will not help in
large-scale enterprise architecture.
Having a holistic view is equally
important , if not more.
Scan below QR code to contact me on LinkedIn
Or if you are URL kind-of-a-guy , use the below hyperlink -
TurjaChaudhuri-LinkedIn
Scalability
Ability to easily adapt to larger demand
by allowing greater supply.
Reliability
Ability to easily withstand interruptions
or failures.
Efficiency
Ability of the system
to easily perform at the required level.
Security
Ability to easily protect important
or trusted data from non-approved
entities.
Maintainability
Ability to easily manage and operate
a system over time.
Extensibility
Ability to easily add new features
to a system , by extending
existing modules.
Testability
Ability to easily test
a system for issues or bugs.
Observability
Ability to easily monitor a system
for changes / alerts.

Weitere ähnliche Inhalte

Was ist angesagt?

Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
drumulonimbus
 
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Severalnines
 
Product Management 2.0: Using Confluence to drive company-wide alignment and ...
Product Management 2.0: Using Confluence to drive company-wide alignment and ...Product Management 2.0: Using Confluence to drive company-wide alignment and ...
Product Management 2.0: Using Confluence to drive company-wide alignment and ...
Atlassian
 

Was ist angesagt? (20)

devops, platforms and devops platforms
devops, platforms and devops platformsdevops, platforms and devops platforms
devops, platforms and devops platforms
 
Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)
 
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
 
Move your SharePoint Development to the Cloud
Move your SharePoint Development to the CloudMove your SharePoint Development to the Cloud
Move your SharePoint Development to the Cloud
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
Drinking from the Stream: How to Use Messaging Platforms for Scalability & Pe...
 
5/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'165/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'16
 
Decoupled Drupal: What This Means for Developers
Decoupled Drupal: What This Means for DevelopersDecoupled Drupal: What This Means for Developers
Decoupled Drupal: What This Means for Developers
 
Open Source Building Career and Competency
Open Source Building Career and CompetencyOpen Source Building Career and Competency
Open Source Building Career and Competency
 
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho...
Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, Tho...Building Systems That Can Pivot |  Zhamak Dehghani, Principal Consultant, Tho...
Building Systems That Can Pivot | Zhamak Dehghani, Principal Consultant, Tho...
 
2022 Google Academy
2022 Google Academy 2022 Google Academy
2022 Google Academy
 
Approaching Developer Relations in an Open Source community
Approaching Developer Relations in an Open Source communityApproaching Developer Relations in an Open Source community
Approaching Developer Relations in an Open Source community
 
Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24
 
The Paved Road at Netflix
The Paved Road at NetflixThe Paved Road at Netflix
The Paved Road at Netflix
 
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
Product Management 2.0: Using Confluence to drive company-wide alignment and ...
Product Management 2.0: Using Confluence to drive company-wide alignment and ...Product Management 2.0: Using Confluence to drive company-wide alignment and ...
Product Management 2.0: Using Confluence to drive company-wide alignment and ...
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a Platform
 
KubeCon NA 2019 "Introduction to Telepresence: Fast Development (and Debuggin...
KubeCon NA 2019 "Introduction to Telepresence: Fast Development (and Debuggin...KubeCon NA 2019 "Introduction to Telepresence: Fast Development (and Debuggin...
KubeCon NA 2019 "Introduction to Telepresence: Fast Development (and Debuggin...
 
The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKS
 

Ähnlich wie Agile architectures in a modern cloud-native ecosystem

Migrating to cloud-native_app_architectures_pivotal
Migrating to cloud-native_app_architectures_pivotalMigrating to cloud-native_app_architectures_pivotal
Migrating to cloud-native_app_architectures_pivotal
kkdlavak3
 
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Dean Bruckman
 
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Tim Kirby
 
Migrating_to_Cloud-Native_App_Architectures_Pivotal
Migrating_to_Cloud-Native_App_Architectures_PivotalMigrating_to_Cloud-Native_App_Architectures_Pivotal
Migrating_to_Cloud-Native_App_Architectures_Pivotal
Estevan McCalley
 
Take testing-to-cloud
Take testing-to-cloudTake testing-to-cloud
Take testing-to-cloud
Vipin Jain
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Edureka!
 

Ähnlich wie Agile architectures in a modern cloud-native ecosystem (20)

Cloud lunchn learn_howtobecomeacloudarchitect_part1
Cloud lunchn learn_howtobecomeacloudarchitect_part1Cloud lunchn learn_howtobecomeacloudarchitect_part1
Cloud lunchn learn_howtobecomeacloudarchitect_part1
 
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptxDevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
 
Agile Architecture and NFR in a Cloud Native Design.pptx
Agile Architecture and NFR in a Cloud Native Design.pptxAgile Architecture and NFR in a Cloud Native Design.pptx
Agile Architecture and NFR in a Cloud Native Design.pptx
 
Introduction_-_To-_-SRE
Introduction_-_To-_-SREIntroduction_-_To-_-SRE
Introduction_-_To-_-SRE
 
Meetup HybridCloud successful 14.12.2016 #hybridcloudsuccessful
Meetup HybridCloud successful 14.12.2016 #hybridcloudsuccessfulMeetup HybridCloud successful 14.12.2016 #hybridcloudsuccessful
Meetup HybridCloud successful 14.12.2016 #hybridcloudsuccessful
 
Step by Step guide to start your cloud journey
Step by Step guide to start your cloud journeyStep by Step guide to start your cloud journey
Step by Step guide to start your cloud journey
 
7 habits of highly effective private cloud architects
7 habits of highly effective private cloud architects7 habits of highly effective private cloud architects
7 habits of highly effective private cloud architects
 
Cloud Application Development Lifecycle
Cloud Application Development LifecycleCloud Application Development Lifecycle
Cloud Application Development Lifecycle
 
DevOne - How to not fail with Azure
DevOne - How to not fail with AzureDevOne - How to not fail with Azure
DevOne - How to not fail with Azure
 
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
 
Migrating to cloud-native_app_architectures_pivotal
Migrating to cloud-native_app_architectures_pivotalMigrating to cloud-native_app_architectures_pivotal
Migrating to cloud-native_app_architectures_pivotal
 
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
 
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
 
Migrating_to_Cloud-Native_App_Architectures_Pivotal
Migrating_to_Cloud-Native_App_Architectures_PivotalMigrating_to_Cloud-Native_App_Architectures_Pivotal
Migrating_to_Cloud-Native_App_Architectures_Pivotal
 
Take testing-to-cloud
Take testing-to-cloudTake testing-to-cloud
Take testing-to-cloud
 
Cloud for-startup
Cloud for-startupCloud for-startup
Cloud for-startup
 
Cloud computing CXO's guide
Cloud computing CXO's guideCloud computing CXO's guide
Cloud computing CXO's guide
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Matias Creimerman - Cloud migration and modernization effort
Matias Creimerman - Cloud migration and modernization effortMatias Creimerman - Cloud migration and modernization effort
Matias Creimerman - Cloud migration and modernization effort
 
How My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the CloudHow My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the Cloud
 

Mehr von Turja Narayan Chaudhuri

Mehr von Turja Narayan Chaudhuri (10)

ADDO_2022_Turja_Your developers decide your security posture , not your secur...
ADDO_2022_Turja_Your developers decide your security posture , not your secur...ADDO_2022_Turja_Your developers decide your security posture , not your secur...
ADDO_2022_Turja_Your developers decide your security posture , not your secur...
 
DOIS22 Why you need Cloud-agnostic practices to fuel your DevSecOps adoption ...
DOIS22 Why you need Cloud-agnostic practices to fuel your DevSecOps adoption ...DOIS22 Why you need Cloud-agnostic practices to fuel your DevSecOps adoption ...
DOIS22 Why you need Cloud-agnostic practices to fuel your DevSecOps adoption ...
 
SUSECON Digital 22 Scale your CICD setup for Cloud Native microservices via I...
SUSECON Digital 22 Scale your CICD setup for Cloud Native microservices via I...SUSECON Digital 22 Scale your CICD setup for Cloud Native microservices via I...
SUSECON Digital 22 Scale your CICD setup for Cloud Native microservices via I...
 
SUSECON Digital 22 Enterprise-Wide Kubernetes Adoption - Principles, Practice...
SUSECON Digital 22 Enterprise-Wide Kubernetes Adoption - Principles, Practice...SUSECON Digital 22 Enterprise-Wide Kubernetes Adoption - Principles, Practice...
SUSECON Digital 22 Enterprise-Wide Kubernetes Adoption - Principles, Practice...
 
OrteliusMicroserviceVisionaries2022_Why do you need a microservice catalog to...
OrteliusMicroserviceVisionaries2022_Why do you need a microservice catalog to...OrteliusMicroserviceVisionaries2022_Why do you need a microservice catalog to...
OrteliusMicroserviceVisionaries2022_Why do you need a microservice catalog to...
 
2022 DOI SKILup Days_Your Developers Decide Your Security Posture_Not Your Se...
2022 DOI SKILup Days_Your Developers Decide Your Security Posture_Not Your Se...2022 DOI SKILup Days_Your Developers Decide Your Security Posture_Not Your Se...
2022 DOI SKILup Days_Your Developers Decide Your Security Posture_Not Your Se...
 
2022 DOI SKILup Days_Google Uses Monorepo, and I Don't - Here's Why.pptx
2022 DOI SKILup Days_Google Uses Monorepo, and I Don't - Here's Why.pptx2022 DOI SKILup Days_Google Uses Monorepo, and I Don't - Here's Why.pptx
2022 DOI SKILup Days_Google Uses Monorepo, and I Don't - Here's Why.pptx
 
Cloud lunchn learn_howtobecomeacloudarchitect_part3
Cloud lunchn learn_howtobecomeacloudarchitect_part3Cloud lunchn learn_howtobecomeacloudarchitect_part3
Cloud lunchn learn_howtobecomeacloudarchitect_part3
 
Cloud lunchn learn_howtobecomeacloudarchitect_part2
Cloud lunchn learn_howtobecomeacloudarchitect_part2Cloud lunchn learn_howtobecomeacloudarchitect_part2
Cloud lunchn learn_howtobecomeacloudarchitect_part2
 
Enterprise-Wide Kubernetes Adoption - Principles, Practices and Processes
Enterprise-Wide Kubernetes Adoption - Principles, Practices and ProcessesEnterprise-Wide Kubernetes Adoption - Principles, Practices and Processes
Enterprise-Wide Kubernetes Adoption - Principles, Practices and Processes
 

Kürzlich hochgeladen

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Kürzlich hochgeladen (20)

Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Agile architectures in a modern cloud-native ecosystem

  • 1. AGILE ARCHITECTURE IN A MODERN CLOUD-NATIVE ECOSYSTEM By Turja N Chaudhuri
  • 2.
  • 3.
  • 4. Meet Sam . Sam has around 10 years of experience in IT as a SysAdmin + IT Operator. Sam recently completed 3 cloud certification exams.
  • 5. With his newfound cloud knowledge , Sam attends a Cloud architecture interview for a prestigious IT firm .
  • 6. Unfortunately , the interview does not go well . He is asked about topics he had not encountered in the cloud certification exams . He gets rejected .
  • 7. Meet Stephanie . She works as a Lead Developer in an IT company. She has developed quite a few products using cloud services.
  • 8. She is asked to take over the role of a Cloud Architect for a large-scale application which will be published across the enterprise.
  • 9. She delivers the product , but it is neither scalable ,nor resilient enough , even though she is a great coder , and had put the best programming standards in place . She loses the trust of the client and as a consequence , her manager.
  • 10.
  • 11. So , the million $ question is – 1 . What went wrong ? 2 . What did they (particularly) do wrong ? 3 . How can I/you prevent myself/ourself from doing the same mistakes?
  • 12. Hopefully , at the end of the talk , you(the audience) should be in a better position to answer these questions yourself !! We will revisit these 2 scenarios at the end of this talk!!
  • 13.
  • 14. Let me (briefly) introduce myself -
  • 15. Currently , an Assistant Director, Cloud Practice at EY (Ernst & Young). Before that I led the CCOE ( Cloud Centre Of Excellence Team ) at Accenture. Have 10+ years of IT experience , working on Cloud since 2017. But , most importantly , I successfully transitioned my career from being a C#,SQL developer to a Cloud solution architect.
  • 16. I want to help you do the same , in case you guys are interested
  • 17. I will try to leave 5-10 minutes at the end to address any queries you might have on this topic. So , you can ask the questions on chat . If I cannot answer them during the session I promise , I will personally reach out to you , and answer them later.
  • 18.
  • 20. Before ,we go into Cloud Native Architecture , we need to first understand the basics. Note – Getting the basics right is very important. In this ever-changing landscape of myriad technologies , it is only possible to stay relevant , if you understand the foundation topics . The trick to note here is that the fundamentals / basics have not changed that much over the years. They have stood the test of time . Today there is Kubernetes tomorrow there will be something else , but the essence will stay the same ( mostly ).
  • 21. Otherwise , the same issues we faced earlier (in our on-prem systems , for example ) , will potentially resurface.
  • 23. IEEE 1471:2000 definition - ‘’The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.’’
  • 24.
  • 25. Grady Booch , IBM Fellow ‘’All architecture is design but not all design is architecture; architecture represents the set of significant design decisions that shape the structure and behaviour of a system where significance is measured by cost of change.’’ Ref - https://twitter.com/grady_booch/status/1257355498598342656?lang=en
  • 26. Martin Fowler https://www.youtube.com/watch?v=DngAZyWMGR0 “the set of design decisions that must be made early” What is architecture ?
  • 27. Matthew Parker , previously Global Head of engineering – Pivotal Labs “Architecture , in the field of software development , are decisions that are hard to reverse ”
  • 28. Some examples could be - “Whether to deploy our application on container based compute environment like Kubernetes or go with a serverless model like AWS Lambda ” “Whether to go with synchronous API-based communication or use a event-bus based asynchronous messaging system like RabbitMQ/AWS SQS” OR OR “What programming language do you use for your application development”
  • 29.
  • 30. Ok , then who/what are architects ?
  • 31.
  • 32. “Architects have a holistic understanding of the system , across a different spectrum of views and viewpoints , and they offer a different perspective of the system/design.”
  • 33. “The architect doesn’t have to be the smartest person in the room. Instead they make everyone else smarter.” Gregor Hohpe , Enterprise Strategist , AWS https://architectelevator.com/architecture/multiple-dimensions/
  • 34. Why do we need architecture ?
  • 35.
  • 36. Architecture matters - “Bad architecture / no architecture slows down the ability of our customers to compete , as over time it becomes harder and harder to ship new features”
  • 39. But , what does this have to do with me ? Why do I care about software/cloud architecture ? Why would I want to become a Cloud Architect?
  • 40. https://info.flexera.com/CM-REPORT-State-of-the-Cloud “Almost all organizations are using at least one cloud” Reason 1 – Cloud adoption is increasing
  • 42. Reason 3 - Because , a 2020 survey by the Job search engine Indeed says – “Software Architect is the best job ” Look around you , you will see that architects are typically paid 5-10x , the salary of standalone engineers/developers.
  • 43.
  • 44. What is cloud architecture ?
  • 45.
  • 46. Cloud architecture is the way technology components combine to build a cloud, in which resources are pooled through virtualization technology and shared across a network. The components of a cloud architecture include: • A front-end platform (the client or device used to access the cloud) • A back-end platform (servers and storage) • A cloud-based delivery model • A network
  • 47.
  • 48. If I had to define Cloud Architecture , or focus on a part of it , that makes the most sense to me , is to go with the below analogy - Pets Vs Cattle – If you understand this you understand Cloud architecture
  • 49. Scalability Reliability Efficient Secure Maintainable Extensible Observable Testable So , in essence we can think of a cloud architecture as an architecture / design that -
  • 50. Noticed something ? Essentially , nothing has changed . All the constraints / quality attributes that you needed to maintain in your datacenter based applications are relevant even now , more so than ever .
  • 51. The cloud might be new , but the essence of architecture remains the same .
  • 52. Scalability Reliability Efficient Secure Maintainable Extensible Observable Testable And if you can ensure that you manage your solution/architecture to align with the below constraints/requirements , then you are already doing the right thing -
  • 53. Essentially , the attributes that public cloud offer , for example – infinite compute , pay as you go offering and so on , helps architects in building solutions that respect the quality attributes we discussed before . Cloud Platforms / Cloud Service Providers (AWS, Azure,GCP) help architects in building better solutions
  • 54. And these are called – Non Functional Requirements
  • 55. Normally , in architecture design , there are different types of requirements • Functional • UI • Business/Domain • Non-Functional (NFR)
  • 56. Being a cloud architect , you should focus on documenting , defining , implementing and managing the NFR(s) of the system you are designing. Typically , these are documented in SADs ( Solution Architecture Documents )
  • 57.
  • 59. Cornelia Davis , Amazon , Cloud Foundry “CLOUD-NATIVE = LOOSELY COUPLED RUNNING IN THE CLOUD” “Cloud is where you compute , Cloud-native is how you compute” Ref - https://www.youtube.com/watch?v=VpZHLtu8mj0&t=1045s
  • 60. Cloud native is a big topic , stretching across a lot of components -
  • 61. Principles of Cloud-native architectures https://www.ibm.com/cloud/architecture/architecture/practices/cloud-native-principles/
  • 63. “At a high-level , if you really think about it , Cloud native architecture principles are just extensions of the best practices/standards that enforces the same NFR(s) that we discussed”
  • 64. Let’s take an example – One of the key principles of cloud native architectures is immutability . This means that the infrastructure is not modified in place after deployment . This means that we must have an automated way of creating a new instance of an application . This means that if our existing application is down , we can quickly create a new instance. This means my application is (as a consequence) RELIABLE
  • 65. So , simply put cloud-native application architectures are a way to build better applications that work better , scale better , are more reliable , take advantage of the cloud , provided you play by the rules .
  • 66. The last part is very important – you need to play by the rules . Cloud service providers like AWS ,Azure OR cloud native platforms like Kubernetes , VMWare Tanzu are here to help , but you still need to architect your system correctly. And that is where cloud architects come into play.
  • 67. Cloud-native is an approach to build & run applications that can leverage the advantages of the cloud computing model. These applications are built and deployed in a rapid cadence to the cloud platform and offer organizations greater agility, resilience, and portability across clouds. In a nutshell ,
  • 68. At this point , it makes sense to briefly introduce some of the tools , and practices that make designing Cloud native applications possible -
  • 69. Mostly , we start our cloud-native journey by learning about docker , which is good . But , please understand Docker != Cloud native
  • 70. But , it’s true , you should learn about containers , as they really help in building cloud-native applications .
  • 71. Containers Ref - https://www.docker.com/resources/what-container A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. Containers isolate software from its its environment and ensure that it works works uniformly despite differences for differences for instance between development development and staging.
  • 73. But , then how do we manage multiple containers ? Container orchestration automates the deployment, management, scaling, and networking of containers. Enterprises that need to deploy and manage hundreds or thousands of containers and hosts can benefit from container orchestration.
  • 75. Kubernetes - Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
  • 76. Microservices - Microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
  • 77.
  • 78.
  • 79.
  • 81. Here , I want to share a few small things that worked for me in my journey to become a better cloud architect .
  • 82. Focus on developing T shaped skills -
  • 83. 1 . Follow other , better solution architects.
  • 84. 2 . Listen to cloud podcasts while talking a walk , or chilling out.
  • 85. 3 . Write a small program , in whatever language , at least once a month.
  • 86. 4 . Subscribe to good newsletters to stay updated.
  • 87. 5 . Get the basics right . Start with the why , before the how .
  • 88. 6 . At work , try to get a gig that lets you think about architecture.
  • 89. 7 . Write at least one blog , a month , on technology , and architecture , no matter what.
  • 90. 8 . Get certified , as much as possible.
  • 91. 9 . Try to speak on cloud technologies/software architecture at events.
  • 92. 10 . Attend as many cloud interviews as possible
  • 93. There is no shortcut to becoming a good cloud architect. You need to spend the required time , and effort .
  • 94. So , coming back to the question – 1 . What went wrong ? 2 . What did they do wrong ? 3 . How can I/you prevent myself/ourself from doing the same mistakes?
  • 95. Scenario 1 ( Sam ) – Needs to understand how architecture is important , and how to design applications that respect the NFR(s) to get a Cloud architect role ; only certifications are not enough
  • 96. Scenario 2 ( Stephanie ) – Only programming/having a limited perspective of a system will not help in large-scale enterprise architecture. Having a holistic view is equally important , if not more.
  • 97.
  • 98. Scan below QR code to contact me on LinkedIn
  • 99. Or if you are URL kind-of-a-guy , use the below hyperlink - TurjaChaudhuri-LinkedIn
  • 100.
  • 101. Scalability Ability to easily adapt to larger demand by allowing greater supply.
  • 102. Reliability Ability to easily withstand interruptions or failures.
  • 103. Efficiency Ability of the system to easily perform at the required level.
  • 104. Security Ability to easily protect important or trusted data from non-approved entities.
  • 105. Maintainability Ability to easily manage and operate a system over time.
  • 106. Extensibility Ability to easily add new features to a system , by extending existing modules.
  • 107. Testability Ability to easily test a system for issues or bugs.
  • 108. Observability Ability to easily monitor a system for changes / alerts.