<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Divante.pl &#187; big picture</title>
	<atom:link href="http://blog.divante.pl/category/big-picture/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.divante.pl</link>
	<description>Innowacje, pomysły i ich realizacja</description>
	<lastBuildDate>Sun, 05 Jun 2011 07:38:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Skalowanie aplikacji &#8230; jest proste?</title>
		<link>http://blog.divante.pl/2008/05/14/skalowanie-aplikacji-jest-proste/</link>
		<comments>http://blog.divante.pl/2008/05/14/skalowanie-aplikacji-jest-proste/#comments</comments>
		<pubDate>Wed, 14 May 2008 14:17:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[big picture]]></category>
		<category><![CDATA[skalowalność]]></category>
		<category><![CDATA[technologia]]></category>

		<guid isPermaLink="false">http://blog.divante.pl/2008/05/14/skalowanie-aplikacji-jest-proste/</guid>
		<description><![CDATA[Skalowanie aplikacji &#8211; w sensie, warstwy serwerów aplikacji  &#8211; jeśli mamy dobry projekt nie powinno być trudne. Trochę gorzej ma się sprawa skalowania bazy danych (swoją drogą najczęstszego wąskiego gardła aplikacji)- ale o tym problemie opowiem w najbliższych postach.
Dzisiaj ogólnie o technikach skalowania środowiska aplikacji.
Jeśli nasz kod jest już dobrze napisany i zoptymalizowany nie pozostaje [...]]]></description>
			<content:encoded><![CDATA[<p>Skalowanie aplikacji &#8211; w sensie, warstwy serwerów aplikacji  &#8211; jeśli mamy dobry projekt nie powinno być trudne. Trochę gorzej ma się sprawa skalowania bazy danych (swoją drogą najczęstszego wąskiego gardła aplikacji)- ale o tym problemie opowiem w najbliższych postach.</p>
<p>Dzisiaj ogólnie o technikach skalowania środowiska aplikacji.</p>
<p>Jeśli nasz kod jest już dobrze napisany i zoptymalizowany nie pozostaje nam nic więcej jak rozbudowywać bazę serwerów na których nasza aplikacja pracuje</p>
<p>Generalnie wyróżniamy dwa podejścia do problemu:</p>
<ul>
<li><strong> skalowanie pionowe</strong> &#8211; tutaj sprawa jest prosta. Rozbudowujemy nasze serwery, jak długo się da. Lepszy procesr (więcej procesorów!), więcej ramu, szybsze dyski -czynimy z naszego serwera demona prędkości. Biznesowo patrząc takie rozwiązanie wydaje się być bardzo korzystne. Nasza aplikacja przyspiesza, mamy co prawda koszty związane ze sprzętem &#8211; ale są ona bardzo małe w porównaniu do czasu programistów&#8230; A czas programistów jest zaoszczędzony ponieważ skalowanie pionowe nie wymaga żadnych zmian w kodzie aplikacji. Przez to zalecane jest jako deska ratunkowa gdy coś zaczyna iść źle lub po prostu w pierwszym etapie rozwoju naszego serwisu.
<p>Niestety skalując pionowo szybko dochodzimy do ściany&#8230; Zakupy lepszego sprzętu mogą być po prostu niemożliwe (bariera technologiczna). Szybko może okazać się zakupy nie przynoszą oczekiwanych rezultatów a stosunek ich ceny do odnoszonych korzyści zaczyna rosnąć wykładniczo.</p>
<p>Lepszym rozwiązaniem, stosowanym przez największych jest:</li>
</ul>
<ul>
<li><strong>skalowanie poziome</strong> &#8211; nie rozbudowujemy naszych wypasionych serwerów w nieskończoność, w zamian za to używamy dużej ilości pospolitych maszyn &#8211; i wykorzystujemy siłę przetwarzania rozproszonego. Etap ten jest dla sporych i średnich serwisów nieunikniony, ogromne zyski ze skalowania poziomego odnoszą najwięksi &#8211; MySpace, Flickr, Nasza-klasa&#8230;
<p>Skalowanie poziome wydaje się być prostym rozwiązaniem &#8211; zwłaszcza na poziomie serwerów WWW. Mówiąc w skrócie, skalowanie poziome polega na:</p>
<ul>
<li>połączeniu kilku, kilkunastu, klikuset serwerów w sieć,</li>
<li>równoważeniu ruchu między wszystkie maszyny za pomocą load-balancera (sprzętowego,  czy też programowaego &#8211; np. Perlball lub LVM),</li>
<li>pliki aplikacji, danych znajdują się w jednym miejscu &#8211; na wydzielonym serwerze dyskowym &#8211; podłączone przez NFS. Tak jest najprościej, ale nie najlepiej.</li>
</ul>
</li>
</ul>
<p>Wykorzystując skalowanie poziome tak naprawdę dużo oszczędzamy. Poniższy rysunek pokazuje stosunek ceny od jakości (ilości CPU) przy obu wspomnianych wyżej technikach:</p>
<p align="center"><img src="http://blog.divante.pl/wp-content/uploads/2008/05/cena_skalowania.jpg" /></p>
<p>Hmm &#8230; zatem -czy to wszystko? I gdzie jest haczyk?</p>
<p>Skalowanie poziome wiąże się z pewnymi <strong>trudnościami na poziomie aplikacji.</strong> Najczęściej wymaga pewnych zmian w kodzie.</p>
<p>Wiążą się z nim dwa główne problemy (można się doszukać wielu więcej &#8211; np. związanych z systemem plików, połączeniami do bazy danych ,,,)z którymi musi się zmierzyć projektant:</p>
<ul>
<li>Co zrobić ze stanem sesji użytkowników (odwiedzający raz korzysta z serwera 1 ale po odświeżeniu strony już z serwera 2 &#8211; a stan sesji domyślnie pamiętany jest na serwerze :) )?</li>
<li>Jak zarządzać rozproszonym środowiskiem (powyżej 1000 serwerów nie ma dnia, aby jeden z nich się nie zepsuł)?</li>
</ul>
<p>Na szczęście istnieją pewne rozwiązania:</p>
<ul>
<li>do zarządzania stanem sesji najlepiej wykorzystać brak sesji &#8230; lub memcache jeśli sesje są wymagane,</li>
<li>do zarządzania środowiskiem można korzystać z rozwiązań typu <a href="http://capify.org/">Capistrano</a></li>
</ul>
<p>Jeśli nasza aplikacja będzie przystosowana do skalowania poziomego możemy sięgnąć po <strong>EC2</strong> amazona, <strong>rightscale.com</strong> &#8230;</p>
<p>Liznęliśmy temat :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.divante.pl/2008/05/14/skalowanie-aplikacji-jest-proste/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wywiad dla PR-Szczecin</title>
		<link>http://blog.divante.pl/2008/05/12/wywiad-dla-pr-szczecin/</link>
		<comments>http://blog.divante.pl/2008/05/12/wywiad-dla-pr-szczecin/#comments</comments>
		<pubDate>Mon, 12 May 2008 12:55:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[big picture]]></category>
		<category><![CDATA[skalowalność]]></category>

		<guid isPermaLink="false">http://blog.divante.pl/2008/05/12/wywiad-dla-pr-szczecin/</guid>
		<description><![CDATA[Podczas Infotrendy 2008 udzieliłem krótkiego wywiadu dla Polskiego Radia Szczecin nt. problemów ze skalowalnością aplikacji internetowych.  Zapraszam do pobrania wywiadu w formacie mp3 i posłuchania.
]]></description>
			<content:encoded><![CDATA[<p>Podczas Infotrendy 2008 udzieliłem krótkiego wywiadu dla Polskiego Radia Szczecin nt. problemów ze skalowalnością aplikacji internetowych.  Zapraszam do <a href="http://divante.pl/wp-content/uploads/2008/05/wywiad_pr_pka_biznes20.MP3">pobrania wywiadu w formacie mp3</a> i posłuchania.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.divante.pl/2008/05/12/wywiad-dla-pr-szczecin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://divante.pl/wp-content/uploads/2008/05/wywiad_pr_pka_biznes20.MP3" length="909824" type="audio/mpeg" />
		</item>
		<item>
		<title>Skalowalność w dużym obrazie</title>
		<link>http://blog.divante.pl/2008/05/10/skalowalnosc-w-duzym-obrazie/</link>
		<comments>http://blog.divante.pl/2008/05/10/skalowalnosc-w-duzym-obrazie/#comments</comments>
		<pubDate>Sat, 10 May 2008 19:00:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[big picture]]></category>
		<category><![CDATA[skalowalność]]></category>

		<guid isPermaLink="false">http://blog.divante.pl/?p=11</guid>
		<description><![CDATA[Jeśli jesteś zainteresowany skalowalnością z pułapu 30 km. n. p. m. zapraszam do obejrzenia mojej prezentacji
z Infotrendy 2008.
]]></description>
			<content:encoded><![CDATA[<p>Jeśli jesteś zainteresowany skalowalnością z pułapu 30 km. n. p. m. zapraszam do <a href="http://www.infotrendy.pl/index.php?option=com_content&amp;task=view&amp;id=221&amp;Itemid=213">obejrzenia mojej prezentacji</a><br />
z Infotrendy 2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.divante.pl/2008/05/10/skalowalnosc-w-duzym-obrazie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

