SlideShare a Scribd company logo
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

More Related Content

What's hot

Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
 
Azure Redis Cache
Azure Redis CacheAzure Redis Cache
Azure Redis Cache
Chourouk HJAIEJ
 
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングIT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
Kazuki Takai
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
ota42y
 
스프링 부트와 로깅
스프링 부트와 로깅스프링 부트와 로깅
스프링 부트와 로깅
Keesun Baik
 
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Michio Koyama
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우
NAVER D2
 
全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!
Kouhei Sutou
 
Galen Framework - Responsive Design Automation
Galen Framework - Responsive Design AutomationGalen Framework - Responsive Design Automation
Galen Framework - Responsive Design Automation
Venkat Ramana Reddy Parine
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
Amazon Web Services Japan
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
shreyas JC
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
Pankaj Dubey
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
Jemin Huh
 
WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホンYou_Kinjoh
 
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
Takayuki Kyowa
 
PHPのセッション管理にDynamoDBを使う
PHPのセッション管理にDynamoDBを使うPHPのセッション管理にDynamoDBを使う
PHPのセッション管理にDynamoDBを使う
Taiji INOUE
 
RESTfulとは
RESTfulとはRESTfulとは
RESTfulとは
星影 月夜
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
NAVER D2
 
Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~
Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~
Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~
Michio Koyama
 

What's hot (20)

Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
Azure Redis Cache
Azure Redis CacheAzure Redis Cache
Azure Redis Cache
 
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングIT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
 
스프링 부트와 로깅
스프링 부트와 로깅스프링 부트와 로깅
스프링 부트와 로깅
 
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우
 
全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!
 
Galen Framework - Responsive Design Automation
Galen Framework - Responsive Design AutomationGalen Framework - Responsive Design Automation
Galen Framework - Responsive Design Automation
 
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #1320210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
 
WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
 
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
 
PHPのセッション管理にDynamoDBを使う
PHPのセッション管理にDynamoDBを使うPHPのセッション管理にDynamoDBを使う
PHPのセッション管理にDynamoDBを使う
 
RESTfulとは
RESTfulとはRESTfulとは
RESTfulとは
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
 
Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~
Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~
Active Directoryドメインを作ってみよう ~ドメインの作成とDNSサーバーの設定~
 

Viewers also liked

Yii2 by Peter Jack Kambey
Yii2 by Peter Jack KambeyYii2 by Peter Jack Kambey
Yii2 by Peter Jack Kambey
k4ndar
 
Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017
Chris Tankersley
 
Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam
k4ndar
 
Yii2
Yii2Yii2
Javascript Clean Code
Javascript Clean CodeJavascript Clean Code
Javascript Clean Code
Petra Barus
 
Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017
Chris Tankersley
 

Viewers also liked (6)

Yii2 by Peter Jack Kambey
Yii2 by Peter Jack KambeyYii2 by Peter Jack Kambey
Yii2 by Peter Jack Kambey
 
Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017
 
Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam
 
Yii2
Yii2Yii2
Yii2
 
Javascript Clean Code
Javascript Clean CodeJavascript Clean Code
Javascript Clean Code
 
Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017
 

Similar to 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 Again
inside-BigData.com
 
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
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
John Schneider
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
Matteo Moretti
 
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 & More
Alluxio, Inc.
 
Why Wordnik went non-relational
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relational
Tony 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 World
Alluxio, 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 Cloud
Qubole
 
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
Alluxio, 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 team
Brian 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 Mobile
Roy Kim
 
Alluxio @ Uber Seattle Meetup
Alluxio @ Uber Seattle MeetupAlluxio @ Uber Seattle Meetup
Alluxio @ Uber Seattle Meetup
Alluxio, Inc.
 
A Brave new object store world
A Brave new object store worldA Brave new object store world
A Brave new object store world
Effi 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 Containers
Docker, Inc.
 
Aws architecture main ideas
Aws architecture main ideasAws architecture main ideas
Aws architecture main ideas
Craig 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 EU
Yaron 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 Clouds
Alluxio, Inc.
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
Manuel Garcia
 

Similar to 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 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...
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
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
 

More from Petra Barus

What's New In PHP7
What's New In PHP7What's New In PHP7
What's New In PHP7
Petra 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 MEA
Petra 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.5
Petra Barus
 
Starting A Web Startup - Informatika Mengajar
Starting A Web Startup - Informatika MengajarStarting A Web Startup - Informatika Mengajar
Starting A Web Startup - Informatika Mengajar
Petra 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 ITB
Petra Barus
 
Setahun TOKI Learning Center
Setahun TOKI Learning CenterSetahun TOKI Learning Center
Setahun TOKI Learning Center
Petra 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 Indonesia
Petra 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 Studio
Petra 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 System
Petra Barus
 
Slide sesi 6 - java concurrency
Slide   sesi 6 - java concurrencySlide   sesi 6 - java concurrency
Slide sesi 6 - java concurrency
Petra Barus
 

More from Petra Barus (12)

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
 

Recently uploaded

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 

Recently uploaded (20)

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 

Scaling Yii2 Application