SlideShare a Scribd company logo
1 of 29
Download to read offline
Serverless
Ceri Tandoğan & Baran Baygan
Nedir?
Günlük market alışverişinizi yapabileceğiniz, tazeliğini bozmadan evinize
kadar siparişinizi getiren bir e-ticaret altyapısı.
● En Kaliteli Sebze, Et Meyveler
● Yüzlerce marka, binlerce çeşit ürün
● Her zaman istediğin ürün gelir.
● Tüm ürünler supermarket fiyatına zahmetsizce kapıya teslim eder
● Kusursuz müşteri memnuniyeti
Nasıl İşliyor?
● Adresinizi belirleyin.
● Dilediğiniz ürünleri seçip sepetinizi oluşturun.
● Teslimat için istediğiniz saati seçin.
● Siparişleriniz soğuk zincir bozulmadan kapınıza teslim edilsin.
KUSURSUZ MÜŞTERİ DENEYİMİ
Kolay ve Kullanıcı
Dostu Arayüz
7000’den Fazla
Ürün Seçeneği
Açtı Satın aldı Teslim aldı
Soğuk Zinciri Kırmadan
Vaktinde Teslimat
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, AWS Glue, AWS Quicksight
● Integration: AWS Elastic Beanstalk
● CI,CD: CodeCommit, Codebuild,CloudFormation
● Next Steps: AWS Personalize,Amazon Forecast
Neler konuşacağız?
● Neden serverless?
● Microservice architecture
● API Gateway
● Lambda Limits (Scaling, 6MB, Provisioned Concurrency, VPC Limits)
● DynamoDB transactions
● Graphql
● Client side retry mechanisms.
● Serverless + Servers = Not a good idea!
● DynamoDB single table design, access patterns (NO ES!!!)
● DynamoDB -> Business Intelligence
Neden serverless?
Business Logic yazıyoruz, Infrastructure değil
Sadece FaaS değildir
Microservices based services - but managed by AWS
Örnek: S3
Neden serverless?
● Basit - Çünkü Infrastructure outsourced - Demo
● Ucuz - Çünkü elastic
● S3 kullanmayabilir misiniz? - (Sadece FaaS değil)
SQL vs NoSQL - centralized vs distributed
SQL vs Serverless NoSQL (DynamoDB)
Savaş son kullanıcı ile yaşanacak.
Backoffice ile değil
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
Doğru:
● 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 değil.
Buffer kullanarak ölçeklenen’den ö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
Infrastructure as Code - CI & CD
● Cloudformation -> SAM Template
● Cloudformation Resource Hard Names
● CodeCommit - Git repo
● CodePipeline - Orchestration
● CodeBuild - SAM package & SAM deploy
● Amplify?
Observability
● Cloudwatch - NoSQL logs
● X-Ray - Tracing
Microservice Architecture
● Simpler code
● Release lifecycle
● Two pizza teams
● Single table?
Event Based
● Data changes trigger events
● DynamoDB streams
● Is Req/Res dead? (Firestore, API Gateway sockets)
Long running requests
● Api Gateway 30 sec limit
● Async callback? (Client polling | Server push?)
Graphql
● Api Gateway 30 sec limit
● Async callback? (Client polling | Server push?)
Lambda Limits
● 6 MB
● Concurrency - (Ireland 3000)
● Client side retry mechanism
● VPC eni limits. (GONE!)
● Memory limit, time limit? - Rotalama
Serverless + Servers
● Not a good idea!
● DynamoDB -> Elastic Search?
DynamoDB Transactions
● 10 Rows
Business Intelligence
● DynamoDB -> Firehose
● Athena -> Quicksight
Soru & Cevap
Kupon Kodu
AWS30

More Related Content

Similar to istegelsin & retter mobile aws serverless presentation

Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy TalksMetin Uslu
 
Snc moduler sunucu
Snc moduler sunucuSnc moduler sunucu
Snc moduler sunucutarkansnc
 
Bulutistan 2017 - Türkiyenin Bulut Entegratörü
Bulutistan 2017 - Türkiyenin Bulut EntegratörüBulutistan 2017 - Türkiyenin Bulut Entegratörü
Bulutistan 2017 - Türkiyenin Bulut EntegratörüBulutistan
 
(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...
(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...
(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...MDS ap
 
Desnet Teknoloji 23. Yıl Kurumsal Tanıtım Dosyası
Desnet Teknoloji 23. Yıl Kurumsal Tanıtım DosyasıDesnet Teknoloji 23. Yıl Kurumsal Tanıtım Dosyası
Desnet Teknoloji 23. Yıl Kurumsal Tanıtım Dosyasıomerekinci
 
Power of Simplicity in BI -Muzaffer YONTEM
Power of Simplicity in BI -Muzaffer YONTEMPower of Simplicity in BI -Muzaffer YONTEM
Power of Simplicity in BI -Muzaffer YONTEMMUZAFFER YONTEM
 
Qr kod-nedir-emre-karacam-2017
Qr kod-nedir-emre-karacam-2017Qr kod-nedir-emre-karacam-2017
Qr kod-nedir-emre-karacam-2017Levent Karacam
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıAhmet Gürel
 
cloud adoption strategy
cloud adoption strategy cloud adoption strategy
cloud adoption strategy Özgür Uğur
 

Similar to istegelsin & retter mobile aws serverless presentation (14)

Modern Frontend
Modern FrontendModern Frontend
Modern Frontend
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy Talks
 
Snc moduler sunucu
Snc moduler sunucuSnc moduler sunucu
Snc moduler sunucu
 
Bulutistan 2017 - Türkiyenin Bulut Entegratörü
Bulutistan 2017 - Türkiyenin Bulut EntegratörüBulutistan 2017 - Türkiyenin Bulut Entegratörü
Bulutistan 2017 - Türkiyenin Bulut Entegratörü
 
(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...
(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...
(Turkish) SAP Forum 2017: ING Bank Başarı Hikayesi Sunumu - Kurumsal Bilgi Yö...
 
NoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı BakışıylaNoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı Bakışıyla
 
Nosql & MongoDB
Nosql & MongoDBNosql & MongoDB
Nosql & MongoDB
 
Desnet Teknoloji 23. Yıl Kurumsal Tanıtım Dosyası
Desnet Teknoloji 23. Yıl Kurumsal Tanıtım DosyasıDesnet Teknoloji 23. Yıl Kurumsal Tanıtım Dosyası
Desnet Teknoloji 23. Yıl Kurumsal Tanıtım Dosyası
 
Power of Simplicity in BI -Muzaffer YONTEM
Power of Simplicity in BI -Muzaffer YONTEMPower of Simplicity in BI -Muzaffer YONTEM
Power of Simplicity in BI -Muzaffer YONTEM
 
Qr kod-nedir-emre-karacam-2017
Qr kod-nedir-emre-karacam-2017Qr kod-nedir-emre-karacam-2017
Qr kod-nedir-emre-karacam-2017
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim Dökümanı
 
CERP 4.0 Sunum.pptx
CERP 4.0 Sunum.pptxCERP 4.0 Sunum.pptx
CERP 4.0 Sunum.pptx
 
MongoDB ve C# Driver'ı
MongoDB ve C# Driver'ıMongoDB ve C# Driver'ı
MongoDB ve C# Driver'ı
 
cloud adoption strategy
cloud adoption strategy cloud adoption strategy
cloud adoption strategy
 

istegelsin & retter mobile aws serverless presentation

  • 2. Nedir? Günlük market alışverişinizi yapabileceğiniz, tazeliğini bozmadan evinize kadar siparişinizi getiren bir e-ticaret altyapısı. ● En Kaliteli Sebze, Et Meyveler ● Yüzlerce marka, binlerce çeşit ürün ● Her zaman istediğin ürün gelir. ● Tüm ürünler supermarket fiyatına zahmetsizce kapıya teslim eder ● Kusursuz müşteri memnuniyeti
  • 3. Nasıl İşliyor? ● Adresinizi belirleyin. ● Dilediğiniz ürünleri seçip sepetinizi oluşturun. ● Teslimat için istediğiniz saati seçin. ● Siparişleriniz soğuk zincir bozulmadan kapınıza teslim edilsin.
  • 4. KUSURSUZ MÜŞTERİ DENEYİMİ Kolay ve Kullanıcı Dostu Arayüz 7000’den Fazla Ürün Seçeneği Açtı Satın aldı Teslim aldı Soğuk Zinciri Kırmadan Vaktinde Teslimat
  • 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, AWS Glue, AWS Quicksight ● Integration: AWS Elastic Beanstalk ● CI,CD: CodeCommit, Codebuild,CloudFormation ● Next Steps: AWS Personalize,Amazon Forecast
  • 6. Neler konuşacağız? ● Neden serverless? ● Microservice architecture ● API Gateway ● Lambda Limits (Scaling, 6MB, Provisioned Concurrency, VPC Limits) ● DynamoDB transactions ● Graphql ● Client side retry mechanisms. ● Serverless + Servers = Not a good idea! ● DynamoDB single table design, access patterns (NO ES!!!) ● DynamoDB -> Business Intelligence
  • 7. Neden serverless? Business Logic yazıyoruz, Infrastructure değil Sadece FaaS değildir Microservices based services - but managed by AWS Örnek: S3
  • 8. Neden serverless? ● Basit - Çünkü Infrastructure outsourced - Demo ● Ucuz - Çünkü elastic ● S3 kullanmayabilir misiniz? - (Sadece FaaS değil)
  • 9. SQL vs NoSQL - centralized vs distributed SQL vs Serverless NoSQL (DynamoDB) Savaş son kullanıcı ile yaşanacak. Backoffice ile değil
  • 10. Son kullanıcının sorgu çekmesine gerek var mı? Sadece kendi verisi ile ilgileniyor.
  • 12. DynamoDB ● Serverless ● Horizontal Scaling ● Point in time recovery ● DynamoDB streams -> Lambda ● Multiple indexes
  • 13. DynamoDB Partition Key seçimi Yanlış: ● Partition Key: DepoId, SortKey: Sipariş No ● Partition Key: ZoneId, SortKey: IoT Device Id Doğru: ● Partition Key: Sipariş Id ● Partition Key: Kullanıcı Id, Sort Key: Sipariş Id
  • 14. Yöneticiler için SQL gerekebilir Verinin tamamı ile ilgililer
  • 15. Data kopyalamak kötü bir şey değil. Buffer kullanarak ölçeklenen’den ölçeklenmeyene akış. Caching strategy?
  • 16. 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
  • 17.
  • 18. Infrastructure as Code - CI & CD ● Cloudformation -> SAM Template ● Cloudformation Resource Hard Names ● CodeCommit - Git repo ● CodePipeline - Orchestration ● CodeBuild - SAM package & SAM deploy ● Amplify?
  • 19. Observability ● Cloudwatch - NoSQL logs ● X-Ray - Tracing
  • 20. Microservice Architecture ● Simpler code ● Release lifecycle ● Two pizza teams ● Single table?
  • 21. Event Based ● Data changes trigger events ● DynamoDB streams ● Is Req/Res dead? (Firestore, API Gateway sockets)
  • 22. Long running requests ● Api Gateway 30 sec limit ● Async callback? (Client polling | Server push?)
  • 23. Graphql ● Api Gateway 30 sec limit ● Async callback? (Client polling | Server push?)
  • 24. Lambda Limits ● 6 MB ● Concurrency - (Ireland 3000) ● Client side retry mechanism ● VPC eni limits. (GONE!) ● Memory limit, time limit? - Rotalama
  • 25. Serverless + Servers ● Not a good idea! ● DynamoDB -> Elastic Search?
  • 27. Business Intelligence ● DynamoDB -> Firehose ● Athena -> Quicksight