SlideShare una empresa de Scribd logo
1 de 50
Scaling Out Yii2
App
@petrabarus
YiiConf Indonesia
26 Ags 2017
Hi Everyone!
I am Petra Novandi
Now serves as
Chief Technology Officer at
UrbanIndo.com
-
Contact me at
Email:
petra.barus@gmail.com
Twitter:
@petrabarus
UrbanIndo & Yii
- Use Yii 1.1 at 2011
- Migrate to Yii 2.0 at 2015
- Contribute to Yii core
- #7435 #8933 #9249 #9277
- Contribute to Yii2 plugins
- yii2-queue, yii2-s3-cache, yii2-dynamodb
WHAT’S
THIS ABOUT?
Let me tell you a common story...
Dewi is a software engineer.
She had a great idea for app!
So Dewi build a new app from scratch.
MySQL
Yii App
PHP
Apache
Pictures
Assets
Libraries
Logs
Scripts
Files
Like a lot other
engineers, Dewi
put all the stuffs
in one server.
AND THE
TRAFFIC
GOES UP
UP UP!
AWESOME!!
BUT ALL HELL BREAK LOOSE!
SOUNDS FAMILIAR?
This is story
about Scaling
Scale Up
(Vertical)
Scale Out
(Horizontal)
Continuous
Availability/Redundancy
No single point of failure
Cost/Performance
Flexibility
Not being locked by the
hardware
WHY SCALE OUT?
Continuous Upgrade
Without downtime
Geographical
Distribution
Access to nearest node
Multi-servers environment concerns in Yii2
Database
Assets
Load Balancing
File System
Session
Deployment
And many more… Logging, Cache, Queue,
Batch Processings.
Let’s discuss that on another occasion..
I don’t have enough time.. :(
LOAD
BALANCING
DATABASE SESSION
FILE SYSTEM ASSETS DEPLOYMENT
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Load
Balancer
Load balancer will forward
requests to instances
Sticky Sessions
Requests from same client
will be forwarded to same
instance
Load Balancer Session Types
Non-Sticky Sessions
Requests from same client
can be forwarded to
different instances.
Open Source Load Balancer
Technologies
Example Config in
NGINX
» No need a lot of configuration in the Yii side
» Although you might want to have concerns in
⋄ hostInfo in the yiiwebUrlManager
⋄ ipHeaders in yiiwebRequest (upcoming Yii
2.0.13), different proxies can have different headers
LOAD
BALANCING DATABASE SESSION
FILE SYSTEM ASSETS DEPLOYMENT
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Yii2
Apache
Database
All instances access the
same database instance(s).
Make them more stateless
Simple Change in Configuration
DATABASE CAN BE
SCALED TOO!
Master-Master
Master-Slave
or both
Yii2 Natively Support Db
Replication
Or use other tech like
ProxySQL
LOAD
BALANCING
DATABASE SESSION
FILE SYSTEM ASSETS DEPLOYMENT
❏ Since PHP stores session in file system
we need to store it outside the instance
❏ Similar like database
❏ Use classes like yiimongodbSession,
yiiredisSession,
yiiwebDbSession,
yiiwebCacheSession,
Sample Config
Some Considerations
» Better use key-value storage type that stores in
memory instead of files
⋄ E.g. Redis, memcached
⋄ Or SQL that support memory storage
⋄ MySQL’s MEMORY storage engine
» Execute Session::gcSession() using cron.
LOAD
BALANCING
DATABASE SESSION
FILE SYSTEM ASSETS DEPLOYMENT
Avoid writing and
storing data to local file
systems
Every app instance has
to identical
file_put_contents(‘/tmp/text1.txt’,
‘blablabla’)
Instance A
Instance B
file_get_contents(‘/tmp/text1.txt’)
Write file to centralized storage
» FTP
» Amazon S3
» Azure
» DropBox
Use filesystem abstraction!
» GridFs
» Rackspace
» Copy.com
Recommended library:
league/flysystem
⇨ creocoder/yii2-flysystem
Sample Config
Yii::$app->fs->write(‘text1.txt’,
blablabla’)
Instance A
Instance B
Yii::$app->fs->read(‘text1.txt’)
Central Storage
LOAD
BALANCING
DATABASE SESSION
FILE SYSTEM ASSETS DEPLOYMENT
Asset Management in Single Server
» Hash is not deterministic due to filemtime()
(yiiwebAssetManager::hash)
» Different server can have different filemtime()
Multiple Server
/var/www/web/assets/1234567890/script.js
/var/www/web/assets/ABCDEFGHIJ/script.js
Configuring
Asset Hash
Generation
Multiple Server With Consistent Hash
/var/www/web/assets/1234567890/script.js
/var/www/web/assets/1234567890/script.js
A Much Better Way
1. Build and compress the assets in build
server
2. Upload assets to central storage (e.g. S3)
3. Put a CDN in front of the storage
BUILD COMPR
ESS
UPLOA
D
DEPLO
Y
SOURCE REPO
BUILD SERVER
CENTRAL
STORAGE (S3)
APP SERVERS
HTML
Requests
JS/CSS Requests
CDN
Pros
1. No need additional
local process to
generate assets
(Reduced request
time)
2. Optimized assets
3. Served through CDN
Cons
1. Need build server
2. Need central storage
3. Need CDN
4. Build can be slow
LOAD
BALANCING
DATABASE SESSION
FILE SYSTEM ASSETS DEPLOYMENT
Deployment Can Be As Simple As
BUT a lot of things can go wrong with this
Deploy Command
Things can go wrong,
e.g. failure on deploy or
bug after deploying,
need rollback
Deployment & Automation
Technologies
Some Considerations
» Composer installation after code pull
» Asset installation, build, compress after code pull
» Load balancer request draining before code
symlink
» Local cache clean up
» JIT warming up (if using HHVM)
» Health check for load balancer
» Blue-green deployment
NOW FOR
CONCLUSION!
❏ Scaling Out has more better
merits in common use cases
❏ App has to be Stateless for
scaling out
❏ Data storages has to be
Centralized
THANKS!
You can find me at
» @petrabarus
» petra.barus@gmail.com

Más contenido relacionado

La actualidad más candente

Merkle Trees and Fusion Trees
Merkle Trees and Fusion TreesMerkle Trees and Fusion Trees
Merkle Trees and Fusion TreesRohithND
 
Chapter 5 database security
Chapter 5   database securityChapter 5   database security
Chapter 5 database securitySyaiful Ahdan
 
Database replication
Database replicationDatabase replication
Database replicationArslan111
 
Understanding Blockchain Security
Understanding Blockchain SecurityUnderstanding Blockchain Security
Understanding Blockchain SecurityITU
 
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdfDo you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdfAmazon Web Services
 
Distribution transparency and Distributed transaction
Distribution transparency and Distributed transactionDistribution transparency and Distributed transaction
Distribution transparency and Distributed transactionshraddha mane
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design PatternsHaim Michael
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databasesJames Serra
 
Blockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.ioBlockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.ioBaiju Devani
 
Redis Streams for Event-Driven Microservices
Redis Streams for Event-Driven MicroservicesRedis Streams for Event-Driven Microservices
Redis Streams for Event-Driven MicroservicesRedis Labs
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and UsesSuvradeep Rudra
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to RedisArnab Mitra
 
Hadoop File system (HDFS)
Hadoop File system (HDFS)Hadoop File system (HDFS)
Hadoop File system (HDFS)Prashant Gupta
 
Security in the blockchain
Security in the blockchainSecurity in the blockchain
Security in the blockchainBellaj Badr
 
7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In DepthFabio Fumarola
 
Zookeeper big sonata
Zookeeper  big sonataZookeeper  big sonata
Zookeeper big sonataAnh Le
 

La actualidad más candente (20)

Merkle Trees and Fusion Trees
Merkle Trees and Fusion TreesMerkle Trees and Fusion Trees
Merkle Trees and Fusion Trees
 
Chapter 5 database security
Chapter 5   database securityChapter 5   database security
Chapter 5 database security
 
Database replication
Database replicationDatabase replication
Database replication
 
Understanding Blockchain Security
Understanding Blockchain SecurityUnderstanding Blockchain Security
Understanding Blockchain Security
 
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdfDo you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
 
What is merkle tree
What is merkle treeWhat is merkle tree
What is merkle tree
 
Distribution transparency and Distributed transaction
Distribution transparency and Distributed transactionDistribution transparency and Distributed transaction
Distribution transparency and Distributed transaction
 
Redis database
Redis databaseRedis database
Redis database
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
Blockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.ioBlockchain 101 presentation by fstream.io
Blockchain 101 presentation by fstream.io
 
Redis Streams for Event-Driven Microservices
Redis Streams for Event-Driven MicroservicesRedis Streams for Event-Driven Microservices
Redis Streams for Event-Driven Microservices
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and Uses
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Hadoop File system (HDFS)
Hadoop File system (HDFS)Hadoop File system (HDFS)
Hadoop File system (HDFS)
 
Hadoop HDFS Concepts
Hadoop HDFS ConceptsHadoop HDFS Concepts
Hadoop HDFS Concepts
 
Security in the blockchain
Security in the blockchainSecurity in the blockchain
Security in the blockchain
 
7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth
 
Zookeeper big sonata
Zookeeper  big sonataZookeeper  big sonata
Zookeeper big sonata
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL Database
 

Similar a Scaling Yii2 Application

WekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound AgainWekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound Againinside-BigData.com
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventJohn Schneider
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Amazon Web Services
 
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...FIWARE
 
Meetup at AI NextCon 2019: In-Stream data process, Data Orchestration & More
Meetup at AI NextCon 2019: In-Stream data process, Data Orchestration & MoreMeetup at AI NextCon 2019: In-Stream data process, Data Orchestration & More
Meetup at AI NextCon 2019: In-Stream data process, Data Orchestration & MoreAlluxio, Inc.
 
Why Wordnik went non-relational
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relationalTony Tam
 
Achieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud WorldAchieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud WorldAlluxio, Inc.
 
Optimizing Big Data to run in the Public Cloud
Optimizing Big Data to run in the Public CloudOptimizing Big Data to run in the Public Cloud
Optimizing Big Data to run in the Public CloudQubole
 
Achieving compute and storage independence for data-driven workloads
Achieving compute and storage independence for data-driven workloadsAchieving compute and storage independence for data-driven workloads
Achieving compute and storage independence for data-driven workloadsAlluxio, Inc.
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...Alluxio, Inc.
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileRoy Kim
 
Alluxio @ Uber Seattle Meetup
Alluxio @ Uber Seattle MeetupAlluxio @ Uber Seattle Meetup
Alluxio @ Uber Seattle MeetupAlluxio, Inc.
 
A Brave new object store world
A Brave new object store worldA Brave new object store world
A Brave new object store worldEffi Ofer
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDocker, Inc.
 
Aws architecture main ideas
Aws architecture main ideasAws architecture main ideas
Aws architecture main ideasCraig F.R Read
 
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EUBuilding Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EUYaron Haviv
 
Simplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi CloudsSimplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi CloudsAlluxio, Inc.
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native DevelopmentManuel Garcia
 

Similar a Scaling Yii2 Application (20)

WekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound AgainWekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound Again
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
 
Meetup at AI NextCon 2019: In-Stream data process, Data Orchestration & More
Meetup at AI NextCon 2019: In-Stream data process, Data Orchestration & MoreMeetup at AI NextCon 2019: In-Stream data process, Data Orchestration & More
Meetup at AI NextCon 2019: In-Stream data process, Data Orchestration & More
 
Why Wordnik went non-relational
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relational
 
Achieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud WorldAchieving Separation of Compute and Storage in a Cloud World
Achieving Separation of Compute and Storage in a Cloud World
 
Optimizing Big Data to run in the Public Cloud
Optimizing Big Data to run in the Public CloudOptimizing Big Data to run in the Public Cloud
Optimizing Big Data to run in the Public Cloud
 
Achieving compute and storage independence for data-driven workloads
Achieving compute and storage independence for data-driven workloadsAchieving compute and storage independence for data-driven workloads
Achieving compute and storage independence for data-driven workloads
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...How the Development Bank of Singapore solves on-prem compute capacity challen...
How the Development Bank of Singapore solves on-prem compute capacity challen...
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI Mobile
 
Alluxio @ Uber Seattle Meetup
Alluxio @ Uber Seattle MeetupAlluxio @ Uber Seattle Meetup
Alluxio @ Uber Seattle Meetup
 
A Brave new object store world
A Brave new object store worldA Brave new object store world
A Brave new object store world
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker Containers
 
Aws architecture main ideas
Aws architecture main ideasAws architecture main ideas
Aws architecture main ideas
 
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EUBuilding Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
Building Super Fast Cloud-Native Data Platforms - Yaron Haviv, KubeCon 2017 EU
 
Simplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi CloudsSimplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
 

Más de Petra Barus

Javascript Clean Code
Javascript Clean CodeJavascript Clean Code
Javascript Clean CodePetra Barus
 
What's New In PHP7
What's New In PHP7What's New In PHP7
What's New In PHP7Petra Barus
 
Memenangkan Persaingan Marketing Real-estate Di Era Digital dan MEA
Memenangkan Persaingan Marketing Real-estate Di Era Digital dan MEAMemenangkan Persaingan Marketing Real-estate Di Era Digital dan MEA
Memenangkan Persaingan Marketing Real-estate Di Era Digital dan MEAPetra Barus
 
PHP Indonesia Meetup - What's New in Yii2 and PHP5.5
PHP Indonesia Meetup - What's New in Yii2 and PHP5.5PHP Indonesia Meetup - What's New in Yii2 and PHP5.5
PHP Indonesia Meetup - What's New in Yii2 and PHP5.5Petra Barus
 
Starting A Web Startup - Informatika Mengajar
Starting A Web Startup - Informatika MengajarStarting A Web Startup - Informatika Mengajar
Starting A Web Startup - Informatika MengajarPetra Barus
 
Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)
Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)
Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)Petra Barus
 
Proposal Kongres Ikatan Alumni IF ITB
Proposal Kongres Ikatan Alumni IF ITBProposal Kongres Ikatan Alumni IF ITB
Proposal Kongres Ikatan Alumni IF ITBPetra Barus
 
Setahun TOKI Learning Center
Setahun TOKI Learning CenterSetahun TOKI Learning Center
Setahun TOKI Learning CenterPetra Barus
 
Java User Meetup Bandung "Android" by GITS Indonesia
Java User Meetup Bandung "Android" by GITS IndonesiaJava User Meetup Bandung "Android" by GITS Indonesia
Java User Meetup Bandung "Android" by GITS IndonesiaPetra Barus
 
Java User Meetup Bandung "Android" by Agate Studio
Java User Meetup Bandung "Android" by Agate StudioJava User Meetup Bandung "Android" by Agate Studio
Java User Meetup Bandung "Android" by Agate StudioPetra Barus
 
TOKI Learning Center
TOKI Learning CenterTOKI Learning Center
TOKI Learning CenterPetra Barus
 
Taekwondo Tournament Management System
Taekwondo Tournament Management SystemTaekwondo Tournament Management System
Taekwondo Tournament Management SystemPetra Barus
 
Slide sesi 6 - java concurrency
Slide   sesi 6 - java concurrencySlide   sesi 6 - java concurrency
Slide sesi 6 - java concurrencyPetra Barus
 

Más de Petra Barus (13)

Javascript Clean Code
Javascript Clean CodeJavascript Clean Code
Javascript Clean Code
 
What's New In PHP7
What's New In PHP7What's New In PHP7
What's New In PHP7
 
Memenangkan Persaingan Marketing Real-estate Di Era Digital dan MEA
Memenangkan Persaingan Marketing Real-estate Di Era Digital dan MEAMemenangkan Persaingan Marketing Real-estate Di Era Digital dan MEA
Memenangkan Persaingan Marketing Real-estate Di Era Digital dan MEA
 
PHP Indonesia Meetup - What's New in Yii2 and PHP5.5
PHP Indonesia Meetup - What's New in Yii2 and PHP5.5PHP Indonesia Meetup - What's New in Yii2 and PHP5.5
PHP Indonesia Meetup - What's New in Yii2 and PHP5.5
 
Starting A Web Startup - Informatika Mengajar
Starting A Web Startup - Informatika MengajarStarting A Web Startup - Informatika Mengajar
Starting A Web Startup - Informatika Mengajar
 
Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)
Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)
Proposal Kongres Ikatan Alumni (versi 8 Oktober 2012)
 
Proposal Kongres Ikatan Alumni IF ITB
Proposal Kongres Ikatan Alumni IF ITBProposal Kongres Ikatan Alumni IF ITB
Proposal Kongres Ikatan Alumni IF ITB
 
Setahun TOKI Learning Center
Setahun TOKI Learning CenterSetahun TOKI Learning Center
Setahun TOKI Learning Center
 
Java User Meetup Bandung "Android" by GITS Indonesia
Java User Meetup Bandung "Android" by GITS IndonesiaJava User Meetup Bandung "Android" by GITS Indonesia
Java User Meetup Bandung "Android" by GITS Indonesia
 
Java User Meetup Bandung "Android" by Agate Studio
Java User Meetup Bandung "Android" by Agate StudioJava User Meetup Bandung "Android" by Agate Studio
Java User Meetup Bandung "Android" by Agate Studio
 
TOKI Learning Center
TOKI Learning CenterTOKI Learning Center
TOKI Learning Center
 
Taekwondo Tournament Management System
Taekwondo Tournament Management SystemTaekwondo Tournament Management System
Taekwondo Tournament Management System
 
Slide sesi 6 - java concurrency
Slide   sesi 6 - java concurrencySlide   sesi 6 - java concurrency
Slide sesi 6 - java concurrency
 

Último

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
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
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 

Último (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
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
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 

Scaling Yii2 Application