stackconf 2023 | Infrastructure-From-Code and the end of Microservices by Ala Shiban.pdf

NETWAYS
NETWAYSNETWAYS
1.
2.
3.
4.
5.
6.
and the end
of microservices
Adaptive Architectures
Ala Shiban
klo.dev
@AlaShiban
RIOT
GAMES
200M+ Players Worldwide
Top 2 watched games
ESPORTS
$1.7B+ Revenue
1000+ Engineers
120+ Infra Org
1. Why the end microservices
2. Adaptive Architectures
3. Infrastructure-from-Code (Universal Backends)
4. Demo
> talk.go
> why-the-end-microservices.ts
● What’s easier?
○ Separate responsibilities
across teams
○ Horizontally scale on smaller
boundaries
○ Limit fault blast radius
microservices
> why-the-end-microservices.ts
● What’s harder?
○ Managing deployments and
lifecycle of microservices
○ Allowing services to discover
one another and
communicate
○ Managing the infrastructure
for these services
microservices
> why-the-end-microservices.ts
● What’s harder?
○ Managing deployments and
lifecycle of microservices
○ Allowing services to discover
one another and
communicate
○ Managing the infrastructure
for these services
microservices
> why-the-end-microservices.ts
● What’s easier?
○ Excellent tooling
○ Feature dev focused
○ Simple horizontal scaling and
deployments
monoliths
> why-the-end-microservices.ts
● What’s harder?
○ Faster deployments
○ Fault isolation
○ Organizational boundaries
monoliths
> why-does-this-matter.docx
How does that promise go?
> what-problems-does-it-solve.cs
How does that promise go?
“Just focus on the ...”
> what-problems-does-it-solve.cs
> what-problems-does-it-solve.cs
* also pls learn istio, etcd, gRPC, cold boots, IAM, queues, terraform, docker, secret
stores, distributed tracing, auto-scaling rules. You have until Thursday.
> what-problems-does-it-solve.cs
1. Make our app aware of Lambda invoke
2. Create new IAC to provision the API
Gateway and wire it to the Lambda process
3. Setup new IAM policies and security
groups
4. Packaging our app in a docker container
5. Uploading it to ECR
6. Setting up a deploy pipeline to set up
the infrastructure and configure the Lambda
to use our container.
7. IAC to create a DynamoDB
8. Picking an SDK to interface with
DynamoDB
9. Rewriting our app to create schemas,
index, and make use of DynamoDB
10. Breaking our app into multiple repos or setting up
hooks for a monorepo
11. Creating dockerfiles for all 3 new services
12. Setting up discovery, configuration, and more for each
service
13. Rewriting all the IAC for the more complex topology
14. There are so many things you didn’t even notice I’m
here
15. IaC for SNS
16. Setting up topics and rewriting the application to use
them
17. Doing work to determine how wakeup with SNS would work
with Lambdas and testing it.
18. More IAM rules
> what-problems-does-it-solve.cs
1. Make our app aware of Lambda invoke
2. Create new IAC to provision the API
Gateway and wire it to the Lambda process
3. Setup new IAM policies and security
groups
4. Packaging our app in a docker container
5. Uploading it to ECR
6. Setting up a deploy pipeline to set up
the infrastructure and configure the Lambda
to use our container.
7. IAC to create a DynamoDB
8. Picking an SDK to interface with
DynamoDB
9. Rewriting our app to create schemas,
index, and make use of DynamoDB
10. Breaking our app into multiple repos or setting up
hooks for a monorepo
11. Creating dockerfiles for all 3 new services
12. Setting up discovery, configuration, and more for each
service
13. Rewriting all the IAC for the more complex topology
14. There are so many things you didn’t even notice I’m
here
15. IaC for SNS
16. Setting up topics and rewriting the application to use
them
17. Doing work to determine how wakeup with SNS would work
with Lambdas and testing it.
18. More IAM rules
> what-problems-does-it-solve.cs
19. Spin up VPCs
20. Configure subnets, security groups,
IAM permissions
21. Redo your CI/CD pipeline to target
your K8s cluster
22. Reorganize and rewrite your application to use the
EKS interface (REST) vs Lambda (Invoke)
23. Revisit inter-module communication Create Helm
charts, and other YAML specs for K8s
24. Spin up and configure an EKS cluster
What the company has left
Feature Dev
Capacity: 63%
● What’s easy?
○ Separate responsibilities across teams
○ Excellent tooling
○ Testing and debugging, especially locally
○ Managing deployments and lifecycle of microservices
○ Horizontally scale on smaller boundaries
○ Flexible execution unit types (VMs, containers, wasm processes)
○ Allowing the services to discover one another and communicate
○ Option to be managed by cloud providers
○ Autonomous deploys (small change => smallest deploy)
○ Portability
● What shouldn’t be harder
○ Managing the infrastructure for these services
○ Loose coupling of components
○ One misbehaving component doesn’t break reliability for the whole system
> why-the-end-microservices.ts
Desired superset architecture
d
> adaptive-architectures.def
● Adaptive Topology
● Adaptive Technology
Adaptive
Architectures
> adaptive-architectures.def
● Adaptive Topology
● Adaptive Technology
Adaptive
Architectures
> approach-proposal.xaml
tool
optimize
(1)
(2)
(3)
plain code
+ something extra
Adaptive Architecture - What does it look like?
02
01 03
> names.txt
What’s in a name?
> comparison-with-iac.py3
Infrastructure
as code
//NOTE: you usually write this
Terraform
Pulumi
Cloudformation
CDK
> comparison-with-iac.py3
Infrastructure (representation)
as code (or yaml)
//NOTE: you usually write this
Terraform
Pulumi
Cloudformation
CDK
> example.tf
> example.tf
> infra-from-code-approach.py3
Infrastructure
from code
> infra-from-code-approach.py3
Infrastructure (Inferred)
from (Application) code
//TODO: Come up with a better name
> example.py
> example.py
> example.py
> example.py
> example.py
> aspiration.md
Universal backend code
> aspiration.md
> demo.exe
Demo Time
> demo.exe
> demo.exe
{
"url":
"https://klo.dev/images/adapt2.png",
"result":
"Intelligence is the ability
to adapt to change - Stephen Hawking
"
}
OCR
> demo.exe
> make
BUILD:
> demo.exe
> adapt
ADAPT:
> demo.exe
> basics
basics
> demo.exe
> data
persistence
> demo.exe
> microservices
separate services
> demo.exe
> async
event driven
> demo.exe
> adapt
K8s some of the things
klotho
ServiceWeaver
Go // Python // Typescript
C# // JavaScript // Java
Python
Go
Rust
> languages.txt
Wing
klotho
ServiceWeaver
SDK
Annotations
Language
Hybrid
> dev-interface.md
klotho
ServiceWeaver
Graph-Based
Least
Privilege
Not
Specified
> Permissions 🔒
klotho
ServiceWeaver
Terraform
Pulumi
None
> Infrastructure-as-Code Support
klotho
ServiceWeaver
Infra-as-Code
Based
None
> Low-level Configurability
Custom
Plugin
Based
klotho
Adaptive
Pre-Selected
> Tech Interchangeability
ServiceWeaver
1. Complexity is inherent to
Microservices
2. Adaptive = Monoliths + Microservices
3. Infra-from-Code is here
> summary.end
> aspiration.md
> QnA.sh
Ask away
> aspiration.md
> exit(1)
Thank you!
> aspiration.md
> MORE_INFO.TXT
Appendix
klotho
ServiceWeaver
Serverless +
Kubernetes
Kubernetes
Only
> Compute Backing Tech
Serverless
Only
> LICENSE.TXT
klotho ServiceWeaver
Open
Source
Source
Available
Closed
Source
> approach-proposal.xaml
cloud version
application
code
+ something extra
tool
klotho
ServiceWeaver
Self Hosted
PaaS
Only
> Hosting Model
PaaS +
Self Hosted
klotho
Multi Cloud
(AWS+GCP+Azure)
Single Cloud
(AWS)
> Cloud Portability
Single Cloud
(GCP)
ServiceWeaver
Adaptive Architecture - What does it look like?
02
01 03
1 von 59

Recomendados

Micro Front-End & Microservices - Plansoft von
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
1.3K views51 Folien
Horizontal Scaling for Millions of Customers! von
Horizontal Scaling for Millions of Customers! Horizontal Scaling for Millions of Customers!
Horizontal Scaling for Millions of Customers! elangovans
110 views24 Folien
linkerd.pdf von
linkerd.pdflinkerd.pdf
linkerd.pdfVishwas N
8 views14 Folien
Gluecon Monitoring Microservices and Containers: A Challenge von
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeAdrian Cockcroft
46.2K views57 Folien
Move fast and make things with microservices von
Move fast and make things with microservicesMove fast and make things with microservices
Move fast and make things with microservicesMithun Arunan
107 views36 Folien
Patterns and Pains of Migrating Legacy Applications to Kubernetes von
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesJosef Adersberger
412 views57 Folien

Más contenido relacionado

Similar a stackconf 2023 | Infrastructure-From-Code and the end of Microservices by Ala Shiban.pdf

Microservices Architecture - Cloud Native Apps von
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsAraf Karsh Hamid
1.4K views200 Folien
Making Cloud Native CI_CD Services.pdf von
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
432 views15 Folien
Modern Elastic Datacenter Architecture von
Modern Elastic Datacenter ArchitectureModern Elastic Datacenter Architecture
Modern Elastic Datacenter ArchitectureWeston Bassler
797 views21 Folien
Slide DevSecOps Microservices von
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
618 views48 Folien
Microservices for performance - GOTO Chicago 2016 von
Microservices for performance - GOTO Chicago 2016Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016Peter Lawrey
1.3K views43 Folien
Monitoring in Motion: Monitoring Containers and Amazon ECS von
Monitoring in Motion: Monitoring Containers and Amazon ECSMonitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECSAmazon Web Services
6.5K views65 Folien

Similar a stackconf 2023 | Infrastructure-From-Code and the end of Microservices by Ala Shiban.pdf(20)

Microservices Architecture - Cloud Native Apps von Araf Karsh Hamid
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid1.4K views
Modern Elastic Datacenter Architecture von Weston Bassler
Modern Elastic Datacenter ArchitectureModern Elastic Datacenter Architecture
Modern Elastic Datacenter Architecture
Weston Bassler797 views
Slide DevSecOps Microservices von Hendri Karisma
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
Hendri Karisma618 views
Microservices for performance - GOTO Chicago 2016 von Peter Lawrey
Microservices for performance - GOTO Chicago 2016Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016
Peter Lawrey1.3K views
Monitoring in Motion: Monitoring Containers and Amazon ECS von Amazon Web Services
Monitoring in Motion: Monitoring Containers and Amazon ECSMonitoring in Motion: Monitoring Containers and Amazon ECS
Monitoring in Motion: Monitoring Containers and Amazon ECS
Amazon Web Services6.5K views
All About Microservices and OpenSource Microservice Frameworks von Mohammad Asif Siddiqui
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice Frameworks
Docker with Micro Service and WebServices von Sunil Yadav
Docker with Micro Service and WebServicesDocker with Micro Service and WebServices
Docker with Micro Service and WebServices
Sunil Yadav129 views
Microservice Pattern Launguage von Inho Kang
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
Inho Kang340 views
Microservices at ibotta pitfalls and learnings von Matthew Reynolds
Microservices at ibotta pitfalls and learningsMicroservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learnings
Matthew Reynolds236 views
Evolution of Microservices - Craft Conference von Adrian Cockcroft
Evolution of Microservices - Craft ConferenceEvolution of Microservices - Craft Conference
Evolution of Microservices - Craft Conference
Adrian Cockcroft6.5K views
Serverless security - how to protect what you don't see? von Sqreen
Serverless security - how to protect what you don't see?Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?
Sqreen248 views
You got a couple Microservices, now what? - Adding SRE to DevOps von Gonzalo Maldonado
You got a couple Microservices, now what?  - Adding SRE to DevOpsYou got a couple Microservices, now what?  - Adding SRE to DevOps
You got a couple Microservices, now what? - Adding SRE to DevOps
Gonzalo Maldonado192 views
Microservices, docker , kubernetes and many more von Vishwas N
Microservices, docker , kubernetes and many moreMicroservices, docker , kubernetes and many more
Microservices, docker , kubernetes and many more
Vishwas N101 views
Cytoscape CI Chapter 2 von bdemchak
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
bdemchak165 views
Migrate to Microservices Judiciously! von pflueras
Migrate to Microservices Judiciously!Migrate to Microservices Judiciously!
Migrate to Microservices Judiciously!
pflueras302 views
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클 von Oracle Korea
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
Oracle Korea257 views
The elegant way of implementing microservices with istio von Inho Kang
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
Inho Kang1.9K views

Último

Competition and Professional Sports – OECD – December 2023 OECD discussion von
Competition and Professional Sports – OECD – December 2023 OECD discussionCompetition and Professional Sports – OECD – December 2023 OECD discussion
Competition and Professional Sports – OECD – December 2023 OECD discussionOECD Directorate for Financial and Enterprise Affairs
292 views3 Folien
UNIT XIII Cognitive Process.pptx von
UNIT XIII Cognitive Process.pptxUNIT XIII Cognitive Process.pptx
UNIT XIII Cognitive Process.pptxProf. (Dr.) Rahul Sharma
92 views62 Folien
Serial Acquisitions and Industry Roll-ups – GOGA – December 2023 OECD discussion von
Serial Acquisitions and Industry Roll-ups – GOGA – December 2023 OECD discussionSerial Acquisitions and Industry Roll-ups – GOGA – December 2023 OECD discussion
Serial Acquisitions and Industry Roll-ups – GOGA – December 2023 OECD discussionOECD Directorate for Financial and Enterprise Affairs
128 views13 Folien
a timeline of the history of linguistics- BAUTISTA- BELGERA.pdf von
a timeline of the history of linguistics- BAUTISTA- BELGERA.pdfa timeline of the history of linguistics- BAUTISTA- BELGERA.pdf
a timeline of the history of linguistics- BAUTISTA- BELGERA.pdfFordBryantSadio
8 views46 Folien
Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023 von
Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023
Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023eCommerce Institute
6 views14 Folien
Out-of-Market Efficiencies in Competition Enforcement – ROSE – December 2023 ... von
Out-of-Market Efficiencies in Competition Enforcement – ROSE – December 2023 ...Out-of-Market Efficiencies in Competition Enforcement – ROSE – December 2023 ...
Out-of-Market Efficiencies in Competition Enforcement – ROSE – December 2023 ...OECD Directorate for Financial and Enterprise Affairs
59 views6 Folien

Último(20)

a timeline of the history of linguistics- BAUTISTA- BELGERA.pdf von FordBryantSadio
a timeline of the history of linguistics- BAUTISTA- BELGERA.pdfa timeline of the history of linguistics- BAUTISTA- BELGERA.pdf
a timeline of the history of linguistics- BAUTISTA- BELGERA.pdf
FordBryantSadio8 views
Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023 von eCommerce Institute
Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023
Maximiliano Roa - eRetail Week Blended [Professional] Experience 2023
limited green areas in albateen.pdf von metha4399
limited green areas in albateen.pdflimited green areas in albateen.pdf
limited green areas in albateen.pdf
metha43995 views
unmasking toxicity in online gaming von aminabumelha
unmasking toxicity in online gamingunmasking toxicity in online gaming
unmasking toxicity in online gaming
aminabumelha5 views
What I learnt in Antarctica about leadership, well-being and climate change von kristinashields1
What I learnt in Antarctica about leadership, well-being and climate changeWhat I learnt in Antarctica about leadership, well-being and climate change
What I learnt in Antarctica about leadership, well-being and climate change
kristinashields124 views

stackconf 2023 | Infrastructure-From-Code and the end of Microservices by Ala Shiban.pdf