際際滷

際際滷Share a Scribd company logo
istegelsin
Ceri Tandoan & Baran Baygan
Nedir?
G端nl端k market al脹veriinizi yapabileceiniz, tazeliini bozmadan evinize
kadar sipariinizi getiren bir e-ticaret altyap脹s脹.
 En Kaliteli Sebze, Et Meyveler
 Y端zlerce marka, binlerce 巽eit 端r端n
 Her zaman istediin 端r端n gelir.
 T端m 端r端nler supermarket fiyat脹na zahmetsizce kap脹ya teslim eder
 Kusursuz m端teri memnuniyeti
Nerede?
 Tamamen mobil bir
altyap脹 (IOS ve Android)
 K脹sa bir s端re sonra
desktop olarak da
kar脹n脹zda.
 Link : https://goo.gl/ur5Kiu
Nas脹l 聴liyor?
 Adresinizi belirleyin.
 Dilediiniz 端r端nleri se巽ip sepetinizi oluturun.
 Teslimat i巽in istediiniz saati se巽in.
 Siparileriniz souk zincir bozulmadan kap脹n脹za teslim edilsin.
Nas脹l al脹脹yor?
%100 AWS
Temel E-Ticaret Domainleri
 r端n Bilgi Y旦netimi: Amazon RDS,Amazon ElasticSearch,EC2
 Sipari Y旦netimi: Lamda, DynamoDB, ElasticSearch
 ERP: EC2 MS SQL Server
 Reporting: S3,Amazon ElasticSearch, Lambda
 Integration: AWS Elastic Beanstalk
 CI,CD: CodeCommit, Codebuild,CloudFormation
 Next Steps: AWS Glue, AWS Quicksight, AWS Personalize
Neler konuaca脹z?
 Neden serverless?
 SQL vs NoSQL?
 Infrastructure as Code & CI/CD
 Graphql? Web Servisler? Event based?
Realtime?
Neden serverless?
聴htiyac脹m脹z
olmayan
her eyi
kald脹ral脹m
Serverless ile istegelsin
Monolithic
Microservices
Managing microservices
Serverless
Serverless nedir?
Business Logic yaz脹yoruz, Infrastructure deil
Sadece FaaS deildir
Microservices based services - but managed by AWS
rnek: S3
Neden serverless?
 Basit - 端nk端 Infrastructure outsourced - Demo
 Ucuz - 端nk端 elastic
 S3 kullanmayabilir misiniz? - (Sadece FaaS deil)
SQL vs NoSQL - centralized vs distributed
SQL vs Serverless NoSQL (DynamoDB)
Sava son kullan脹c脹 ile yaanacak.
Backoffice ile deil
Son kullan脹c脹n脹n sorgu 巽ekmesine gerek var m脹?
Sadece kendi verisi ile ilgileniyor.
DynamoDB
DynamoDB
 Serverless
 Horizontal Scaling
 Point in time recovery
 DynamoDB streams -> Lambda
 Multiple indexes
DynamoDB Partition Key se巽imi
Yanl脹:
 Partition Key: DepoId, SortKey: Sipari No
 Partition Key: ZoneId, SortKey: IoT Device Id
Doru:
 Partition Key: Sipari Id
 Partition Key: Kullan脹c脹 Id, Sort Key: Sipari Id
Y旦neticiler i巽in SQL gerekebilir
Verinin tamam脹 ile ilgililer
Data kopyalamak k旦t端 bir ey deil.
Buffer kullanarak 旦l巽eklenenden 旦l巽eklenmeyene ak脹.
Caching strategy?
SQL vs NoSQL - centralized vs distributed
SQL NoSQL - DynamoDB
Okurken d端端n Yazarken d端端n
Dikey l巽eklenir Yatay l巽eklenir
Trigger kullanma Trigger kullan
Birden fazla index ile sorgulayabilirsin Tekrar: yazarken d端端n
Serverless ile istegelsin
Infrastructure as Code - CI & CD
 Cloudformation -> SAM Template
 Cloudformation Resource Hard Names
 CodeCommit - Git repo
 CodePipeline - Orchestration
 CodeBuild - SAM package & SAM deploy
 Amplify?
Lambda
 Environment Vars - Parameter Store !!
 Layers - :)
 Custom Runtimes - a bit too late!
 6 MB limit
 Cold Start? (Graphql)
Step Functions
 1 sn wait time
 Error handling & Retry mechanism
 1 year max run time
Graphql
 Client / Server decoupling
 Self documented
 Client specifies what needs to be fetched
 Too much client dev responsibility! What went wrong in my query?
 Appsync - serverless graphql (Template resolver hell, VTL?)
Event Based
 Data changes trigger events
 DynamoDB streams
 Is Req/Res dead? (Firestore, API Gateway sockets)
Observability
 Cloudwatch - NoSQL logs
 X-Ray - Tracing

More Related Content

Serverless ile istegelsin

  • 2. Nedir? G端nl端k market al脹veriinizi yapabileceiniz, tazeliini bozmadan evinize kadar sipariinizi getiren bir e-ticaret altyap脹s脹. En Kaliteli Sebze, Et Meyveler Y端zlerce marka, binlerce 巽eit 端r端n Her zaman istediin 端r端n gelir. T端m 端r端nler supermarket fiyat脹na zahmetsizce kap脹ya teslim eder Kusursuz m端teri memnuniyeti
  • 3. Nerede? Tamamen mobil bir altyap脹 (IOS ve Android) K脹sa bir s端re sonra desktop olarak da kar脹n脹zda. Link : https://goo.gl/ur5Kiu
  • 4. Nas脹l 聴liyor? Adresinizi belirleyin. Dilediiniz 端r端nleri se巽ip sepetinizi oluturun. Teslimat i巽in istediiniz saati se巽in. Siparileriniz souk zincir bozulmadan kap脹n脹za teslim edilsin.
  • 5. Nas脹l al脹脹yor? %100 AWS Temel E-Ticaret Domainleri r端n Bilgi Y旦netimi: Amazon RDS,Amazon ElasticSearch,EC2 Sipari Y旦netimi: Lamda, DynamoDB, ElasticSearch ERP: EC2 MS SQL Server Reporting: S3,Amazon ElasticSearch, Lambda Integration: AWS Elastic Beanstalk CI,CD: CodeCommit, Codebuild,CloudFormation Next Steps: AWS Glue, AWS Quicksight, AWS Personalize
  • 6. Neler konuaca脹z? Neden serverless? SQL vs NoSQL? Infrastructure as Code & CI/CD Graphql? Web Servisler? Event based? Realtime?
  • 14. Serverless nedir? Business Logic yaz脹yoruz, Infrastructure deil Sadece FaaS deildir Microservices based services - but managed by AWS rnek: S3
  • 15. Neden serverless? Basit - 端nk端 Infrastructure outsourced - Demo Ucuz - 端nk端 elastic S3 kullanmayabilir misiniz? - (Sadece FaaS deil)
  • 16. SQL vs NoSQL - centralized vs distributed SQL vs Serverless NoSQL (DynamoDB) Sava son kullan脹c脹 ile yaanacak. Backoffice ile deil
  • 17. Son kullan脹c脹n脹n sorgu 巽ekmesine gerek var m脹? Sadece kendi verisi ile ilgileniyor.
  • 19. DynamoDB Serverless Horizontal Scaling Point in time recovery DynamoDB streams -> Lambda Multiple indexes
  • 20. DynamoDB Partition Key se巽imi Yanl脹: Partition Key: DepoId, SortKey: Sipari No Partition Key: ZoneId, SortKey: IoT Device Id Doru: Partition Key: Sipari Id Partition Key: Kullan脹c脹 Id, Sort Key: Sipari Id
  • 21. Y旦neticiler i巽in SQL gerekebilir Verinin tamam脹 ile ilgililer
  • 22. Data kopyalamak k旦t端 bir ey deil. Buffer kullanarak 旦l巽eklenenden 旦l巽eklenmeyene ak脹. Caching strategy?
  • 23. SQL vs NoSQL - centralized vs distributed SQL NoSQL - DynamoDB Okurken d端端n Yazarken d端端n Dikey l巽eklenir Yatay l巽eklenir Trigger kullanma Trigger kullan Birden fazla index ile sorgulayabilirsin Tekrar: yazarken d端端n
  • 25. Infrastructure as Code - CI & CD Cloudformation -> SAM Template Cloudformation Resource Hard Names CodeCommit - Git repo CodePipeline - Orchestration CodeBuild - SAM package & SAM deploy Amplify?
  • 26. Lambda Environment Vars - Parameter Store !! Layers - :) Custom Runtimes - a bit too late! 6 MB limit Cold Start? (Graphql)
  • 27. Step Functions 1 sn wait time Error handling & Retry mechanism 1 year max run time
  • 28. Graphql Client / Server decoupling Self documented Client specifies what needs to be fetched Too much client dev responsibility! What went wrong in my query? Appsync - serverless graphql (Template resolver hell, VTL?)
  • 29. Event Based Data changes trigger events DynamoDB streams Is Req/Res dead? (Firestore, API Gateway sockets)
  • 30. Observability Cloudwatch - NoSQL logs X-Ray - Tracing