<?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: Chris Norris</title>
    <description>The latest articles on DEV Community by Chris Norris (@chrisnorristech).</description>
    <link>https://dev.to/chrisnorristech</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%2F509080%2Fb827a1d7-4c32-46a4-9aa3-311c725da184.jpeg</url>
      <title>DEV Community: Chris Norris</title>
      <link>https://dev.to/chrisnorristech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chrisnorristech"/>
    <language>en</language>
    <item>
      <title>Trying Epsagon with Amazon Web Services</title>
      <dc:creator>Chris Norris</dc:creator>
      <pubDate>Wed, 29 Dec 2021 13:49:43 +0000</pubDate>
      <link>https://dev.to/aws-builders/trying-epsagon-with-amazon-web-services-55cj</link>
      <guid>https://dev.to/aws-builders/trying-epsagon-with-amazon-web-services-55cj</guid>
      <description>&lt;h2&gt;
  
  
  Epsagon Case Study: MacsGameBoard.com
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SxGX4qqt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2020-07-21-at-1.33.14-AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SxGX4qqt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2020-07-21-at-1.33.14-AM.png" alt="" width="880" height="821"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mac’s Game Board is an online gaming community that has been developed with Amazon Web Services (API Gateway, Lambda serverless, and Aurora RDS) with an HTML5/CSS3/jQuery front end. Prior to building this solution, I had never worked in AWS. I tried several services for monitoring lambda functions, Aurora RDS, and API gateways. Every service I tried had maybe one or two of the things I needed, but either didn’t have the third or wasn’t thorough enough to use.&lt;/p&gt;

&lt;p&gt;Then enters Epsagon, referred to me by the guys over stackery.io. I decided to give Epsagon a try. Wow! That is the only word I can use. From the very easy-to-use interface to the powerful monitoring, logging, and alerting, I fell in love with this solution quickly. Now I am able to…&lt;/p&gt;

&lt;h3&gt;
  
  
  Monitor
&lt;/h3&gt;

&lt;p&gt;Prior to implementing Epsagon, I only had the monitoring that is built into AWS. Sure, it’s powerful, but its complicated interface made it difficult to get to the information I needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FwiJMdL_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2020-07-21-at-1.23.23-AM-1280x658.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FwiJMdL_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2020-07-21-at-1.23.23-AM-1280x658.png" alt="" width="880" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Debug
&lt;/h3&gt;

&lt;p&gt;Prior to using Epsagon, when I added a new jQuery function, I had to write a TON of console.log statements, in order to understand what was happening when a function didn’t complete. Now that I have Epsagon, I am able to get to the heart of the problem super quickly. As you see below, you are able to see 1) the API gateway call, 2) the lambda response, and 3) the database call and response. This is invaluable information, when you are trying to troubleshoot failing functionality.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZbZ-MSqw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2020-07-21-at-1.30.44-AM-1280x715.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZbZ-MSqw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2020-07-21-at-1.30.44-AM-1280x715.png" alt="" width="880" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Gain visibility of my serverless architecture, during beta testing and production
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LP3Fhlb7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/architecture-1280x1105.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LP3Fhlb7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/architecture-1280x1105.png" alt="" width="880" height="760"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I move into beta testing and go-live, I have so much more confidence, now that I know I am able to see what is happening in real time. No more guessing what’s going on. I can watch data pass through each piece of my infrastructure.&lt;/p&gt;

&lt;p&gt;Epsagon, while simple to access and use, is incredibly powerful, providing valuable insights into your application and infrastructure. To get started, all you have to do is click your functions and hit “auto trace.” It’s all automatic and transparent. I’m seriously impressed with this product!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>serverless</category>
    </item>
    <item>
      <title>Api Gateway Simple Tutorial </title>
      <dc:creator>Chris Norris</dc:creator>
      <pubDate>Wed, 29 Dec 2021 13:48:23 +0000</pubDate>
      <link>https://dev.to/aws-builders/api-gateway-simple-tutorial-548m</link>
      <guid>https://dev.to/aws-builders/api-gateway-simple-tutorial-548m</guid>
      <description>&lt;h1&gt;
  
  
  CREATE A SIMPLE API GATEWAY ENDPOINT
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;How to create a very simple API with API Gateway.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Log into AWS and open the API Gateway module. This is where we will create an API gateway (mock for this purpose) to be used later.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.06.40-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jtaV4CaI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.06.40-AM-500x377.png" alt="" width="500" height="377"&gt;&lt;/a&gt;1. Under API click on Create API. Then your screen will look like the screen to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.07.52-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kYgCC4EY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.07.52-AM-500x378.png" alt="" width="500" height="378"&gt;&lt;/a&gt;2. Click on Build under HTTP API. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.10.08-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y1REzm5y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.10.08-AM-500x379.png" alt="" width="500" height="379"&gt;&lt;/a&gt;3. For our example, enter “test-api” as the API Name and hit Review and Create, since this will be basic mock API. This will create a basic templated API. Hit Create again at the bottom. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.11.09-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0PjUr412--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.11.09-AM-500x377.png" alt="" width="500" height="377"&gt;&lt;/a&gt;4. Now that your API is created, you can click on routes, on the left. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.12.00-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JKJ4pEk_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.12.00-AM-500x377.png" alt="" width="500" height="377"&gt;&lt;/a&gt;5. Click “Create“ to create a test route. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.13.31-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WO85ZaPS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.13.31-AM-500x378.png" alt="" width="500" height="378"&gt;&lt;/a&gt;6. We will now create a test method. Click on the dropdown that says “ANY” and choose “GET”. Then enter in the path /test-call in the box next to it. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.15.39-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hpO5CJ-9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.15.39-AM-500x377.png" alt="" width="500" height="377"&gt;&lt;/a&gt;7. Click Create. After the endpoint is created, click on the action “GET”. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.19.24-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A0Kej5Xa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.19.24-AM-500x379.png" alt="" width="500" height="379"&gt;&lt;/a&gt;8. Click on Attach Integration. We will choose “HTTP URI” as integration type.&lt;/p&gt;

&lt;p&gt;Also enter the HTTP Method, “GET”, and the URL: &lt;a href="https://catfact.ninja/fact"&gt;https://catfact.ninja/fact&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I entered an optional comment.&lt;/p&gt;

&lt;p&gt;You can as well if you want to.&lt;/p&gt;

&lt;p&gt;Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.20.24-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jbuQtJNc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.20.24-AM-500x377.png" alt="" width="500" height="377"&gt;&lt;/a&gt;9. You now have an endpoint created. To call this endpoint, click on “Stages” on the left: Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.26.55-AM.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5XEicCWN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-20-at-11.26.55-AM-500x378.png" alt="" width="500" height="378"&gt;&lt;/a&gt;10. This has $default as a default stage. This is set to auto deploy by default. This makes it easy for us. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/text-description-automatically-generated.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ElEkmfeN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://norristechnologies.com/wp-content/uploads/text-description-automatically-generated-500x412.png" alt="Text Description automatically generated" width="500" height="412"&gt;&lt;/a&gt;11. Now you will see the invoke URL: that is the URL we will use to test our endpoint. copy and paste it into a browser and add test-call to the end of it.&lt;/p&gt;

&lt;p&gt;Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;If when you browse to this link, you should see the screen above.&lt;/p&gt;

&lt;p&gt;If so, congratulations you have created a simple API with one endpoint.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AppSync Simple Tutorial</title>
      <dc:creator>Chris Norris</dc:creator>
      <pubDate>Wed, 29 Dec 2021 13:37:02 +0000</pubDate>
      <link>https://dev.to/aws-builders/appsync-simple-tutorial-3n2e</link>
      <guid>https://dev.to/aws-builders/appsync-simple-tutorial-3n2e</guid>
      <description>&lt;h1&gt;
  
  
  CREATE A SIMPLE GRAPHQL API
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;How to create a very simple GRAPHQL API with AWS AppSync.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Log into AWS and open the “AWS APPSYNC” module. This is where we will create an APPSYNC API to be used later.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-9.47.50-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-9.47.50-AM-500x378.png"&gt;&lt;/a&gt;1. Click the orange Create API in the upper right hand corner of the page. Screen should look like the one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-9.49.28-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-9.49.28-AM-500x377.png"&gt;&lt;/a&gt;2. Click “Create with wizard” in order to build a very simple GraphQL API. AWS does much of the work for you this way. Screen should look like the one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-9.49.28-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-9.49.28-AM-500x377.png"&gt;&lt;/a&gt;3. Enter in “firstName”, “lastName” fields and name the api model “testModel”. Screen should look like the one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/nameGraphQLAPI.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FnameGraphQLAPI-500x377.png"&gt;&lt;/a&gt;4. Once you hit “Start”, you will enter the name of your app as “graphQLTest” Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-10.35.42-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-10.35.42-AM-500x378.png"&gt;&lt;/a&gt;5. Click “Start“ to begin the wizard. It will open to the model edit screen. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-10.39.20-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-10.39.20-AM-500x377.png"&gt;&lt;/a&gt;6. You will leave everything the same and hit “create”. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-10.42.33-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-10.42.33-AM-500x234.png"&gt;&lt;/a&gt;7. Once again, you will leave everything the same and hit “create”. This time, after the dynamodb builds, Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-10.45.23-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-10.45.23-AM-500x233.png"&gt;&lt;/a&gt;8. Click on the orange array, and choose “createMyModelType” in order to generate the model. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-10.50.30-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-10.50.30-AM-500x234.png"&gt;&lt;/a&gt;9. Next click the orange array about and choose “createMyModelType”, in order to insert a record into this new dynamoDB table. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-10.52.55-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-10.52.55-AM-500x234.png"&gt;&lt;/a&gt;10. Now your api is generated. We need to get the information to call it. Next, click on the “Settings” tab. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://norristechnologies.com/wp-content/uploads/Screen-Shot-2021-12-23-at-10.55.07-AM.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fnorristechnologies.com%2Fwp-content%2Fuploads%2FScreen-Shot-2021-12-23-at-10.55.07-AM-500x239.png"&gt;&lt;/a&gt;11. Write down the API URL, as well as the api key listed under “API Keys”. Your screen should look like one to the left.&lt;/p&gt;

&lt;p&gt;Now you have a GRAPHQL Api..pretty simple eh? You can call it using any language you wish.&lt;/p&gt;

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