Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SymfonyCon Vienna 2024
Search
Haylee Millar
December 14, 2024
Programming
0
41
SymfonyCon Vienna 2024
Haylee Millar
December 14, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
790
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
6.7k
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
630
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
200
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
12k
Deep Dive into ~/.claude/projects
hiragram
14
11k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
23
9k
フロントエンドのパフォーマンスチューニング
koukimiura
5
1.9k
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
270
効率的な開発手段として VRTを活用する
ishkawa
0
150
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
750
生成AI時代のコンポーネントライブラリの作り方
touyou
1
260
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Cult of Friendly URLs
andyhume
79
6.5k
Practical Orchestrator
shlominoach
189
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Transcript
Crafting a microservice that fits your needs Haylee Millar
Goals and expectations During this talk we will explore: ▪
What a microservice is ▪ The pros and cons ▪ Evaluating when to use them ▪ A real example Questions may be asked at the end of the presentation.
Microservices
What is a microservice? UI Microservice Microservice Microservice Microservice
The pros ▪ Easily scalable ▪ Agility ▪ Technological freedom
▪ Fault isolation
The cons ▪ Complexity ▪ Difficulty tracing bugs ▪ Increased
security responsibility
When to use microservices When you need: ▪ Autonomy ▪
Distinct functionalities ▪ Independent deployment
Based on a true story…
An old system in need of new features Legacy version
of Drupal + A need for anti user abuse measures = Microservice discussions
Know Your Customer (KYC) Service that provides logic to: ▪
Validate customer identity ▪ Evaluate financial risk Building a fraud prevention component Moritz Schuh
Starting small KYC 1.0.0 included: ▪ User score service ▪
User data sync ▪ Staff verification ▪ Grantlists
Starting small Accounts Drupal KYC Symfony Auth sync sync get
score
Building blocks CI/CD & Testing • PHPUnit • GitLab CI
scripts Cron / Symfony scheduler • Sync user data • Sync grantlists Bundles Keeping it simple yet secure.
Bundles ▪ Jose Framework ▪ Lexik JWT Authentication ▪ Doctrine
▪ Doctrine Migrations
Messenger component ▪ In version 1.7 ▪ Handles messaging between
applications ▪ Used to retrieve IP fraud check
Deployed on Upsun ▪ The official PaaS for Symfony ▪
Free trial ▪ CLI or UI can be used Deploy Symfony Upsun Docs
Deployed on Upsun Symfony demo app:
Deployed on Upsun Pre-existing project:
Now KYC 2.23.0 New features: ▪ Types of scores ▪
External risk assessments ▪ Checks for card testing ▪ Duplicated/related accounts ▪ Machine learning ▪ More complex overall user score
Release timeline V 2.0 Dec ‘23 V 2.22 Dec ‘24
V 1.5 May ‘23 Designed Jun ‘22 Implement Now 11 releases 10 releases 22 releases V 1.0 Nov ‘22
Successes ▪ Quick development and releases ▪ Money saved ▪
Doesn’t need re-implemented
Challenges ▪ Data syncing from other services ▪ Increased complexity
for other teams, like Support
Thank you. Haylee Millar she/her Product engineer, Upsun
[email protected]