<?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>AWS &#8211; PARINYA.NET</title>
	<atom:link href="https://www.parinya.net/node/category/amazon_web_services/feed" rel="self" type="application/rss+xml" />
	<link>https://www.parinya.net</link>
	<description>ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์และทฤษฎีการประมวลผลสารสนเทศ</description>
	<lastBuildDate>Mon, 11 Jul 2011 15:10:11 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>การติดตั้ง Web Application บน Infrastructure แบบเปิด</title>
		<link>https://www.parinya.net/node/1564</link>
					<comments>https://www.parinya.net/node/1564#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Mon, 11 Jul 2011 15:03:55 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Internetworking]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[web application]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1564</guid>

					<description><![CDATA[หลายคนเขียน Web Applicati]]></description>
										<content:encoded><![CDATA[<p>หลายคนเขียน Web Application เป็น, หลายคนเขียนเกมแบบ Web Application ได้ และหลายคนก็เขียน Web Application ไว้ทำงานบน Facebook Platform ได้ แต่ก็ไม่น่าเชื่อว่ามีอยู่หลายคนที่กลับไม่รู้ว่าจะจัดวาง Infrastructure ให้กับ Web Application ของตนเองยังไงดี เพื่อให้ผู้ใช้งานจากทั่วทุกสารทิศในโลกกลม ๆ ใบนี้ เข้าถึง Web Application ที่ตัวเองสร้างขึ้นได้!!!</p>
<p>งั้นมาดูวิธีของผมกันดีกว่า เอาแบบจากประสบการณ์จริงกันไปเลย</p>
<ol>
<li>ต้องเลือกก่อนว่าจะเอา Web Application ของเราไปขับเคลื่อนที่ไหน อย่างกรณีของผม ผมใช้บริการ Cloud Computing ของ Amazon Web Services เป็นตัวจัดการเรื่องนี้ โดยเน้นใช้งานแต่บริการของ Amazon EC2 เพื่อเอามาทำเป็น Instance Server จำนวน 2 Instance ให้ Instance นึงไว้ขับเคลื่อน Application และอีก Instance นึงไว้ขับเคลื่อน Database โดยผมเลือกใช้งานโซนแคลิฟอร์เนียเหนือ และเลือกใช้ Image แบบ LAMP หมายเลข ami-1d6a3858 ซึ่งเป็น LAMPStack ที่มีระบบปฏิบัติการเป็น Ubuntu รุ่น 10.04 แบบ 32 bit สอดไส้ด้วย PHP รุ่น 5.3 มี Virtual Core 1 ECU และ RAM 1.7 GB (เล็กชิบเป๋ง)</li>
<li>จากนั้นก็โยนโค้ดไว้ที่ Application Instance และโยนฐานข้อมูลไปไว้ที่ Database Instance โดยที่ Database Instance จะพิเศษหน่อย เพราะผมจะไม่ใช้เนื้อที่ของ Database Instance เพื่อเก็บฐานข้อมูล แต่จะใช้ Amazon Elastic Block Store ที่ผมผูกไว้กับ Database Instance เป็นตัวเก็บข้อมูลแทน</li>
<li>พอได้ขุมพลังในการขับเคลื่อนและได้ทำการเชื่อมโยง Application Instance กับ Database Instance ผ่านการ Configure อะไรหลาย ๆ อย่างแล้ว ทีนี้ก็ต้องมาดูเรื่อง Domain บ้าง โดยผมได้จดโดเมนเอาไว้ก่อนเรียบร้อยแล้วที่ Go Daddy</li>
<li>คราวนี้ก็ต้องเอา Domain ที่จดทะเบียนไว้ ไปผูกโยงเข้ากับ Application Instance ที่เตรียมเอาไว้ก่อนแล้ว โดยผมได้เลือกใช้บริการของ Dynamic DNS แบบ Custom DNS Package จากนั้นก็ Configure ไำอ้เจ้า CNAME กับ A-Records เพื่อเชื่อมโยงระหว่างชื่อ Domain กับเลข IP ของ Application Instance เข้าไว้ด้วยกัน</li>
<li>และท้ายที่สุด ก็ต้องกลับไป Configure ที่ Go Daddy เพื่อบอกให้มันรู้ว่า ตกลง Domain ที่ผมจดทะเบียนไว้ มันเชื่อมโยงไปยัง Primary Name Server ใด ซึ่งในที่นี้ก็คือ Primary Name Server ของ Dynamic DNS นั่นเอง โดยผมใส่ลงไป 5 Name Server เลย ใช้มันให้คุ้ม ทำ Load Balancing แบบเว่อร์ ๆ เพราะผมเสียดายมาก เนื่องจาก Package ที่จ่ายตังค์ไป มันเปิดให้เรากำหนด DNS ได้ถึง 75+ Domain แต่ประทานโทษ ผมใช้มันสำหรับ Domain เดียว โคตรเสียดายตังค์เลย T-T</li>
</ol>
<p>เมื่อเราทำมาถึงขั้นตอนนี้ ก็ถือว่าทุกอย่างเรียบร้อยหมดแล้ว คราวนี้เราก็จะสามารถลองใช้งาน Web Application ของเราได้ โดยการเปิด Web Browser แล้วพิมพ์ URL ของ Domain เราเข้าไป แล้วรอซักชั่วอึดใจมด จากนั้น Web Application ของเราก็จะปรากฎขึ้นมา &#8230; อย่างสวยงามเลยทีเดียวเชียว!!!</p>
<p>เอาเป็นว่าใครก็ตามที่ยังไม่รู้ ก็คงได้รู้แล้วเน้อะ อ้อ แล้วอีกอย่าง สิ่งที่ต้องรู้อีกอย่างหนึ่งก็คือ ไอ้ข้างบนที่ผมเล่ามา มันต้องเสียตังค์ด้วยอ่ะ T-T แพงซะด้วยสิ ดังนั้น ถ้าคิดจะขับเคลื่อน Web Application แล้วล่ะก็ อย่าลืมหาตังค์มาเลี้ยงมันด้วยเน้อ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1564/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>ทำงานคนเดียว มันทำได้ แต่เสร็จช้า</title>
		<link>https://www.parinya.net/node/1561</link>
					<comments>https://www.parinya.net/node/1561#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 30 Jun 2011 07:52:27 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Service]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1561</guid>

					<description><![CDATA[ผมยังคงง่วนอยู่กับการทำเก]]></description>
										<content:encoded><![CDATA[<p>ผมยังคงง่วนอยู่กับการทำเกม Beelony สำหรับเล่นบน Facebook อยู่ครับ ทำมาตั้งแต่เดือนกันยายน 2553 จนวันนี้จะหมดเดือนมิถุนายน 2554 แล้ว ก็ยังเอาขึ้นใช้จริงไม่ได้อยู่ดี เพราะช่วงที่ผ่านมาผมต้องเสียเวลาไปหลายอย่าง ไม่ว่าจะเป็น &#8230;</p>
<ul>
<li>การประเมินและทดสอบ Instance บน Amazon EC2 ว่าต้องใช้กี่ตัว แล้วก็ใช้ Instance ระดับไหนดี ถึงจะตอบสนองกับตัวเกมได้โดยจ่ายตังค์น้อยที่สุด</li>
<li>การทำ Configuration Note เพื่อเอาไว้จัดการกับ Amazon EC2 ในกรณีที่ต้องเปลี่ยน Instance เพื่อควบคุมต้นทุน โดยให้การเปลี่ยน Instance และ Configure เสียเวลาน้อยที่สุด</li>
<li>การทำ Backdoor ให้กับตัวเกม เพื่อให้ข้ามขั้นตอนในการทดสอบได้ ซึ่งเดิมไม่ได้ทำเอาไว้ ทำให้ต้องทดสอบหูตาเหลือก กว่าจะไปถึงจุดที่อยากจะทดสอบจริง ๆ ได้</li>
<li>การหา Bug ทั้งหลายทั้งปวงที่ยังคงหลบซ่อนอยู่ในตัวเกม โดยเฉพาะตอนที่ผู้เล่นเข้าใช้ทรัพยากรแหล่งเดียวกัน</li>
<li>การซ่อมแซมคุณสมบัติของเกม ที่เล่นแล้วทำให้ไม่ลื่นไหล ขัดหูขัดตา ไม่อำนวยความสะดวก</li>
<li>การเปลี่ยนกลไกจาก PayPal มาเป็น Facebook Credits เพื่อหาเงินมาหล่อเลี้ยงตัวเกม</li>
<li>การเพิ่มคุณสมบัติดึงดูดใจ ที่ทำให้ผู้เล่นไม่รู้สึกว่ากำลังเล่นเกมที่เล่นสบายหรือเล่นยากจนเกินไป</li>
</ul>
<p>ผ่านมาจะปีนึงแล้ว ผมผลิตชิ้นงานให้กับเกมนี้ไปเป็นจำนวนมาก นับได้เป็นจำนวนเกินร้อยไฟล์ ไม่ว่าจะเป็นการโค้ด PHP + jQuery + CSS, การวาดรูป, การทำเอกสาร Configuration, การทำ Mockup, การทำ Prototype, การทำ Tools เสริม, การทำเอกสารออกแบบฐานข้อมูล, การเตรียมข้อมูลหลักสำหรับบรรจุในฐานข้อมูล เป็นต้น</p>
<p>ตอนนี้ผมเดาเอาเองว่าผมคงจะใกล้ทำมันเสร็จแล้วล่ะ แล้วก็หวังว่าจะได้มีเวลาว่าง ๆ มานั่งเขียนบล็อกเล่น ๆ ต่อ อือม แต่ในความเป็นจริงมันคงไม่ง่ายแบบนั้น เพราะพอเอาเกมขึ้นจริงแล้ว ก็ยังต้องมีการทำการตลาด, การพูดคุยกับผู้เล่น, การซ่อมแซมส่วนที่สึกหรอ และการเพิ่มคุณสมบัติใหม่ ๆ ให้กับเกมอยู่อย่างสม่ำเสมอ</p>
<p>การทำเกมเป็นงานอดิเรก มันทำคนเดียวได้ แต่มันเสร็จช้าว่ะ แย่จริง ๆ นี่แหล่ะถึงเป็นเหตุผลว่าทำไมเขาต้องทำเป็นธุรกิจ เพราะมันจะได้เสร็จเร็ว ๆ ไง!!!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1561/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>ใช้ Facebook Credits</title>
		<link>https://www.parinya.net/node/1543</link>
					<comments>https://www.parinya.net/node/1543#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Mon, 18 Apr 2011 05:07:47 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Electronic Money]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[WorkFlow]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook credits]]></category>
		<category><![CDATA[facebook credits api]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1543</guid>

					<description><![CDATA[ด้วยนโยบายอันเข้มงวดเด็ดข]]></description>
										<content:encoded><![CDATA[<p>ด้วยนโยบายอันเข้มงวดเด็ดขาดและโลภของ Facebook ซึ่งกำหนดให้ผู้พัฒนาเกมบน Facebook ต้องใช้ Facebook Credits เพื่อเป็น &#8220;เงินตราเสมือนจริง&#8221; หรือ &#8220;วิธีการชำระเงิน&#8221; บน Facebook แต่เพียงช่องทางเดียว จึงทำให้เกิดความเดือดร้อนเล็ก ๆ แก่ผู้พัฒนาเกมบน Facebook ที่จำต้องเปลี่ยนแปลง &#8220;วิธีการชำระเงิน&#8221; ของตัวเอง มาใช้ Facebook Credits แทน รวมทั้งความเดือดร้อนใหญ่ ๆ ที่ต้องจ่ายส่วยให้กับทาง Facebook ด้วย!!!</p>
<p>ผมเองก็ต้องเปลี่ยนกลไกของเกมของผมเหมือนกัน คือเปลี่ยนจาก &#8220;วิธีการชำระเงิน&#8221; ด้วย PayPal มาเป็น Facebook Credits โดยขอคงสิทธิ์ของ &#8220;เงินตราเสมือนจริง&#8221; ในเกมของตนเองเอาไว้ ไม่ใช้ Facebook Credits เพื่อเป็น &#8220;เงินตราเสมือนจริง&#8221; แต่ประการใด!!!</p>
<p>ทีนี้โดยทางเทคนิคต้องทำยังไงบ้างล่ะ? ก็ต้องโยนโค้ดที่ใช้เชื่อมโยงกับ Web Services ของ PayPal ทิ้งไปสินะ แล้วจากนั้นก็เชื่อมโยงกับ Facebook Credits ผ่านทาง SDK (Javascript + PHP) ที่ทาง Facebook จัดเตรียมเอาไว้ให้ พร้อมทั้งเข้าไปอ่าน<a href="http://developers.facebook.com/docs/creditsapi/">เอกสารของ Facebook</a> เพื่อทำความเข้าใจว่ากลไกของ Facebook Credits อ่ะมันเป็นยังไง</p>
<p>Facebook เองก็ทำ Flowchart เพื่ออธิบายกลไกให้เราเข้าใจ Facebook Credits เอาไว้บ้างเหมือนกัน แต่ประทานโทษอ่ะ มันไม่เห็นจะสอดคล้องกับความเป็นจริงในทางเทคนิคของโค้ดโปรแกรมเล้ย ดังนั้น ผมก็เลยต้องวาดเพื่อทำความเข้าใจเอง แบบข้างล่างนี้</p>
<figure id="attachment_1544" aria-describedby="caption-attachment-1544" style="width: 506px" class="wp-caption aligncenter"><a href="https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits.png"><img fetchpriority="high" decoding="async" src="https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits.png" alt="" title="Facebook Credits" width="506" height="534" class="size-full wp-image-1544" srcset="https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits.png 506w, https://www.parinya.net/wp-content/uploads/2011/04/facebook_credits-284x300.png 284w" sizes="(max-width: 506px) 100vw, 506px" /></a><figcaption id="caption-attachment-1544" class="wp-caption-text">Facebook Credits</figcaption></figure>
<p>และนอกจากนี้ ผมยังได้พบจุดสังเกตในทางเทคนิค เกี่ยวกับ Facebook Credits อีกหลายอย่าง ไม่ว่าจะเป็น &#8230;</p>
<ul>
<li>ไม่ว่าผู้เล่นจะซื้อหรือไม่ซื้อของ Facebook ก็จะสร้างหมายเลข Order ให้ ถ้ามีการร้องขอ Dialog จาก Facebook</li>
<li>Facebook Credits API จะส่งข้อมูลที่ไม่ถูกเข้ารหัสมาหนึ่งชุด และข้อมูลที่ถูกเข้ารหัสมาอีกหนึ่งชุด กลับมาที่ Callback ของเรา (ภายหลังจากการร้องขอ Dialog) และเมื่อนำข้อมูลชุดที่สองที่ถูกเข้ารหัสมาถอดรหัสออก เราจะพบว่าข้อมูลที่ได้มันเหมือนเป๊ะกับชุดที่หนึ่งที่ไม่ถูกเข้ารหัสเลยว่ะ ซึ่งก็หมายความว่า Facebook จะให้เราตรวจสอบนั่นเอง ว่าเรากำลังโดน Hack หรือเปล่า โดนโกงโดยการปลอม JSON หรือเปล่า อะไรประมาณนี้</li>
<li>ตอนวาง Order ผ่านมาเป็น Callback เข้า PHP แต่ตอนจบ Order ดันผ่านมาเป็น Callback ใน Javascript แหม ทำได้ยอกย้อนจริง ๆ</li>
<li>ต้องไม่เขียนโค้ดให้เว่อร์เกินกว่าที่ Facebook Credits API กำหนดไว้ ยกตัวอย่างเช่น ถ้าเขาให้กำหนด Callback เป็น Function แยกต่างหาก ก็ต้องทำตามเขา อย่าบ้าพลังไปผนวก Callback เข้ากับ Function ที่จะเรียกมัน หรือพูดง่าย ๆ ก็คือ Facebook Credits API มันยังอ่อนแออยู่ ยังมีจุกจิกปัญหาเล็ก ๆ น้อยอยู่</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1543/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Beelony รุ่น Alpha แบบจัดเต็ม</title>
		<link>https://www.parinya.net/node/1510</link>
					<comments>https://www.parinya.net/node/1510#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Wed, 02 Feb 2011 02:15:17 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[beelony]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[game]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1510</guid>

					<description><![CDATA[ถ้าเราเล่น Beelony ไปเรื่]]></description>
										<content:encoded><![CDATA[<p>ถ้าเราเล่น <a href="http://apps.facebook.com/beelony">Beelony</a> ไปเรื่อย ๆ ก็จะได้รวงเยอะ ๆ เหมือนในภาพข้างล่างนี้ บวกกับไอเท็มอีกเยอะแยะที่จะผลิตได้ ซึ่งมันเยอะเลยขี้เกียจจะนับ T-T</p>
<p><a href="https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow.png"><img decoding="async" src="https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow.png" alt="" title="Beelony รุ่น Alpha แบบจัดเต็ม" width="600" height="494" class="aligncenter size-full wp-image-1511" srcset="https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow.png 600w, https://www.parinya.net/wp-content/uploads/2011/02/beelony_grow-300x247.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a></p>
<p>แต่ถึงมันจะเป็นรุ่น Alpha แต่มันก็มีคุณสมบัติใกล้เคียงกับตัว Production นะเอ้อ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1510/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>วิธีใช้ Amazon EC2 แบบยืดหยุ่น</title>
		<link>https://www.parinya.net/node/1491</link>
					<comments>https://www.parinya.net/node/1491#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Sun, 26 Dec 2010 04:45:09 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Internetworking]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[WorkFlow]]></category>
		<category><![CDATA[amazon ec2]]></category>
		<category><![CDATA[amazon web services]]></category>
		<category><![CDATA[aws]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1491</guid>

					<description><![CDATA[คิดว่าคงมีหลาย ๆ คนที่เข้]]></description>
										<content:encoded><![CDATA[<p>คิดว่าคงมีหลาย ๆ คนที่เข้าใจแนวคิดว่า Amazon EC2 เป็นบริการ Cloud Computing ซึ่งเป็นอะไรที่ยืดหยุ่น ขยายได้ หดได้ ตามการใช้งานของเรา</p>
<p>แต่พอเจาะถามลงไปลึก ๆ ในรายละเอียด ก็อาจจะเกิดอาการแบ๊ะ ๆ ว่า แล้วมันต้องทำยังไงเหรอ ถึงจะเอาไอ้เครื่องมือที่มันยืดหยุ่น มาทำให้เกิดประโยชน์กับตัวเรา</p>
<p>งั้นมาดูแก่นแท้ของวิธีใช้ Amazon EC2 ที่ยืดหยุ่นกันจริง ๆ กันดีกว่า &#8230;</p>
<p><a href="https://www.parinya.net/wp-content/uploads/2010/12/aws.jpg"><img decoding="async" src="https://www.parinya.net/wp-content/uploads/2010/12/aws.jpg" alt="" title="Amazon Web Services" width="550" height="437" class="aligncenter size-full wp-image-1492" /></a></p>
<p>จากภาพข้างบนจะเห็นว่า วิธีออกแบบเพื่อใช้งาน Amazon EC2 ที่ดูที่สุด คือการออกแบบให้แต่ล่ะชิ้นส่วน &#8220;แยกจากกัน&#8221;</p>
<p>โดยเราต้องมองว่า กระดูกสันหลังหลักที่ทำให้ Amazon EC2 ยืดหยุ่นก็คือ Instance ซึ่งเราสามารถเลือกได้หลายระบบปฏิบัติการ เช่น อาจเป็น Linux หรือ Windows, เลือกได้หลายสมรรถนะ เช่น เอา RAM เยอะ ๆ หรือเอา CPU เยอะ ๆ หรือเอาทั้งสองอย่าง</p>
<p>ดังนั้น ถ้าส่วนของ Instance คือส่วนที่เราต้องเปลี่ยนไปเปลี่ยนมาบ่อย ๆ ตามขนาดการใช้งานของเรา งั้นเราก็<strong>ไม่ควร</strong>จะเอา Script หรือ File อื่น ๆ หรือ Database (ซึ่งก็คือชุดของ File นั่นแหล่ะ) ไปวางไว้ใน Instance ที่จะทำเป็น Web Container หรือ RDBMS หากแต่ใช้วิธีวางไว้ใน Elastic Block Storage แล้วทำการ Mount ไอ้เจ้า Elastic Block Storage เข้ากับ Instance โดยให้มันมองเห็นเป็น Device นึงแทน (เหมือน External Hard Disk)</p>
<p>จากนั้นก็เข้าไปที่ Apache เพื่อ Configure ให้อ่าน Script จาก Device ที่ Mount เข้ามาใหม่ และเข้าไปที่ MySQL เพื่อ Configure ให้อ่าน/เขียน Databases จาก Device ที่ Mount เข้ามาใหม่ ซึ่งอาจจะเป็นที่เดียวกับ Script หรือคนล่ะที่ก็ได้ อันนี้แล้วแต่เราจะออกแบบ</p>
<p>โดยส่วนตัวผมมองว่าภาพข้างบนเป็นพื้นฐานของสิ่งที่ควรจะเป็น สำหรับระบบที่จะมีคนเข้าใช้งานประมาณซัก &#8230; 30,000 คนต่อวัน โดยมีการใช้งานพร้อมกัน 300 คนต่อช่วงเวลา!!!</p>
<p>อือม แต่เอาเข้าจริงแล้วก็ไม่แน่นะ อาจจะใช้ของน้อยกว่านี้ก็ได้ อันนี้แล้วแต่ความเก๋าของแต่ล่ะคน เช่น อาจจะเอา Apache, PHP และ MySQL ไว้บน Instance เดียวกัน แล้วเปิดใช้งาน Elastic Block Storage อันเดียว เพื่อเอาไว้ใส่ทั้ง Script และ Database แล้วพอวันดีคืนดีระบบรับไม่ไหว ก็ค่อยมาขยายกันอีกทีทีหลัง อะไรประมาณนี้</p>
<p>หุ ๆ คนเราอ่ะนะ ถ้าได้ของฟรี ๆ มาใช้ คงไม่ต้องใช้สมองคิดขนาดนี้หรอกเน้อะ?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1491/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>วิธีใช้ Amazon EC2 เพื่อประมวลผล Facebook Application</title>
		<link>https://www.parinya.net/node/1436</link>
					<comments>https://www.parinya.net/node/1436#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 09 Sep 2010 10:32:38 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[amazon ec2]]></category>
		<category><![CDATA[ประมวลผล]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook application]]></category>
		<category><![CDATA[web application]]></category>
		<guid isPermaLink="false">http://www.tai-parinya.com/?p=1436</guid>

					<description><![CDATA[ผมเขียนภาพข้างล่างนี้ขึ้น]]></description>
										<content:encoded><![CDATA[<p>ผมเขียนภาพข้างล่างนี้ขึ้นมาอย่างพื้นฐานและง่ายที่สุด เพื่อแจกแจงว่า ถ้าหากเราต้องการใช้ Amazon EC2 เพื่อประมวลผล Facebook Application แล้วล่ะก็ มันจะมีรูปภาพออกมาเป็นยังไง?</p>
<p><a href="https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws.jpg"><img loading="lazy" decoding="async" src="https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws.jpg" alt="" title="Facebook โดย Amazon Web Service" width="638" height="295" class="aligncenter size-full wp-image-1437" srcset="https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws.jpg 638w, https://www.parinya.net/wp-content/uploads/2010/09/facebook_via_aws-300x138.jpg 300w" sizes="auto, (max-width: 638px) 100vw, 638px" /></a></p>
<p>อธิบายภาพข้างบนสั้น ๆ ได้ดังนี้</p>
<ol>
<li>คุณต้องติดตั้ง Facebook Canvas เป็น, เข้าใจใน Facebook Graph API และเข้าใจใน Facebook Client Libraries (ทั้งหมดฟรี)</li>
<li>คุณต้องจดทะเบียน Domain (เสียตังค์) กับ Domain Registrar (Domain ที่ว่าก็คือ ไอ้พวก http://www.yourdomain.com อะไรเทือกนั้นแหล่ะ) เช่น Godaddy เป็นต้น</li>
<li>คุณต้องจดทะเบียน DNS (เสียตังค์) กับ DNS Provider เพื่อที่คุณจะได้ผูก Domain ของคุณเข้ากับ Amazon EC2 ได้</li>
<li>คุณต้องสมัครเพื่อใช้งาน Amazon EC2 (ไม่ต้องเสียตังค์) แล้วเข้าไปสร้าง Application + Db Instance (เสียตังค์ตามการใช้งาน) โดยสร้างขึ้นมาแค่ Instance เดียวก็พอ (ต่อไปถ้าคุณเก่ง คุณสามารถสร้างเยอะ ๆ ก็ได้นะเออ)</li>
<li>คุณต้องสร้าง Elastic IP ขึ้นมา (เสียตังค์) เพื่อให้ Instance ของคุณ สามารถติดต่อกับโลกภายนอกได้ โดยสร้างแค่ IP เดียวก็พอ (ก็ใช้แค่ Instance เดียวไง ก็เลยใช้แค่ IP เดียวก็พอ)</li>
<li>บังเอิญว่า Instance ใน Amazon EC2 เป็นพวกความจำสั้น ดังนั้น ถ้ามันโดน Restart หรือ Terminate เมื่อไหร่ล่ะก็ มันจะลืมทุกอย่างไปหมดเลย (รวมทั้ง Code และ DB ด้วย) ดังนั้น น่าจะเป็นการดี หากเราจะสร้าง Elastic Block Store ขึ้นมา (เสียตังค์) เพื่อเอามาเป็นที่พักข้อมูลจาก Instance เผื่อว่า Instance มันล่มหรืออะไรยังไง มันจะได้มีตัวสำรอง</li>
<li>แต่ถ้าคุณคิดว่า Elastic Block Store จะไม่ชัวร์ กลัวว่าตัวมันเองก็อาจจะล่ม คุณก็สามารถจะติดตั้ง Snapshot To S3 (เสียตังค์) เพื่อให้มันทยอยโอนข้อมูลของคุณ ไปเก็บไว้ใน Bucket (เสียตังค์) ของ Amazon S3 ก็ได้ (คุณต้องสมัครเพื่อขอใช้ Amazon S3 อันนี้ฟรี ไม่เสียตังค์)</li>
</ol>
<p>สรุปว่าจะประมวลผล Facebook Application บน Amazon EC2 ก็ต้องจ่ายพอตัวเหมือนกัน แต่ถ้าทำออกมาดี ๆ ก็น่่าจะคุ้มอ่ะนะ เพราะถ้าให้ไปประมวลผลบน Shared Hosting ก็คงไม่ได้ เพราะทรัพยากรจำกัดจำเขี่ยเหลือเกิน เกิดผีเข้าผีออก มีคนเข้า Facebook Application ของเราเยอะขึ้นมา ไปทำ Shared Hosting เขาล่ม เดี๋ยวเขาจะเฉดหัวออกมาแทบไม่ทัน</p>
<p>ส่วนจะไปประมวลผลบน Dedicated Server หรือ Virtual Private Server ก็ยุ่งยาก ต้องติดตั้งทุกอย่างเองทั้งหมด (Amazon EC2 มันเทพ สั่งสร้าง Instance โป้งเดียว มันติดตั้งระบบปฏิบัติการและปรับแต่งทุกอย่างให้หมดเลย)</p>
<p>ยิ่งเป็น Co-Location ก็ยิ่งแล้วใหญ่ เพราะเดี๋ยวนี้ฮาร์ดแวร์มันทันสมัยขึ้นแทบทุกวี่ทุกวัน จะให้เช่าซื้อ Server มาเป็นของตัวเองมันจะไม่คุ้ม แบบว่ายังไม่ทันไร Server ที่มีก็ตกยุคซะแล้ว หรือถ้าไม่ตกยุค แต่ต้องมาอัด RAM ทำ Server Farm เองก็หลังแอ่นเหมือนกัน</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1436/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>บริการ Web Service ต้องมี Console</title>
		<link>https://www.parinya.net/node/1266</link>
					<comments>https://www.parinya.net/node/1266#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Fri, 11 Jun 2010 04:45:53 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[Web Service]]></category>
		<guid isPermaLink="false">http://www.peetai.com/a/1266/%e0%b8%9a%e0%b8%a3%e0%b8%b4%e0%b8%81%e0%b8%b2%e0%b8%a3-web-service-%e0%b8%95%e0%b9%89%e0%b8%ad%e0%b8%87%e0%b8%a1%e0%b8%b5-console/</guid>

					<description><![CDATA[ตอนนี้ Amazon Web Service]]></description>
										<content:encoded><![CDATA[<p>ตอนนี้ Amazon Web Service เปิดให้ใช้บริการ Amazon EC2, Amazon Elastic MapReduce, Amazon CloudFront, Amazon RDS และ Amazon S3 ผ่าน Console ได้แล้ว!!!</p>
<p>ซึ่งถือว่าดีกว่าสมัยก่อนมาก เพราะถ้าเป็นสมัยก่อนต้องควบคุมผ่าน command line และ request/response ผ่าน Web Service!!</p>
<div align="center"><img decoding="async" id="image1265" src="https://www.parinya.net/wp-content/uploads/2010/06/amazon_ec2.jpg" alt="Amazon EC2 Console" /></div>
<p>ผมว่ามันเป็นการรุกคืบที่ดีนะ เพราะเชื่อว่ามีนักพัฒนาซอฟต์แวร์หลายคน ที่มีความเข้าใจใน Cloud Computing แต่ติดขัดเสียเวลากับการควบคุมผ่านกลไกระดับล่าง เลยพาลทำให้ไม่อยากจะใช้เพราะรู้สึกว่ามันยุ่งยาก ดังนั้น การทำ Console ขึ้นมาให้ใช้น่าจะเป็นสิ่งที่ดีกว่า</p>
<p>แต่ถ้า Console มันเทพมาก ก็อาจจะทำให้คนที่ใช้งงได้เหมือนกัน T-T</p>
<p>[tags]Amazon EC2, Amazon Elastic MapReduce, Amazon CloudFront, Amazon RDS, Amazon S3, Cloud Computing, Console[/tags]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1266/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Amazon Web Services ณ สิงคโปร์</title>
		<link>https://www.parinya.net/node/1252</link>
					<comments>https://www.parinya.net/node/1252#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 29 Apr 2010 08:16:04 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Web Service]]></category>
		<guid isPermaLink="false">http://www.peetai.com/a/1252/amazon-web-services-%e0%b8%93-%e0%b8%aa%e0%b8%b4%e0%b8%87%e0%b8%84%e0%b9%82%e0%b8%9b%e0%b8%a3%e0%b9%8c/</guid>

					<description><![CDATA[วันนี้เพิ่งได้รับอีเมลสด ]]></description>
										<content:encoded><![CDATA[<p>วันนี้เพิ่งได้รับอีเมลสด ๆ ร้อน ๆ จาก Amazon ใจความตามข้างล่างนี้</p>
<blockquote>
<p>Dear AWS Customer,</p>
<p>We are excited to announce the immediate availability of our first Asia Pacific Region in Singapore.</p>
<p>Starting today, Asia Pacific-based businesses and global businesses with customers based in Asia Pacific can run their applications and workloads in AWS&#8217;s Singapore Region to reduce latency to end-users in Asia and to avoid the undifferentiated heavy lifting associated with maintaining and operating their own infrastructure. Our new Singapore Region launches with multiple availability zones and currently supports Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), Amazon SimpleDB, Amazon Relational Database Service (Amazon RDS), Amazon Simple Queue Service (Amazon SQS), Amazon Simple Notification Service (Amazon SNS), Amazon CloudWatch, and Amazon CloudFront.</p>
</blockquote>
<p>แปลได้ใจความว่า การให้บริการ Cloud Computing ของ Amazon ได้มาจ่ออยู่ที่ประตูบ้านของประเทศไทยแล้ว!!!</p>
<p>มาได้ใกล้เกินความคาดหมายจริง ๆ</p>
<p>[tags]Amazon, Web Services, สิงคโปร์[/tags]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1252/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Amazon EC2 ณ ประเทศสหรัฐอเมริกาฟากตะวันตก</title>
		<link>https://www.parinya.net/node/1189</link>
					<comments>https://www.parinya.net/node/1189#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Tue, 08 Dec 2009 03:29:37 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Web Service]]></category>
		<guid isPermaLink="false">http://www.peetai.com/archives/1189</guid>

					<description><![CDATA[หุ ๆ หลังจากรอคอยมาหลายปี]]></description>
										<content:encoded><![CDATA[<p>หุ ๆ หลังจากรอคอยมาหลายปี ในที่สุดวันนี้ก็มาถึง &#8230;</p>
<blockquote>
<p>Dear AWS Customers,</p>
<p>We are excited to announce the immediate availability of two frequently requested features including the new US-West (Northern California) Region and the ability to launch Amazon Elastic Compute Cloud (Amazon EC2) instances directly from an Amazon Elastic Block Store (Amazon EBS) snapshot. </p>
</blockquote>
<p>แปลเป็นไทยก็คือ ตอนนี้ Amazon EC2 ได้สยายปีกมาทางด้านตะวันตกของสหรัฐอเมริกาแล้ว ซึ่งก็หมายความว่าประเทศในแถบมหาสมุทรแปซิฟิก จะสามารถสร้าง SaaS แล้วไปแมะเอาไว้บนมัน และเข้าถึงมันได้อย่างสะดวกโยธินซะที</p>
<p>ขนาดตอนนี้ใช้ Shared Server ซึ่งอยู่ที่สหรัฐอเมริกาฟากแปซิฟิก มันยังปิ๊ง ๆ มาเมืองไทยได้เร็วโคตร ๆ งั้นถ้าเป็นระดับ Cloud Computing นี่ก็คงจะเทพน่าดูเลยล่ะเนี่ย!!!</p>
<p>[tags]amazon, amazon ec2, สหรัฐ, อเมริกา, ตะวันตก[/tags]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1189/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>อ่าน Product Advertising API</title>
		<link>https://www.parinya.net/node/1172</link>
					<comments>https://www.parinya.net/node/1172#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Tue, 06 Oct 2009 15:39:13 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Web Service]]></category>
		<guid isPermaLink="false">http://www.peetai.com/archives/1172</guid>

					<description><![CDATA[ช่วงนี้ผมกำลังอ่าน Produc]]></description>
										<content:encoded><![CDATA[<p>ช่วงนี้ผมกำลังอ่าน <a href="http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/">Product Advertising API</a> ของ Amazon อย่างจริงจัง ส่วนหนึ่งเพราะเห็นว่าถ้ารู้เรื่องแล้วเราจะหาประโยชน์จากมันได้ ในขณะที่อีกส่วนหนึ่งก็ได้เรียนรู้แนวคิดของ Web Service ซึ่งสร้างโดยบริษัทไอทีชั้นนำของโลกไปในตัว</p>
<p>บางคนอาจจะเห็นว่าการเรียนรู้ Web Service พื้นฐานเป็นเรื่องไม่จำเป็น เพราะเราสามารถใช้หรือซื้อ Script สำเร็จรูป เช่น <a href="http://www.associate-o-matic.com/">Associate-O-Matic</a> มาใช้งานได้ด้วยจำนวนเงินที่ไม่มาก และใช้เวลาในการติดตั้งไม่นานนัก ซึ่งอันนั้นก็จริง!!!</p>
<p>แต่ถ้าเมื่อไหร่ก็ตาม เกิดมีการเปลี่ยนแปลงในระดับ Core Engine ของ Web Service ขึ้นมาแล้วล่ะก็ เราก็จะพบว่าผู้ที่จัดสร้างหรือจำหน่าย Script สำเร็จรูปเหล่านั้น อาจจะปรับปรุง Script ของตนเองไม่ทัน ซึ่งอาจจะทำให้ลูกค้าทั้งหลายที่ไม่มีความรู้ใด ๆ ใน Web Service หรือไม่รู้อะไรเลยเกี่ยวกับ API นั้น ๆ เกิดหายนะได้</p>
<p>โดยเฉพาะถ้า Script นั้นเป็น Script ที่ใช้เพื่อการทำธุรกิจ!!!</p>
<p>สุดท้าย &#8230; สูงสุด ฤๅ จะคืนสู่สามัญ &#8230; เพราะต่อให้เรามี Script หรือ Framework ก้าวหน้าทับซ้อนกันไปไกลแค่ไหน แต่ยังไงเราก็ควรจะแน่นปึ้กในพื้นฐานของ Core Engine อยู่ดี</p>
<p>[tags]core engine, product advertising api, amazon[/tags]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1172/feed</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
