SlideShare a Scribd company logo
1 of 24
Download to read offline
INFRASTRUCTURE AND AWS AT SCALE
The story of Posti
by Goran Gjorgievski, 2023
ABOUT POSTI
01
PROBLEM
02
SOLUTION
03
Q&A
04
Agenda
”PLATFORMS ARE A MEAN OF
CENTRALIZING EXPERTIZE, WHILE
DECENTRALIZING INNOVATION TO THE
CUSTOMER OR USER.”​
Peter Gillard-Moss, Thoughtworks​
•
•
•
•
•
•
•
Head of Software @ Posti Group
Technical advisor and leader
Living in Helsinki, Finland
10 years of experience in Software engineering
Currently overviewing: approx. 22 teams, 80 FTE
engineers
Tech: Typescript, React, GraphQL, Apollo, Python,
AWS, AppSync, etc.
Industries: Parcel & Logistics, Satellites, Streaming,
Healthcare, Finance “Insert fancy quote here.”
Goran Gjorgievski, Head of
Software
MEET GORAN
Posti Group
https://www.posti.fi/en
MEET POSTI
We are the leading postal and logistics service company
in Finland. Our core business includes parcel and e-
commerce services, postal services, freight and other
logistics services. ​
•
•
•
•
•
•
Net sales EUR 1 595 million (2021) ​
~21 100 employees​
~200 000 business customers​
Owner: The State of Finland​
Founded in 1638​
Operations in 7 countries:
Finland, Sweden, Norway, Estonia,
Latvia, Lithuania and Poland
MEET POSTI
MEET POSTI
TECH HUB AT POSTI
different services
200+
different teams
50+
repositories
1000+
•
•
•
•
•
•
•
Establish a standard unified way of infra
throughout all the teams
Decentralize knowledge
On demand scaling: environments,
instances, resources, services and more
Cross-team collaboration and shared
services
Integrations and isolations
Billing and business processes
Maintenance, security, logging, disaster
recovery, development practices, … the list
goes on.
THE PROBLEM(S)
RANDOM BASIC INFRA
FEW ADDONS
•
•
•
Availability Zones
Logs
CI/CD pipelines
MORE ADDONS
•
•
•
•
Availability Zones
IAM
Few microservices
CI/CD pipelines
SCALE IT UP
•
•
•
•
multiple teams
multiple environments
multiple services
Infra/DevOps team
1.
2.
a.
b.
c.
d.
3.
4.
5.
6.
How do you track billing, map it to business units and
teams?
Who maintains this AWS infrastructure?
How to quickly scale when:
A new initiative(project) appears
Teams merge or divide
A service needs to be 'killed'
Enable developers to be able to participate
Keep history track of changes and disaster recovery
Address different needs from different teams
…
BACK TO THE
PROBLEM(S)
AWS
LANDING
ZONE
A landing zone is a well-architected, multi-account AWS
environment that is a starting point from which you can
deploy workloads and applications. It provides a
baseline to get started with multi-account architecture,
identity and access management, governance, data
security, network design, and logging.
Dark old days*
1.
2.
3.
4.
5.
Single AWS account
Split DEV/PRD with VPC
Basic IAM and policies for access
controls
Billing consolidation, tags and fun
:)
IaC begginings
Dark not so old days
1.
2.
3.
4.
5.
Multi account
1 Admin account & N linked
accounts
Billing consolidated under the
admin account
manual creation
IaC presence
ReInvent 2016
1.
2.
3.
AWS Organizations
Automated account creation
Custom automation scripts by
Infra and DevOps engineers
AWS LZ HISTORY
*Spending the night in server or rooms remote management, HYPER-Vs, physically VMs, etc. is not taken into account
AWS (2018)
1.
2.
3.
LZ 1.0: automated solution for
deploying best-practice AWS
accounts, security, logging,
identities.
Editing was challenging: iterate
through CloudFormation
templates with 1000s of lines of
code
Rollback of a deployment was a
no-go
AWS LZ v2.0
1.
2.
3.
Fixed most of the bugs, issues
and problems with LZ2.0. Coming
6 months later.
Upgrade from v1→v2 a challenge
CloudFormation templates
worked better
AWS Control Tower (2019)
1.
2.
Does everything AWZ LZ v2.0
does, with abstraction
Managed service, harder to
customize but possible with AWS
Control tower customizations
AWS LZ HISTORY
•
•
•
•
•
•
•
•
•
In the middle: we want the flexibility and we want the LZ2.0
Sceptre for orchestrating CloudFormation
Stateless
Yaml templates
Python support
CLI is few commands
Easy to integrate with your CI/CD (Posti uses Github Actions)
Learning curve is steep
Not 'everything' is automated, you have control
WHERE IS POSTI?
├── config
│ └── dev
│ ├── config.yaml
│ ├── subnets.yaml
│ └── vpc.yaml
│ └── prd
│ ├── config.yaml
│ ├── subnets.yaml
│ └── vpc.yaml
└── templates
├── subnets.py
└── vpc.py
HOW DOES IT LOOK
LIKE?
$ sceptre create dev/subnets.yaml
dev/subnets - Creating stack
dev/subnets Subnet AWS::EC2::Subnet CREATE_IN_PROGRESS
dev/subnets Subnet AWS::EC2::Subnet CREATE_COMPLETE
dev/subnets sceptre-demo-dev-subnets AWS::CloudFormation::Stack
CREATE_COMPLETE
•
•
•
•
Organizes "Stacks", e.g. CloudFormation templates, into "Stack
Groups", e.g. Environments
Stacks are .yaml configs
You can chain "Stack" result with another "Stack" command
Sceptre is based on meta-operations, e.x.:
- LogicalResourceId: Subnet
- PhysicalResourceId: subnet-445e6e32
Cross-stack dependencies are possible
HOW DOES IT LOOK
LIKE?
HOW DOES IT LOOK
LIKE?
OVERVIEW - ORGANIZATION LEVEL
OVERVIEW - TEAM LEVEL
THANK YOU
Q&A

More Related Content

Similar to "Infrastructure and AWS at Scale: The story of Posti" by Goran Gjorgievski @ 115th DevClub.lv

Where will you run your it today?
Where will you run your it today?Where will you run your it today?
Where will you run your it today?Bernard Paques
 
Bhadale group of companies technology ecosystem-role based-AWS
Bhadale group of companies technology ecosystem-role based-AWSBhadale group of companies technology ecosystem-role based-AWS
Bhadale group of companies technology ecosystem-role based-AWSVijayananda Mohire
 
Frequently Asked Questions (FAQs) on IoT Cloud App Development
Frequently Asked Questions (FAQs) on IoT Cloud App DevelopmentFrequently Asked Questions (FAQs) on IoT Cloud App Development
Frequently Asked Questions (FAQs) on IoT Cloud App DevelopmentEmbitel Technologies (I) PVT LTD
 
Sii It Services
Sii It ServicesSii It Services
Sii It Servicesjaromik
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...Lucas Jellema
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRBWilliam Poos
 
Running containers in production, the ING story
Running containers in production, the ING storyRunning containers in production, the ING story
Running containers in production, the ING storyThijs Ebbers
 
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieSchnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieMongoDB
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksAmazon Web Services
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
JavaOne 2015: Scaling micro services at Gilt
JavaOne 2015: Scaling micro services at GiltJavaOne 2015: Scaling micro services at Gilt
JavaOne 2015: Scaling micro services at GiltAdrian Trenaman
 
Vitalii_Gonchar_P_updated
Vitalii_Gonchar_P_updatedVitalii_Gonchar_P_updated
Vitalii_Gonchar_P_updatedvitalka_ua
 
FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...
FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...
FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...FSMTALKS
 
How to ‘embrace’ the cloud and become a hybrid organisation - Koen Van Oost
How to ‘embrace’ the cloud and become a hybrid organisation - Koen Van OostHow to ‘embrace’ the cloud and become a hybrid organisation - Koen Van Oost
How to ‘embrace’ the cloud and become a hybrid organisation - Koen Van OostInspireX
 
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...AWS User Group - Thailand
 
Jelastic Cloud-in-the-Box on Top of IBM PureSystems
Jelastic Cloud-in-the-Box on Top of IBM PureSystemsJelastic Cloud-in-the-Box on Top of IBM PureSystems
Jelastic Cloud-in-the-Box on Top of IBM PureSystemsJelastic Multi-Cloud PaaS
 
Dan Crawford - Canadian Executive Cloud & DevOps Summit Presentation
Dan Crawford - Canadian Executive Cloud & DevOps Summit PresentationDan Crawford - Canadian Executive Cloud & DevOps Summit Presentation
Dan Crawford - Canadian Executive Cloud & DevOps Summit PresentationTriNimbus
 

Similar to "Infrastructure and AWS at Scale: The story of Posti" by Goran Gjorgievski @ 115th DevClub.lv (20)

Where will you run your it today?
Where will you run your it today?Where will you run your it today?
Where will you run your it today?
 
CV Lorant Lipcsei
CV Lorant LipcseiCV Lorant Lipcsei
CV Lorant Lipcsei
 
Bhadale group of companies technology ecosystem-role based-AWS
Bhadale group of companies technology ecosystem-role based-AWSBhadale group of companies technology ecosystem-role based-AWS
Bhadale group of companies technology ecosystem-role based-AWS
 
Frequently Asked Questions (FAQs) on IoT Cloud App Development
Frequently Asked Questions (FAQs) on IoT Cloud App DevelopmentFrequently Asked Questions (FAQs) on IoT Cloud App Development
Frequently Asked Questions (FAQs) on IoT Cloud App Development
 
Sii It Services
Sii It ServicesSii It Services
Sii It Services
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
 
CV
CVCV
CV
 
Running containers in production, the ING story
Running containers in production, the ING storyRunning containers in production, the ING story
Running containers in production, the ING story
 
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieSchnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
 
1 App,
1 App, 1 App,
1 App,
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
JavaOne 2015: Scaling micro services at Gilt
JavaOne 2015: Scaling micro services at GiltJavaOne 2015: Scaling micro services at Gilt
JavaOne 2015: Scaling micro services at Gilt
 
Vitalii_Gonchar_P_updated
Vitalii_Gonchar_P_updatedVitalii_Gonchar_P_updated
Vitalii_Gonchar_P_updated
 
FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...
FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...
FSMTalks - Rasa Gulbe - How can an office join the field team in the cloud ed...
 
How to ‘embrace’ the cloud and become a hybrid organisation - Koen Van Oost
How to ‘embrace’ the cloud and become a hybrid organisation - Koen Van OostHow to ‘embrace’ the cloud and become a hybrid organisation - Koen Van Oost
How to ‘embrace’ the cloud and become a hybrid organisation - Koen Van Oost
 
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: Solution...
 
Jelastic Cloud-in-the-Box on Top of IBM PureSystems
Jelastic Cloud-in-the-Box on Top of IBM PureSystemsJelastic Cloud-in-the-Box on Top of IBM PureSystems
Jelastic Cloud-in-the-Box on Top of IBM PureSystems
 
Dan Crawford - Canadian Executive Cloud & DevOps Summit Presentation
Dan Crawford - Canadian Executive Cloud & DevOps Summit PresentationDan Crawford - Canadian Executive Cloud & DevOps Summit Presentation
Dan Crawford - Canadian Executive Cloud & DevOps Summit Presentation
 

More from DevClub_lv

Fine-tuning Large Language Models by Dmitry Balabka
Fine-tuning Large Language Models by Dmitry BalabkaFine-tuning Large Language Models by Dmitry Balabka
Fine-tuning Large Language Models by Dmitry BalabkaDevClub_lv
 
From 50 to 500 product engineers – data-driven approach to building impactful...
From 50 to 500 product engineers – data-driven approach to building impactful...From 50 to 500 product engineers – data-driven approach to building impactful...
From 50 to 500 product engineers – data-driven approach to building impactful...DevClub_lv
 
Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...
Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...
Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...DevClub_lv
 
Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...
Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...
Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...DevClub_lv
 
Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...
Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...
Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...DevClub_lv
 
Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...
Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...
Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...DevClub_lv
 
SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...DevClub_lv
 
Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...
Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...
Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...DevClub_lv
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...DevClub_lv
 
Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019DevClub_lv
 
Things that every JavaScript developer should know by Rachel Appel at FrontCo...
Things that every JavaScript developer should know by Rachel Appel at FrontCo...Things that every JavaScript developer should know by Rachel Appel at FrontCo...
Things that every JavaScript developer should know by Rachel Appel at FrontCo...DevClub_lv
 
In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...
In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...
In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...DevClub_lv
 
Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019
Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019
Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019DevClub_lv
 
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...DevClub_lv
 
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...DevClub_lv
 
Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019
Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019
Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019DevClub_lv
 
Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...
Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...
Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...DevClub_lv
 
Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019
Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019
Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019DevClub_lv
 
Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019DevClub_lv
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...DevClub_lv
 

More from DevClub_lv (20)

Fine-tuning Large Language Models by Dmitry Balabka
Fine-tuning Large Language Models by Dmitry BalabkaFine-tuning Large Language Models by Dmitry Balabka
Fine-tuning Large Language Models by Dmitry Balabka
 
From 50 to 500 product engineers – data-driven approach to building impactful...
From 50 to 500 product engineers – data-driven approach to building impactful...From 50 to 500 product engineers – data-driven approach to building impactful...
From 50 to 500 product engineers – data-driven approach to building impactful...
 
Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...
Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...
Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...
 
Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...
Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...
Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...
 
Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...
Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...
Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...
 
Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...
Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...
Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...
 
SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...
 
Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...
Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...
Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
 
Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019Building resilient frontend architecture by Monica Lent at FrontCon 2019
Building resilient frontend architecture by Monica Lent at FrontCon 2019
 
Things that every JavaScript developer should know by Rachel Appel at FrontCo...
Things that every JavaScript developer should know by Rachel Appel at FrontCo...Things that every JavaScript developer should know by Rachel Appel at FrontCo...
Things that every JavaScript developer should know by Rachel Appel at FrontCo...
 
In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...
In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...
In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...
 
Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019
Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019
Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019
 
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...
 
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...Bridging the gap between UX and development - A Storybook by Marko Letic at F...
Bridging the gap between UX and development - A Storybook by Marko Letic at F...
 
Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019
Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019
Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019
 
Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...
Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...
Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...
 
Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019
Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019
Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019
 
Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
 

Recently uploaded

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

"Infrastructure and AWS at Scale: The story of Posti" by Goran Gjorgievski @ 115th DevClub.lv

  • 1. INFRASTRUCTURE AND AWS AT SCALE The story of Posti by Goran Gjorgievski, 2023
  • 3. ”PLATFORMS ARE A MEAN OF CENTRALIZING EXPERTIZE, WHILE DECENTRALIZING INNOVATION TO THE CUSTOMER OR USER.”​ Peter Gillard-Moss, Thoughtworks​
  • 4. • • • • • • • Head of Software @ Posti Group Technical advisor and leader Living in Helsinki, Finland 10 years of experience in Software engineering Currently overviewing: approx. 22 teams, 80 FTE engineers Tech: Typescript, React, GraphQL, Apollo, Python, AWS, AppSync, etc. Industries: Parcel & Logistics, Satellites, Streaming, Healthcare, Finance “Insert fancy quote here.” Goran Gjorgievski, Head of Software MEET GORAN
  • 5. Posti Group https://www.posti.fi/en MEET POSTI We are the leading postal and logistics service company in Finland. Our core business includes parcel and e- commerce services, postal services, freight and other logistics services. ​ • • • • • • Net sales EUR 1 595 million (2021) ​ ~21 100 employees​ ~200 000 business customers​ Owner: The State of Finland​ Founded in 1638​ Operations in 7 countries: Finland, Sweden, Norway, Estonia, Latvia, Lithuania and Poland
  • 8. TECH HUB AT POSTI
  • 9. different services 200+ different teams 50+ repositories 1000+ • • • • • • • Establish a standard unified way of infra throughout all the teams Decentralize knowledge On demand scaling: environments, instances, resources, services and more Cross-team collaboration and shared services Integrations and isolations Billing and business processes Maintenance, security, logging, disaster recovery, development practices, … the list goes on. THE PROBLEM(S)
  • 13. SCALE IT UP • • • • multiple teams multiple environments multiple services Infra/DevOps team
  • 14. 1. 2. a. b. c. d. 3. 4. 5. 6. How do you track billing, map it to business units and teams? Who maintains this AWS infrastructure? How to quickly scale when: A new initiative(project) appears Teams merge or divide A service needs to be 'killed' Enable developers to be able to participate Keep history track of changes and disaster recovery Address different needs from different teams … BACK TO THE PROBLEM(S)
  • 15. AWS LANDING ZONE A landing zone is a well-architected, multi-account AWS environment that is a starting point from which you can deploy workloads and applications. It provides a baseline to get started with multi-account architecture, identity and access management, governance, data security, network design, and logging.
  • 16. Dark old days* 1. 2. 3. 4. 5. Single AWS account Split DEV/PRD with VPC Basic IAM and policies for access controls Billing consolidation, tags and fun :) IaC begginings Dark not so old days 1. 2. 3. 4. 5. Multi account 1 Admin account & N linked accounts Billing consolidated under the admin account manual creation IaC presence ReInvent 2016 1. 2. 3. AWS Organizations Automated account creation Custom automation scripts by Infra and DevOps engineers AWS LZ HISTORY *Spending the night in server or rooms remote management, HYPER-Vs, physically VMs, etc. is not taken into account
  • 17. AWS (2018) 1. 2. 3. LZ 1.0: automated solution for deploying best-practice AWS accounts, security, logging, identities. Editing was challenging: iterate through CloudFormation templates with 1000s of lines of code Rollback of a deployment was a no-go AWS LZ v2.0 1. 2. 3. Fixed most of the bugs, issues and problems with LZ2.0. Coming 6 months later. Upgrade from v1→v2 a challenge CloudFormation templates worked better AWS Control Tower (2019) 1. 2. Does everything AWZ LZ v2.0 does, with abstraction Managed service, harder to customize but possible with AWS Control tower customizations AWS LZ HISTORY
  • 18. • • • • • • • • • In the middle: we want the flexibility and we want the LZ2.0 Sceptre for orchestrating CloudFormation Stateless Yaml templates Python support CLI is few commands Easy to integrate with your CI/CD (Posti uses Github Actions) Learning curve is steep Not 'everything' is automated, you have control WHERE IS POSTI?
  • 19. ├── config │ └── dev │ ├── config.yaml │ ├── subnets.yaml │ └── vpc.yaml │ └── prd │ ├── config.yaml │ ├── subnets.yaml │ └── vpc.yaml └── templates ├── subnets.py └── vpc.py HOW DOES IT LOOK LIKE? $ sceptre create dev/subnets.yaml dev/subnets - Creating stack dev/subnets Subnet AWS::EC2::Subnet CREATE_IN_PROGRESS dev/subnets Subnet AWS::EC2::Subnet CREATE_COMPLETE dev/subnets sceptre-demo-dev-subnets AWS::CloudFormation::Stack CREATE_COMPLETE • • • • Organizes "Stacks", e.g. CloudFormation templates, into "Stack Groups", e.g. Environments Stacks are .yaml configs You can chain "Stack" result with another "Stack" command Sceptre is based on meta-operations, e.x.: - LogicalResourceId: Subnet - PhysicalResourceId: subnet-445e6e32 Cross-stack dependencies are possible
  • 20. HOW DOES IT LOOK LIKE?
  • 21. HOW DOES IT LOOK LIKE?