<?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: jade</title>
    <description>The latest articles on DEV Community by jade (@jaded_developer).</description>
    <link>https://dev.to/jaded_developer</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%2F877559%2F858029dc-d1ad-48f4-aad7-0c0742af44d9.jpg</url>
      <title>DEV Community: jade</title>
      <link>https://dev.to/jaded_developer</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jaded_developer"/>
    <language>en</language>
    <item>
      <title>Creating a Web Chat Meme App Using Azure SQL, Azure Web App Service.</title>
      <dc:creator>jade</dc:creator>
      <pubDate>Thu, 18 May 2023 11:30:42 +0000</pubDate>
      <link>https://dev.to/jaded_developer/building-a-cloud-based-travel-planning-assistant-wanderwhiz-4ep9</link>
      <guid>https://dev.to/jaded_developer/building-a-cloud-based-travel-planning-assistant-wanderwhiz-4ep9</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v0qoOj_z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h61qvs1wdlyja48dzbl0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v0qoOj_z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h61qvs1wdlyja48dzbl0.png" alt="Image description" width="500" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Allow me to introduce WanderMind, a fun and interactive platform that allows users to chat with it while sharing and displaying memes in real-time. &lt;/p&gt;

&lt;h3&gt;
  
  
  Architectural Overview
&lt;/h3&gt;

&lt;p&gt;The architecture of our web chat meme app follows a three-tier structure: frontend, backend, and database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Presentation Tier&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This tier represents the user interface and handles the presentation logic of your application.&lt;br&gt;
It includes components such as HTML and CSS that render the chat interface and display memes to the user.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application Tier&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This tier contains the business logic and application functionality. It handles the processing of user inputs, and meme generation.&lt;/p&gt;

&lt;p&gt;The application tier integrates with the data tier to retrieve and store data related to users, chat history, and memes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Tier.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This tier involves the storage and management of data used by your application.&lt;/p&gt;

&lt;p&gt;I used Azure SQL DB and Blob storage as the data tier.&lt;br&gt;
Azure SQL DB is used for storing structured data such as 'id', meme url and it's caption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blob storage&lt;/strong&gt; is utilized for storing the meme images generated by your application. It offers scalable object storage for unstructured data like images and provides efficient retrieval and serving of static content.&lt;/p&gt;
&lt;h4&gt;
  
  
  Technology Stack
&lt;/h4&gt;

&lt;p&gt;To bring the web chat meme app to life, I used HTML, CSS, and JavaScript, to create the user interface and handle the client-side interactions. &lt;/p&gt;

&lt;p&gt;On the server side, I employed Node.js and Express.js to build a scalable and efficient backend. Furthermore, I leveraged the power of Azure SQL DB and Blob storage to store user data and meme content securely.&lt;/p&gt;

&lt;p&gt;The Web app was deployed using Azure App Service as well.&lt;/p&gt;
&lt;h3&gt;
  
  
  Process
&lt;/h3&gt;

&lt;p&gt;This article is only focusing on the deployment to Azure using Azure App Service and Database storage using Azure SQL and Blob services. &lt;/p&gt;

&lt;p&gt;If you'd like to view the code base I created for the web app, &lt;a href="https://github.com/jadesola123/wander-tire"&gt;check here&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Using Azure SQL and Blob Services
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Azure Blob service.&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;On your Azure portal and search storage accounts.&lt;/li&gt;
&lt;li&gt;Click on create, supply all the required details and go to resource.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Under Data storage, click containers. Under &lt;em&gt;"public access level"&lt;/em&gt; , select container and name it.&lt;/li&gt;
&lt;li&gt;Upload each meme to the blog container and note each url that come with the uploaded meme.
It will look like this &lt;strong&gt;&lt;em&gt;https://.blob.core.windows.net//giphy (2).gif&lt;/em&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Azure SQL Database.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Follow these steps to create an azure SQL Database.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your azure portal go to SQL database and click create. Supply your details and create you SQL server. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When creating your server, maeke sure you select SQL authentication for authentication methods.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In Azure Data Studio create a connection and write the following SQL commands. &lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;This interface will be used to create a table called "Memes", insert and store the memes in our Azure Sql Db.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Memes (
  id INT PRIMARY KEY,
  url VARCHAR(255),
  caption VARCHAR(100)
);

SET IDENTITY_INSERT Memes ON;
-- Assuming you have a table named "Memes" with columns "id", "title", and "url"

-- Inserting a single row
INSERT INTO Memes (id, caption, url)
VALUES (1, 'Funny Meme 1', 'url');

-- Inserting multiple rows at once
INSERT INTO Memes (id, caption, url)
VALUES
  (2, 'Funny Meme 2', 'url'),
  (3, 'Funny Meme 3', 'url'),
  (4, 'Funny Meme 4', 'url'),
  (5, 'Funny Meme 5', 'url');

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;In your node js file, include this line of code below to connect to your Azure Sql Database.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const config = {&lt;br&gt;
  user: '',&lt;br&gt;
  password: '',&lt;br&gt;
  server: '&amp;lt;name&amp;gt;.database.windows.net',&lt;br&gt;
  database: '',&lt;br&gt;
  options: {&lt;br&gt;
    encrypt: true,&lt;br&gt;
  },&lt;br&gt;
};&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment to Azure Using App Services.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I did 2 things that some may find interesting. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I deployed the meme app itself using Azure Web App Service &lt;/li&gt;
&lt;li&gt;I then embedded the Web app on a static site that was also created with Azure.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I honestly had no reason for doing this, I just felt it will be fun to do that😅&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment Using Azure Static Web App&lt;/strong&gt;&lt;br&gt;
To deploy the static content of the web app, I used &lt;em&gt;&lt;strong&gt;"Azure Static Web App"&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to your azure portal and search static web app.&lt;/li&gt;
&lt;li&gt;Click create, fill in the details and select what works for you in terms of pricing. Use github as a deployment source and point to your location for your api, your app, and output location. 
-Then click review and create. Your URL will be ready for use.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GhjhS4Qb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ha2frncwtrj3w2vdn0m.png" alt="Image description" width="800" height="450"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Using Azure App Service to deploy the Web Chat.
&lt;/h3&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;On your portal, search App Service and created a WebApp. Choose "code" in the publish section of the web app creation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click review and create. Then go to resource&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Under deployment center click FTPS credentials and note them or copy them. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Download &lt;a href="https://filezilla-project.org/"&gt;Filezilla&lt;/a&gt;&lt;br&gt;
It is a free and open-source FTP application that supports various platforms and protocols.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on create a new site on the filezilla interface and paste your FTPS credentials where relevant and make a connection.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;-Copy all the relevant code and files to the  /site/wwwroot/ directory on filezilla&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visit the URL on your web app created and everything should be up and running&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3g0AxTiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5q2vputvoze32f84oqft.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3g0AxTiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5q2vputvoze32f84oqft.gif" alt="Image description" width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try WanderMind out 👉🏾&lt;a href="https://zealous-coast-07a6b3110.3.azurestaticapps.net/"&gt;Here&lt;/a&gt;&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/jadesola123"&gt;
        jadesola123
      &lt;/a&gt; / &lt;a href="https://github.com/jadesola123/WanderWhiz"&gt;
        WanderWhiz
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      WanderMind is a fun and interactive platform that allows users to chat with it while sharing and displaying memes in real-time. 
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
WanderMind&lt;/h1&gt;
&lt;p&gt;WanderMind is a fun and interactive platform that allows users to chat with it while sharing and displaying memes in real-time. THis is my final project from the Shecode Africa cloud school and my submission for #GitHubHack23&lt;/p&gt;
&lt;p&gt;Presentation Tier:&lt;/p&gt;
&lt;p&gt;This tier represents the user interface and handles the presentation logic of your application
It includes components such as HTML, CSS, and JavaScript that render the chat interface and display memes to the user
The presentation tier interacts with the other tiers to send and receive data and provide a seamless user experience.&lt;/p&gt;
&lt;p&gt;Application Tier:&lt;/p&gt;
&lt;p&gt;This tier contains the business logic and application functionality
It handles the processing of user inputs, meme generation, and communication with external services.
The application tier integrates with the data tier to retrieve and store data related to users, chat history, and memes.&lt;/p&gt;
&lt;p&gt;Data Tier:&lt;/p&gt;
&lt;p&gt;This tier involves the storage and management of data used…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/jadesola123/WanderWhiz"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



</description>
      <category>azure</category>
      <category>scacloudschool</category>
    </item>
    <item>
      <title>Create A Microsoft Azure Static Web App</title>
      <dc:creator>jade</dc:creator>
      <pubDate>Sat, 15 Apr 2023 14:48:17 +0000</pubDate>
      <link>https://dev.to/jaded_developer/create-a-microsoft-azure-static-web-app-119e</link>
      <guid>https://dev.to/jaded_developer/create-a-microsoft-azure-static-web-app-119e</guid>
      <description>&lt;p&gt;In the second week of our SCA cloud school journey, we were given the task to create a static web app in Azure.&lt;/p&gt;

&lt;p&gt;In this article, I will be showing how to create one in azure in less than 5 mins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is an Azure Static Web App?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;According to Microsoft, it is a service that automatically builds and deploys full stack web apps to Azure from a code repository.&lt;/p&gt;

&lt;p&gt;What do you need to create an azure static web app?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An Azure Account &lt;/li&gt;
&lt;li&gt;A github account&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now let's dive into this tutorial:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Firstly, go to your &lt;a href="https://portal.azure.com/"&gt;Azure portal&lt;/a&gt; and search for "Static Web Apps" and click on the + button to create a new one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So now it's time to fill in your basics details and'give github the authorizations. Then select your preferred github repository.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;ul&gt;
&lt;li&gt;Once you've done this, under the "Build details", select "custom" for the build preset. For me, my "index.html" was stored in the "Src" folder, so I put /src for my app location. &lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Then click review + create and you'll see this. Click create&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Once it's finished deploying, click go to resource and you'll see these details of your deployed static web app. Click the link under URL.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;That's it! You can view your deployed app on the URL. If nothing is showing at the beginning, give it like 2 minutes and refresh the site.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;You can also tweak the code to make changes on the site.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Lastly make sure you delete the application or any other resources running, if not you'll receive unnecessary bills. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I got charged like $10 because I left my VM running for a week😩😩 &lt;/p&gt;

</description>
      <category>azure</category>
      <category>devops</category>
      <category>staticwebapps</category>
    </item>
    <item>
      <title>A Beginner's Guide to Creating a Virtual Machine (EC2) in AWS.</title>
      <dc:creator>jade</dc:creator>
      <pubDate>Sat, 08 Apr 2023 09:01:26 +0000</pubDate>
      <link>https://dev.to/jaded_developer/a-beginners-guide-to-creating-a-virtual-machine-ec2-in-aws-48h1</link>
      <guid>https://dev.to/jaded_developer/a-beginners-guide-to-creating-a-virtual-machine-ec2-in-aws-48h1</guid>
      <description>&lt;p&gt;I recently got into the shecode africa cloud school and it's been exciting. Our first take home task was to create a virtual machine in AWS. &lt;/p&gt;

&lt;p&gt;According to AWS; Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) Cloud. &lt;/p&gt;

&lt;p&gt;Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.&lt;/p&gt;

&lt;p&gt;Amazon EC2 provides Virtual computing environments (vm), known as instances.&lt;/p&gt;

&lt;p&gt;In this tutorial, I'll be discussing the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How To Create an EC2 Instance&lt;/li&gt;
&lt;li&gt;Connecting the Instance. &lt;/li&gt;
&lt;li&gt;Stopping the EC2 Instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;*&lt;em&gt;Note: I use a windows 11 operating system on a hp probook. *&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Create an EC2 Instance.
&lt;/h2&gt;

&lt;p&gt;Step 1. Log into your AWS Console. If you don't have an account, create a free AWS account &lt;a href="https://aws.amazon.com/free/?trk=99f831a2-d162-429a-9a77-a89f6b3bd6cd&amp;amp;sc_channel=ps&amp;amp;ef_id=Cj0KCQjw_r6hBhDdARIsAMIDhV_w-SfhWOF6XM1iD4o5xFRChmqZ-b9Vg7n9fZhGsOJ3HkUINdSrt20aAl19EALw_wcB:G:s&amp;amp;s_kwcid=AL!4422!3!645125273267!e!!g!!aws%20free%20tier!19574556890!145779847112&amp;amp;all-free-tier.sort-by=item.additionalFields.SortRank&amp;amp;all-free-tier.sort-order=asc&amp;amp;awsf.Free%20Tier%20Types=*all&amp;amp;awsf.Free%20Tier%20Categories=*all"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Step 2.&lt;br&gt;
Once on your dashboard search for EC2 or click on it&lt;/p&gt;

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

&lt;p&gt;Step 3.&lt;br&gt;
On your dashboard you'll see the resources tab, that kinda serves as a status bar. Click on Launch Instance to create a new instance.&lt;/p&gt;

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

&lt;p&gt;Step 4: Choose a name for the instance you want to create.&lt;/p&gt;

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

&lt;p&gt;Step 5: Time to pick your AMI (Amazon Machine Image). This contains operating systems (Ubuntu, Windows, Mac etc). I am creating a vm on Windows 11, so, select Microsoft Windows.&lt;/p&gt;

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

&lt;p&gt;Step 6: Scroll down to create a unique key pair for your instance. Click on Create new key pair. Select the .pem file, then click on Create Key Pair. The Key Pair will be created and automatically downloaded.&lt;/p&gt;

&lt;p&gt;Step 7: Click Launch instance and you will get a notification that your instance has been launched successfully.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PLYD4APH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ofxzclrxma9je095kwm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PLYD4APH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ofxzclrxma9je095kwm.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connecting the Instance.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go back to your instances tab. Click on it and select Connect at the top corner right of the screen.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Connect using RDP. Download the Remote Desktop File (RDP File).  Now, click on get password.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Generate password by uploading the key pair file and decrypt password. Copy the generated password and other details.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--T0yzilS7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gzpmm4jjq20trae1byfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--T0yzilS7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gzpmm4jjq20trae1byfd.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the Remote Desktop file and paste the generated password upon request&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;p&gt;&lt;strong&gt;Stopping the EC2 Instance.&lt;/strong&gt;&lt;br&gt;
To avoid unneccesray bills and charges. You definitely need to terminate the running instance&lt;/p&gt;

&lt;p&gt;Select the running instance and click “Instance State” From the drop down options, choose terminate instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BGx6Pp50--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1kc9gojq236id40q859r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BGx6Pp50--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1kc9gojq236id40q859r.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pl-ac6Jh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bqp9r6dl1dp0u9lryvz1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pl-ac6Jh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bqp9r6dl1dp0u9lryvz1.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The end.&lt;/p&gt;

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