<?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: luntan</title>
    <description>The latest articles on DEV Community by luntan (@luntanmaker).</description>
    <link>https://dev.to/luntanmaker</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%2F853160%2Fdbf48f70-4668-4665-8f20-587c564618a4.png</url>
      <title>DEV Community: luntan</title>
      <link>https://dev.to/luntanmaker</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/luntanmaker"/>
    <language>en</language>
    <item>
      <title>Cloud9 Challenge</title>
      <dc:creator>luntan</dc:creator>
      <pubDate>Mon, 25 Apr 2022 18:38:05 +0000</pubDate>
      <link>https://dev.to/luntanmaker/cloud9-challenge-4h79</link>
      <guid>https://dev.to/luntanmaker/cloud9-challenge-4h79</guid>
      <description>&lt;p&gt;So, I just completed a challenge I read in The Cloud Resume Challenge Book (by Forrest Brazeal) created by Jennine Townsend to create an automated, disposable AWS development environment. It was pretty cool, I thought the IDE was very sleek looking. It had more than enough features for the scripting that I do.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Cloud9 Initial Exploration&lt;br&gt;
I just started up an instance and looked around at what it can do.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simple template&lt;br&gt;
I created a basic template using the Cloud9 ec2 resource, with only the instance being specified.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a setup script&lt;br&gt;
I created a CodeCommit repository, and added a file that was using some of the scripting in step 1.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have Cloud9 Check out your script at startup&lt;br&gt;
I added the Repositories property and specified the path and repository URL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now think about what you might use this for!&lt;br&gt;
An application that I thought was cool would be to apply this heavily to open source projects, since there are sometimes many contributors. Then there is also the fact that you can execute git commands from the given terminal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consider security&lt;br&gt;
Everything is open given that I am using the default VPC that comes with an internet gateway(IGW), default network access control list(NACL), and default security group(SG). Since I am using the EC2 instance I am dependent on the server, and it is reachable from the internet due to the IGW. The only data that I have on the system is the data that Cloud9 loads, and that my repository loaded. Which is just a setup script. The setup script that I used only downloaded an update from a preapproved source that I trust. Since I was lazy, my account does have permissions that affect other systems, since I didn't bother to use roles to limit the scope of permissions or resources from the user that created it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write a blog post!&lt;br&gt;
Done!&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Extra credit:&lt;br&gt;
One click launch&lt;br&gt;
There’s a button on the bottom of the review that allows you to quick launch a template. The template is saved in an S3 bucket, and then is pulled and populates the file field for CloudFormation when someone decides to launch your template.&lt;/p&gt;

&lt;p&gt;One thing that interested me was how similar this is to Eclipse Che, which was released a handful of months before Cloud9 was acquired by AWS. I think the largest difference between the two is that Eclipse Che is focusing on using containers via Podman, and Cloud9 is currently focusing on tighter integration with AWS. The Cloud9 integration can be seen in how you have direct terminal access to AWS and the features offered to build serverless applications.&lt;/p&gt;

&lt;p&gt;Overall, I found the service to be fairly pleasant. I think it would excel, immensely, with new programmers. It could also be used as a way to introduce new programmers to the AWS environment  as a whole with the tight integration that Cloud9 offers.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud9</category>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>The Cloud Resume Challenge with React</title>
      <dc:creator>luntan</dc:creator>
      <pubDate>Mon, 25 Apr 2022 14:05:48 +0000</pubDate>
      <link>https://dev.to/luntanmaker/the-cloud-resume-challenge-with-react-2lj9</link>
      <guid>https://dev.to/luntanmaker/the-cloud-resume-challenge-with-react-2lj9</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k5Nw4G6o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/24cjr79kjmmnzt6kotm8.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k5Nw4G6o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/24cjr79kjmmnzt6kotm8.PNG" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;tldr&lt;/strong&gt;: Completed the cloud resume challenge using a little bit of react. I really enjoyed the experience overall. Here is the finished website.&lt;/p&gt;

&lt;p&gt;The experience can be fairly well split into the front end portion and the backend portion. In which you have the two stacks with the infrastructure associated with each, and there is a small connection between the two.&lt;/p&gt;

&lt;p&gt;The first iteration I used HTML/CSS/JavaScript for the frontend portion, but upon further reading the book and seeing mention about making it my own I decided to use react afterwards completing the challenge. I am thankful that I didn’t have to design my resume from scratch, and instead used an existing LaTeX one that I had worked with a career advisor at university. Because of that, it was fairly straightforward to set up the outline and use CSS to get it to look right. I stored it on S3, and restricted/gave access using bucket policies.&lt;/p&gt;

&lt;p&gt;The JavaScript was fairly straight forward. I decided to use the ipify api so that I could log who was accessing the resume, and potentially make a project using said data for geospatial visualization. The CORS portion was fairly straightforward, by far the hardest part of the front end application though. Just kept on bouncing back and forth from the frontend JavaScript to the backend API. Went ahead and created the CloudFront distribution as well.&lt;/p&gt;

&lt;p&gt;I purchased a domain name, and used it for the CloudFront distribution. Steps 8 through 11 were kind of subsumed under 12(IaC). Once again fairly straight forward, except for the tests. I ended up testing the infrastructure to see if it was there and deployed appropriately. Finally, I slapped together two GitHub repos with some GitHub actions, and that was it.&lt;/p&gt;

&lt;p&gt;I think the experience taught me quite a few things, especially with regards to hands-on application of concepts. For example, I thought I knew Route53 like the back of my hand conceptually, but the implementation using Route53 alongside the CloudFront distribution was the hardest part of the challenge for me.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>challenge</category>
      <category>react</category>
      <category>serverless</category>
    </item>
  </channel>
</rss>
