Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPers 6.02.2014 Jeszcze Sprytniejsze Środowisk...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Marcin Dryka
February 06, 2014
Business
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPers 6.02.2014 Jeszcze Sprytniejsze Środowisko Deweloperskie
czyli: DLACZEGO NIE POWINIENEM TRACIĆ CZASU NA ADMINISTRACJĘ Localhostem?
Marcin Dryka
February 06, 2014
More Decks by Marcin Dryka
See All by Marcin Dryka
Jak odnaleźć się w zespole projektowym
drymek
0
140
Git
drymek
1
170
Other Decks in Business
See All in Business
株式会社ユビレジ_採用ピッチ資料 / Ubiregi_CompanyProfile
ubiregi_saiyo
1
11k
HappyLifeCreators株式会社 会社紹介資料
hlc_recruit
0
180
DMM.com コーポレートブック
dmm
2
500k
【結果報告】Claude×Linearで会社のタスク管理をAIにまかせて1ヶ月。業務効率150%向上したが、AIネイティブカンパニーを目指すならもっと「加速への狂気」が必要
nagatsu
1
510
チームマネージャー(SV)のご紹介
rs_mitotakaya
0
370
HP掲載プラン
desaki
0
280
今日から始めるセルフマネジメント/A Practical Guide to Self-Management
ikuodanaka
1
2.8k
AI導入で変わる PdMとエンジニアの関係性
paulxl
0
350
スマートキャンプ株式会社 会社紹介資料 / companydeck
smartcamp
1
4.4k
自分のハンドルを握る〜AI時代だからこそ求められるセルフマネジメントの技術/Self-Management Skills Needed More Than Ever in the AI Era
ikuodanaka
1
2.6k
روشهای افزایش ممبر ایتا
maronpocar12
1
220
malna-recruiting-pitch
malna
0
22k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Documentation Writing (for coders)
carmenintech
77
5.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
It's Worth the Effort
3n
188
29k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
980
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
JESZCZE SPRYTNIEJSZE ŚRODOWISKO DEWELOPERSKIE CZYLI: DLACZEGO NIE POWINIENEM TRACIĆ CZASU
NA ADMINISTRACJĘ LOCALHOSTEM?
MARCIN DRYKA • Project Manager • @drymek • http://marcin.dryka.pl/ •
pragmatyk Codifico http://codifico.pl
JAKUB ZALAS @JAKUB_ZALAS
ASCII ART ___ ,-'" "`-. ,'_ `. / / \
,- \ __ | \_0 --- | / | | | \ \ `--.______,-/ | ___) \ ,--"" ,/ | / _ \ \-_____,- / \__-/ \ | `. ,' \___/ < '--------' \__/\ | \__//
WOJTEK WÓJCIK @WOJTASWOJCIK
http://www.flickr.com/photos/flem007_uk/452806412/ http://www.flickr.com/photos/lenore-m/2515800654/ http://www.flickr.com/photos/liftarn/1438863938/
VAGRANT łatwe, powtarzalne i przenośne środowiska pracy
PROBLEM #1 Zależności
WIADOMOŚĆ OD KLIENTA
http://www.flickr.com/photos/92334668@N07/11123538363/
http://www.flickr.com/photos/dgoomany/6338142380/
$ ./beanstalkd -l 10.0.1.5 -p 11300
POTRZEBNY CZAS • uzyskanie dostępu do serwera, • debugowanie serwera
produkcyjnego, • rozwiązanie problemu; 2h x liczba problemów
• kolejki, • bazy danych, • biblioteki, • frameworki; Zależności
projektów zmieniają się w czasie
ROZWIĄZANIE?
ZARZĄDZANIE ZALEŻNOŚCIAMI
PROBLEM #2 Różnice w konfiguracji
OTWARCIE APLIKACJI WEB
OTWARCIE APLIKACJI WEB
POTRZEBNY CZAS • przeglądanie całego kodu i sprawdzanie wszystkich
metod i funkcji ??? • włączenie raportowania błędów na produkcji ??? ∞h x liczba problemów
• Warning: Cannot send session cookie – headers already sent
• Notice: Undefined variable: $name • Notice: Use of undefined constant name - assumed 'name' • Notice: Undefined index in ...
ROZWIĄZANIE?
JEDNOLITA KONFIGURACJA
PROBLEM #3 Przyjście do firmy nowego pracownika
MOŻESZ MI TO ZAINSTALOWAĆ? http://www.flickr.com/photos/juhansonin/5784102806/in/photostream/
POTRZEBNY CZAS • zainstalowanie wszystkich zależności, • szybka konfiguracja aplikacji,
• konfiguracja, połączenie i dane do bazy danych, • wszystko inne o czym zapomnieliśmy kilka godzin x liczba pracowników
• grafik, Frontend, Artysta, van Gogh, • szef, przełożony, •
każda nowa osoba w zespole;
ROZWIĄZANIE?
POWTARZALNE ŚRODOWISKA PRACY
http://www.flickr.com/photos/jdhancock/3432525439/in/photostream/
http://www.flickr.com/photos/tonythemisfit/3052219034/in/photostream/
http://www.flickr.com/photos/extraketchup/459020985/in/photostream/
KTO MA (DZISIAJ!) AKTUALNĄ DOKUMENTACJĘ KONFIGURACJI? http://www.flickr.com/photos/rufino_uribe/61706536/in/photostream/
DOKUMENTACJA KONFIGURACJI • README.md • Skrypt instalujący, sprawdzający zależności •
CHANGELOG • dpkg -l
ALBO…
ZAWSZE AKTUALNA KONFIGURACJA VAGRANTA
KONFIGUROWANIE APLIKACJI PRODUKCYJNEJ • README.md • Skrypt instalujący, sprawdzający zależności
• CHANGELOG • apt-get install *
ALBO…
ŚRODOWISKO PRODUKCYJNE
TESTOWANIE APLIKACJI PRODUKCYJNEJ • Zakładanie konta w systemie produkcyjnym ?
• Dublowanie infrastruktury ? • Los szczęścia ?
ALBO…
ŚRODOWISKO TESTOWE ZBLIŻONE DO PRODUKCYJNEGO
– Thomas A. Edison „We will make electricity so cheap
that only the rich will burn candles.” „Zrobimy elektryczność tak tanią, że tylko bogaci będą palić świeczki.”
None
ZARZĄDZANIE URUCHAMIANIEM I ZAMYKANIEM ŚRODOWISKA
– Winston Churchill „To improve is to change; to be
perfect is to change often” „Ulepszanie to zmiana; żeby być doskonałym trzeba zmieniać często”
None
WERSJONOWANIE ŚRODOWISKA
! KEEP CALM IT WORKS ON MY MACHINE
Vagrantfile $ vagrant ZASADA DZIAŁANIA Konfiguracja Provider Provisioner Puppet, Chef,
fabric VirtualBox, VMWare, KVM, lxc, aws, rackspace
VIRTUALBOX • https://www.virtualbox.org/ VirtualBox is a powerful x86 and AMD64/Intel64
virtualization product for enterprise as well as home use.
PUPPET • http://puppetlabs.com/ Puppet is a configuration management tool that
is extremely powerful in deploying, configuring, managing, maintaining, a server machine.
$ vagrant up done ZASADA DZIAŁANIA DLA UŻYTKOWNIKA KOŃCOWEGO Zainstaluj
co tam trzeba
PODSTAWY VAGRANTA $ vagrant init $ vagrant up $ vagrant
provision $ vagrant ssh $ vagrant halt
$ puppet apply \ --modulepath=vagrant/modules \ vagrant/manifests/demo.pp ŚRODOWISKO PRODUKCYJNE
JĘZYK PUPPETA • Zasoby (Resources) • Klasy (Classes) • Węzły
(Nodes)
RESOURCES • cron • exec • file • notify •
package • service
LOCALHOST VS REMOTE VS VAGRANT
LOCALHOST REMOTE VAGRANT Porządek lokalnym w systemie Jednolite środowisko Możliwość
pracy offline Czas dostępu do plików Czas konfiguracji (nowy projekt) ! " ! ! " ! " ! ! ! " ! ! " !