<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: José Gomes </title>
    <description>The latest articles on DEV Community by José Gomes  (@jgsnto).</description>
    <link>https://dev.to/jgsnto</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F834249%2F28929872-c397-465d-a30d-660fc4afb92c.jpeg</url>
      <title>DEV Community: José Gomes </title>
      <link>https://dev.to/jgsnto</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jgsnto"/>
    <language>en</language>
    <item>
      <title>Factory Method</title>
      <dc:creator>José Gomes </dc:creator>
      <pubDate>Tue, 12 Jul 2022 09:38:11 +0000</pubDate>
      <link>https://dev.to/jgsnto/factory-method-3559</link>
      <guid>https://dev.to/jgsnto/factory-method-3559</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Design patterns should not be applied indiscriminately. Often they achieve flexibility and variability by introducing additional levels of indirection, and that can complicate a design and/or cost you some performance. A design pattern should only be applied when the flexibility it affords is actually needed - Erich Gamma&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;One of the biggest challenges in software development is how to write code that enables easy scalability, maintenance, and flexibility.&lt;/p&gt;

&lt;p&gt;One solution for this problem is to use Design Pattern, a guideline of good practices to write clean and organized code, allowing anyone to easily understand and contribute. &lt;/p&gt;

&lt;p&gt;Design Patterns can be divided into 4 categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Creational: Object instantiation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Structural: Class relationships and hierarchies &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Behavioral: Object intercommunication&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The creational categories include five methods:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Factory method&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Abstract method&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Builder method&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Prototype method&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Singleton method&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Today we will focus on the Factory method!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Factory Method?
&lt;/h2&gt;

&lt;p&gt;The factory method encapsulates the creation of related objects, providing an interface to create an object but defers the creation to the sub-class. This is one of the most methods used, the reason for that are the benefits:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Creates objects based on runtime parameters &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do not need to know which objects you will need&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lets the subclasses instantiate the object instead of the min&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easily add new products or change existing ones&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No need to make changes throughout&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extensible to include objects &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Object generation located in one place &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easily switch between factories&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Structure
&lt;/h2&gt;

&lt;p&gt;In the factory method, we have three structures:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Class creator: Provide some default implementation of the factory method. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concrete creator: Override the factory method in order to change the resulting product's type.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concrete product: Provides various implementation of the product interface.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Pratice
&lt;/h2&gt;

&lt;p&gt;Here we will learn how to use a Factory Method, through a very simple example of a game, where we must spawn different types of rock, in the first moment, we will have two types of rock: Small and Mid. The way the code is written will be very easy to register a new type of rock(E.g: Big, Iron).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;

using namespace std;

//Class creator
class rock {
public:
    rock(){}
    char *getType(){
        return _type;
    }
};

//Concrete product
class smallRock:public rock{
public:
    smallRock(){
        //_type = "Small";
        cout &amp;lt;&amp;lt; "\nSmall rock created" &amp;lt;&amp;lt; endl;
    }
};

//Concrete product
class midRock:public rock{
public:
    midRock(){
        //_type = "mid";
        cout&amp;lt;&amp;lt;"\nMid rock created" &amp;lt;&amp;lt; endl;
    }
};

/*Creator concrete*/ 
class rockFactoryCreator{
public:
    rock *GetRock(){
        int choice;
        cout &amp;lt;&amp;lt; "Select type of rock to make: " &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; "1: Small" &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; "2: Mid" &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; "Selection: ";
        cin &amp;gt;&amp;gt; choice;

        switch (choice)
        {
        case 1:
            return new smallRock;
        case 2:
            return new midRock;
        default:
            cout &amp;lt;&amp;lt; "Invalid Selection" &amp;lt;&amp;lt; endl;
            return NULL;
        }  
    }
};

int main()
{
    rockFactoryCreator rockCreator;
    rock *asteroid; 
    asteroid = rockCreator.GetRock();
    system("PAUSE");
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>embeddedsystem</category>
      <category>cpp</category>
      <category>designpattern</category>
      <category>factorymethod</category>
    </item>
    <item>
      <title>Introduction to Embedded Systems</title>
      <dc:creator>José Gomes </dc:creator>
      <pubDate>Wed, 27 Apr 2022 19:10:45 +0000</pubDate>
      <link>https://dev.to/jgsnto/introduction-to-embedded-systems-408j</link>
      <guid>https://dev.to/jgsnto/introduction-to-embedded-systems-408j</guid>
      <description>&lt;p&gt;Nowadays embedded systems are everywhere, in cars, mobile phones, home appliances, medical centers and even in space! The first known embedded device was the Apollo Guidance Computer, developed in the 1960s by Dr. Charles Stark Draper at the Massachusetts Institute of Technology for the Apollo Program. Markets and Markets predict that in 2025 the embedded market size is expected to reach USD 116.2 billion by 2025! It is time to start to understand the amazing world of embedded development. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ScDadXMa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m75a13pc1ho9s7eifb3f.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ScDadXMa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m75a13pc1ho9s7eifb3f.jpg" alt="Image description" width="721" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Embedded Systems ?&lt;/strong&gt;&lt;br&gt;
An embedded system is a microprocessor or microcontroller-based system of hardware and software designed to perform specific purposes and can be classified as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subsystems&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Part of a large system&lt;/li&gt;
&lt;li&gt;Independently is useless&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Stand-Alone Systems&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can perform its functions independently&lt;/li&gt;
&lt;li&gt;Components and techniques used to build these belong to the same class as the “subsystems class of embedded systems and hence are viewed as embedded systems too&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Network system&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A group of physically separate electronic devices that perform a collective function&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Embedded systems can be composed of many hardware components, such as sensors, A-D converters, and actuators. But in almost every embedded system these components are presented:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microprocessor&lt;/li&gt;
&lt;li&gt;Ram&lt;/li&gt;
&lt;li&gt;Flash memory&lt;/li&gt;
&lt;li&gt;Serial Transversos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Important Technologies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are interested in start in this area, here are some of the technologies that can help you in this process:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;C/C++&lt;/li&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;Rust&lt;/li&gt;
&lt;li&gt;Assembly&lt;/li&gt;
&lt;li&gt;Electronics&lt;/li&gt;
&lt;li&gt;FPGA&lt;/li&gt;
&lt;li&gt;Arduino&lt;/li&gt;
&lt;li&gt;Data Structure and Algorithms &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;References&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.marketsandmarkets.com/Market-Reports/embedded-system-market-98154672.html"&gt;https://www.marketsandmarkets.com/Market-Reports/embedded-system-market-98154672.html&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dev.to/ahmedmansoor012/what-are-embedded-systems-44f0"&gt;https://dev.to/ahmedmansoor012/what-are-embedded-systems-44f0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>embeddedsystem</category>
      <category>arduino</category>
      <category>fpga</category>
      <category>raspberrypi</category>
    </item>
    <item>
      <title>IAM &amp; EC2</title>
      <dc:creator>José Gomes </dc:creator>
      <pubDate>Thu, 14 Apr 2022 20:08:03 +0000</pubDate>
      <link>https://dev.to/jgsnto/iam-ec2-3cpl</link>
      <guid>https://dev.to/jgsnto/iam-ec2-3cpl</guid>
      <description>&lt;p&gt;IAM and EC2 are two of the most basic services you need to know to control and use AWS technologies.&lt;/p&gt;

&lt;p&gt;First of all, it is important to understand Regions and Availability!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Regions and Availability Zones&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All services in AWS, except IAM and S3, are separated per region, which is a physical location around the world that is a cluster of Availability Zone(Data Center). One important thing to know is that Regions and Availability Zones(AZ) are identified by numbers and letters. Regions are finished by numbers and AZ is finished by letters.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gHMwT_uF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8f2t20e24ff4jptp7tgn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gHMwT_uF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8f2t20e24ff4jptp7tgn.png" alt="Image description" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F3VD45F3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a9r9hsot97pxhpz9i6i0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F3VD45F3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a9r9hsot97pxhpz9i6i0.png" alt="Image description" width="838" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IAM - Identity &amp;amp; Access Management&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nlrnPLKX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ckluoj2yoxv4wx3ns542.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nlrnPLKX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ckluoj2yoxv4wx3ns542.png" alt="Image description" width="214" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When we start to talk about IAM, one of the most important things to know is about Policy, which defines what is allowed and what is not allowed. &lt;/p&gt;

&lt;p&gt;Policies can be associated with Users, Groups, or specific roles. AWS provides a lot of predefined policies but is possible to create a new one with specific assignments.&lt;/p&gt;

&lt;p&gt;For companies that already have a set of credentials, it is possible to use the IAM Federation that connects the Active Directory with IAM. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--36WH6KT8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t71apopt2bbyajz04ce0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--36WH6KT8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t71apopt2bbyajz04ce0.png" alt="Image description" width="480" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EC2 - Elastic Compute Cloud&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dthmtKbQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ykxcaakzp9w0msqp3xv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dthmtKbQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ykxcaakzp9w0msqp3xv.png" alt="Image description" width="220" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;EC2 allows the user to create an instance allocated in one AZ. Through EC2 you don't need to worry about hardware anymore. In each instance, the user can configure the CPU, Memory, Regions, and AZ. There are a few functionalities very interesting, such as:&lt;/p&gt;

&lt;p&gt;EC2: Rent of virtual machines&lt;br&gt;
EBS: Storage of data in virtual disks&lt;br&gt;
ELB: Distribution of traffic between virtual machines&lt;br&gt;
ASG: Autoscaling&lt;br&gt;
AWS provides some pre-configured instances, known as Amazon Machine Images(AMIs).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EC2::Security Group&lt;/strong&gt;&lt;br&gt;
To launch an instance you need to configure the security group that defines if the data can reach the instance or not. &lt;/p&gt;

&lt;p&gt;Security groups work as a firewall, any data attended to the instance is intercepted by the security group and inf the source is allowed, the data can continue the route to the instance. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bqjzoIU8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r1lus5swf8fl4gf6xj78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bqjzoIU8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r1lus5swf8fl4gf6xj78.png" alt="Image description" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WF14h4Qs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gzw7vmpor97972c5ayz4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WF14h4Qs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gzw7vmpor97972c5ayz4.png" alt="Image description" width="880" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KY5x_vZX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bn7egpj6stz5tyg2ck34.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KY5x_vZX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bn7egpj6stz5tyg2ck34.png" alt="Image description" width="880" height="247"&gt;&lt;/a&gt;&lt;br&gt;
Important to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can be associated with many instances &lt;/li&gt;
&lt;li&gt;All the data is intercepted before reaches the instance&lt;/li&gt;
&lt;li&gt;For standard: All input data is blocked &lt;/li&gt;
&lt;li&gt;For standard: All output data is allowed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;EC2::Elastic IP&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--phdaxZR2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w0a7r0clbx0hfqdhn845.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--phdaxZR2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w0a7r0clbx0hfqdhn845.png" alt="Image description" width="312" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When we stop an EC2 instance the public IP can change. This can cause problems. To have a static public IP is necessary to use Elastic IP.&lt;/p&gt;

&lt;p&gt;Important to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is not indicated to use Elastic IP for production. Indicates a low-quality architecture solution.&lt;/li&gt;
&lt;li&gt;Indicated use of Load Balance&lt;/li&gt;
&lt;li&gt;Can be associated with one instance at a time &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;EC2::User Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you launch an instance for the first time, you may want to prepare a basic environment by updating packages, downloading files from the internet, or installing some applications. This is possible by using User Data in a specific area where you can write the command and when the instance is launched for the first time, the commands will be executed.&lt;/p&gt;

&lt;p&gt;Important to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The commands are executed as admin &lt;/li&gt;
&lt;li&gt;The commands are executed only one time(When you launch for the first time)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cx6_K8sT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/payigg6hy9dmx34e7tj5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cx6_K8sT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/payigg6hy9dmx34e7tj5.png" alt="Image description" width="841" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EC2::Types of Intances&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;On Demand:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Short-time projects&lt;/li&gt;
&lt;li&gt;Pays only for what is used&lt;/li&gt;
&lt;li&gt;High Cost&lt;/li&gt;
&lt;li&gt;Without contract, you can finish in any moment&lt;/li&gt;
&lt;li&gt;Indicated only for development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Reserved:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Long-time project&lt;/li&gt;
&lt;li&gt;Payment in advance&lt;/li&gt;
&lt;li&gt;Reservation for 1 to 3 years&lt;/li&gt;
&lt;li&gt;Stable applications &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Spot:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Short-time projects&lt;/li&gt;
&lt;li&gt;Very cheap&lt;/li&gt;
&lt;li&gt;Work as a public sale, if you win, you will have the right to use the instance until someone pay more&lt;/li&gt;
&lt;li&gt;If someone pay more, aws only gives 2 minutes and them the instance will be finished&lt;/li&gt;
&lt;li&gt;Indicated for projects that accept interruptions &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Dedicated:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A dedicated hardware&lt;/li&gt;
&lt;li&gt;Can share instances with other that own the same account &lt;/li&gt;
&lt;li&gt;No placehold control ( If you shutdown the instance the hardware can change)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Dedicated Host:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dedicated Hardware&lt;/li&gt;
&lt;li&gt;Control of placement &lt;/li&gt;
&lt;li&gt;Access to hardware configuration &lt;/li&gt;
&lt;li&gt;Very expesinve &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for reading. Happy Cloud Computing!&lt;/p&gt;

</description>
      <category>aws</category>
    </item>
  </channel>
</rss>
