<?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: Tobias Schmidt</title>
    <description>The latest articles on DEV Community by Tobias Schmidt (@tpschmidt).</description>
    <link>https://dev.to/tpschmidt</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%2F724152%2F812070f1-c44e-46b3-b2ef-08faaeed411d.jpg</url>
      <title>DEV Community: Tobias Schmidt</title>
      <link>https://dev.to/tpschmidt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tpschmidt"/>
    <language>en</language>
    <item>
      <title>My Top 10 Free Learning Resources for AWS</title>
      <dc:creator>Tobias Schmidt</dc:creator>
      <pubDate>Tue, 21 Dec 2021 08:59:44 +0000</pubDate>
      <link>https://dev.to/aws-builders/my-top-10-free-learning-resources-for-aws-30an</link>
      <guid>https://dev.to/aws-builders/my-top-10-free-learning-resources-for-aws-30an</guid>
      <description>&lt;p&gt;There's probably nothing you can't build on AWS, but starting your Cloud Journey looking at over 200 AWS Services needs guidance.&lt;/p&gt;

&lt;p&gt;I've started to work with AWS in 2018 and I'm creating content on all kinds of levels since this year. What I struggled with myself, hearing from colleagues and on all other channels like &lt;a href="https://twitter.com/tpschmidt_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How do I get started? This feels overwhelming!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The good news&lt;/strong&gt;: this is a completely natural reaction, looking at the inconceivable scope of services that are offered by AWS.&lt;/p&gt;

&lt;p&gt;The important part is to pick great learning resources, focus on the core services and advance step by step.&lt;/p&gt;

&lt;p&gt;And that's exactly what this article points at - directing you to those resources to get yourself comfortable and achieve the first goals.&lt;/p&gt;

&lt;p&gt;Let's jump right into it.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Training &amp;amp; Certification
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.aws.training/" rel="noopener noreferrer"&gt;AWS official training site&lt;/a&gt;, which offers uncountable free resources for all levels of expertise. You'll find fundamentals for all parts of AWS, but also deep knowledge that goes way beyond the default use-cases for most applications. It's a good place to begin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640074950468%2FZUOjW8w70.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640074950468%2FZUOjW8w70.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  edX
&lt;/h2&gt;

&lt;p&gt;One of the most famous training sites that cover every area you can think of. As expected, there's also a &lt;a href="https://www.edx.org/school/aws" rel="noopener noreferrer"&gt;dedicated area for Amazon Web Services&lt;/a&gt;. Like at &lt;a href="http://AWS.training" rel="noopener noreferrer"&gt;AWS.training&lt;/a&gt;, you'll find content on different levels.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075011886%2FqMCehrxhV.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075011886%2FqMCehrxhV.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's the option to retrieve certificates for a small fee, but's it's not a requirement for attending courses.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS' Hands-On Tutorials
&lt;/h2&gt;

&lt;p&gt;It's great to read articles and documentation, as well as watch courses and tutorials. But as with any other skill that you can learn: it requires hands-on to manifest.&lt;/p&gt;

&lt;p&gt;And that's exactly what AWS offers at its own &lt;a href="https://aws.amazon.com/getting-started/hands-on/?getting-started-all.sort-by=item.additionalFields.sortOrder&amp;amp;getting-started-all.sort-order=asc&amp;amp;awsf.getting-started-category=category%23containers%7Ccategory%23compute%7Ccategory%23serverless&amp;amp;awsf.getting-started-level=level%23100&amp;amp;awsf.getting-started-content-type=content-type%23hands-on&amp;amp;getting-started-all.q=free%2Btier&amp;amp;getting-started-all.q_operator=AND" rel="noopener noreferrer"&gt;Hands-On Tutorials&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075127197%2F7j6doC890.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075127197%2F7j6doC890.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to have your own AWS account for this, but you can take advantage of AWS Free Tier (see the &lt;em&gt;Free Tier&lt;/em&gt; at the top right of the course).&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Free Tier
&lt;/h2&gt;

&lt;p&gt;Strictly speaking, this is not a resource but it's worth mentioning as often as possible: AWS has a generous &lt;a href="https://aws.amazon.com/free/?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" rel="noopener noreferrer"&gt;free offering&lt;/a&gt; for many services, enabling you to play around and learn without paying much or even anything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075616999%2FiPoEC1PrL.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075616999%2FiPoEC1PrL.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some offerings are free for the first 12 months, others are not limited and granted every month regardless of your accounts creation date.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Well-Architected Framework Paper
&lt;/h2&gt;

&lt;p&gt;As mentioned in the beginning, it's difficult to grasp the whole picture due to AWS' huge ecosystem. While learning, things will explain themselves sometimes. But while continuing your journey, you'll use more and more services, glue them together and build different types of architectures - often with major disadvantages as you can't know it better at that time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075315465%2FfqF4MXY_l.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075315465%2FfqF4MXY_l.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's why best practices are important and you should know about them. The &lt;a href="https://wa.aws.amazon.com/index.en.html" rel="noopener noreferrer"&gt;Well-Architected Framework&lt;/a&gt; paper is a collection of those principles and guidelines, enabling you to easily rely on field-tested design patterns.&lt;/p&gt;

&lt;h2&gt;
  
  
  QwikLabs
&lt;/h2&gt;

&lt;p&gt;While AWS's own hands-on tutorials are great, there's one major scary side for beginners: you're working with your own AWS account for which you're solely responsible. Generally, if you're careful there is nothing to worry about, but on the other side, it's clear that there's no spending limit you could enforce - you'll pay for what you use at any time, in a basically limitless environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075503346%2FnEk_JoIY3.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1640075503346%2FnEk_JoIY3.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.qwiklabs.com/" rel="noopener noreferrer"&gt;Qwiklabs&lt;/a&gt; is a great alternative, as it's offering you hands-on labs with sandboxed AWS accounts with temporary credentials so you can enjoy learning without worrying about costs.&lt;/p&gt;

&lt;p&gt;A lot of those labs are paid, but fundamental ones are mostly free.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS' YouTube Channel
&lt;/h2&gt;

&lt;p&gt;Covering all kinds of news for AWS, conference talks, tutorials, and learning opportunities for all knowledge levels, &lt;a href="https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg" rel="noopener noreferrer"&gt;AWS' YouTube channel&lt;/a&gt; is another great source for advancing.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Podcast
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://aws.amazon.com/podcasts/aws-podcast/?podcast-list.sort-by=item.additionalFields.EpisodeNum&amp;amp;podcast-list.sort-order=desc&amp;amp;awsf.episode-type=*all&amp;amp;awsf.tech-category-filter=*all&amp;amp;awsf.product-filter=*all&amp;amp;awsf.industry-filter=*all" rel="noopener noreferrer"&gt;official podcast by AWS&lt;/a&gt; looks at the latest news &amp;amp; trends in all IT areas.&lt;br&gt;
Enjoy deep dives on services, user interviews, and much more.&lt;/p&gt;

&lt;p&gt;Available on all podcast platforms, so you can listen everywhere and anytime.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Documentation
&lt;/h2&gt;

&lt;p&gt;Likely, you've heard this a lot: the &lt;a href="https://docs.aws.amazon.com/index.html" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; is your best friend. It's also true for AWS, as you can find an answer to almost any question you'll ever have, including detailed explanations that really cover in-depth knowledge.&lt;/p&gt;

&lt;p&gt;Let it be your major source and one of your most-used websites.&lt;/p&gt;

&lt;p&gt;(My favorite bookmark 🔖: &lt;a href="https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html" rel="noopener noreferrer"&gt;all actions, resources, and condition keys you can use with IAM&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Twitter
&lt;/h2&gt;

&lt;p&gt;AWS is not JavaScript or CSS, but Twitter is all over AWS. There are many outstanding people that are creating free content on a regular basis and sharing resources for AWS at all levels.&lt;/p&gt;

&lt;p&gt;Naming just a few of them, which I really enjoy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/andrewbrown" rel="noopener noreferrer"&gt;Andrew Brown&lt;/a&gt; - founder of &lt;a href="https://www.exampro.co/" rel="noopener noreferrer"&gt;ExamPro&lt;/a&gt; and AWS Hero, creating awesome certification guides and Twitter Spaces for everything cloud.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/alexbdebrie" rel="noopener noreferrer"&gt;Alex DeBrie&lt;/a&gt; - AWS Data Hero, creator of &lt;a href="https://dynamodbbook.com/" rel="noopener noreferrer"&gt;The DynamoDB Book&lt;/a&gt; and the oracle for everything Serverless.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/dannysteenman" rel="noopener noreferrer"&gt;Danny Steenman&lt;/a&gt; - Cloud Consultant, Technical Writer, AWS Certification Guru helping cloud starters at all places.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/mavi888uy" rel="noopener noreferrer"&gt;Marcia Villalba&lt;/a&gt; - Content Creator by heart with a great &lt;a href="https://www.youtube.com/channel/UCSLIvjWJwLRQze9Pn4cectQ" rel="noopener noreferrer"&gt;YouTube Channel&lt;/a&gt; for AWS learnings focused on Serverless.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://twitter.com/simonholdorf" rel="noopener noreferrer"&gt;Simon Holdorf&lt;/a&gt; - Multi-Cloud Expert, Fullstack Engineer, and Technical Writer posting learnings about AWS, Azure, and GCP.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bonus Material: Short AWS 1x1s
&lt;/h2&gt;

&lt;p&gt;In the past months, I collected the fundamentals for all my favorite AWS core services in small threads on Twitter 🧵&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1450158394233561093" rel="noopener noreferrer"&gt;AWS 1x1 - S3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1455928446484455431" rel="noopener noreferrer"&gt;AWS 1x1 - SQS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1442880455179657219" rel="noopener noreferrer"&gt;AWS 1x1 - IAM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1449030467911569409" rel="noopener noreferrer"&gt;AWS 1x1 - Lambda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1448312256165556229" rel="noopener noreferrer"&gt;AWS 1x1 - DynamoDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1458143015705489421" rel="noopener noreferrer"&gt;AWS 1x1 - ECS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1458477202396303363" rel="noopener noreferrer"&gt;AWS 1x1 - CloudFront&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1461725349952299012" rel="noopener noreferrer"&gt;AWS 1x1 - Route53&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tpschmidt_/status/1466079626749526021" rel="noopener noreferrer"&gt;AWS 1x1 - API Gateway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There's no previous knowledge required, so you can scroll through all of them in any order.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrap up
&lt;/h2&gt;

&lt;p&gt;The internet does not lack great free resources to kickstart your AWS journey and it was never easier than today to get started.&lt;/p&gt;

&lt;p&gt;I've you've enjoyed this article or you have feedback of any kind, send me a message on &lt;a href="https://twitter.com/tpschmidt_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;! 📨&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudnative</category>
    </item>
    <item>
      <title>My Most Loved AWS Developer Tools &amp; Resources</title>
      <dc:creator>Tobias Schmidt</dc:creator>
      <pubDate>Sat, 18 Dec 2021 18:35:03 +0000</pubDate>
      <link>https://dev.to/tpschmidt/my-most-loved-aws-developer-tools-resources-3nim</link>
      <guid>https://dev.to/tpschmidt/my-most-loved-aws-developer-tools-resources-3nim</guid>
      <description>&lt;p&gt;There's basically nothing you can't build on AWS. But having a great set of developer tools &amp;amp; resources is a necessity.&lt;/p&gt;

&lt;p&gt;A small introduction about the tools and resources that I'm using on a daily basis while working with AWS, which are having the greatest impact on my productivity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: All of them are just recommendations and based on my personal experience. Always remember: the best tool, language, framework, or resource is the one that works the best &lt;strong&gt;for you&lt;/strong&gt; and &lt;strong&gt;gets the job done&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pulumi
&lt;/h2&gt;

&lt;p&gt;Creating resources in the console is great for testing things out, but shouldn't be done for serious projects. You'll be quickly overwhelmed with all the infrastructure you created and there's no easy glance at your overall architecture or how things are actually connected. Furthermore, misconfigurations can slip in more often as you can't just easily make references between resources.&lt;/p&gt;

&lt;p&gt;That's why an Infrastructure as Code tool is a must. It enables you to define resources via code and then execute it against AWS APIs which will take care of the creation. By that, you're easily able to replicate whole environments or destroy them in the blink of an eye.&lt;/p&gt;

&lt;p&gt;My pick goes to &lt;a href="https://www.pulumi.com/"&gt;Pulumi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wr4K4T_e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639850812522/-T_JlJLxE.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wr4K4T_e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639850812522/-T_JlJLxE.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="pulumi.png" width="880" height="863"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are two major factors I love about it: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;you don't have to learn a new syntax as you can use your favorite programming language you already know and love. For me it's TypeScript, but Pulumi also supports Python, Go, or .NET.&lt;/li&gt;
&lt;li&gt;you're not locked to a single provider. You can create resources also at Azure or Google Cloud Platform or at any platform that's already available at Pulumi - and there are a lot!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In the end, it's a personal preference, as there are other great tools like Terraform or the AWS Cloud Development Kit (AWS CDK). I'd suggest trying all of them and picking the one you like the most.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Documentation about IAM Actions, Resources &amp;amp; condition keys
&lt;/h2&gt;

&lt;p&gt;You'll always work a lot with AWS's ultimate core service: Identity and Access Management (AWS IAM).&lt;/p&gt;

&lt;p&gt;The most underrated - and to be honest, not easy to find - resource is the &lt;a href="https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html"&gt;documentation about all actions, resources &amp;amp; conditions&lt;/a&gt; you can use in policies.&lt;/p&gt;

&lt;p&gt;Often you have to fight with Access Denied responses from AWS, due to missing access rights. Having the documentation about all possible actions, resources and key conditions that you can apply for a given service at a policy is a blessing and will help you greatly.&lt;/p&gt;

&lt;h2&gt;
  
  
  aws-shell
&lt;/h2&gt;

&lt;p&gt;With aws-shell you're able to quickly run commands against any AWS API from your local terminal with great auto-completion. I use it very regularly and it reduces the need to jump to the documentation. You can find it on &lt;a href="https://github.com/awslabs/aws-shell"&gt;Github&lt;/a&gt; but can also install it easily via your favorite package manager like homebrew.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BUbfFWnb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849359116/EpkdU-f84.gif%3Fauto%3Dformat%2Ccompress%26gif-q%3D60%26format%3Dwebm" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BUbfFWnb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849359116/EpkdU-f84.gif%3Fauto%3Dformat%2Ccompress%26gif-q%3D60%26format%3Dwebm" alt="aws-shell.gif" width="600" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Leapp
&lt;/h2&gt;

&lt;p&gt;Most likely you'll work with multiple AWS accounts to have separated, independent environments. Managing your credentials locally for all of them is tedious - especially if you're using Multi-Factor Authentication.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.leapp.cloud/"&gt;Leapp&lt;/a&gt; helps to easily assume identities &amp;amp; roles. Bonus: it also supports other providers like Azure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ieLBsG2f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849389560/apS9wgM88.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ieLBsG2f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849389560/apS9wgM88.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="leap.png" width="514" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Toolkit for VS Code
&lt;/h2&gt;

&lt;p&gt;Quickly browsing S3 files, viewing CloudWatch logs, invoking Lambdas to test implementations, or even deploying them with a single click - the &lt;a href="https://aws.amazon.com/visualstudiocode/"&gt;AWS Toolkit&lt;/a&gt; is the right choice. It reduces the need to jump to the web console, therefore impacting your productivity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lpGqcxxD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849936807/WQC4mvOj3.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lpGqcxxD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849936807/WQC4mvOj3.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png" width="860" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can even set breakpoints to debug your serverless function locally!&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashbird
&lt;/h2&gt;

&lt;p&gt;Most of the time, Lambda is my core service of choice. But it gets easier to lose track of what's going on in my application landscape with every new resource. As a Lambda-powered, serverless architecture is mostly event-driven, debugging issues can also be a frustrating task. Even though you're not having the burden to maintain servers, there will still be issues like timeouts, failed invocations, or just bugs in your business logic that will lead to unwanted application behavior.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eSqDenmw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849773110/ER5ka18uB.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eSqDenmw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639849773110/ER5ka18uB.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png" width="880" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dashbird.io/"&gt;Dashbird&lt;/a&gt; helps by being a clutter-free, single resource for finding issues &amp;amp; bottlenecks in any Lambda-powered, serverless application. It automatically tracks all your serverless core services like for example Lambda, SQS, SNS, DynamoDB, and API Gateway by querying the events logs that are already generated by AWS. This isn't done via an agent you have to install, but just with a CloudFormation stack that grants Dashbird the permissions to query the AWS API to gather those metrics.&lt;/p&gt;

&lt;p&gt;Zero clutter, zero friction, and zero performance impact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Github Copilot
&lt;/h2&gt;

&lt;p&gt;Every day you'll learn something new &amp;amp; it's normal to forget things.&lt;a href="https://copilot.github.com/"&gt;Github Copilot&lt;/a&gt; helps you by giving great proposals for all the blocks of code you just can't remember - like properly matching with a regular expression in Bash or doing a POST request with form parameters with Axios.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I1yPK1nb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639850208606/3uaFHiUPq.gif%3Fauto%3Dformat%2Ccompress%26gif-q%3D60%26format%3Dwebm" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I1yPK1nb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1639850208606/3uaFHiUPq.gif%3Fauto%3Dformat%2Ccompress%26gif-q%3D60%26format%3Dwebm" alt="ghcopilot.gif" width="880" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's also great for diving into a new framework. It suggests very fitting solutions before you even have to think about browsing the framework's documentation.&lt;/p&gt;

&lt;p&gt;I just started to use it a few weeks ago and yes, some proposals are not great and do contain errors, but I'm already that convinced that I never want to miss it in the future.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Shortcuts for Debugging Apps on AWS Lambda</title>
      <dc:creator>Tobias Schmidt</dc:creator>
      <pubDate>Fri, 17 Dec 2021 06:30:33 +0000</pubDate>
      <link>https://dev.to/tpschmidt/shortcuts-for-debugging-apps-on-aws-lambda-5e1o</link>
      <guid>https://dev.to/tpschmidt/shortcuts-for-debugging-apps-on-aws-lambda-5e1o</guid>
      <description>&lt;p&gt;With Lambda, you'll spend a lot of time fighting timeouts, invocation errors &amp;amp; other bugs. But there are many helpers out there.&lt;/p&gt;




&lt;p&gt;I'm a huge fan of automating things and making my developer life as easy as possible. Personally, this especially affects how to handle issues.&lt;/p&gt;

&lt;p&gt;If something breaks or goes wrong, I want to immediately know the reasons and not have to fight with CloudWatch's user interface and navigate through endless logs until I find out what's going on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem Statement
&lt;/h2&gt;

&lt;p&gt;Things break. That's a matter of fact and serverless is not going to change this.&lt;br&gt;
Your Lambda functions can timeout, fail to be invoked, have dependency issues, and much more.&lt;/p&gt;

&lt;p&gt;What's important: get to the cause as easily as possible.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Toolbox
&lt;/h2&gt;

&lt;p&gt;The tools you're working with can be a swiss army or butter knife: it depends on your choices and how you use them.&lt;/p&gt;

&lt;p&gt;After working with Lambda for years, I finally settled for three major helpers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CloudWatch for Humans&lt;/strong&gt; - bringing CloudWatch logs to your terminal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="http://Dashbird.io" rel="noopener noreferrer"&gt;Dashbird.io&lt;/a&gt;&lt;/strong&gt; - a real-time error tracking tool for AWS Lambda&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alfred&lt;/strong&gt; - a spotlight alternative&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using those efficiently helped me to reduce my operational burdens immensely. Let me explain how.&lt;/p&gt;
&lt;h3&gt;
  
  
  CloudWatch for Humans
&lt;/h3&gt;

&lt;p&gt;With Lambda, you'll be using CloudWatch in some way. Due to Lambda's internal structure with running micro containers which all create their own log stream, it's not an easy task to correlate your logs and find what you want. To make it worse, the CloudWatch console interface is not the most intuitive or user-friendly.&lt;/p&gt;

&lt;p&gt;That's why I love &lt;a href="https://github.com/jorgebastida/awslogs" rel="noopener noreferrer"&gt;AWS CloudWatch logs for Humans&lt;/a&gt; which brings CloudWatch logs to your terminal.&lt;/p&gt;
&lt;h4&gt;
  
  
  Browsing &amp;amp; finding your log groups
&lt;/h4&gt;

&lt;p&gt;If you're having a lot of functions and probably environments on the same account, it can be even tricky to find your target log group. With &lt;code&gt;awslogs groups&lt;/code&gt; and &lt;code&gt;grep&lt;/code&gt;, this will be much easier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#  listing log groups for eu-central-1
awslogs groups --aws-region=eu-central-1
# show group names containing 'myfunction'
awslogs groups | grep 'myfunction'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Streaming logs to your terminal
&lt;/h4&gt;

&lt;p&gt;As said earlier: it's not fun to browse logs in CloudWatch's console. With &lt;code&gt;awslogs get&lt;/code&gt;, we can bring our logs to the terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# displaying the last logs of our target service
awslogs get /aws/lambda/myfunction
# starting a continuous stream of logs
awslogs get /aws/lambda/myfunction --watch
# receiving the last 15 minutes of a log streamawslogs get /aws/lambda/myfunction --start='15m ago'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Filtering logs
&lt;/h4&gt;

&lt;p&gt;Logs can be hard to read, especially if you're logging complex JSON. Additionally, there can be way too many logs. By filtering, we can reduce it to what we're actually looking for.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# get logs with upstream_status 502
awslogs get /aws/lambda/myfunction --filter-pattern='{ $.upstream_status = 502 }'
# only displaying the field logMessage of the JSON logawslogs get /aws/lambda/myfunction --query=logMessage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Dashbird
&lt;/h3&gt;

&lt;p&gt;Serverless promised us a lot fewer operations that we need to handle - which is indeed true. But operating a distributed Lambda-powered architecture still requires the Ops in DevOps. It's possible to do this just with AWS-native tools, but it's cumbersome. Relying on a third-party tool for enhanced observability is much easier.&lt;/p&gt;

&lt;p&gt;That's what Dashbird is offering: observability and real-time error tracking for your serverless application running on AWS. It easily integrates with your AWS account via a CloudFormation stack that enables Dashbird to query data via AWS APIs.&lt;/p&gt;

&lt;p&gt;It then discovers all resources and helps you to detect not only current but also potential future issues and performance bottlenecks at one glace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639219079822%2FBSXdvniG2.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639219079822%2FBSXdvniG2.png%3Fauto%3Dcompress%2Cformat%26format%3Dwebp" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Alfred
&lt;/h2&gt;

&lt;p&gt;This is probably my most used tool of all time. It's "spotlight on steroids" with a lot of great features making your daily developer life easier.&lt;/p&gt;

&lt;p&gt;What I like the most: creating my own workflows to automate recurring activities or just to quickly jump to any app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: a small mapper for quickly jumping to my Lambda functions inventory on Dashbird so that I can get to the root of issues easily.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639218731037%2FnbrILkP5P.gif%3Fauto%3Dformat%2Ccompress%26gif-q%3D60%26format%3Dwebm" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1639218731037%2FnbrILkP5P.gif%3Fauto%3Dformat%2Ccompress%26gif-q%3D60%26format%3Dwebm" alt="db.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is just one of many uses cases as the automation possibilities of Alfred are just limitless. There are a lot of &lt;a href="https://www.alfredapp.com/workflows/" rel="noopener noreferrer"&gt;official workflows&lt;/a&gt; and there's also a huge community building &amp;amp; offering workflows for anything you can think of.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudnative</category>
      <category>serverless</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
