Fawry cloud devops internship
  • Application production deployment architecture
  • Application Deployment Process
  • Application Deployment pricing
  • Kubernetes ConfigMap and Secret
  • Kubernetes Network
  • Kubernetes PV & PVC
  • kubernetea Labs
  • Kubernetes Session 3
  • Kubernetes Session 2
  • Kubernetes Architecture
  • Amazon SQS
  • AWS SNS
  • AWS Elastic Transcode
  • AWS RDS
  • Amazon Aurora RDS
  • Amazon RDS for Oracle
  • Amazon RDS for PostgreSQL
  • Amazon RDS for MySQL
  • Amazon RDS for SQL Server
  • Amazon RDS Multi-AZ with one standby
  • AWS RDS Automated Backup
  • Amazon RDS - Event Notifications
  • Amazon RDS - DB Access Control
  • Amazon RDS - Data Import / Export
  • Amazon RDS - DB Monitoring
  • Amazon RDS on VMware
  • Amazon Aurora Serverless
  • Cloud Computing
  • AWS
  • AWS Features
  • AWS Global Infrastructure
  • AWS Services
  • AWS IAM
  • AWS S3
  • AWS S3 Lifecycle Management
  • EC2
  • Instance types
  • AMI
  • EBS
  • Elastic File System
  • EC2 Lab with EFS shared
  • AWS Route53
  • AWS VPC
  • EC2 placement group
  • AWS LB
  • EC2 Auto Scaling
  • Cloud Watch
  • SeMA Deployment Architecture
    • SeMA application sizing-estimation process .
    • SeMA Deployment Architecture
  • Laravel Deployment Architecture
    • Larvel application sizing-estimation process .
    • SeMA Deployment Architecture
  • SeMA Survey Application Deployment Architecture
  • Fawry DevOps internship Agenda
  • Fawry cloud devops internship
  • User Guide
  • FAQ
  • Application Architecture
    • Architecture
    • UI : Angular 8
    • Web : PHP Laravel
    • Analytics : Metabase
    • DB : MariaDB
    • Application Security Course
  • ZiSoft Deployment
    • Non-Production Deployment
    • Kubernetes Production Deployment
    • Offline Production Deployment
    • SaaS :Kubeapps
  • Linux for DevOps
  • Architecture of Linux system
  • Linux Directory Structure
  • Linux Commands
  • Linux labs
  • Docs
  • GIT
  • Git vs SVN
  • Git Flow / Git Branching Model
  • Git Version Control System
  • Git Terminology
  • Git Commands
  • Git Remote
  • Git Stash
  • Git Merge and Merge Conflict
  • Merge vs Rebase
  • Git Tags
  • Containerization
  • Dockerfile
  • Docker Compose
  • Docker Architecture
  • DevOps part 1 : interview
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Laravel Deployment Architecture

Larvel application sizing-estimation process .

Last updated 1 year ago

Was this helpful?

Shown below is a diagram of sizing-estimation process. It is not the only method for sizing deployment, but it should provide useful insight and guidance

1. Estimate user concurrency and throughput

In most use-case scenarios, the number of expected concurrent users is far less than the number of named users of system. A scenario in which all of the named users are simultaneously accessing the system is extremely rare. Normally, a globally distributed organization with users spread out all over the world experience about ⅓ of its named users online at any time during their individual 8-hour work days.

Concurrency typically ranges from 10% to 50+% for App deployments.

10 % [ Minimum ]

500000

50000

20 % [ Average ]

500000

100000

30 % [ Recommended ]

500000

150000

40 % [ Highly Scaled ]

500000

250000

2. Estimate SeMA Application HW sizing

A- Every CPU core handles 2 Worker B- Worker can handle 120 Portal users C- Concurrent user = Users use app simultaneously with time session 5 sec D - Best practice of workers per machine from 17 to 33 [Due to processor queuing]

Number of portal Users [500000]
Number of concurrent users =  40 * 500000 / 100 = 200000 
× Number of Woker = 200000 / 20 = 100 Woker 
x Number of Workers / VM = 33
x Number of Core / VM = 16 core 
x RAM cacpity estimation [ 1 core * 4 ] = 16 * 4 = 64 Gb / VM

Minimum 4 VM with 16 core / 64 Gb RAM
Recommended 5 VM x with 16 core / 64 Gb RAM
 

3. Estimate SeMA DB HW sizing Database storage requirements may be estimated roughly using the following calculation:

Number of Users [ 5000 ]
× Number of events per host per day [ 15 ]
× 5Kb per event

Number of Users × Number of events per host per day
× 5Kb per event

For example, an organization of 5,000 Users, with each user generating 
an average of 15 events per day, 
requiring a 30 day retention would require a database capacity of:
## DB stoage sizing / Month
      5,000 × 15 × 5 × 30 = 11,250,000Kb, or 11Gb

## DB stoage sizing / Year
      11 GB per Month x 12 = 132 Gb / Year

DB HW sizing for 5000 client connections / sec

# DB Version: 14
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 96 GB
# CPUs num: 24
# Connections num: 5000
# Data Storage: san

max_connections = 5000
shared_buffers = 24GB
effective_cache_size = 72GB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 300
work_mem = 1258kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 24
max_parallel_workers_per_gather = 4
max_parallel_workers = 24
max_parallel_maintenance_workers = 4

4. Estimate SeMA File Storage HW sizing

x Number of users  [ 5000 ]
× Number of survey per user  per day  [ 2 ]
× 25 Mb per survey attachment  [ 25 mb ]
Number of Users × Number of survey per user  per day
× 25 Mb per survey attachment

## File storage sizing / Month

      5,000 × 2 x 25 Mb × 30 = 750 Gb

## File storage sizing / Year
 
      750 GB per Month x 12 = 9 TB  / Year

SeMA App file storage can start with 4 TB and extend based on monitoring actual usage of storage