Saturday 3 February 2018

تداول الخيار للدمى الأمازون


10 أسباب لشراء الأمازون، وشركة الأسهم وعدم بيع أبدا.


رقم 1 هو الأكثر أهمية، ورقم 5 يجب أن يقنعك أنه لا يمكن لأحد أن تلمس الشركة.


تم تحديث هذه المقالة 7 ديسمبر 2017، ونشرت أصلا 11 سبتمبر 2018.


نتحدث لعبة جيدة حول شراء وعقد الاستثمار هنا في كذبة موتلي. ولكن الحقيقة هي، ليس كل كذبة يعيش دائما حتى أن شعار في العالم الحقيقي. على سبيل المثال، اشتريت أسهم الأبجدية (مرة أخرى عندما كان جوجل) فقط في 150 $ للسهم الواحد. إذا كنت قد عقدت تلك الأسهم، وأود أن يكون سبعة باغر (أكثر من 600٪ العودة) على يدي. ولكن بدلا من ذلك، باعت في 200 $. يا للتبذير!


الحمد لله، لقد تعلمت من تلك الأخطاء. اليوم، أريد أن أتحدث عن الأمازون (نسداق: أمزن). تحتل الشركة حصة (ربما غير الحكمة) 22٪ من حيازات عائلتي الحياة الحقيقية. ولكن ليس لدينا نية لبيع. أبدا. وإليك السبب.


مصدر الصورة: جيتي الصور.


1. الشيء الوحيد الأكثر أهمية.


هل سبق لك أن قرأت بيان مهمة الأمازون؟ ليس له علاقة مع التجارة الإلكترونية، أو الكتب، أو حتى سحابة الاستضافة. ومع ذلك، فقد كان بالضبط نفس الشيء منذ اليوم الأول. وهي العدسة التي من خلالها يحتاج كل من الماضي والمستقبل للشركة إلى أن ينظر إليها:


ونحن نسعى إلى أن تكون الشركة الأكثر تركيزا على العملاء في الأرض.


قد يشاهد البعض المتفرعة إلى محلات البقالة (التي اشترت مؤخرا أغذية شاملة في أغسطس 2017) أو محتوى الفيديو الأصلي - أو حتى خدمات التوصيل التي يمكن أن تنافس قريبا فيديكس وشركة يو بي إس - كما ترك دائرة التجارة الإلكترونية من الكفاءة. ولكن إلى الرئيس التنفيذي جيف بيزوس، هذه التحركات هي مجرد استمرار لمهمة الشركة: لتعطيل الصناعات التي لا تخدم العملاء وكذلك يمكن أن يكون، وإعادة كتابة القواعد.


وهذا يعطي الشركة قائمة غير متوقعة من العقود الآجلة المحتملة التي ستكون مثيرة لرؤية تتكشف.


2. شركة يقودها مؤسس.


نحن هنا في الشركات التي يقودها مؤسس موتلي الخداع الحب - ويرجع ذلك جزئيا إلى الأخوة توم وديفيد غاردنر لا تزال على مقاليد هنا، ولكن في الغالب لأن مؤسسي تميل إلى أن تكون أكثر عاطفي عن نجاح الشركات التي تم إنشاؤها. وأظهرت دراسة من كلية كرانرت للإدارة في بوردو أن الشركات التي يقودها المؤسسون تميل إلى أن تكون أكثر ابتكارا (قياسا بعدد براءات الاختراع التي تم الحصول عليها) وناجحة من الناحية المالية.


بيزوس تأسست الأمازون مرة أخرى في عام 1994، وكان على رأس منذ ذلك الحين.


3. بيزوس لديها الكثير من الجلد في اللعبة.


لئلا كنت تعتقد أن بيزوس يستخدم الأمازون باعتبارها آلة نقدية بسيطة لإثراء نفسه، تجدر الإشارة إلى أنه لديه حصة شخصية كبيرة. اعتبارا من بيان الشركة أبريل 2017، بيزوس تملك ما يقرب من 81 مليون سهم من الأمازون. وهذا يعادل ما يقرب من 17٪ من الشركة، وتستحق حوالي 94 مليار $. عند الاستثمار مع الأمازون، تتماشى المصالح الخاصة بك مع بيزوس.


4 - بدأ الاتجاه التجاري الإلكتروني للتو.


من الصعب التقاط مدى ما زال يتعين على التجارة الإلكترونية أن تذهب:


مصدر الصورة: مكتب التعداد الأمريكي.


وفقا لمكتب التعداد الأمريكي، رأينا فقط غيض من فيض. اعتبارا من سبتمبر 2017، فقط 9.1٪ من جميع مبيعات التجزئة وقعت عن طريق التجارة الإلكترونية. في حين لا أعتقد أننا سوف نرى أي وقت مضى هذا الرقم النهج 100٪، حتى لو كان نصف جميع المشتريات في نهاية المطاف جعل على الانترنت، وهذا يعني خماسية من مستويات اليوم. الأمازون، أكثر من أي شخص، وتقف على الاستفادة من هذا.


5. هذه المراكز الوفاء تقديم خندق ضخم.


واحدة من أكبر مزايا الأمازون لديها أكثر من المنافسة هي شبكتها من مراكز الوفاء. ووفقا لمستشاري الخدمات اللوجستية موبل، فإن الشركة لديها 116 مراكز من هذا القبيل في أمريكا، مع خطط ل 29 أكثر من ذلك. وهذه المراكز مبان تبلغ قيمتها ملايين الدولارات؛ سيكون على المنافسين أن يذهبوا إلى ديون عميقة لمجرد خدش سطح مطابقة حجم الأمازون.


وتبين الأبحاث التي أجراها بايبر جافري أن 44٪ من سكان الولايات المتحدة لا يصدقون يعيشون الآن ضمن مسافة 20 ميلا فقط من "شبكة العقدة". انها بسبب هذه الشبكة أن الأمازون يمكن أن تقدم حزم الخاص بك بسرعة - الفائدة الرئيسية من العضوية في رئيس الأمازون.


6. قوة رئيس.


فوائد عضوية الأمازون برايمي 99 $ السنوية مذهلة. ولكن في الحقيقة، كل ذلك يأتي مجانا الشحن لمدة يومين. ما مدى شعبية هذه الصفقة؟ والشركة صامتة جدا حول هذه الأرقام، ولكن هذا لم يمنع الآخرين من إجراء أبحاثهم الخاصة.


وتقدر استخبارات بي أنه في ديسمبر 2018، كان هناك أقل من 10 مليون عضو رئيس. وبحلول نهاية عام 2018، يعتقد أن هذا الرقم زاد بنسبة 700٪ إلى 80 مليون عضو.


7 - ولا تزال هناك سوق دولية ضخمة يتعين التصدي لها.


إذا قمت بالرجوع إلى الأمازون خدمات الويب، وشكلت أمريكا الشمالية عن 64٪ من جميع مبيعات التجارة الإلكترونية للشركة في عام 2018. ساهمت جميع الأسواق الدولية مجتمعة فقط 36٪ إلى القمة. هذا الكثير من إمكانيات النمو!


8. الشركة على استعداد للفشل.


عندما أخذ المحللون لقطات رخيصة في بيزوس بعد فشل الهاتف النار الأمازون، وقال انه كان هذا القول:


إذا كنت تعتقد أن هذا فشل كبير، ونحن نعمل على فشل أكبر بكثير الآن - وأنا لا أمزح. بعض منهم سيجعل الهاتف النار تبدو وكأنها صغيرة قليلا بليب.


لماذا هذا شيء جيد؟ لأن الابتكار يأتي من احتضان التجربة والخطأ - و "الخطأ" هو عنصر ضروري. أي من الرهانات الجريئة الأمازون هو جعل إفلاس الشركة، ولكن إذا كان عدد قليل فقط تتحول إلى العمل، فإن تأثير على خلاصة الشركة ستكون هائلة.


9. الفائزين السابقين تميل إلى الحفاظ على الفوز.


نحن غالبا ما نخشى شراء الأسهم عندما ذهبت كثيرا. ولكن هناك عادة سبب أن الأسهم تشهد قفزات هائلة: لأن أسهمها تمثل الملكية في واحدة من أكبر الشركات في عصرنا.


وقد عاد الأمازون 1،130٪ للمساهمين على مدى السنوات ال 10 الماضية. هذا سجل حافل بأنني أتوقع أن يستمر - وإن كان بوتيرة متسارعة.


10. أنا أحب استخدام الشركة.


أحصل على مربع من الشركة تسليمها كل يوم. أحبه. وأنا أعلم لماذا انها الأسهم تستحق الامتلاك. ربما تقوم بذلك أيضا. فلماذا لا تملك أسهم حتى الآن؟ بعد قراءة هذا، كنت إلى حد كبير بعيدا عن الأعذار.


جون ماكي، الرئيس التنفيذي لشركة وول فود ماركيت، وهي شركة تابعة لشركة أمازون، عضو في مجلس إدارة شركة موتلي فول. سوزان فراي، وهو تنفيذي في الأبجدية، هو عضو في مجلس إدارة موتلي فول. بريان ستوفيل تمتلك أسهم الأبجدية (A سهم)، الأبجدية (سهم C)، والأمازون. يمتلك كذبة موتلي أسهم وتوصي الأبجدية (A سهم)، الأبجدية (أسهم C)، والأمازون. توصي موتلي فول فيديكس. يحتوي كذبة موتلي على سياسة الكشف.


بريان ستوفيل كان كذبة منذ عام 2008، وصحفي مالي ل كذبة موتلي منذ عام 2018. يميل إلى اتباع استراتيجيات الاستثمار من كذبة مؤسس ديفيد غاردنر، وتبحث عن الشركات الأكثر ابتكارا قيادة التغيير الإيجابي للمستقبل. تابعTMFStoffel.


أمازون، Inc. (أمزن) أوبتيون شين.


عرض قائمة الرموز.


تفاصيل المخزون.


أخبار الشركة.


تحليل الأسهم.


FUNDAMENTALS.


تحرير قائمة الرموز.


أدخل ما يصل إلى 25 رمزا مفصولة بفواصل أو مسافات في مربع النص أدناه. وستكون هذه الرموز متاحة خلال الجلسة لاستخدامها في الصفحات السارية.


لا أعرف رمز السهم؟ استخدام أداة رمز البحث.


أبجدي ترتيب الفرز من رموز بلدي.


رمز البحث.


الاستثمار أصبح أسهل & # 8230؛


اشترك الآن لتصبح عضوا في نسداق وبدء تلقي إشعارات فورية عندما تحدث الأحداث الرئيسية التي تؤثر على الأسهم التي تتبعها.


يتم نقل المكالمات ووضع الخيارات في جدول يسمى ورقة سلسلة. وتظهر ورقة سلسلة السعر والحجم وفائدة مفتوحة لكل خيار سعر الإضراب وشهر انتهاء الصلاحية.


تحرير المفضلة.


أدخل ما يصل إلى 25 رمزا مفصولة بفواصل أو مسافات في مربع النص أدناه. وستكون هذه الرموز متاحة خلال الجلسة لاستخدامها في الصفحات السارية.


تخصيص تجربة نسداق الخاص بك.


حدد لون الخلفية الذي تختاره:


حدد صفحة الهدف الافتراضية للبحث الاقتباس:


الرجاء تأكيد اختيارك:


لقد اخترت تغيير الإعداد الافتراضي الخاص بك للبحث اقتباس. ستصبح الآن الصفحة المستهدفة الافتراضية؛ إلا إذا قمت بتغيير التهيئة مرة أخرى، أو قمت بحذف ملفات تعريف الارتباط. هل تريد بالتأكيد تغيير إعداداتك؟


يرجى تعطيل برنامج حظر الإعلانات (أو تحديث إعداداتك لضمان تمكين جافا سكريبت وملفات تعريف الارتباط)، حتى نتمكن من الاستمرار في تزويدك بأخبار السوق من الدرجة الأولى والبيانات التي تتوقعها منا.


عنوان.


اسمي روبي بيرنز وأنا تاجر ناجح لأكثر من عشر سنوات. لقد كتبت أيضا كتاب "العاري التاجر" التي تحولت إلى أفضل بائع. وقد نشرت الطبعة الأولى في عام 2005، الطبعة الثانية في أواخر عام 2007 والطبعة الثالثة في عام 2018. أنا أيضا مؤلف "دليل تاجر عارية الرهان انتشار". وكتبت أيضا عمود "دي بنسيون" لصحيفة صنداي تايمز لمدة 3 سنوات، وهو ما جعلني أضاعف المال في نظام المعاش التقاعدي.


تم إنشاء هذا الموقع بعد أن تركت وظيفتي بدوام كامل كمحرر المالية ل بسكيب للتجارة بدوام كامل. كنت قد كتبت صفحة مذكرات لخدمة النص التليفزيوني منذ عام 1998 وقررت كما كنت ترك لنقل ذلك إلى شبكة الإنترنت.


هذه الصفحة هي حقا ما يمكن أن نسميه "إخلاء المسؤولية" الصفحة ويجب أن تقرأ بعناية قبل دخول الموقع - عن طريق الضغط على زر "أوافق".


الموقع هو ببساطة "مذكرات" من حياتي، أو ما كنت الآن استدعاء "بلوق". أنا بالتفصيل ما كنت قد اشتريت، باعت أو قلل وباختصار لماذا. يمكنني استخدام مختلف الشركات سبريدبتينغ وسماسرة الأوراق المالية لتنفيذ الصفقات. أنا تجاهل اللجنة ولكن أيضا أرباح وأنا أحسب التوازن اثنين بعضها البعض حتى.


لذلك يجب أن تكون على علم هذا ليس موقع "البقشيش" وأنا لا أعتبر نفسي، ولا أريد أن أكون، "تيبستر". وبعبارة أخرى، سوف يحثك المتدربون على "شراء" شيء ما - وهم ينظمون بشكل عام للقيام بذلك من قبل الجيش السوري الحر. أنا ببساطة الدولة لقد اشتريت بالفعل أو بيع شيء شخصيا. وبسبب ذلك أنا لا "ينظم" - لذلك أنا لست أذن "تيبستر". أنا ببساطة تاجر الذي يذكر مواقفه.


هذا هو تماما فرق كبير. لا يسمح لي بإعطاء ما يسمى "المشورة الاستثمارية الفردية". صحيح تماما - أنا لست مدربة على القيام بذلك. ما يعنيه هذا أيضا هو إذا كنت البريد الإلكتروني لي ويسألني أي شيء على غرار "هل يمكنني شراء أو بيع هذه الحصة؟" لا أستطيع الإجابة عليك إلا أن أقول هو اختيارك! بالطبع أنا أكثر من سعداء للرد على أي شيء للقيام مع السوق العامة / الأسئلة التعليمية.


يجب أن نفهم دائما مصلحة، وأحيانا مصلحة كبيرة، في أي مخزون أتحدث عنه. لأغراض موقعي سوف تشتري بلدي في كثير من الأحيان إلى حصص أصغر من في الواقع. على الرغم من أن شراء بلدي حقيقي بما فيه الكفاية، وكذلك أسعار، يمكنني، وغالبا ما تشتري الكثير من الرهانات في الأسهم. ويمكنني أيضا أن "أرفع" في أسهم دون أن أعلن عنها، وسوف أتناول أحيانا في كثير من الأحيان أكثر من أن أذكر في الموقع - وذلك أساسا بسبب الضغط الوقت، إذا كانت الأسواق مشغولة. على الرغم من أن يشتري على الموقع حول علامة 5000 £ قد أتعامل جيدا في الواقع هو أحجام 10،000 £ - 30،000 £.


إن منطقي لهذا هو ببساطة لا أريد أن أشجع الناس على متابعة عمياء لي إلى شيء ما عندما لا يفهمون المخاطر المحتملة. انها موافق بالنسبة لي لأنني يمكن أن تخسر المال وضعت في السوق. قد لا يكون الأمر كذلك بالنسبة لك. أنا عموما مستثمر متوسط ​​الأجل يحمل أسهمي عادة ما بين أسبوع واحد وفي مناسبات تصل إلى 3 سنوات. متوسط ​​وقت الانتظار ربما حوالي 3 أشهر.


حتى واحدة من رسائلي الرئيسية هي: لا يميل إلى اتباع لي عمياء في اختياراتي. في كثير من الأحيان، وأنا ألعب الزخم، حصة قد اشتريت قد تكون بالفعل أعلى بكثير مما كانت عليه عندما اشتريته، وخاصة وأنا لا تحديث كل يوم. إذا كنت تتبع لي عمياء قد تكون شراء بسعر أعلى بكثير، وربما ينتهي بك الأمر في بيع واحدة أقل من ذلك بكثير.


يجب عليك دائما إجراء البحوث الخاصة بك وتأتي إلى القرارات الخاصة بك على مشتريات الأسهم. إذا كنت تتبعني إلى شيء وفقدان المال، لديك نفسك فقط لإلقاء اللوم وليس لي. يجب أن تتعلم عن الأسواق وفهم ما تقومون به قبل الدخول إليها.


الطريقة الأكثر خطورة من التداول للجميع هو انتشار، وأنا أفعل قليلا. يجب أن تقرأ بعناية جميع التحذيرات أن الشركات الرهان انتشار قضية جنبا إلى جنب مع جميع التحذيرات في كتابي. وأبدا، من أي وقت مضى، ولعب مع المال الذي لا يمكن أن تخسره.


والهدف من هذا الموقع هو للترفيه، وربما تحفيز النقاش، وهذا هو شرط الدخول! آمل حقا أن تستمتع بقراءة عن انتصاراتي والأخطاء، ولكن من فضلك، مجرد مشاهدة والتمتع انتصارات بلدي والتعلم من أخطائي. فكر في هذا الموقع على أنه ترفيه. إذا كانت هذه هي زيارتك الأولى لموقع ناكترادر ​​الموقع، وأشكركم على زيارتي لي، ونأمل أن تجد هذا الموقع مفيدا.


بعد قراءة موافقتك على إخلاء المسؤولية، انقر على الزر "أوافق" أدناه. يرجى تذكر، لا أستطيع أن أعطي أي نصيحة محددة، حول ما إذا كان يجب عليك شراء أو عقد أو بيع أي حصة فردية.


"إن الاستثمارات والمنتجات الأخرى المشار إليها في موقع ناكيد ترادر ​​لا ينبغي بأي حال من الأحوال اعتبارها" نصيحة "لشراء أو بيع أي شيء، وتعطى معلومات ناكيد ترادر ​​بشكل عام فقط ولا تشكل نصيحة شخصية لأي فرد، والمستثمرون مسؤولون من أجل صياغة وتطبيق استراتيجياتهم الخاصة بناء على ظروفهم الشخصية. وتنصح ناكيد ترادر ​​بأن تحصل على مشورة مالية مستقلة من وسيط معتمد من قبل فسا قبل استثمار الأموال. وقد تكون المعلومات الواردة في الإصدارات السابقة من ناكيد ترادر ​​التحديثات اليومية أصبحت قديمة ويجب ألا تكون يعتمد عليها ما لم يؤكد التعليق الأخير.


ناكيد ترادر ​​يأخذ كل الرعاية للتأكد من أن المعلومات الواقعية على موقعها على الانترنت دقيقة ولكن لا يمكن ضمان ذلك. عنوان بريدي الإلكتروني هو روببيثيترادر ​​@ أول.


قبل المتابعة، يجب عليك قبول إخلاء المسؤولية هذا!


أدرك تماما شروط وشروط الدخول إلى هذا الموقع كما هو موضح أعلاه:


إيباي بيع الخدع.


بسهولة ديكلوتر، والجلد وكسب المال.


الحصول على المال مجانا نصائح البريد الإلكتروني!


لجميع أحدث الصفقات والأدلة والثغرات - الانضمام إلى 12M الذين يحصلون عليه. لا تفوت.


تحديث يناير 2018.


العديد من العناصر القديمة لديك الجلوس حولها في المنزل يمكن أن يكون يستحق نقدية خطيرة، ولكن حقا الحصول على المال المتداول في على موقع ئي باي، تحتاج إلى معرفة آداب والاختصارات.


هذا هو دورة تحطم على كيفية بيع على موقع ئي باي الذي يشرح كيفية خفض الرسوم، ما أفضل وقت لإغلاق المزادات هو، وكيفية الاستفادة من العناصر الغريبة التي لم يفكر كنت تبيع وأكثر من ذلك. اطلع على دليل نصائح البيع في فاسيبوك للحصول على المساعدة بشأن أشياء الجلد مجانا.


42 يباي بيع نصائح، بما في ذلك.


تعرف من أين تبدأ.


فضلا عن جلب نقدية إضافية، باي * يمكن أن تساعدك على ديكلوتر منزلك وتكون صديقة للبيئة أيضا - بعد كل شيء، إذا كان الناس إعادة استخدام البضائع الخاصة بك بدلا من كنت قذف لهم في طرف، يكسب الجميع.


بيع على موقع ئي باي ليست فقط لأولئك في أول دافق من ديكلوتر كبير إما - باستمرار بيع الأشياء التي لم تعد تستخدم يمكن أن توفر المال جاهز منتظم.


عندما تحصل على علة باي، انها الادمان مشاهدة تدفق العطاءات في؛ يمكن للجنيه أن يضيف بسرعة، خاصة وأنك تستفيد من الأشياء التي كانت مجرد التقاط الغبار.


ملتزمة مونيسافرز على موقعنا على متن ئي باي جعل Ј100s في السنة - على الرغم من أن بالطبع كنت جعل يعتمد على ما إذا كنت جلد عدد قليل من المباريات أو التداول بدوام كامل. لمزيد من الطرق للحصول على نقدية إضافية، اقرأ زيادة دخلك.


لم تستخدم لمدة عام؟ الضباب.


الشركات الأوراق المالية الاختيار لقيمة أصولها، ويمكنك أن تفعل الشيء نفسه - المشي من خلال منزلك للعثور على العناصر ذات القيمة التي لم تعد بحاجة إليها، ثم فلوغ 'م.


استخدام قاعدة 12 شهرا من الإبهام للمساعدة في اتخاذ قرار ما لتفريغ. لم تستخدمه لمدة عام؟ بيعه.


وفيما يلي قائمة بما يبيع أفضل؛ إذا ما كنت تبيع لا تتناسب مع أي من هذه الفئات، يمكن للجنيه لا يزال تضيف ما يصل، وسوف تستفيد من منزل أكثر تنظيما.


عناصر جديدة. أقراص دي في دي ملفوفة سيلوفان وفساتين مع علامات جلب سعر أعلى. السلع ذات العلامات التجارية. الناس يثقون في 'بلاك آند ديكر الحفر' على 'الحفر الكهربائية'. العناصر ذات الكلمات الرئيسية. اسأل نفسك "هل سيبحث شخص ما عن هذا؟". الناس أكثر عرضة للبحث عن 'تيد بيكر قميص' من عادي رأ '' قميص '. السلع النادرة. نادر أو الصعب الحصول على عقد من البنود دائما بيع جيدا. فرص العمل. إذا كان لديك القليل من الوقت والأكوام من سلع مماثلة، والنظر في بيعها كحزمة - وهذا يعمل بشكل جيد بشكل خاص مع ملابس الاطفال. ولكن بيع السلع ذات العلامات التجارية باهظة الثمن بشكل فردي - لا تنغ برادا في مع بريمارك.


الحصول على المال مجانا نصائح البريد الإلكتروني!


لجميع أحدث الصفقات والأدلة والثغرات - الانضمام إلى 10M الذين يحصلون عليه. لا تفوت.


لا بن عليه، 'خليج ذلك.


لا تكون سريعة جدا للبكاء "هذا القمامة" - بيع كل شيء. عندما يتعلق الأمر باي باي، واحد غير المرغوب فيه البائع هو كنز رجل آخر، وأنه من المذهل ما سوف يقاتل الناس لشراء.


فعلى سبيل المثال، تتحول العناصر الكهربائية الخاطئة، على نحو جيد، حيث تقوم القرون الذكية بإصلاحها أو استخدامها في قطع الغيار. دائما تكون مقدما عن حالة العنصر على الرغم من.


جعلت مونيسافرز باك سريع بيع أكياس الناقل المستخدمة، مجلة عينات مستحضرات التجميل وحتى كسر نينتندو لعبة الصبي التي سقطت في المرحاض. لمزيد من المبيعات بونكيرس، وقراءة الأشياء الكلاسيكية أنت لم يعتقد أبدا يمكنك بيع الموضوع على المنتدى.


قد لا تريد أن تذهب بقدر ما فعل هذا مونيسافر الرغم من ذلك.


بعت أسناني الزائفة، وحصلت على Ј20 بالنسبة لهم. - نيزد.


شراء أولا لبناء ملفك الشخصي وضمان يمكنك بيع بسعر لائق.


قبل الجلد الخاص بك يلقي-- أوفس على موقع ئي باي، شراء بعض العناصر الصغيرة التي تحتاج إليها؛ يمكنك شراء كل شيء من الجوارب لمعجون الأسنان على موقع ئي باي، وربما حفظ المال نقدا للتمهيد - انظر لدينا 40 يباي شراء نصائح.


سيعطيك هذا نظرة ثاقبة حول كيفية عمل الموقع وبناء تقييم التعليقات. عدد قليل من المشترين سيعملون مع البائعين الذين ليس لديهم ردود فعل، وحتى لو فعلوا ذلك، فهذا يعني أن البند الخاص بك من غير المرجح أن تجلب قيمته السوقية.


أسوأ خطأ يمكنك القيام به هو تسجيل الدخول لأول مرة ومحاولة لبيع عنصر الثمن، مثل اي فون، عندما يكون لديك أي ملاحظات.


للمشترين. تجد صفقات رخيصة فائقة رخيصة.


سواء كانوا يقدمون الأرائك مصمم، وغسالات صحون، وايس أو كتب الأطفال والبائعين على موقع ئي باي غالبا ما تحدد يجب جمع العناصر في شخص. وهذا يعني في كثير من الأحيان عطاءات أقل، مما يعني وجود مساومات.


يمكنك البحث عن & لوت؛ البيك اب & [رسقوو]؛ فقط العناصر المدرجة كما & لوت؛ جمع في شخص & [رسقوو]؛ عبر أداة البحث المتقدم عبر موقع ئي باي. ولكن نحن أيضا بنيت الأدوات التي تسمح لك لتتبع بسرعة وخريطة الأحجار الكريمة بالقرب منك.


يمكن أن تكون المدخرات ضخمة، مثل هذه التي أدلى بها مونيسافر Jen_Jen1985: "كان يبحث عن عربات التي تجرها الدواب مزدوجة - انتهى معظم بيع حوالي Ј40. وجدت واحدة من خلال الباحث عن الصفقات المحلية وانتهى بها الفوز ل Ј1.24. "


على الويب. تفعل ذلك في مكتبك مع مجانا إيباي العروض المحلية أداة مخطط. موقع الجوال: للهواتف النقالة، لدينا موقع خاص موقع يباي موقع الجوال - انقر من خلال المحمول لاستخدامه.


تجسس على ما يفعله الآخرون للحصول على نصائح حول كيفية بيع الأشياء الخاصة بك.


الفرح من موقع ئي باي هو يمكنك ان ترى بالضبط كم غيرها من البنود التي تباع ل وكيف وصفت الباعة الآخرين أجهزتهم. انقر على "خيارات متقدمة" بجوار مربع البحث في الصفحة الرئيسية، وأدخل العنصر الذي تريد بيعه، ثم ضع علامة في مربع "القوائم المكتملة" وانقر على الزر "بحث" - ستتمكن من معرفة عدد عروض الأسعار التي تجذبها العناصر المماثلة ما هي عروض الأسعار الفائزة.


رصدت منتج مماثل لك؟ انقر فوق "بيع واحدة من هذا القبيل"، الذي يملأ تلقائيا في الكثير من نموذج القائمة بالنسبة لك - لا نسخ الأوصاف أو الصور بالجملة من قائمة أخرى على الرغم من.


يمكنك سرد 20 الأشياء مجانا كل شهر - ولكن سوف لا تزال تدفع 10٪ من سعر كل بند تباع.


إذا كان منزلك كهف علاء الدين من السلع لديك معنى للجلد، لا ننسى أن موقع ئي باي * يقدم 20 قوائم مجانية في الشهر. لا يزال لديك لإعطاء موقع ئي باي قطع من كل بند كنت فعلا بيع على الرغم من.


رسوم باي البائعين اثنين من رسوم القوائم الأساسية.


'رسوم الإدراج. هذا هو الرسم الأساسي لإدراج عنصر - عادة 35p شقة لكل بند. ومع ذلك، يمكنك سرد ما يصل إلى 20 بنود في الشهر (في أي سعر البدء) دون دفع أي تهمة. رسوم القيمة النهائية. إذا ومتى يبيع البند، عليك أن تدفع 10٪ شقة من سعر البيع النهائي، بما في ذلك البريد. وهذا ينطبق على كل بند، بما في ذلك تلك المدرجة مجانا. يتم رسم رسم القيمة النهائية عند 250،، أي أنك تدفع 10٪ على البنود التي تصل قيمتها إلى 500..


إذا كان المشتري يدفع باي بال، فإنه عادة ما يأخذ 3.4٪ من إجمالي سعر البيع، بالإضافة إلى 20P لكل معاملة.


الاستفادة من أيام قائمة مجانية.


الباعة العادية تجد أنها تستخدم ما يصل 20 قوائم مجانية بسرعة إلى حد ما. لتجنب دفع رسوم الإدراج 35P لكل بند كنت ترغب في بيع، ترقب لفترات قائمة مجانية عندما يمكنك سرد العديد من العناصر كما تريد دون دفع رسوم.


تحقق من مؤشر ترابط رسائل البريد الإلكتروني المجانية القائمة على منتدى مس لتتبع هذه الفترات.


بيع لأكثر باستخدام الكلمات الرئيسية المناسبة، على سبيل المثال، يدق 'ثونغ' كلسون '،' حذاء 'قمم' مدرب '


إذا كنت ترغب في كسب المزيد على موقع ئي باي، قرص فوكب الخاص بك. في عام 2018، بوفينز في جامعة برمنغهام سيتي الصيد أكثر من 68،000 الانتهاء قوائم يباي في المملكة المتحدة للعثور على الكلمات الرئيسية الأكثر احتمالا لإغراء المشترين.


بعض الأمثلة على ما أظهرت النتائج:


العطور مع كلمة "أصيلة" في وصف تباع ل Ј34 في المتوسط، تلك التي تستخدم "حقيقية" فقط Ј21. الأحذية المسمى 'حذاء' جلب Ј32، تلك المسمى "المدرب" فقط Ј21. القوائم المذكورة "ثونغ" جلبت في Ј41، وتلك التي تشير إلى "كلسون" Ј10.


قام الباحثون بتحليل أكثر من 15 مليون كلمة في قوائم العناصر التي تم بيعها مؤخرا عندما بدأوا دراستهم وعملوا على متوسط ​​سعر بيع لكل كلمة.


وأظهرت الدراسة أيضا أن الأخطاء الإملائية والنحوية القيم أقل البنود، وربما لأنها تشير إلى موقف الإهمال. على سبيل المثال، قوائم الأزياء وصفها بأنها 'الرجال' أغلقت في Ј31، ولكن 'رجل' فقط Ј19. بعض الكلمات غير الحميدة ليست آمنة سواء - يجب على الباعة سيارة تجنب "الوقت المبذر"، "صادقة" و "يمكن الاعتماد عليها".


اطلع على قائمة الكلمات الرئيسية للفئات الأكثر شيوعا أدناه. وصف البند الخاص بك بدقة، ولكن حاول استخدام شروط عالية القيمة وتجنب تلك ذات القيمة المنخفضة حيثما كان ذلك ممكنا.


وبطبيعة الحال، فإن بعض الكلمات الأكثر فعالية تصف العناصر التي من شأنها جلب أسعار أعلى على أي حال، على سبيل المثال، 'أبل' في فئة أقراص. وبالمثل، بعض المصطلحات منخفضة القيمة لا مفر منها، على سبيل المثال، إذا كنت تبيع السهام - وجدت في فئة الألعاب والألعاب - لديك لاستخدام كلمة "السهام"، ولكن العديد من المصطلحات قابلة للتبديل.


أفضل وأسوأ الكلمات الرئيسية كشفت.


وهنا بعض من أفضل وأسوأ الكلمات لاستخدامها ل 14 من الفئات الأكثر شعبية في موقع ئي باي. البيانات هي متوسط ​​كل من شراء عليه الآن وقوائم المزاد التي شملت تلك الشروط.


أفضل الكلمات الرئيسية للأزياء النسائية.


أسوأ كلمات الموضة النسائية.


أفضل الكلمات الرئيسية لأزياء الرجال.


أسوأ الكلمات الرئيسية لأزياء الرجال.


المنزل والحديقة.


أفضل الكلمات الرئيسية للمنزل والحديقة.


أسوأ الكلمات الرئيسية للمنزل والحديقة.


أفضل الكلمات الرئيسية لعناصر الطفل.


أسوأ الكلمات لعناصر الأطفال.


أفضل الكلمات الرئيسية للأثاث.


أسوأ الكلمات للأثاث.


أفضل الكلمات الرئيسية للعب والألعاب.


أسوأ الكلمات الرئيسية للعب والألعاب.


أفضل الكلمات الرئيسية لعطور الرجال.


أسوأ الكلمات الرئيسية لعطور الرجال.


أفضل الكلمات الرئيسية للمكياج.


أسوأ الكلمات الرئيسية للمكياج.


أفضل الكلمات الرئيسية لأقراص الفيديو الرقمية.


أسوأ الكلمات الرئيسية لأقراص الفيديو الرقمية.


أفضل الكلمات الرئيسية لأجهزة الكمبيوتر المحمولة.


أسوأ الكلمات الرئيسية لأجهزة الكمبيوتر المحمولة.


أفضل الكلمات الرئيسية للأقراص.


أسوأ الكلمات الرئيسية للأجهزة اللوحية.


أفضل الكلمات الرئيسية للهواتف الجوالة.


أسوأ الكلمات الرئيسية للهواتف الجوالة.


أفضل الكلمات الرئيسية للأقراص المدمجة.


أسوأ الكلمات الرئيسية لأقراص مدمجة.


أفضل الكلمات الرئيسية للسيارات.


أسوأ الكلمات الرئيسية للسيارات.


الحصول على المال مجانا نصائح البريد الإلكتروني!


لجميع أحدث الصفقات والأدلة والثغرات - الانضمام إلى 10M الذين يحصلون عليه. لا تفوت.


بحث ما هي المنتجات الساخنة مع أداة أنيق.


تريد بعض الإلهام على ما لبيع؟ يمكنك البحث بسرعة الأسواق المحتملة مع مفيد ايباي الأكثر شعبية أداة. اكتب عبارة بحث وتولد قائمة بالمزادات ذات الصلة مع معظم المراقبين وعروض الأسعار. على سبيل المثال، اكتب "وحدة تحكم الألعاب" وستحصل على قائمة من عناصر الألعاب الأكثر شعبية على موقع ئي باي.


حصلت على أعلى يباي بيع طرف نحن لم المدرجة؟ تغذية مرة أخرى في موقع ئي باي بيع دليل المناقشة.


تعلم اللغة مع لدينا باي المصطلحات المغفل.


ايباي الايجابيات استخدام بعض الأحرف الأولى للحصول على رسالتهم عبر. هذه مفيدة لتضييق المعلومات الإضافية في العناوين دون تجاوز عدد الأحرف. لا تذهب على الرغم من ذلك، أو نوبي لن يكون فوجيست ما كنت على وشك.


هذا هو المصطلح إيباي الأكثر استخداما:


بن: العلامة التجارية الجديدة. بنوت: العلامة التجارية الجديدة مع العلامات. بنيب: العلامة التجارية الجديدة في المربع. بن: شرائه الآن. فغك: حالة جيدة جدا.


نوت: جديد بدون علامات. نوب: جديد دون مربع. هتف: من الصعب العثور عليها. نر: لا يوجد احتياطي. فتغ: خمر.


وصف البند الخاص بك بالتفصيل - الثآليل وجميع.


الآن حان الوقت لبيع وتسويق المنتج الخاص بك. لكتابة وصف جيد، والتفكير في ما كنت تريد أن تعرف إذا كنت شراء المنتج نفسك. تضمين اسم العلامة التجارية، حالة (جديدة أو مستعملة)، تفاصيل، أرقام النموذج، حجم، أبعاد دقيقة، نمط ولون.


بينما كنت ترغب في كبير حتى المنتج، وضمان وصف دقيقة. قد يكون من المغري وصف القميص ب "مثل الجديد"، ولكن إذا كان يتحول مع بقع كباب على ذلك، فإن المشتري تعطيك ردود فعل سلبية وقد يطلب المال الخاص بهم مرة أخرى.


دائما تشغيل وصفك من خلال المدقق الإملائي، وخاصة العنوان. عرض مدى أهمية الإملائي هو عندما يتعلق الأمر سيلوينغ على موقع ئي باي، أدوات مثل فاتفينجرز، بايكريزي، غوفبيد وبارجينشيكر مكرسة للاستفادة من الناس زلة المنبثقة. القوائم مع أخطاء إملائية، وخاصة في العنوان، وبيع أقل.


الوصول إلى أعلى نتائج البحث.


كما يعلم كل من يعمل في الأعمال التجارية على شبكة الإنترنت، ليس هناك نقطة إنشاء محتوى رائع إذا كان لا أحد يمكن العثور عليه. من الأهمية بمكان كتابة بياناتك في لغة عملائك واستخدام العبارات التي يبحثون عنها - وخاصة أسماء العلامات التجارية والمنتجات.


عندما يبحث المشترين، يباي تبدو فقط عن الكلمات في عنوان القائمة (على الرغم من أن المشترين يمكن أن تختار للبحث عن العنوان والوصف إذا كانوا يريدون)، لذلك كل عدد الكلمات.


تخيل ما كنت تبحث عنه. خذ 'أنيق الغطاس العنق اللباس البرقوق' - لا أحد الذهاب للبحث عن 'أنيق'، 'تغرق العنق' أو 'البرقوق'. حاول شيئا مثل & كوت؛ حجم جديد 10 الحرير الأرجواني الصافرة اللباس 'وعليك تغطية أكثر بكثير من الشروط المشترين من المرجح أن البحث عن.


حتى أفضل، واستخدام غوفبيد أنيق وحرة ايباي أداة نبض، مما يدل على عبارات البحث الأكثر شعبية استخدام المشترين، حسب الفئة. على سبيل المثال، "العطر" هو ثاني مصطلح البحث الأكثر شعبية في الصحة والجمال بعد "ديور"، لذلك قائمة بعنوان "عطر ديور" هو أكثر عرضة للحصول على لاحظت من واحد يسمى "العطر ديور".


حمل مقاطع فيديو ذات جودة عالية لعرض المشترين بالضبط ما يحصلون عليه.


الصورة الأساسية لائقة - قد تحصل بعيدا مع عدم تضمين صورة من دي في دي موانا، ولكن لا أحد يدفع نقدا جيدة للرسم إذا لم يكن لديهم فكرة جيدة عن ما يبدو.


إيباي تستخدم لشحن للصور، ولكن الآن يتيح لك تحميل 12 مجانا. الأمر سهل - ما عليك سوى النقر على "إضافة من جهاز الكمبيوتر" أو "إضافة من جهاز جوال" في قسم "إضافة صور" في نموذج بطاقة البيانات.


تأكد من أنك قد حصلت على ضوء جيد عند التقاط الصور - إذا كنت تأخذ صورا من شيء في الهواء الطلق، مثل سيارة، في محاولة للقيام بذلك في يوم مشمس. إذا كان البند مكلفة، واتخاذ لقطات من زوايا مختلفة، وكذلك عن قرب وطلقات المسافة.


استخدام خلفية عادي - لن يتم إغراء المشترين إذا رؤية مرآة تظهر لك في Y - جبهات في الصور. التقاط صور عن قرب من عيوب طفيفة - مثالي بجانب حاكم لإظهار حجم منهم - حتى يمكن للمشترين تفتيش لهم، لأنها أكثر عرضة للشراء إذا كان لديهم فكرة جيدة عن ما هي العيوب مثل ويمكن أن تترك كنت ردود فعل طيبة لصدقكم.


خفض سعر البدء في رسم عروض الأسعار - ما لم يكن منتجا متخصصا.


بيع على موقع ئي باي هو التوازن العمل؛ تعيين سعر البدء عالية جدا ولا أحد سوف محاولة. تعيينه منخفضة جدا، وهناك خطر البند الخاص بك وسوف تذهب لأسعار تدق أسفل.


كما ذكر أعلاه، والبحث عن العناصر الانتهاء تعطيك فكرة عن أسعار سلع مماثلة جلبت، مما يتيح لك دليلا على مقدار المال الذي يمكن أن نتوقع أن تجعل.


الحصول على المال مجانا نصائح البريد الإلكتروني!


لجميع أحدث الصفقات والأدلة والثغرات - الانضمام إلى 10M الذين يحصلون عليه. لا تفوت.


إغلاق المزادات يوم الأحد، عندما ازدحاما باي.


تجنب إنهاء المزادات في الساعة 4 صباحا، عندما يكون عدد قليل من الناس سوف يصلون وحول في المملكة المتحدة - في كثير من الأحيان مقدمي العروض يفضلون الانقضاض في الدقائق القليلة الماضية، على أمل الآخرين لن يكون لديك الوقت للرد.


وفقا لموقع ئي باي، ازدحاما الوقت هو مساء الأحد، لذلك تهدف إلى إنهاء المزاد الخاص بك ثم. إذا كنت إدراج عنصر مكلفة، والتحقق من قوائم التلفزيون للتأكد من أنك لا تتعارض مع لعبة من عروش سلسلة النهائي.


يمكنك العثور على مزيد من النصائح حول أفضل يوم / وقت لإنهاء إيباي مزادات موضوع المنتدى.


بيع في موسم الذروة.


التفكير في الموسمية - بيع الاشياء في الوقت المناسب من السنة. وعدد قليل من البحث عن المفرقعات عيد الميلاد في يوليو أو حفلات الشواء في ديسمبر كانون الاول.


وكلما كنت تحصل عليه، كلما كان ذلك أفضل. إذا كنت بالجلد وحدة تكييف الهواء، على سبيل المثال، انتظر موجة الساخنة وضخ ما يصل السعر.


استخدام موقع ئي باي كخدمة إزالة مجانية.


لا تدفع المجلس لجمع الأرائك القدیمة أو الغسالات المكسورة. وضعها على موقع ئي بأي ل 1 P - أو على فريسيكل - والناس قد جمعها منك - الناس مع القدرة على إصلاح الأشياء في كثير من الأحيان شراء كسر الغسالات وأجهزة التلفاز.


الذهاب العالمية لجذب المزيد من مقدمي العروض.


ويؤدي البيع للمشترين في الخارج إلى زيادة عدد مقدمي العروض المحتملين. عند توسيع الإمبراطورية الخاصة بك في الخارج، لديك خياران: بيع لمقدمي العروض في الخارج عبر موقع ئي باي المملكة المتحدة أو قائمة المزاد الخاص بك على موقع إيباي هذا البلد.


إذا كنت تعتقد أن البند سيكون أكثر شعبية في بلد معين، مثل الولايات المتحدة، قد يكون من المفيد إدراجه على موقع إيباي هذا البلد، لأنها ستكون أكثر جاذبية للسكان المحليين لأنها سوف تظهر في عملتهم وتظهر أعلى حتى في عمليات البحث.


أيا كان اختيارك، دائما إضافة رسوم البريد أعلى، وإلا فإن تكلفة إضافية تأكل في الأرباح الخاصة بك. هذا لا يستحق الذهاب للحصول على أكبر، البنود الأكبر حجما، حيث أن تكاليف البريد عالية سوف تفوق أي مكاسب للمشتري.


اريد معرفة المزيد؟ وهنا لدينا كامل كيف ل.


بيع للمشترين في الخارج عبر موقع ئي باي المملكة المتحدة.


أسهل طريقة لبدء التصدير هي عن طريق السماح للمشترين في الخارج لتقديم عطاءات على مزادات يباي في المملكة المتحدة. لإجراء ذلك، عند إنشاء بطاقة بيانات، ضع علامة في مربع "إضافة بريد دولي" في القسم "تحديد خيارات التسليم".


سيؤدي هذا إلى ظهور بطاقات البيانات عندما يبحث أشخاص خارج المملكة المتحدة عن عناصر من البائعين الدوليين. قد تطبق رسوم وإجراءات مختلفة عند إرسال البضائع في الخارج على الرغم من ذلك، ننظر في هذه أولا.


بيع عبر مواقع إيباي الدولية.


للقيام ببعض المقارنات التكلفة الصعبة، والبحث عن العناصر المكتملة على موقع ئي باي المملكة المتحدة للكشف بالضبط كم البنود مماثلة تباع ل. ثم كرر العملية على موقع ئي باي الدولي.


إذا كان جلب المزيد من الشاشات هناك، فسجل الدخول إلى هذا الموقع وابدأ بطاقتك كالمعتاد. للحصول على انك بدأته، مواقع إيباي الرئيسية الأخرى هي في أستراليا وكندا وفرنسا وألمانيا وإسبانيا والولايات المتحدة الأمريكية. هناك المزيد من المعلومات عن موقع ئي باي كيفية بيع الصفحة دوليا.


نضع في اعتبارنا أن هذه الطريقة سيتم بيع البند الخاص بك بالعملة المحلية. سوف باي بال تفعل التحويل بالنسبة لك، ولكن استخدام لدينا مجانا أداة المال المال ماكسيميسر للحصول على تقدير تقريبي قبل إدراج البند الخاص بك.


دائما الحصول على إثبات التسليم.


بعض المحتالين يدعون أن البند لم يصل عندما يكون والمطالبة أموالهم مرة أخرى من خلال باي بال، وهذا يعني أنك تفقد النقدية الخاصة بك. هذا هو أكثر شيوعا مع البنود ذات القيمة العالية مثل فون - بعض مونيسافرز لن تبيع للمشترين الأجانب لهذا السبب.


الطريقة الوحيدة لحماية نفسك ضد هذه الادعاءات الزائفة هي الحصول على إثبات صالح للتسليم - للتأهل لحمايتها من قبل البائع، تحتاج إلى "وثائق عبر الإنترنت من شركة بريدية" لديها حالة "تسليم"، وتاريخ التسليم، والمشتري عنوان. وبالنسبة للبنود التي تزيد قيمتها عن 750،، يلزم أيضا تأكيد التوقيع.


استخدام موقع ئي باي بيع بدلا من استئجار.


اقتصاديات التداول رائعة. سيولة يباي كسوق يعني الاشياء غالبا ما يتحرك بسرعة وبسعر معقول، والذي له تأثير غريب على بعض المشتريات.


تخيل أنك تنوي الحفاظ على شيء لفترة محدودة - كنت في حاجة الى تلفزيون صغير لبضعة أشهر أو تريد لعبة كمبيوتر لبضعة أسابيع. في الماضي، كان الإيجار أرخص من الشراء، ولكن مع موقع ئي بأي، وشرائه، واستخدامه، وحفظه في نيك جيدة، ثم الجلد يمكن أن تقوض فعلا الإيجار.


في الواقع، إذا كنت تشتري شيئا لأرخص سعر ممكن - انظر لدينا رخيصة للتسوق عبر الإنترنت و 40 يباي نصائح شراء أدلة - ثم إعادة الضباب عليه عند الانتهاء من ذلك، فإنه من الممكن تماما للحصول على الكثير من الوراء كما كنت تدفع لذلك، وبالتالي فإن الفترة التي استخدمتها هذا البند ل يكلف في الواقع لك أي شيء.


رسوم باي بال الباعة، لذلك تجنب ذلك - إذا كنت تستطيع.


الطريقة القياسية لدفع على موقع ئي باي يستخدم نظام الدفع عبر الإنترنت باي بال. هذا يعمل بشكل جيد للمشترين، كما انها حرة وتوفر حماية إضافية.


عند البيع، عكس حجة - باي بال يأخذ 3.4٪ من المبلغ المدفوع، بالإضافة إلى 20P لكل معاملة. إضافة هذا إلى رسوم باي، وانها اجتز عادلة.


لسوء الحظ، يتطلب موقع ئي باي جميع البائعين لتقديم باي بال كخيار، ولكن إذا كان أي شخص على استعداد لدفع عن طريق الشيك، عليك كسب المزيد من المال. إذا كنت تبيع عنصرا ضخما يجب التقاطه شخصيا، فافترض أنك تفضل الدفع نقدا.


استخدام البرمجيات الحرة إلى الكمال صورك.


Smartening up your photos increases your chances of selling your item for more, but top-end graphics software can cost Ј1,000s. Instead, download a free photo editing suite, where you can crop, resize, touch up and polish your pictures before sharing them. Be careful not to mask any flaws or damge though.


Go for 10-day auctions to ensure the max number of bids.


When listing an auction, you can choose whether it lasts one, three, five, seven or 10 days. The longer your item is advertised, the more chance people will see it, so unless it's time-sensitive, pick 10 days.


Know the rules around paying tax on eBay sales.


If you're flogging unwanted stuff such as cast-off clothing or a second-hand stereo, there's NO tax to pay. But become a trader, make or buy goods with the intention of selling them, and it IS taxable. There are some grey areas, so read this HMRC guide to work out if you need to tell it about income made from online sales.


Two new tax breaks, which were dropped by the Government before the June 2017 election, have now been reintroduced. One of these is a Ј1,000 trading allowance that can be applied to earnings from 6 April 2017.


Essentially, it means people no longer have to report the first Ј1,000 they earn from selling goods and casual services (such as gardening) - including via the likes of eBay - to HMRC. See our Ј1,000 tax breaks will be back in new finance bill news story for more info, and visit Gov. uk for full details.


Stick to the law for listing and selling products.


If you're a trader – a person who makes or buys goods with the intention of selling them – the buyer has the same statutory rights as when buying from a shop. This applies to both new and second-hand items - see the Consumer Rights guide for more infomation. Traders are also required to register as business sellers with eBay.


If you're a trader and sell using the buy-it-now button, rather than just a standard auction format, then Consumer Contract Regulations apply. Under the regulations, buyers have 14 days after the item is received to let sellers know they'd like to return the item. They then have another 14 days to return it.


Be careful with descriptions.


With private sellers it's caveat emptor - let the buyer beware. Buyers' only rights under law are that the product is fairly described and the owner has the right to sell it. Under eBay's own rules buyers are also eligible for a refund if the item's "not as described", ie, it doesn't match the seller's description.


Business traders' sales are covered by the Consumer Rights Act whether or not they use buy-it-now. This means goods must be of satisfactory quality, fit for purpose, and as described. Therefore business traders need to be more careful with descriptions than private sellers.


الحصول على المال مجانا نصائح البريد الإلكتروني!


For all the latest deals, guides and loopholes - join the 10m who get it. لا تفوت.


Build your reputation by selling as you'd like to be sold to.


To build an array of sparkling feedback ratings, you need to deliver goods speedily and in the condition advertised. While not a legal obligation, offering good customer service will boost feedback and protect you from problems.


So how can you get top marks? The key is to put yourself in the buyers' shoes – how would you like to be treated?


Describe the item accurately, reply to questions promptly and try to dispatch within 48 hours. Let the buyer know when you've dispatched, email them the postal tracking number and include an invoice in the package.


Another nice touch is to email a message along the lines of: 'Hi there, I've just sent your lovely puzzle/pineapple earrings/plastic parrot. Hope you enjoy it/them as much as I did – please shout if you have any questions.'


Never bid on your own auctions.


Don't bid on your own auctions with another account to boost prices – this is known as shill bidding. It's illegal to push up a price artificially by bidding against yourself or by getting family or friends to do so.


Popping something in the post? Show off your package.


Hoard large envelopes and other packaging materials - big brown paper carrier bags are a good substitute for brown paper.


Make sure items are secure and nicely packaged. Traders often like to add a personal touch by including a business card or wrapping good quality clothes in tissue paper.


Make sure you price the postage right.


The buyer pays for postage, so when listing goods, you must specify a postage cost. Try to be as accurate as possible, because if the price specified is too low, you'll have to make up the difference, and if it's too high, the buyer may give you bad feedback.


Don't forget to factor in packaging costs when calculating postage charges - buyers often don't expect to pay much more than the price of postage itself, so you may wish to factor packaging costs into the price of the item.


To get an idea of prices, weigh the item and use the Royal Mail price finder. If you're posting anything weighing more than 2kg, it may be cheaper to use a courier - read the Cheap Parcel Delivery guide for full details.


Postage costs are included in eBay's final value fee - see the eBay sellers beware: Its fees now eat into postage costs MSE news story for more details. The final value fee is 10% of the final sale price and postage (although it's capped at Ј250 per item), so sellers should factor this into their postage charge to avoid being left out of pocket.


Get proof of delivery to beat the cheats.


It's not just buyers who get caught out by the unscrupulous – sellers can too. One problem for sellers is a buyer winning a pricey item such as a MacBook, then saying it never arrived and claiming the cash back – even though they have the item.


To qualify for eBay's seller protection, you need 'online documentation from a postal company' that has 'delivered' status, the date of delivery and the buyer's address. For items valued at over Ј750, you'll also need signature confirmation.


الحصول على المال مجانا نصائح البريد الإلكتروني!


For all the latest deals, guides and loopholes - join the 10m who get it. لا تفوت.


Send to the address on eBay OR PayPal - even if they conflict.


According to the eBay Seller Protection guidelines, if the buyer's address on the PayPal transaction details page differs to the one on the eBay view order details page, sellers will have met their shipping obligations with regard to the eBay Money Back Guarantee as long as they send their item to one of the addresses.


Block dodgy buyers.


Discourage dodgy buyers by adding a requirement that you'll only accept bids from buyers with a certain feedback score. To do this, in My eBay, click the 'Account' tab, then 'Site Preferences' under 'My Account'. In the 'Selling Preferences' section, scroll down to 'Buyer Requirements' and click 'Show'. To the left of 'Block buyers who:' click 'Edit' and then tick the box under 'Buyers with a negative Feedback score' and click the 'Submit' button at the bottom of the page.


You can also block specific buyers - if you get enquiries from a buyer before your auction ends and don't like the cut of their jib, just add 'em to your blocked list.


While most negative feedback is likely to be justified, buyers who casually leave negative and neutral feedback for sellers most people would consider decent are an issue. To check if you're dealing with a cranky curmudgeon, go to their profile, click on Feedback profile and then on the Feedback left for others tag.


Be prepared to refund.


An item may arrive damaged because you didn't package it up well enough, or a buyer could be disgruntled because your description was inaccurate. If you're in the wrong, it's only fair to refund the buyer, whether or not you're legally obliged to - and you could limit the damage to your feedback score. If payment was made by PayPal, be sure to refund that way.


Set up a bank account just for eBay.


Consider setting up a bank account specifically for paying your eBay earnings into - that way you'll see the cash pile up, rather than it just disappearing into your current account. Some MoneySavers then spend what they've made on Christmas or a holiday - see the Top Savings Accounts guide for best buys.


It's not just eBay – don't forget you can sell on other auction sites too.


While eBay is massively dominant, eBid is a decent-sized alternative. The advantage of using it is that it charges sellers less than eBay, which means some prefer it. On the downside, your auctions are likely to get less exposure than they would on eBay, so could get fewer bids and, ultimately, earn you less money.


Comparing charges is tricky, because all auction sites have different fee structures. eBid lets you list items for free and charges 3% of the final sale price with a free SELLER account - with a SELLER+ account, which starts at Ј1.99 depending on how long you want to subscribe for, you pay 0% of the final sale price. Alternatively, you can pay Ј2.50 to list an item and it will be featured on the homepage with nothing to hand over when you sell - see more on eBid's fees.


Sell for free on classified sites.


With local classified sites, the buyer usually collects in person and pays cash on collection, which means no eBay, no PayPal and no fees – hurrah!


The king of 'local' classified sites is Gumtree, which covers the entire UK and lets sellers list for free. Interestingly, Gumtree is owned by eBay, but thankfully this hasn't affected its free community-based operations.


Many MoneySavers rate second-hand site Preloved*, where placing ads is also free. Try Loot, local online forums and your local paper too.


Sell for free on Facebook.


Local Facebook selling groups and the social network's new Marketplace are fast rivalling eBay as the place to earn cash by flogging unwanted stuff. The best bit is there are NO fees, so you keep all the profit.


For a crash course in how to earn Ј100s this way, see our Facebook Selling Tips. It tells you how to find the right local groups, use Marketplace and get the best price for your goods, plus how to make sure you stay safe when selling.


Profit from old books.


Listing books one by one on eBay* may make you the most cash, but it'll take time. Amazon Marketplace* is a convenient place to sell old books as you only need to search for the book and write a short description.


You can list up to 35 books a month for free, but Amazon will charge Ј1.25 per book sold plus 15% of the total price paid (including postage). Alternatively, to list more than 35 books a month, you pay a flat subscription of Ј25/mth and then 50p per book and 15% of the total price paid.


If you need speed and ease, trade-in website We Buy Books lets you enter the barcode or ISBN and offers you a price - you can then post off your books for free. However, the prices offered are usually lower than you would get by selling them yourself.


See the Get max cash for old books section of our Boost Your Income guide for a full list of trade-in sites.


Quicker cash for old CDs, DVDs & games.


Trade-in sites pay quick cash for old CDs, DVDs, computer games and Blu-rays, plus some electronics and clothing, making them a convenient option.


When it comes to newer items, you're probably better off selling them individually on eBay, but hoarders of CDs and games from the 1990s and beyond could make Ј100s on the side - see the Quicker cash for old CDs, DVDs & more section of the Boost Your Income guide for a full list of trade-in sites.


Can you profit from lost luggage auctions?


Ever watched Storage Hunters , the US show where people bid for the mystery contents of storage units? Now you can do it yourself at lost luggage auctions.


When airlines are unable to reunite lost bags with their rightful owners, they often sell them off via specialist auction houses for Ј10-Ј75.


You don't always know what's inside the cases, but pick a winner and profit is possible from eBaying the content. For a full guide, including which auction houses do this, see our guide to Lost luggage auctions.


Got old gold? You can flog it for serious cash.


'Sell unwanted gold for CASH!' TV, magazine and billboard ads from gold dealers pulse with promises, yet rarely seem to live up to them.


However, amid the scrap are shining examples - meaning getting Ј100s for old jewellery is possible. Like forumite Happypig , you could strike, er, gold: "I sent some old chains, earrings & rings – mostly 9ct, mostly broken. Your top site offered Ј970, almost double my Ј520 high street quote."


For tips on how to safely get maximum ker-ching for your bling, see our Selling gold for max cash guide.


It's not all about selling – consider giving stuff away as well.


Top-quality goodies are available daily across the country for FREE. It's all about web communities, and the big names are Freecycle and Freegle.


Instead of binning goods or trying to eBay them, people offer them to their local community for free. In return, they hope they can grab something they want - see our Freecycle & Freegle guide for more information.


الحصول على المال مجانا نصائح البريد الإلكتروني!


For all the latest deals, guides and loopholes - join the 10m who get it. لا تفوت.


Join in the MSE Forum Discussion:


أدلة ذات صلة.


أخبار ذات صلة.


What the * means above.


If a link has an * by it, that means it is an affiliated link and therefore it helps MoneySavingExpert stay free to use, as it is tracked to us. If you go through it, it can sometimes result in a payment or benefit to the site. It's worth noting this means the third party used may be named on any credit agreements.


You shouldn’t notice any difference and the link will never negatively impact the product. Plus the editorial line (the things we write) is NEVER impacted by these links. We aim to look at all available products. If it isn't possible to get an affiliate link for the top deal, it is still included in exactly the same way, just with a non-paying link. For more details, read How This Site Is Financed.


Duplicate links of the * links above for the sake of transparency, but this version doesn't help MoneySavingExpert: Amazon, eBay, Preloved.


FREE MoneySaving email.


Get this free weekly email full of deals, guides & انها البريد المزعج مجانا.


NatWest launches Ј125 switching offer - plus you can get 2% cashback on bills.


Fraudsters are using fake NatWest texts to trick customers into handing over personal details.


Carphone Warehouse fined Ј400,000 for customer data breach.


5p carrier bag charge set to be extended to smaller stores.


Revealed: 800,000 could have saved with a prescription 'season ticket' last year.


I averaged 25,420 steps per day (burning 3,880 calories) in 2017 - here’s how.


An important warning to every worker and 9 other need-to-knows from 2017.


Martin Lewis video: How to teach your kids about debt and why financial education matters.


Should you invest in Bitcoin? Four things you need to know.


Premium Bond rate boosted from 1.15% to 1.4% - should you pile in?


Plastic-free shopping aisles could be coming, but we've found many plastic-packaged fruit & veg are CHEAPER than loose.


Five top package holiday booking codes, eg, Tui Ј150 off Ј1,000 – DON’T book until you’ve checked our list.


Cadbury's 'hunt for the white Creme Egg' competition to win up to Ј2,000.


Can you find super-cheap post-Christmas chocs? 29p Cadbury Santa, Ј7.50 Ferrero Rocher & أكثر من.


LAST OOOOORDERS! Don’t be caught out. The deadlines for free and cheap delivery before Christmas are FAST approaching.


أدوات & أمب؛ Calcs.


Cheap Energy Club.


We ensure you're on the cheapest tariff.


Loans Eligibility.


All of the top unsecured personal loans.


Credit Card Eligibility.


Tools for different credit card types & purchases.


Mortgage Best Buys.


Compares thousands of mortgages.


Mortgage Calculator.


Eight calcs for all your mortgage sums.


Free complaints tool.


Resolver - the automated complaints system.


كيفية عمل هذا الموقع.


نعتقد أنه من المهم أن تفهم نقاط القوة والقيود للموقع. نحن موقع صحفي ونهدف إلى تقديم أفضل أدلة مونيسافينغ والنصائح والأدوات والتقنيات، ولكن لا يمكن أن تضمن أن تكون مثالية، لذلك نلاحظ استخدام المعلومات على مسؤوليتك الخاصة، ونحن لا يمكن أن تقبل المسؤولية إذا الأشياء خاطئة.


هذه المعلومات لا تشكل المشورة المالية، ودائما القيام البحوث الخاصة بك على رأس للتأكد من انها الحق لظروف محددة الخاصة بك وتذكر أننا نركز على أسعار لا خدمة. Do note, while we always aim to give you accurate product info at the point of publication, unfortunately price and terms of products and deals can always be changed by the provider afterwards, so double check first. We don't as a general policy investigate the solvency of companies mentioned (how likely they are to go bust), but there is a risk any company can struggle and it's rarely made public until it's too late (see the Section 75 guide for protection tips). غالبا ما نرتبط بمواقع ويب أخرى، ولكن لا يمكننا أن نكون مسؤولين عن محتواها. تذكر دائما أي شخص يمكن أن تنشر على منتديات مس، لذلك يمكن أن تكون مختلفة جدا عن رأينا.


مونيسافينغكسيرت هو جزء من مجموعة مونيسوبيرماركيت، ولكن هو مستقل تماما التحرير. وموقفها من وضع المستهلكين أولا محمي ومكرس في قانون تحرير المشاريع الملزم قانونا.


المزيد من الأدوات من مونيسافينغكسيرت.


مخطط الميزانية.


أداة مجانية لتحليل اموالك والتدقيق في الإنفاق.


السندات قسط احسب.


أداة فريدة من نوعها يستخدم احتمال لتقدير المكاسب.


EBay Local Deals Mapper.


Find cheap pick-up only items near you - they often attract fewer bids.


Credit Club.


Turbo boost your credit chances and get your free Experian credit report.


Credit Card Eligibility Calc.


Shows which top cards you're most likely to get.


MegaShopBot.


Instantly searches the best shopping comparison sites.


Cheap Energy Club.


Ensures the cheapest energy deal constantly.


TravelMoneyMax.


Find the best online deal for.


your holiday cash.


Martin Lewis is a registered trade mark belonging to Martin S Lewis.


الحصول على المال مجانا نصائح البريد الإلكتروني!


لجميع أحدث الصفقات والأدلة والثغرات - الانضمام إلى 12M الذين يحصلون عليه. لا تفوت.


Serverless Architectures.


Serverless architectures refer to applications that significantly depend on third-party services (knows as Backend as a Service or "BaaS") or on custom code that's run in ephemeral containers (Function as a Service or "FaaS"), the best known vendor host of which currently is AWS Lambda. By using these ideas, and by moving much behavior to the front end, such architectures remove the need for the traditional 'always on' server system sitting behind an application. Depending on the circumstances, such systems can significantly reduce operational cost and complexity at a cost of vendor dependencies and (at the moment) immaturity of supporting services.


Mike is an engineering leader living in New York City. While spending much of his time these days managing people and teams he also still gets to code occasionally, especially in Clojure, and has Opinions about software architecture. He is cautiously optimistic that Serverless architectures may be worth some of the hype that they are currently receiving.


Sidebars.


This article provides an in-depth look at serverless architecture and as a result is a long read. If you need a concise summary of what serverless is and its trade-offs - take a look at the bliki entry on serverless.


Serverless is a hot topic in the software architecture world. We’re already seeing books , open source frameworks, plenty of vendor products, and even a conference dedicated to the subject. But what is Serverless and why is (or isn’t) it worth considering? Through this evolving publication I hope to enlighten you a little on these questions.


To start we'll look at the ‘what’ of Serverless where I try to remain as neutral as I can about the benefits and drawbacks of the approach - we'll look at those topics later.


What is Serverless?


Like many trends in software there’s no one clear view of what ‘Serverless’ is, and that isn't helped by it really coming to mean two different but overlapping areas:


Serverless was first used to describe applications that significantly or fully depend on 3rd party applications / services (‘in the cloud’) to manage server-side logic and state. These are typically ‘rich client’ applications (think single page web apps, or mobile apps) that use the vast ecosystem of cloud accessible databases (like Parse, Firebase), authentication services (Auth0, AWS Cognito), etc. These types of services have been previously described as ‘(Mobile) Backend as a Service’, and I’ll be using ‘BaaS’ as a shorthand in the rest of this article. Serverless can also mean applications where some amount of server-side logic is still written by the application developer but unlike traditional architectures is run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party. (Thanks to ThoughtWorks for their definition in their most recent Tech Radar.) One way to think of this is ‘Functions as a service / FaaS’ . AWS Lambda is one of the most popular implementations of FaaS at present, but there are others. I’ll be using ‘FaaS’ as a shorthand for this meaning of Serverless throughout the rest of this article.


Origin of ‘Serverless’


The term ‘Serverless’ is confusing since with such applications there are both server hardware and server processes running somewhere, but the difference to normal approaches is that the organization building and supporting a ‘Serverless’ application is not looking after the hardware or the processes - they are outsourcing this to a vendor.


First usages of the term seem to have appeared around 2018, including this article by Ken Fromm. Badri Janakiraman says that he also heard usage of the term around this time in regard to continuous integration and source control systems being hosted as a service, rather than on a company’s own servers. However this usage was about development infrastructure rather than incorporation into products.


We start to see the term used more frequently in 2018, after AWS Lambda’s launch in 2018 and even more so after Amazon’s API Gateway launched in July 2018. Here’s an example where Ant Stanley writes about Serverless following the API Gateway announcement. In October 2018 there was a talk at Amazon’s re:Invent conference titled “The Serverless Company using AWS Lambda”, referring to PlayOn! رياضات. Towards the end of 2018 the ‘Javascript Amazon Web Services (JAWS)’ open source project renamed themselves to the Serverless Framework, continuing the trend.


Fast forward to today (mid 2018) and one sees examples such as the recent Serverless Conference, plus the various Serverless vendors are embracing the term from product descriptions to job descriptions. Serverless as a term, for better or for worse, is here to stay.


Mostly I’m going to talk about the second of these areas because it is the one that is newer, has significant differences to how we typically think about technical architecture, and has been driving a lot of the hype around Serverless.


However these concepts are related and, in fact, converging. A good example is Auth0 - they started initially with BaaS ‘Authentication as a Service’, but with Auth0 Webtask they are entering the FaaS space.


Furthermore in many cases when developing a ‘BaaS shaped’ application, especially when developing a ‘rich’ web-based app as opposed to a mobile app, you’ll likely still need some amount of custom server side functionality. FaaS functions may be a good solution for this, especially if they are integrated to some extent with the BaaS services you’re using. Examples of such functionality include data validation (protecting against imposter clients) and compute-intensive processing (e. g. image or video manipulation.)


A couple of examples.


UI-driven applications.


Let’s think about a traditional 3-tier client-oriented system with server-side logic. A good example is a typical ecommerce app (dare I say an online pet store?)


Traditionally the architecture will look something like this, and let’s say it’s implemented in Java on the server side, with a HTML / Javascript component as the client:


With this architecture the client can be relatively unintelligent, with much of the logic in the system - authentication, page navigation, searching, transactions - implemented by the server application.


With a Serverless architecture this may end up looking more like this:


This is a massively simplified view, but even with this there are a number of significant changes that have happened here. Please note this is not a recommendation of an architectural migration, I’m merely using this as a tool to expose some Serverless concepts!


We’ve deleted the authentication logic in the original application and have replaced it with a third party BaaS service. Using another example of BaaS, we’ve allowed the client direct access to a subset of our database (for product listings), which itself is fully 3rd party hosted (e. g. AWS Dynamo.) We likely have a different security profile for the client accessing the database in this way from any server resources that may access the database. These previous two points imply a very important third - some logic that was in the Pet Store server is now within the client, e. g. keeping track of a user session, understanding the UX structure of the application (e. g. page navigation), reading from a database and translating that into a usable view, etc. The client is in fact well on its way to becoming a Single Page Application. Some UX related functionality we may want to keep in the server, e. g. if it’s compute intensive or requires access to significant amounts of data. An example here is ‘search’. For the search feature instead of having an always-running server we can implement a FaaS function that responds to http requests via an API Gateway (described later.) We can have both the client, and the server function, read from the same database for product data.


Since the original server was implemented in Java, and AWS Lambda (our FaaS vendor of choice in this instance) supports functions implemented in Java, we can port the search code from the Pet Store server to the Pet Store Search function without a complete re-write.


Finally we may replace our ‘purchase’ functionality with another FaaS function, choosing to keep it on the the server-side for security reasons, rather than re-implement it in the client. It too is fronted by API Gateway.


Message-driven applications.


A different example is a backend data-processing service. Say you’re writing a user-centric application that needs to quickly respond to UI requests, but secondarily you want to capture all the different types of activity that are occurring. Let’s think about an online ad system - when a user clicks on an advertisement you want to very quickly redirect them to the target of the ad, but at the same time you need to collect the fact that the click has happened so that you can charge the advertiser. (This example is not hypothetical - my former team at Intent Media recently went through this exact redesign.)


Traditionally, the architecture may look like this. The ‘Ad Server’ synchronously responds to the user - we don’t care about that interaction for the sake of this example - but it also posts a message to a channel that can be asynchronously processed by a ‘click processor’ application that updates a database, e. g. to decrement the advertiser’s budget.


In the Serverless world this looks like:


There’s a much smaller difference to the architecture here compared to our first example. We’ve replaced a long lived consumer application with a FaaS function that runs within the event driven context the vendor provides us. Note that the vendor supplies both the Message Broker and the FaaS environment - the two systems are closely tied to each other.


The FaaS environment may also process several clicks in parallel by instantiating multiple copies of the function code - depending on how we’d written the original process this may be a new concept we need to consider.


Unpacking ‘Function as a Service’


We've mentioned the FaaS idea a lot already but it's time to dig into what it really means. To do this let's look at the opening description for Amazon's Lambda product. I've added some tokens to it, which I then expand upon.


AWS Lambda lets you run code without provisioning or managing servers. (1) . With Lambda, you can run code for virtually any type of application or backend service (2) - all with zero administration. Just upload your code and Lambda takes care of everything required to run (3) and scale (4) your code with high availability. You can set up your code to automatically trigger from other AWS services (5) or call it directly from any web or mobile app (6) .


Fundamentally FaaS is about running back end code without managing your own server systems or your own server applications. That second clause - server applications - is a key difference when comparing with other modern architectural trends like containers and PaaS (Platform as a Service.)


If we go back to our click processing example from earlier what FaaS does is replace the click processing server (possibly a physical machine, but definitely a specific application) with something that doesn’t need a provisioned server, nor an application that is running all the time.


FaaS offerings do not require coding to a specific framework or library. FaaS functions are regular applications when it comes to language and environment. For instance AWS Lambda functions can be implemented ‘first class’ in Javascript, Python and any JVM language (Java, Clojure, Scala, etc.). However your Lambda function can execute another process that is bundled with its deployment artifact, so you can actually use any language that can compile down to a Unix process (see Apex later on.) FaaS functions do have significant architectural restrictions, especially when it comes to state and execution duration, and we’ll come to that soon.


Let’s consider our click processing example again - the only code that needs to change when moving to FaaS is the ‘main method / startup’ code, in that it is deleted, and likely the specific code that is the top-level message handler (the ‘message listener interface’ implementation), but this might only be a change in method signature. All of the rest of the code (e. g. the code that writes to the database) is no different in a FaaS world.


Since we have no server applications to run deployment is very different to traditional systems - we upload the code to the FaaS provider and it does everything else. Right now that typically means uploading a new definition of the code (e. g. in a zip or JAR file), and then calling a proprietary API to initiate the update. Horizontal scaling is completely automatic, elastic, and managed by the provider. If your system needs to be processing 100 requests in parallel the provider will handle that without any extra configuration on your part. The ‘compute containers’ executing your functions are ephemeral with the FaaS provider provisioning and destroying them purely driven by runtime need.


Let’s return to our click processor. Say that we were having a good day and customers were clicking on 10 times as many ads as usual. Would our click processing application be able to handle this? For example did we code to be able to handle multiple messages at a time? Even if we did would one running instance of the application be enough to process the load? If we are able to run multiple processes is auto-scaling automatic or do we need to reconfigure that manually? With FaaS you need to write the function ahead of time to assume parallelism, but from that point on the FaaS provider automatically handles all scaling needs.


Functions in FaaS are triggered by event types defined by the provider. With Amazon AWS such stimuli include S3 (file) updates, time (scheduled tasks) and messages added to a message bus (e. g. Kinesis). Your function will typically have to provide parameters specific to the event source it is tied to. With the click processor we made an assumption that we were already using a FaaS-supported message broker. If not we would have needed to switch to one, and that would have required making changes to the message producer too. Most providers also allow functions to be triggered as a response to inbound http requests, typically in some kind of API gateway. (e. g. AWS API Gateway, Webtask) . We used this in our Pet Store example for our ‘search’ and ‘purchase’ functions.


FaaS functions have significant restrictions when it comes to local (machine / instance bound) state. In short you should assume that for any given invocation of a function none of the in-process or host state that you create will be available to any subsequent invocation. This includes state in RAM and state you may write to local disk. In other words from a deployment-unit point of view FaaS functions are stateless .


This has a huge impact on application architecture, albeit not a unique one - the ‘Twelve-Factor App’ concept has precisely the same restriction.


Given this restriction what are alternatives? Typically it means that FaaS functions are either naturally stateless - i. e. they provide pure functional transformations of their input - or that they make use of a database, a cross-application cache (e. g. Redis), or network file store (e. g. S3) to store state across requests or for further input to handle a request.


Execution Duration.


FaaS functions are typically limited in how long each invocation is allowed to run. At present AWS Lambda functions are not allowed to run for longer than 5 minutes and if they do they will be terminated.


This means that certain classes of long lived task are not suited to FaaS functions without re-architecture, e. g. you may need to create several different coordinated FaaS functions where in a traditional environment you may have one long duration task performing both coordination and execution.


Startup Latency.


At present how long it takes your FaaS function to respond to a request depends on a large number of factors, and may be anywhere from 10ms to 2 minutes. That sounds bad, but let’s get a little more specific, using AWS Lambda as an example.


If your function is implemented in Javascript or Python and isn’t huge (i. e. less than a thousand lines of code) then the overhead of running it in should never be more than 10 - 100 ms. Bigger functions may occasionally see longer times.


If your Lambda function is implemented on the JVM you may occasionally see long response times (e. g. > 10 seconds) while the JVM is spun up. However this only notably happens with either of the following scenarios:


Your function processes events infrequently, on the order of longer than 10 minutes between invocations. You have very sudden spikes in traffic, for instance you typically process 10 requests per second but this ramps up to 100 requests per second in less than 10 seconds.


The former of these may be avoided in certain situations by the ugly hack of pinging your function every 5 minutes to keep it alive.


Are these issues a concern? It depends on the style and traffic shape of your application. My former team has an asynchronous message-processing Lambda app implemented in Java which processes hundreds of millions of messages / day, and they have no concerns with startup latencey. That said if you were writing a low-latency trading application you probably wouldn’t want to use FaaS systems at this time, no matter the language you were using for implementation.


Whether or not you think your app may have problems like this you should test with production-like load to see what performance you see. If your use case doesn’t work now you may want to try again in a few months time since this is a major area of development by FaaS vendors.


API Gateway.


One aspect of FaaS that we brushed upon earlier is an ‘API Gateway’. An API Gateway is an HTTP server where routes / endpoints are defined in configuration and each route is associated with a FaaS function. When an API Gateway receives a request it finds the routing configuration matching the request and then calls the relevant FaaS function. Typically the API Gateway will allow mapping from http request parameters to inputs arguments for the FaaS function. The API Gateway transforms the result of the FaaS function call to an http response, and returns this to the original caller.


Amazon Web Services have their own API Gateway and other vendors offer similar abilities.


Beyond purely routing requests API Gateways may also perform authentication, input validation, response code mapping, etc. Your spidey-sense may be buzzing about whether this is actually such a good idea, if so hold that thought - we'll consider this further later.


One use case for API Gateway + FaaS is for creating http-fronted microservices in a Serverless way with all the scaling, management and other benefits that come from FaaS functions.


At present tooling for API gateways is achingly immature and so while defining applications with API gateways is possible it’s most definitely not for the faint-hearted.


The comment above about API Gateway tooling being immature actually applies, on the whole, to Serverless FaaS in general. There are exceptions however - one example is Auth0 Webtask which places significant priority on Developer UX in its tooling. Tomasz Janczuk gave a very good demonstration of this at the recent Serverless Conference.


Debugging and monitoring are tricky in general in Serverless apps - we’ll get into this further in subsequent installments of this article.


المصدر المفتوح.


One of the main benefits of Serverless FaaS applications is transparent production runtime provisioning, and so open source is not currently as relevant in this world as it is for, say, Docker and containers. In future we may see a popular FaaS / API Gateway platform implementation that will run ‘on premise’ or on a developer workstation. IBM’s OpenWhisk is an example of such an implementation and it will be interesting to see whether this, or an alternative implementation, picks up adoption.


Apart from runtime implementation though there are already open source tools and frameworks to help with definition, deployment and runtime assistance. For instance the Serverless Framework makes working with API Gateway + Lambda significantly easier than using the first principles provided by AWS. It’s Javascript heavy but if you’re writing JS API Gateway apps it’s definitely worth a look.


Another example is Apex - a project to ‘Build, deploy, and manage AWS Lambda functions with ease.' One particularly interesting aspect of Apex is that it allows you to develop Lambda functions in languages other than those directly supported by Amazon, e. g. اذهب.


What isn’t Serverless?


So far in this article I've defined 'Serverless' to mean the union of a couple of other ideas - 'Backend as a Service' and 'Functions as a Service'. I've also dug into the capabilities of the second of these.


Before we start looking at the very important area of benefits and drawbacks I'd like to spend one more moment on definition, or at least defining what Serverless isn't. I’ve seen some people (including me in the recent past) get confused about these things and I think it's worth discussing them for clarity's sake.


Comparison with PaaS.


Given that Serverless FaaS functions are very similar to 12-Factor applications, are they in fact just another form of ‘Platform as a Service’ (PaaS) like Heroku? For a brief answer I refer to Adrian Cockcroft.


In other words most PaaS applications are not geared towards bringing entire applications up and down for every request, whereas FaaS platforms do exactly this.


OK, but so what, if I’m being a good 12-Factor App developer there’s still no difference to how I code? That’s true, but there is a big difference to how you operate your app. Since we're all good DevOps-savvy engineers we're thinking about operations as much as we are about development, right?


The key operational difference between FaaS and PaaS is scaling . With most PaaS’s you still need to think about scale, e. g. with Heroku how many Dynos you want to run. With a FaaS application this is completely transparent. Even if you setup your PaaS application to auto-scale you won’t be doing this to the level of individual requests (unless you have a very specifically shaped traffic profile), and so a FaaS application is much more efficient when it comes to costs.


Given this benenfit, why would you still use a PaaS? There are several reasons but tooling, and maturity of API gateways, are probably the biggest. Furthermore 12-Factor Apps implemented in a PaaS may use an in-app readonly cache for optimization, which isn’t an option for FaaS functions.


Comparison with containers.


One of the reasons for Serverless FaaS is to avoid having to manage computational processes at the operating system level or lower. Platforms-as-a-Service (like Heroku) are another, and I’ve described above how PaaS’s are different to Serverless FaaS. Another popular abstraction of processes are containers, with Docker being the most visible example of such a technology. We also see increasing popularity of container hosting systems, such as Mesos and Kubernetes, which abstract individual applications from OS-level deployment. And even further there are cloud-hosting container platforms like Amazon ECS and Google Container Engine which, like Serverless FaaS, let teams avoid having to manage their own server systems at all. So given all the momentum around containers is it still worth considering Serverless FaaS?


Principally the argument I made for PaaS still holds with containers - for Serverless FaaS scaling is automatically managed, transparent, and fine grained. Container platforms do not yet offer such a solution.


Furthermore I’d argue that container technology while having seen massive popularity in the last couple of years is still not mature. That’s not to say that Serverless FaaS is mature either, but picking which rough edges you’d like is still the order of the day.


I’ll admit, however, that both of these arguments may start to wear thin over time. While true no-management auto-scaling in container platforms isn’t at the level of Serverless FaaS yet, we see areas like Kubernetes ‘Horizontal Pod Autoscaling’ as tending towards it. I can imagine some very smart traffic pattern analysis being introduced to such features, as well as more load-implying metrics. Furthermore the rapid evolution of Kubernetes may give a wonderfully simple, stable, platform before too long.


If we see the gap of management and scaling between Serverless FaaS and hosted containers narrow the choice between them may just come down to style, and type of application. For example it may be that FaaS is seen as a better choice for event driven style with few event types per application component, and containers are seen as a better choice for synchronous-request driven components with many entry points. I expect in 5 years time that many applications and teams will use both architectural approaches, and it will be fascinating to see patterns of such use emerge.


Serverless doesn’t mean ‘No Ops’. It might mean ‘No internal Sys Admin’ depending on how far down the serverless rabbit hole you go. There are 2 important things to consider here.


Firstly ‘Ops’ means a lot more than server administration. It also means at least monitoring, deployment, security, networking and often also means some amount of production debugging and system scaling. These problems all still exist with Serverless apps and you’re still going to need a strategy to deal with them. In some ways Ops is harder in a Serverless world because a lot of this is so new.


Second even the Sys Admin is still happening - you’re just outsourcing it with Serverless. That’s not necessarily a bad thing - we outsource a lot. But depending on what precisely you’re trying to do this might be a good or a bad thing, and either way at some point the abstraction will likely leak and you’ll need to know that human sys admins somewhere are supporting your application.


Charity Majors gave a great talk on this subject at the recent Serverless Conference and I recommend checking it out once it’s available online. Until then you can read her write-up here and here.


Stored Procedures as a Service.


Another theme I’ve seen is that Serverless FaaS is ‘Stored Procedures as a Service’. I think that's come from the fact that many examples of FaaS functions (including some I've used in this article) are small pieces of code that wrap access to a database. If that's all we could use FaaS for I think the name would be useful but because it is really just a subset of FaaS's capability then thinking of FaaS in such a way is an invalid constraint.


That being said it is worth considering whether FaaS comes with some of the same problems of stored procedures, including the technical debt concern Camille mentions in the referenced tweet. There are many lessons that come from using stored procs that are worth reviewing in the context of FaaS and seeing whether they apply. Some of these are that stored procedures:


Often require vendor-specific language, or at least vendor-specific frameworks / extensions to a language Are hard to test since they need to be executed in the context of a database Are tricky to version control / treat as a first class application.


Note that not all of these may apply to all implementations of stored procs, but they’re certainly problems that I’ve come across in my time. Let’s see if they might apply to FaaS:


(1) is definitely not a concern for the FaaS implementations I’ve seen so far, so we can scrub that one off the list right away.


For (2) since we’re dealing with ‘just code’ unit testing is definitely just as easy as any other code. Integration testing is a different (and legitimate) question though which we’ll discuss later.


For (3), again since FaaS functions are ‘just code’ version control is OK. But as to application packaging there are no mature patterns on this yet. The Serverless framework which I mentioned earlier does provide its own form of this, and AWS announced at the recent Serverless Conference in May 2018 that they are working on something for packaging also (‘Flourish’), but for now this is another legitimate concern.


So far I've mostly tried to stick to just defining and explaining what Serverless architectures have come to mean. Now I'm going to discuss some of the benefits and drawbacks to such a way of designing and deploying applications.


It's important to note right off the bat that some of this technology is very new. AWS Lambda - a leading FaaS implementation - isn't even 2 years old at time of writing. As such some of the benefits we perceive may end up being just hype when we look back in another 2 years, on the other hand some of the drawbacks will hopefully be resolved.


Since this is an unproven concept at large scale you should definitely not take any decision to use Serverless without significant consideration. I hope this list of pros and cons helps you get to such a choice.


We're going to start off in the land of rainbows and unicorns and look at the benefits of Serverless.


Reduced operational cost.


Serverless is at its most simple an outsourcing solution. It allows you to pay someone to manage servers, databases and even application logic that you might otherwise manage yourself. Since you're using a defined service that many other people will also be using we see an Economy of Scale effect - you pay less for your managed database because one vendor is running thousands of very similar databases.


The reduced costs appear to you as the total of two aspects - infrastructure costs and people (operations / development) costs. While some of the cost gains may come purely from sharing infrastructure (hardware, networking) with other users, the expectation is that most of all you'll need to spend less of your own time (and therefore reduced operations costs) on an outsourced serverless system than on an equivalent developed and hosted by yourself.


This benefit, however, isn't too different than what you'll get from Infrastructure as a Service (IaaS) or Platform as a Service (PaaS). But we can extend this benefit in 2 key ways, one for each of Serverless BaaS and FaaS.


BaaS - reduced development cost.


IaaS and PaaS are based on the premise that server and operating system management can be commoditized. Serverless Backend as a Service on the other hand is a result of entire application components being commoditized.


Authentication is a good example. Many applications code their own authentication functionality which often includes features such as sign-up, login, password management, integration with other authentication providers, etc. On the whole this logic is very similar across most applications, and so services like Auth0 have been created to allow us to integrate ready-built authentication functionality into our application without us having to develop it ourselves.


On the same thread are BaaS databases, like Firebase's database service. Some mobile applications teams have found it makes sense to have the client communicate directly with a server-side database. A BaaS database removes much of the database administration overhead, plus it will typically provide mechanisms to provide appropriate authorization for different types of users, in the patterns expected of a Serverless app.


Depending on your background you may squirm at both of these ideas (for reasons that we'll get into in the drawbacks section - don't worry!) but there is no denying the number of successful companies who have been able to produce compelling products with barely any of their own server-side code. Joe Emison gave a couple of examples of this at the recent Serverless Conference.


FaaS - scaling costs.


One of the joys of serverless FaaS is, as I put it earlier in this article, that 'horizontal scaling is completely automatic, elastic, and managed by the provider'. There are several benefits to this but on the basic infrastructural side the biggest benefit is that you only pay for the compute that you need , down to a 100ms boundary in the case of AWS Lambda. Depending on your traffic scale and shape this may be a huge economic win for you.


Example - occasional requests.


For instance say you're running a server application that only processes 1 request every minute, that it takes 50 ms to process each request, and that your mean CPU usage over an hour is 0.1%. From one point of view this is wildly inefficient - if 1000 other applications could share your CPU you'd all be able to do your work on the same machine.


Serverless FaaS captures this inefficiency, handing the benefit to you in reduced cost. In this scenario you'd be paying for just 100ms of compute every minute, which is 0.15% of the time overall.


This has the following knock-on benefits:


For would-be microservices that have very small load requirements it gives support to breaking down components by logic / domain even if the operational costs of such fine granularity might have been otherwise prohibitive. Such cost beneftis are a great democratizer. As companies or teams want to try out something new they have extremely small operational costs associated with ‘dipping their toe in the water’ when they use FaaS for their compute needs. In fact if your total workload is relatively small (but not entirely insignificant) you may not need to pay for any compute at all due to the 'free tier' provided by some FaaS vendors.


Example - inconsistent traffic.


لنلق نظرة على مثال آخر. Say your traffic profile is very 'spikey' - perhaps your baseline traffic is 20 requests / second but that every 5 minutes you receive 200 requests / second (10 times the usual number) for 10 seconds. Let's also assume for the sake of example that your baseline performance maxes out your preferred server, and that you don't want to reduce your response time during the traffic spike phase. How do you solve for this?


In a traditional environment you may need to increase your total hardware capability by a factor of 10 to handle the spikes, even though they only account for less than 4% of total machine uptime. Auto-scaling is likely not a good option here due to how long new instances of servers will take to come up - by the time your new instances have booted the spike phase will be over.


With Serverless FaaS however this becomes a non-issue. You literally do nothing differently than if your traffic profile was uniform and only pay for the extra compute capacity during the spike phases.


Obviously I've deliberately picked examples here for which Serverless FaaS gives huge cost savings, but the point is to show that unless you have a very steady traffic shape that consistently uses a whole number's worth of server systems that you may save money using FaaS purely from a scaling viewpoint.


One caveat about the above - if your traffic is uniform and would consistently make good utilization of a running server you may not see this cost benefit and may actually spend more using FaaS. You should do some math with current provider costs vs the equivalents of running full-time servers to check to see whether costs are acceptable.


Optimization is the root of some cost savings.


There is one more interesting aspect to FaaS costs - any performance optimizations you make to your code will not only increase the speed of your app but will also have a direct and immediate link to reduction in operational costs, subject to the granularity of your vendor’s charging scheme. For example if each of your operations currently take 1 second to run and you reduce that to 200ms you’ll immediately see 80% savings in compute costs without making any infrastructural changes.


Easier Operational Management.


This section comes with a giant asterisk - some aspects of operations are still tough for Serverless, but for now we’re sticking with our new unicorn and rainbow friends…


On the Serverless BaaS side of the fence it’s fairly obvious why operational management is more simple than other architectures: less components that you support equals less work.


On the FaaS side there are a number of aspects at play though and I’m going to dig into a couple of them.


Scaling benefits of FaaS beyond costs.


While scaling is fresh in our minds from the previous section it’s worth noting that not only does the scaling functionality of FaaS reduce compute cost it also reduces operational management because the scaling is automatic.


In the best case if your scaling process was manual, e. g. a human being needs to explicitly add and remove instances to an array of servers, with FaaS you can happily forget about that and let your FaaS vendor scale your application for you.


Even in the case that you’ve got to the point of using ‘auto-scaling’ in a non FaaS architecture then that still requires setup and maintenance - this work is no longer necessary with FaaS.


Similarly since scaling is performed by the provider on every request / event, you no longer need to even think about the question of how many concurrent requests you can handle before running out of memory or seeing too much of a performance hit, at least not within your FaaS hosted components. Downstream databases and non FaaS components will have to be reconsidered in light of a possibly signifcant increase in their load.


Reduced packaging and deployment complexity.


While API gateways are not simple yet, the act of packaging and deploying a FaaS function is really pretty simple compared with deploying an entire server. All you’re doing is compiling and zip’ing / jar’ing your code, and then uploading it. No puppet / chef, no start / stop shell scripts, no decisions about whether to deploy one or many containers on a machine. If you’re just getting started you don’t need to even package anything - you may be able to write your code right in the vendor console itself (this, obviously, is not recommended for production code!)


This doesn't take long to describe but in some teams this benefit may be absolutely huge - a fully Serverless solution requires zero system administration .


Platform-as-a-Service (PaaS) solutions have similar deployment benefits but as we saw earlier when comparing PaaS with FaaS the scaling advantages are unique to FaaS.


Time to market / experimentation.


‘Easier operational management’ is a benefit which us as engineers understand, but what does that mean to our businesses?


The obvious case is cost: less time on operations = less people needed for operations. But by far the more important case in my mind is ‘time to market’. As our teams and products become increasingly geared around lean and agile processes we want to continually try new things and rapidly update our existing systems. While simple re-deployment allows rapid iteration of stable projects, having a good new-idea-to-initial-deployment capability allows us to try new experiments with low friction and minimal cost.


The new-idea-to-initial-deployment story for FaaS is in some cases excellent, especially for simple functions triggered by a maturely-defined event in the vendor’s ecosystem. For instance say your organization is using AWS Kinesis, a Kafka-like messaging system, for broadcasting various types of real-time events through your infrastructure. With AWS Lambda you can develop and deploy a new production event listener against that Kinesis stream in minutes - you could try several different experiments all in one day!


For web-based APIs the same cannot quite yet be said in the bulk of cases but various open source projects and smaller scale implementations are leading the way. We’ll discuss this further later.


‘Greener’ computing?


We’ve seen an explosion over the last couple of decades in the numbers and sizes of data centers in the world, and the associated energy usage that goes with them along with all the other physical resources required to build so many servers, network switches, etc. Apple, Google and the like talk about hosting some of their data centers near sources of renewable energy to reduce the fossil-fuel burning impact of such sites.


Part of the reason for this massive growth is the number of servers that are idle and yet powered up.


Typical servers in business and enterprise data centers deliver between 5 and 15 percent of their maximum computing output on average over the course of the year.


That’s extraordinarily inefficient and a huge environmental impact.


On one hand it’s likely that cloud infrastructure has probably helped since companies can ‘buy’ more servers on-demand, rather than provision all possibly necessary servers a long-time in advance. However one could also argue that the ease of provisioning servers may have made the situation worse if a lot of those servers are getting left around without adequate capacity management.


Whether we use a self-hosted, IaaS or PaaS infrastructure solution we’re still making capacity decisions about our applications that will often last months or years. Typically we are cautious, and rightly so, about managing capacity and over-provision, leading to the inefficiencies just described. With a Serverless approach we no longer make such capacity decisions ourselves - we let the Serverless vendor provision just enough compute capacity for our needs in real time. The vendor can then make their own capacity decisions in aggregate across their customers.


This difference should lead to far more efficient use of resources across data centers and therefore to a reduced environmental impact compared with traditional capacity management approaches.


So, dear reader, I hope you enjoyed your time in the land of rainbows, unicorns and all things shiny, because it’s about to get ugly as we get slapped around the face by the wet fish of reality.


There’s a lot to like about Serverless architectures and I wouldn’t have spent time writing about them if I didn’t think there were a lot of promise in them, but they come with significant trade-offs. Some of these are inherent with the concepts - they can’t be entirely fixed by progress and are always going to need to be considered. Others are down to the current implementations and with time we could expect to see those resolved.


Inherent Drawbacks.


Vendor control.


With any outsourcing strategy you are giving up control of some of your system to a 3rd-party vendor. Such lack of control may manifest as system downtime, unexpected limits, cost changes, loss of functionality, forced API upgrades, and more. Charity Majors, who I referenced earlier, explains this problem in much more detail in the Tradeoffs section of this article:


[The Vendor service] if it is smart, will put strong constraints on how you are able to use it, so they are more likely to deliver on their reliability goals. When users have flexibility and options it creates chaos and unreliability. If the platform has to choose between your happiness vs thousands of other customers’ happiness, they will choose the many over the one every time ‘ as they should.


Multitenancy Problems.


Multitenancy refers to the situation where multiple running instances of software for several different customers (or tenants) are run on the same machine, and possibly within the same hosting application. It's a strategy to achieve the economy of scale benefits we mentioned earlier. Service vendors try their darndest to make it feel as a customer that we are the only people using their system and typically good service vendors do a great job at that. But no-one’s perfect and sometimes multitenant solutions can have problems with security (one customer being able to see another’s data), robustness (an error in one customer’s software causing a failure in a different customer’s software) and performance (a high load customer causing another to slow down.)


These problems are not unique to Serverless systems - they exist in many other service offerings that use multitenancy - but since many Serverless systems are new we may expect to see more problems of this type now than we will once these systems have matured.


Vendor lock-in.


Here’s the 3rd problem related to Serverless vendors - lock in. It’s very likely that whatever Serverless features you’re using from a vendor that they’ll be differently implemented by another vendor. If you want to switch vendors you’ll almost certainly need to update your operational tools (deployment, monitoring, etc.), you’ll probably need to change your code (e. g. to satisfy a different FaaS interface), and you may even need to change your design or architecture if there are differences to how competing vendor implementations behave.


Even if you manage to be able to do this for one part of your ecosystem you may be locked in by another architectural component. For instance say you’re using AWS Lambda to respond to events on an AWS Kinesis message bus. The differences between AWS Lambda, Google Cloud Functions and Microsoft Azure Functions may be relatively small, but you’re still not going to be able to directly hook up the latter 2 vendor implementations directly to your AWS Kinesis stream. This means that moving, or porting, your code from one solution to another isn’t going to be possible without also moving other chunks of your infrastructure too.


And finally even if you figure out a way to reimplement your system with a different vendor’s capabilities you’re still going to have a migration process dependent on what your vendor offers you. For example if you’re switching from 1 BaaS database to another do the export and import features of the original and target vendors do what you want? And even if they do, at what amount of cost and effort?


One possible mitigation to some of this could be an emerging general abstraction of multiple Serverless vendors, and we’ll discuss that further later.


Security concerns.


This really deserves an article in and of itself but embracing a Serverless approach opens you up to a large number of security questions. Two of these are as follows, but there are many others that you should consider.


Each Serverless vendor that you use increases the number of different security implementations embraced by your ecosystem. This increases your surface area for malicious intent and the likelihood for a successful attack. If using a BaaS Database directly from your mobile platforms you are losing the protective barrier a server-side application provides in a traditional application. While this is not a dealbreaker it does require significant care in designing and developing your application.


Repetition of logic across client platforms.


With a ‘full BaaS’ architecture no custom logic is written on the server-side - it’s all in the client. This may be fine for your first client platform but as soon as you need your next platform you’re going to need to repeat the implementation of a subset of that logic that you wouldn’t have done in a more traditional architecture. For instance if using a BaaS database in this kind of system all your client apps (perhaps Web, native iOS and native Android) are now going to need to be able to communicate with your vendor database, and will need to understand how to map from your database schema to application logic.


Furthermore if you want to migrate to a new database at any point you’re going to need to replicate that coding / coordination change across all your different clients too.


Loss of Server optimizations.


Again with a ‘full BaaS’ architecture there is no opportunity to optimize your server-design for client performance. The ‘Backend For Frontend’ pattern exists to abstract certain underlying aspects of your whole system within the server, partly so that the client can perform operations more quickly and use less battery power in the case of mobile applications. Such a pattern is not available for 'full BaaS'.


I’ve made it clear that both this and previous drawback exist for ‘full BaaS’ architectures where all custom logic is in the client and the only backend services are vendor supplied. A mitigation of both of these is actually to embrace FaaS or some other kind of lightweight server-side pattern to move certain logic to the server.


No in-server state for Serverless FaaS.


After a couple of BaaS-specific drawbacks let’s talk about FaaS for a moment. I said earlier:


FaaS functions have significant restrictions when it comes to local .. state. .. You should assume that for any given invocation of a function none of the in-process or host state that you create will be available to any subsequent invocation.


I also said that the alternative to this was to follow factor number 6 of the ‘Twelve Factor App’ which is to embrace this very constraint:


Twelve-factor processes are stateless and share-nothing. Any data that needs to persist must be stored in a stateful backing service, typically a database.


Heroku recommends this way of thinking but you can bend the rules when running on their PaaS. With FaaS there’s no bending the rules.


So where does your state go with FaaS if you can’t keep it in memory? The quote above refers to using a database and in many cases a fast NoSQL Database, out-of-process cache (e. g. Redis) or an external file store (e. g. S3) will be some of your options. But these are all a lot slower than in-memory or on-machine persistence. You’ll need to consider whether your application is a good fit for this.


Another concern in this regard is in-memory caches. Many apps that are reading from a large data set stored externally will keep an in-memory cache of part of that data set. You may be reading from ‘reference data’ tables in a database and use something like Ehcache. Alternatively you may be reading from an http service that specifies cache headers, in which case your in-memory http client can provide a local cache. With a FaaS implementation you can have this code in your app but your cache is rarely, if ever, going to be of much benefit. As soon as your cache is ‘warmed up’ on the first usage it is likely to be thrown away as the FaaS instance is torn down.


A mitigation to this is to no longer assume in-process cache, and to use a low-latency external cache like Redis or Memcached, but this (a) requires extra work and (b) may be prohibitively slow depending on your use case.


Implementation Drawbacks.


The previously described drawbacks are likely always going to exist with Serverless. We’ll see improvements in mitigating solutions, but they’re always going to be there.


The remaining drawbacks, however, are down purely to the current state of the art. With inclination and investment on the part of vendors and/or a heroic community these can all be wiped out. But for right now there are some doozies.


ترتيب.


AWS Lambda functions offer no configuration. لا شيء. Not even an environment variable. How do you have the same deployment artifact run with different characteristics according to the specific nature of the environment? You can’t. You have to redefine the deployment artifact, perhaps with a different embedded config file. This is an ugly hack. The Serverless framework can abstract this hack for you, but it’s still a hack.


I have reason to believe that Amazon are fixing this (and probably pretty soon) and I don’t know whether other vendors have the same problem, but I mention it right at the top as an example of why a lot of this stuff is on the bleeding edge right now.


DoS yourself.


Here’s another fun example of why Caveat Emptor is a key phrase whenever you’re dealing with FaaS at the moment. AWS Lambda, for now, limits you to how many concurrent executions you can be running of all your lambdas. Say that this limit is 1000, that means that at any one time you are allowed to be executing 1000 functions. If something causes you to need to go above that you may start getting exceptions, queueing, and/or general slow down.


The problem here is that this limit is across your whole AWS account. Some organizations use the same AWS account for both production and testing. That means if someone, somewhere, in your organization does a new type of load test and starts trying to execute 1000 concurrent Lambda functions you’ll accidentally DoS your production applications. وجه الفتاة.


Even if you use different AWS accounts for production and development one overloaded production lambda (e. g. processing a batch upload from a customer) could cause your separate real-time lambda-backed production API to become unresponsive.


Other types of AWS resources can be separated by context of environment and application area through various security and firewalling concepts. Lambda needs the same thing, and I’ve no doubt it will before too long. But for now, again, be careful.


Execution Duration.


Earlier on in the article I mentioned that AWS Lambda functions are aborted if they run for longer than 5 minutes. That's a limitation which I would expect could be removed later, but it will interesting to see how AWS approach that.


Startup Latency.


Another concern I mentioned before was how long it may take a FaaS function to respond, which is especially a concern of occasionally used JVM-implemented functions on AWS. If you have such a Lambda function it may take in the order of 10s of seconds to startup.


I expect AWS will implement various mitigations to improve this over time, but for now it may be a deal-breaker for using JVM Lambdas under certain use cases.


OK, that’s enough picking on AWS Lambda specifically. I’m sure the other vendors also have some pretty ugly skeletons barely in their closets.


Unit testing Serverless Apps is fairly simple for reasons I’ve talked about earlier - any code that you write is ‘just code’ and there aren’t for the most part a whole bunch of custom libraries you have to use or interfaces that you have to implement.


Integration testing Serverless Apps on the other hand is hard. In the BaaS world you’re deliberately relying on externally provided systems rather than (for instance) your own database. So should your integration tests use the external systems too? If yes how amenable are those systems to testing scenarios? Can you easily tear-up / tear-down state? Can your vendor give you a different billing strategy for load testing?


If you want to stub those external systems for integration testing does the vendor provide a local stub simulation? If so how good is the fidelity of the stub? If the vendor doesn’t supply a stub how will you implement one yourself?


The same kinds of problems exist in FaaS-land. At present most of the vendors do not provide a local implementation that you can use so you’re forced to use the regular production implementation. But this means deploying remotely and testing using remote systems for all your integration / acceptance tests. Even worse the kinds of problems I just described (no configuration, cross-account execution limits) are going to have an impact on how you do testing.


Part of the reason that this is a big deal is that our units of integration with Serverless FaaS (i. e. each function) are a lot smaller than with other architectures and therefore we rely on integration testing a lot more than we may do with other architectural styles.


Tim Wagner (general manager of AWS Lambda) made a brief reference at the recent Serverless Conference that they were tackling testing, but it sounded like it was going to rely heavily on testing in the cloud. This is probably just a brave new world, but I’ll miss being able to fully test my system from my laptop, offline.


Deployment / packaging / versioning.


This is a FaaS specific problem. Right now we’re missing good patterns of bundling up a set of functions into an application. This is a problem for a few reasons:


You may need to deploy a FaaS artifact separately for every function in your entire logical application. If (say) your application is implemented on the JVM and you have 20 FaaS functions that means deploying your JAR 20 times. It also means you can’t atomically deploy a group of functions. You may need to turn off whatever event source is triggering the functions, deploy the whole group, and then turn the event source back on. This is a problem for zero-downtime applications. And finally it means there’s no concept of versioned applications so atomic rollback isn’t an option.


Again there are open source workarounds to help with some of this, however it can only be properly resolved with vendor support. AWS announced a new initiative named ‘Flourish’ to address some of these concerns at the recent Serverless Conference, but have released no significant details as of yet.


Similarly to the configuration and packaging points there are no well-defined patterns for discovery across FaaS functions. While some of this is by no means FaaS specific the problem is exacerbated by the granular nature of FaaS functions and the lack of application / versioning definition.


Monitoring / Debugging.


At present you are stuck on the monitoring and debugging side with whatever the vendor gives you. This may be fine in some cases but for AWS Lambda at least it is very basic. What we really need in this area are open APIs and the ability for third party services to help out.


API Gateway definition, and over-ambitious API Gateways.


A recent ThoughtWorks Technology Radar discussed over-ambitious API Gateways. While the link refers to API Gateways in general it can definitely apply to FaaS API Gateways specifically, as I mentioned earlier. The problem is that API Gateways offer the opportunity to perform much application specific-logic within their own configuration / definition domain. This logic is typically hard to test, version control, and even often times define. Far better is for such logic to remain in program code like the rest of the application.


With Amazon’s API Gateway at present you are forced into using many Gateway-specific concepts and configuration areas even for the most simple of applications. This is partly why open source projects like the Serverless framework and Claudia. js exist, to abstract the developer from implementation-specific concepts and allow them to use regular code.


While it is likely that there will always be the opportunity to over-complicate your API gateway, in time we should expect to see tooling to avoid you having to do so and recommended patterns to steer you away from such pitfalls.


Deferring of operations.


I mentioned earlier that Serverless is not ‘No Ops’ - there’s still plenty to do from a monitoring, architectural scaling, security, networking, etc. point of view. But the fact that some people (ahem, possibly me, mea culpa) have described Serverless as ‘No Ops’ comes from the fact that it is so easy to ignore operations when you’re getting started - “Look ma - no operating system!” The danger here is getting lulled into a false sense of security. Maybe you have your app up and running but it unexpectedly appears on Hacker News, and suddenly you have 10 times the amount of traffic to deal with and oops - you’re accidentally DoS’ed and have no idea how to deal with it.


The fix here, like part of the API Gateway point above, is education. Teams using Serverless systems need to be considering operational activities early and it is on vendors and the community to provide the teaching to help them understand what this means.


The Future of Serverless.


We’re coming to the end of this journey into the world of Serverless architectures. To close out I’m going to discuss a few areas where I think the Serverless world may develop in the coming months and years.


Mitigating the Drawbacks.


Serverless, as I’ve mentioned several times already, is new. And as such the previous section on Drawbacks was extensive and I didn’t even cover everything I could have. The most important developments of Serverless are going to be to mitigate the inherent drawbacks and remove, or at least improve, the implementation drawbacks.


The biggest problem in my mind with Serverless FaaS right now is tooling. Deployment / application bundling, configuration, monitoring / logging, and debugging all need serious work.


Amazon’s announced but as-yet unspecified Flourish project could help with some of these. Another positive part of the announcement was that it would be open source, allowing the opportunity for portability of applications across vendors. I expect that we’ll see something like this evolve over the next year or two in the open source world, even if it isn’t Flourish.


Monitoring, logging and debugging are all part of the vendor implementation and we’ll see improvements across both BaaS and FaaS here. Logging on AWS Lambda at least is painful right now in comparison with traditional apps using ELK and the like. We are seeing the early days of a few 3rd party commercial and open source efforts in this area (e. g. IOPipe and lltrace-aws-sdk) but we’re a long way away from something of the scope of New Relic. My hope is that apart from AWS providing a better logging solution for FaaS that they also make it very easy to plug into 3rd party logging services in much the same way that Heroku and others do.


API Gateway tooling also needs massive improvements, and again some of that may come from Flourish or advances in the Serverless Framework, and the like.


State Management.


The lack of in-server state for FaaS is fine for a good number of applications but is going to be a deal breaker for many others. For example many microservice applications will use some amount of in-process cached state to improve latency. Similarly connection pools (either to databases or via persistent http connection to other services) are another form of state.


One workaround for high throughput applications will likely be for vendors to keep function instances alive for longer, and let regular in-process caching approaches do their job. This won’t work 100% of the time since the cache won’t be warm for every request, but this is the same concern that already exists for traditionally deployed apps using auto-scaling.


A better solution could be very low-latency access to out-of-process data, like being able to query a Redis database with very low network overhead. This doesn’t seem too much of a stretch given the fact that Amazon already offer a hosted Redis solution in their Elasticache product, and that they already allow relative co-location of EC2 (server) instances using Placement Groups.


More likely though what I think we’re going to see are different kinds of application architecture embraced to take account of the no-in-process-state constraint. For instance for low latency applications you may see a regular server handling an initial request, gathering all the context necessary to process that request from it’s local and external state, then handing a fully-contextualized request off to a farm of FaaS functions that themselves don’t need to look up data externally.


Platform Improvements.


Certain drawbacks to Serverless FaaS right now are down to the way the platforms are implemented. Execution Duration, Startup Latency, non-separation of execution limits are 3 obvious ones. These will likely be either fixed by new solutions, or given workarounds with possible extra costs. For instance I could imagine that Startup Latency could be mitigated by allowing a customer to request 2 instances of a FaaS function are always available at low latency, with the customer paying for this availability.


We’ll of course see platform improvements beyond just fixing current deficiencies, and these will be exciting to see.


Many vendor-specific inherent drawbacks with Serverless are going to be mitigated through education. Everyone using such platforms needs to think actively about what it means to have so much of their ecosystems hosted by one or many application vendors. Questions that need to be considered are ones like ‘do we want to consider parallel solutions from different vendors in case one becomes unavailable? How do applications gracefully degrade in the case of a partial outage?’


Another area for education is technical operations. Many teams these days have fewer ‘Sys Admins’ than they used to, and Serverless is going to accelerate this change. But Sys Admins do more than just configure Unix boxes and chef scripts - they’re also often the people on the front line of support, networking, security and the like.


A true DevOps culture becomes even more important in a Serverless world since those other non Sys Admin activities still need to get done, and often times it’s developers who’ll be responsible for them. These activities may not come naturally to many developers and technical leads, so education and close collaboration with operations folk will be of utmost importance.


Increased transparency / clearer expectations from Vendors.


And finally on the subject of mitigation Vendors are going to have to be even more clear in the expectations we can have of their platforms as we continue to rely on them for more of our hosting capabilities. While migrating platforms is hard, it’s not impossible, and untrustworthy vendors will see their customers taking their business elsewhere.


The emergence of patterns.


Apart from the rawness of the underlying platforms our understanding of how and when to use Serverless architectures is still very much in its infancy. Right now teams are throwing all kinds of ideas at a Serverless platform and seeing what sticks. Thank goodness for pioneers!


But at some point soon we’re going to start seeing patterns of recommended practice emerge.


Some of these patterns will be in application architecture. For instance how big can FaaS functions get before they get unwieldy? Assuming we can atomically deploy a group of FaaS functions what are good ways of creating such groupings - do they map closely to how we’d currently clump logic into microservices or does the difference in architecture push us in a different direction?


Extending this further what are good ways of creating hybrid architectures between FaaS and traditional ‘always on’ persistent server components? What are good ways of introducing BaaS into an existing ecosystem? And, for the reverse, what are the warning signs that a fully - or mostly-BaaS system needs to start embracing or using more custom server-side code?


We’ll also see more usage-patterns emerge. One of the standard examples for FaaS is media conversion: “whenever a large media file is stored to an S3 bucket then automatically run processes to create smaller versions in another bucket.” But we need more usage-patterns to be catalogued in order to see if our particular use cases might be a good fit for a Serverless approach.


Beyond application architecture we’ll start seeing recommended operational patterns once tooling improves. How do we logically aggregate logging for a hybrid architecture of FaaS, BaaS and traditional servers? What are good ideas for discovery? How do we do canary releases for API-gateway fronted FaaS web applications? How do we most effectively debug FaaS functions?


Beyond ‘FaaSification’


Most usages of FaaS that I’ve seen so far are mostly about taking existing code / design ideas and ‘FaaSifying’ them - converting them to a set of stateless functions. This is powerful, but I also expect that we’ll start to see more abstractions and possibly languages using FaaS as an underlying implementation that give developers the benefits of FaaS without actually thinking about their application as a set of discrete functions.


As an example I don’t know whether Google use a FaaS implementation for their Dataflow product, but I could imagine someone creating a product or open source project that did something similar, and used FaaS as an implementation. A comparison here is something like Apache Spark . Spark is a tool for large-scale data processing offering very high level abstractions which can use Amazon EMR / Hadoop as its underlying platform.


As I discussed in the ‘Drawbacks’ section there is a lot of work to do in the area of integration and acceptance testing for Serverless systems. We’ll see vendors come out with their suggestions, which will likely be cloud based, and then I suspect we’ll see alternatives from old crusties like me who want to be able to test everything from their development machine. I suspect we’ll end up seeing decent solutions for both on - and offline testing, but it could take a few years.


Portable implementations.


At present all popular Serverless implementations assume deployment to a 3rd-party Vendor system in the cloud. That’s one of the benefits to Serverless - less technology for us to maintain. But there’s a problem here if a company wants to take such technology and run it on their own systems and offer it as an internal service .


Similarly all the implementations have their own specific flavor of integration points - deployment, configuration, function interface, etc. This leads to the vendor lock-in drawbacks I mentioned earlier.


I expect that we’ll see various portable implementations created to mitigate these concerns. I’m going to discuss the 2nd one first.


Abstractions over Vendor implementations.


We’re already starting to see something like this in open source projects like the Serverless Framework and the Lambada Framework. The idea here is that it would be nice to be able to code and operate our Serverless apps with a development-stage neutrality of where and how they are deployed. It would be great to be able to easily switch, even right now, between AWS API Gateway + Lambda, and Auth0 webtask, depending on the operational capabilities of each of the platforms.


I don’t expect such an abstraction to be complete until we see much more of a commoditization of products, but the good thing is that this idea can be implemented incrementally. We may start with something like a cross-vendor deployment tool - which may even be AWS’s Flourish project that I mentioned earlier - and build in more features from there.


One tricky part to this will be modeling abstracted FaaS coding interfaces without some idea of standardization, but I’d expect that progress could be made on non proprietary FaaS triggers first. For instance I expect we’ll see an abstraction of web-request and scheduled (‘cron’) Lambdas before we start seeing things like abstraction of AWS S3 or Kinesis Lambdas.


Deployable implementations.


It may sound odd to suggest that we use Serverless techniques without using 3rd-party providers, but consider these thoughts:


Maybe we’re a large technical organization and we want to start offering a Firebase-like database experience to all of our mobile application development teams, but we want to use our existing database architecture as the back end. We’d like to use FaaS style architecture for some of our projects, but for compliance / legal / etc. reasons we need to run our applications ‘on premise’.


In either of these cases there are still many benefits of using a Serverless approach without those that come from vendor-hosting. There’s a precedent here - consider Platform-as-a-Service (PaaS). The initial popular PaaS’s were all cloud based (e. g. Heroku), but fairly quickly people saw the benefits of running a PaaS environment on their own systems - a so-called ‘Private PaaS’ (e. g. Cloud Foundry).


I can imagine, like private PaaS implementations, seeing both open source and commercial implementations of both BaaS and FaaS concepts becoming popular. Galactic Fog is an example of an early-days open source project in this area, which includes its own FaaS implementation. Similarly to my point above about vendor abstractions we may see an incremental approach. For example the Kong project is an open source API Gateway implementation. At the time of writing it doesn’t currently integrate with AWS Lambda (although this is being worked on), but if it did this would be an interesting hybrid approach.


I fully expect to see a huge growth of the Serverless community. Right now there’s been one conference and there are a handful of meetups around the world. I expect that we’ll start seeing something more like the massive communities that exist around Docker and Spring - many conferences, many communities, and more online fora than you can possibly keep track of.


استنتاج.


Serverless, despite the confusing name, is a style of architecture where we rely to a smaller extent than usual on running our own server side systems as part of our applications. We do this through two techniques - Backend as a Service (BaaS), where we tightly integrate third party remote application services directly into the front-end of our apps, and Functions as a Service (FaaS), which moves server side code from long running components to ephemeral function instances.


Serverless is very unlikely to be the correct approach for every problem, so be wary of anyone who says it will replace all of our existing architectures. And be even more careful if you take the plunge into Serverless systems now, especially in the FaaS realm. While there are riches (of scaling and saved deployment effort) to be plundered, there also be dragons (of debugging, monitoring) lurking right around the next corner.


Those benefits shouldn't be quickly dismissed however since there are significant positive aspects to Serverless Architecture, including reduced operational and development costs, easier operational management, and reduced environmental impact. The most important benefit to me though is the reduced feedback loop of creating new application components - I’m a huge fan of ‘lean’ approaches, largely because I think there is a lot of value in getting technology in front of an end user as soon as possible to get early feedback, and the reduced time-to-market that comes with Serverless fits right in with this philosophy.


Serverless systems are still in their infancy. There will be many advances in the field over the coming years and it will be fascinating to see how they fit into our architectural toolkit.


For articles on similar topics…


شكر وتقدير.


Thanks to the following for their input into this article: Obie Fernandez, Martin Fowler, Paul Hammant, Badri Janakiraman, Kief Morris, Nat Pryce, Ben Rady, Carlos Nunez, John Chapin, Robert Bagge, Karel Sague Alfonso, Premanand Chandrasekaran, Augusto Marietti, Roberto Sarrionandia.


Thanks to Badri Janakiraman and Ant Stanley who provided input for the sidebar on origins of the term.


Thanks to members of my former team at Intent Media for tackling this new technology with appropriately sceptical enthusiasm: John Chapin, Pete Gieser, Sebastián Rojas and Philippe René.


Finally thanks to all the people who've put thoughts out there already on this subject, especially those whose content I link to.


Significant Revisions.


25 July 2018: Added origins sidebar and section “Comparison with containers”


16 June 2018: Added “Unpacking ‘Function as a Service’”


15 June 2018: Published first installment - A couple of examples.

No comments:

Post a Comment