<?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>Forem: Jenn Bergstrom</title>
    <description>The latest articles on Forem by Jenn Bergstrom (@jennworks40).</description>
    <link>https://forem.com/jennworks40</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%2F133211%2F872bccb3-35fe-4ddc-af1b-dcd6c40ce59f.JPG</url>
      <title>Forem: Jenn Bergstrom</title>
      <link>https://forem.com/jennworks40</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jennworks40"/>
    <language>en</language>
    <item>
      <title>There's a new cert in town!</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Tue, 15 Oct 2024 03:02:47 +0000</pubDate>
      <link>https://forem.com/aws-builders/theres-a-new-cert-in-town-1568</link>
      <guid>https://forem.com/aws-builders/theres-a-new-cert-in-town-1568</guid>
      <description>&lt;p&gt;Big news on the AWS Certification front!&lt;/p&gt;

&lt;p&gt;The AWS AI Practitioner Certification, which was released in Beta in August 2024, has now changed status, from Beta to first release.&lt;/p&gt;

&lt;p&gt;I had the pleasure of taking this certification very early in the Beta period (I passed the beta exam on August 29, 2024. You can see my credential &lt;a href="https://www.credly.com/badges/8db03de9-3153-4e47-bbe2-1f19197a0343/public_url" rel="noopener noreferrer"&gt;here&lt;/a&gt;) and enjoyed the exam content and style.&lt;/p&gt;

&lt;p&gt;With this certification moving to full, there are currently 11 AWS certifications available - 2 Practitioner level, 4 Associate level, 2 Professional level, and 3 Specialty level. There is also one more certification still in Beta - the Machine Learning Engineer Associate.&lt;/p&gt;

&lt;p&gt;Given the general public's fascination with Large Language Models (LLMs) in general, and AWS's recent push to enhance their offerings in that domain (reference: Amazon Q and Amazon Bedrock, plus updates to Amazon SageMaker that make it much friendlier to importation and use of Foundation Models), is it any surprise that the focus of this certification is Generative AI and all that AWS brings to the user's table in that domain?&lt;/p&gt;

&lt;p&gt;Let's walk through the &lt;a href="https://d1.awsstatic.com/training-and-certification/docs-ai-practitioner/AWS-Certified-AI-Practitioner_Exam-Guide.pdf?p=cert&amp;amp;c=ai&amp;amp;z=3" rel="noopener noreferrer"&gt;exam guide&lt;/a&gt; quickly.&lt;/p&gt;

&lt;p&gt;Domains&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fundamentals of AI and ML - This domain focuses on the candidate's understanding of basic AI concepts and terminologies.&lt;/li&gt;
&lt;li&gt;Fundamentals of Generative AI - This domain looks at the candidate's knowledge of the basics of Generative AI.&lt;/li&gt;
&lt;li&gt;Applications of Foundation Models - This domain tests the candidate's understanding of design considerations when incorporating foundation models into a system architecture.&lt;/li&gt;
&lt;li&gt;Guidelines for Responsible AI - One of my favorite domains in the exam because it is essential; this domain tests a candidate's knowledge of the ethical and moral considerations involved in using AI as well as how users can ensure the models they create are responsible models.&lt;/li&gt;
&lt;li&gt;Security, Compliance, and Governance for AI Solutions - My other favorite domain in the exam, because security and compliance are complex issues and need to be built in from early in the process; this domain tests the candidate's knowledge of the tools AWS provides for securing AI systems and the data that feeds them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As with any AWS exam, the broad domains are broken down into a set of task statements that get into greater detail. This article is getting a bit long, so I won't dive into those here; suffice it to say that the task statements can help you focus your study into the subjects that are most essential for each of the domains.&lt;/p&gt;

&lt;p&gt;This certification felt more like an associate level certification than a practitioner level; the expected knowledge level is deeper and broader than that required for the Cloud Practitioner. &lt;/p&gt;

&lt;p&gt;Note that the exam incorporates a few new question types as well, which add depth to the topics covered and provide new and creative ways to test the candidate's knowledge.&lt;/p&gt;

&lt;p&gt;As with all other AWS certification exams, the AI Practitioner includes multiple choice and multiple response questions. The &lt;em&gt;new&lt;/em&gt; question types you might see include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ordering - These question types include a list of 3 - 5 responses to complete a requested task. You must pick the correct responses and put them in the correct order to receive credit for the question.&lt;/li&gt;
&lt;li&gt;Matching - These question types include a list of responses and a list of 3 - 7 prompts. You must match all the pairs correctly to receive credit for the question.&lt;/li&gt;
&lt;li&gt;Case study - These question types include one scenario and 2+ questions about the scenario. Each question asked about the scenario are scored distinctly in this question type.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I saw all three of the new question types when I took the exam. I think my favorite was the case study, because by bringing multiple questions about the same scenario into the picture, it becomes easier for question authors to specify questions/situations that are more in-depth than you typically see with multiple choice and multiple response questions. Plus, because the questions are split up across multiple questions, it is easier to focus on the specific question, &lt;em&gt;and&lt;/em&gt; you are not required to answer all related questions correctly to get credit for at least part of the case study.&lt;/p&gt;

&lt;p&gt;If you are hoping to take this certification exam, I wish you the best of luck and am cheering for you. It's a fun certification on highly applicable knowledge. Which means if you take the time to learn the content, you are building a skillset that is in high and growing demand. And in today's job market, any advantage you can give yourself is a good one!&lt;/p&gt;

</description>
      <category>aipractitioner</category>
      <category>awscommunity</category>
      <category>certification</category>
      <category>notbetaanymore</category>
    </item>
    <item>
      <title>Bedrock(ing) the Kasbah</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Tue, 16 Apr 2024 21:54:13 +0000</pubDate>
      <link>https://forem.com/aws-builders/bedrocking-the-kasbah-3860</link>
      <guid>https://forem.com/aws-builders/bedrocking-the-kasbah-3860</guid>
      <description>&lt;p&gt;GenerativeAI (GenAI) is all the rage nowadays. And for good reason! It is a powerful capability and is rapidly being integrated into many of the services and tools we use day to day.&lt;/p&gt;

&lt;p&gt;I've played around with PartyRock (I'm actually running an upskilling gamification event for my company next month that is built on PartyRock), but decided it was past time to investigate Bedrock itself. For those who aren't tracking, &lt;a href="https://partyrock.aws" rel="noopener noreferrer"&gt;PartyRock&lt;/a&gt; is a no-code app-generation tool that uses the foundation models available in Bedrock to take natural language prompts from its users and convert them into Large Language Model (LLM) powered apps. &lt;/p&gt;

&lt;p&gt;Ok, so back to Bedrock...&lt;/p&gt;

&lt;p&gt;Bedrock is a fully managed service (read, &lt;em&gt;serverless&lt;/em&gt;) that AWS made generally available in September 2023. It is designed to make foundation models (FMs) accessible through console or API and to serve as a jump start for users who want to integrate LLMs into their solutions. You can customize the models with your own data so that their responses are tuned more specifically to what you want to see, but you don't have to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting access to the foundation models
&lt;/h2&gt;

&lt;p&gt;The first thing to note when starting to use Bedrock is that you actually have to specify which FMs you want to be able to use. You accomplish this by visiting the Bedrock console and clicking "Get Started", then scrolling down to "Model access". Then you'll need to click the "Manage model access" button to get to where you can select which models you want to be available in your account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Important note:&lt;/em&gt;&lt;/strong&gt; You will need to be using an account with the correct IAM permissions set in order to manage the model access. What are those permissions, you ask? The easy button is to provide yourself with the managed policy &lt;code&gt;AmazonBedrockFullAccess&lt;/code&gt; but of course that isn't a great way to go about it for production systems. It'll work for experimentation purposes though. This role was created in December 2023 along with the &lt;code&gt;AmazonBedrockReadOnly&lt;/code&gt; managed policy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Second Important note:&lt;/em&gt;&lt;/strong&gt; If you want to request access to Anthropic's models, you have to provide a use case justifying said access. I didn't feel like doing that (plus I'm not sure a use case of "Because I wanna play with it" would be sufficient), so I requested access to &lt;code&gt;Titan Text G1 - Express&lt;/code&gt;, &lt;code&gt;Titan Image Generator G1&lt;/code&gt;, &lt;code&gt;Jurassic-2 Ultra&lt;/code&gt;, and &lt;code&gt;SDXL 1.0&lt;/code&gt;. A nice blend of text and image FMs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Third Important note:&lt;/em&gt;&lt;/strong&gt; Access to models that aren't owned by Amazon is not instantaneous. The Titan models I requested showed as "Access Granted" immediately. The others took a little longer. Also important to note - even though the models showed as "Access Granted" in the Model access screen, they didn't show as available in the Providers screen as quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  I have some FMs to work with. Now what?
&lt;/h2&gt;

&lt;p&gt;For basic experimentation, you can go to the playgrounds. I started with the Image playground, because of course I did. Images are fun! &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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd2zkw1m5x0epzll941e3.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd2zkw1m5x0epzll941e3.png" alt="First screen capture of Amazon Bedrock" width="800" height="434"&gt;&lt;/a&gt;&lt;br&gt;
As you can see in the image, there are some configurations you can tune. You can provide a reference image to help the generator do its work. You can choose whether you want to generate a whole new image or edit an existing image. If you choose to generate and image, you can specify things to exclude from the image using the negative prompt. From my experience, the negative prompt is hit or miss; I entered in a few different things to exclude and the generator sometimes listened and sometimes did not. Kind of like my dog Loki!&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm04k6a02fc4vqicz4utp.jpg" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm04k6a02fc4vqicz4utp.jpg" alt="Screen capture of the Amazon Bedrock Image playground" width="800" height="800"&gt;&lt;/a&gt; As shown in this image, here's an instance of Loki &lt;em&gt;not&lt;/em&gt; listening...&lt;/p&gt;

&lt;p&gt;I like that you can adjust the number of images the generator should offer; you can choose between 1 and 5, and it defaults to 3 in the console or 1 in the API call. You can adjust the prompt strength as well. A higher prompt strength forces higher alignment to the prompt. You can set this value between 1.1 and 10.0, and it defaults to 8.0. You can also set the height and width of the generated image(s), as long as you set within the permitted values identified on &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-titan-image.html" rel="noopener noreferrer"&gt;this documentation page&lt;/a&gt;. You can also set the seed value if you would like to see similar images run to run.&lt;/p&gt;

&lt;p&gt;It took me several tries playing with my prompt before I ended up with images that I was happy with. You can see the final image below, and following that I've included the code for the API call that produced it.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg5cnhoh00zyhbwxbub3.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg5cnhoh00zyhbwxbub3.png" alt="Purple unicorn jumping over the earth, with a starry sky and the moon behind it" width="512" height="512"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;aws bedrock-runtime invoke-model \&lt;br&gt;
--model-id amazon.titan-image-generator-v1 \&lt;br&gt;
--body "{\"textToImageParams\":{\"text\":\"Photo-realistic purple unicorn in space jumping over the moon, with earth visible in the background. Unicorn must have 4 legs and 1 horn.\",\"negativeText\":\"There should not be any ground visible in the picture\"},\"taskType\":\"TEXT_IMAGE\",\"imageGenerationConfig\":{\"cfgScale\":9.5,\"seed\":0,\"quality\":\"premium\",\"width\":512,\"height\":512,\"numberOfImages\":3}}" \&lt;br&gt;
--cli-binary-format raw-in-base64-out \&lt;br&gt;
--region us-east-1 \&lt;br&gt;
invoke-model-output.txt&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Careful readers may notice that the generator reversed the moon and earth in the image compared to the actual request.&lt;/p&gt;

&lt;h2&gt;
  
  
  The good and the not so good
&lt;/h2&gt;

&lt;p&gt;As always with image generation, the quality of the creation will be largely dependent upon the quality of the prompt. My prompt was ok, not great, so the image generated was cool, but not perfect. You can learn much more about prompt engineering and how to use it more effectively by reading through the &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-engineering-guidelines.html" rel="noopener noreferrer"&gt;Amazon Bedrock user guide&lt;/a&gt; section on Prompt engineering. There's a bunch of really good examples and recommendations there!&lt;br&gt;
So, a short list of the good:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wide range of FMs available to use&lt;/li&gt;
&lt;li&gt;Good guidance and explanation on use of the FMs embedded into the console itself&lt;/li&gt;
&lt;li&gt;Great ability to invoke the FMs in Bedrock using the API&lt;/li&gt;
&lt;li&gt;The playground is lovely for helping you test out your prompts and tuning before releasing the model to the world&lt;/li&gt;
&lt;li&gt;The credits I have in my account can be applied to Amazon Bedrock&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And a short list of the not so good:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude (Sonnet, Haiku, Instant) isn't available unless you provide a use case. This makes me sad, even though I'm sure it's an Anthropic requirement, not an AWS requirement&lt;/li&gt;
&lt;li&gt;If you wish to train (and more importantly use) your own custom model built on a FM, then you have to purchase provisioned throughput, which must be purchased in 1-month or 6-month commitment terms&lt;/li&gt;
&lt;li&gt;Pricing varies widely between the different models. Make sure you check &lt;a href="https://aws.amazon.com/bedrock/pricing/" rel="noopener noreferrer"&gt;the Bedrock pricing page&lt;/a&gt; for details before you go down the path of deploying a Bedrock-sourced model into production&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it. I'm collecting data to train a custom model off of a base model, but don't have enough yet. I'll try to pop back over here once I've had a chance to do that to walk y'all through that process. Until then, go Bedrock the Kasbah, and have some fun integrating GenAI into your applications!&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndtiprl42ng9g73vophi.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndtiprl42ng9g73vophi.png" alt="A blue-toned kasbah" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>generativeai</category>
      <category>awscommunitybuilder</category>
      <category>buildlearngrow</category>
    </item>
    <item>
      <title>The most fun I've had renewing a cert. Ever!</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Mon, 08 Jan 2024 20:35:13 +0000</pubDate>
      <link>https://forem.com/aws-builders/the-most-fun-ive-had-renewing-a-cert-ever-5b8k</link>
      <guid>https://forem.com/aws-builders/the-most-fun-ive-had-renewing-a-cert-ever-5b8k</guid>
      <description>&lt;p&gt;I am in the midst of my gauntlet of AWS certification renewals (7 of my 8 were set to expire over the next 3 months), so I've been diving into all the resources I can find to make my preparation for the exams as enjoyable and educational as possible. Since the last time my certs were up for renewal, AWS Skill Builder has become available, and I really like the work, time, and energy AWS has been investing into building a great learning platform for their users.&lt;/p&gt;

&lt;p&gt;You might or might not be aware that I am a huge fan of using gamification to encourage learning and development. I'm planning a few all-employee events for my company this year that will be using DeepRacer and PartyRock as tools to encourage additional learning centered on machine learning and artificial intelligence, which I'm excited about. I also host quarterly Cyber Capture the Flag events, which are free and open to the general public, with my employer's support, to help employees, students, and other professionals upskill in Cyber engineering. You can learn about those offerings by visiting &lt;a href="https://www.parsons.com/dtc-ctf/" rel="noopener noreferrer"&gt;this site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I like using gamification tactics in my own learning efforts as well, so when &lt;a href="https://aws.amazon.com/training/digital/aws-cloud-quest/" rel="noopener noreferrer"&gt;AWS Cloud Quest&lt;/a&gt; was first released in March 2022 I of COURSE had to check it out. And I discovered that it was a LOT of fun. In this 3D virtual world you explore a city, helping its residents solve their application and infrastructure problems using AWS services. The solutioning work is done in AWS sandboxes provided as part of AWS Cloud Quest, so you're not just answering questions, you're getting hands on with AWS, building solutions and troubleshooting incomplete/incorrectly implemented designs using the knowledge you've gained by playing the games and completing quests.&lt;/p&gt;

&lt;p&gt;Along the way you can collect pets and shoot down drones, answering quiz questions and collecting cards which can then be used to solve puzzles for extra rewards. Your character levels up as you go, and if you complete a full quest you receive a digital badge demonstrating your knowledge and hands on experience at working with and building solutions in AWS.&lt;/p&gt;

&lt;p&gt;Since the initial release, AWS has continued to expand the training opportunities available through AWS Cloud Quest, adding roles focused on Solutions Architecture, Serverless Development, Machine Learning, Security, Data Analytics, and Networking, and currently in beta their latest extension - the abililty to renew your Cloud Practitioner certification up to six months in advance of its expiration date by completing a series of quests in AWS Cloud Quest instead of by taking a question-based certification exam.&lt;/p&gt;

&lt;p&gt;Sounds fun, you say? It is!&lt;/p&gt;

&lt;p&gt;How can I try this out, you ask? I'm here to help!&lt;/p&gt;

&lt;p&gt;First, you'll need to register for an AWS Skill Builder account. The free version is fine, at least for the Cloud Practitioner Recertification Beta offering. Do this by &lt;a href="https://explore.skillbuilder.aws/learn/signin" rel="noopener noreferrer"&gt;visiting the site&lt;/a&gt;. You'll be presented with a selection of login options; pick the one that makes the most sense for you. I log in through the AWS Partner Network (APN) login, since my company has been an AWS Partner for quite a while. But there are other options available as well.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nks4mhsgkid5n1hdvxb.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nks4mhsgkid5n1hdvxb.png" alt="Login options for AWS Skill Builder"&gt;&lt;/a&gt;&lt;br&gt;
Second, from the Learner Dashboard scroll down to the courses that are available. You can query for Cloud Quest if you'd like to reduce the number of options you can see. Select the &lt;strong&gt;Beta: AWS Cloud Quest: Recertify Cloud Practitioner&lt;/strong&gt; option and click on the &lt;code&gt;Enroll&lt;/code&gt; button. This will lead to another popup with the options to &lt;code&gt;Close&lt;/code&gt;, &lt;code&gt;View My Courses&lt;/code&gt;, or &lt;code&gt;Start Learning Now&lt;/code&gt;. Select the &lt;code&gt;Start Learning Now&lt;/code&gt; option. This will open another window, where the Cloud Practitioner Quest will open.&lt;/p&gt;

&lt;p&gt;Initially, you'll be signed in to Cloud Quest as a Cloud Practitioner. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31n79ua1flfzouydus3o.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31n79ua1flfzouydus3o.png" alt="Start Page for Cloud Quest, with Cloud Practitioner role"&gt;&lt;/a&gt;&lt;br&gt;
You'll be invited to link your AWS Candidate ID to your player account in order to access the recertification profile and set of quests. To find your AWS Candidate ID, log in to your &lt;a href="https://www.aws.training/Certification" rel="noopener noreferrer"&gt;AWS Certification Account&lt;/a&gt;. Your ID will be in the upper right of your Certification site, and will begin with &lt;strong&gt;AWS&lt;/strong&gt; followed by eight numbers. Copy and paste your AWS Candidate ID into the prompt. The system will validate your eligibility to play the recertification role, and then will change your player for you. You'll get a popup indicating the change, and then you'll be off and running.&lt;/p&gt;

&lt;p&gt;In order to complete your recertification, you'll need to work your way through 13 specific quests, each with an accompanying hands-on component. Most of those will be run within a sandbox provided by AWS, with the exception of one - the cost estimation one, which uses the publicly available AWS Cost Estimation tool. Each quest includes a problem description, a guided partial solution, and a final portion where you get to work independently to complete the solution.&lt;/p&gt;

&lt;p&gt;The entire process of solving the challenges to renew my Cloud Practitioner certification took a few days, and it was fun through the entire effort. I continue to revisit the Cloud Quest, and each time I do I learn, collect cards, and try to befriend more pets. This is a fantastic way to keep building knowledge in a memorable and engrossing manner. I have considered purchasing the paid Skill Builder subscription before, and the Cloud Quest offerings alone make it completely worth the price.&lt;/p&gt;

&lt;p&gt;If you already have your Cloud Practitioner certification, and if it's going to expire soon, I strongly recommend trying out the Cloud Practitioner Recertification Cloud Quest for your recertification effort. It's fun, hands-on, free, and gets you actually using the knowledge in well designed, applied sandbox labs. Go give it a try!&lt;/p&gt;

&lt;p&gt;I'm happy to friend anyone in there as well. My username is Jennworks40. Let's connect!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>All the trees of the Community forest</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Fri, 15 Dec 2023 21:51:01 +0000</pubDate>
      <link>https://forem.com/aws-builders/all-the-trees-of-the-community-forest-3524</link>
      <guid>https://forem.com/aws-builders/all-the-trees-of-the-community-forest-3524</guid>
      <description>&lt;p&gt;Hard to believe it's been a whole year since we posted our &lt;a href="https://dev.to/aws-builders/aws-community-builders-holidays-posts-2022-397h"&gt;Holiday Thank You Post 2022&lt;/a&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvw7ah9zz2kdylhusvsb.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvw7ah9zz2kdylhusvsb.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;During our hike in Fire Valley the day before re:Invent this year, we talked a lot about how grateful we were to be part of the AWS global community made up of &lt;a href="https://aws.amazon.com/developer/community/community-builders/" rel="noopener noreferrer"&gt;AWS Community Builders&lt;/a&gt;, &lt;a href="https://aws.amazon.com/developer/community/heroes/?community-heroes-all.sort-by=item.additionalFields.sortPosition&amp;amp;community-heroes-all.sort-order=asc&amp;amp;awsf.filter-hero-category=*all&amp;amp;awsf.filter-location=*all&amp;amp;awsf.filter-year=*all&amp;amp;awsf.filter-activity=*all" rel="noopener noreferrer"&gt;AWS Heroes&lt;/a&gt;, and employees. And we hatched a plot to say "Thank you" once again to all the wonderful AWS folks who make up the community management team:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/rossbarich/" rel="noopener noreferrer"&gt;Ross Barich&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/taylorjacobsen" rel="noopener noreferrer"&gt;Taylor Lacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/albert-zhao-49b62a129/" rel="noopener noreferrer"&gt;Albert Zhao&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/ernalv2/" rel="noopener noreferrer"&gt;Ernesto Alvarez&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/lilykerns/" rel="noopener noreferrer"&gt;Caroline (Lily) Kerns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/jasonrobertdunn/" rel="noopener noreferrer"&gt;Jason Dunn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/markpergola/" rel="noopener noreferrer"&gt;Mark Pergola&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/thembile-nonhle-ndlovu/" rel="noopener noreferrer"&gt;Thembile Ndlovu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/mariaencinar/" rel="noopener noreferrer"&gt;Maria Encinar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/wesley83/" rel="noopener noreferrer"&gt;Wesley Faulkner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/susanlopezbeswick/" rel="noopener noreferrer"&gt;Susan Lopez&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/benpdx/" rel="noopener noreferrer"&gt;Ben Fowler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/machin-william/" rel="noopener noreferrer"&gt;Will Machin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/nellyandrade/" rel="noopener noreferrer"&gt;Nelly Andrade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/shafrazrahim/" rel="noopener noreferrer"&gt;Shafraz Rahim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Smile Lv&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This community team provides support to the global community in a multitude of ways. Whether it's providing us with webinars and sessions with individuals as varied as Jeff Barr and the creators of PartyRock, providing program benefits ranging from certification vouchers and AWS credits to the coolest exclusive SWAG, and just generally providing insight and guidance to the whole community, our community wouldn't be the thriving, vibrant ecosystem it is without their help. One might even say they provide a forest worth of support trees! &lt;/p&gt;

&lt;p&gt;So what could be a better way to say thank you this year than by creating a veritable forest of thank you trees? And that's just what a group of us, Community Builders and Heroes decided to do. The list of trees below is dynamic and growing, so check back later to see all the new sprouts, but for now, take a look at the lovely &lt;em&gt;thank you posts&lt;/em&gt; our builders took the time to craft and nurture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/aws-builders/thank-you-community-builder-leaders-23-82a"&gt;Ben's tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/aws-builders/tree-ly-thankful-5001"&gt;Jenn's tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/brianhhough/thankful-for-the-aws-community-builders-program-building-19bi"&gt;Brian's tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/aws-builders/operation-fire-valley-rocks-4mi6?preview=58e0683f8d43b0a39b86a07cd929928755afc9614d80316d3996a04adc87d5c2f6f6f51a72a85d5bb226b0f066e4a1fe6582c8485980943d17b5c8e4"&gt;Rich's too&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/aws-builders/operation-fire-valley-3b7h"&gt;And Traian's&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/aws-builders/aws-community-builders-thankful-post-2023-33o8"&gt;Amelia's addition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/bansi2000/operation-fire-valley-rocks-3db"&gt;And Bansi's&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/aws-heroes/another-year-in-the-community-thank-you-aws-community-team-thankfulforest2024-firevalleyrocks-2pki"&gt;Johannes adding to the forest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As fun as it is to watch this forest grow, it is but a small representation of the gratitude we, the Community Builders and Heroes, share for your dedication, patience, innovations, support, and general AWSomeness. We exist because of you. Thank you for starting this forest!&lt;/p&gt;

&lt;p&gt;If you're interested in joining the AWS Community Builder organization after reading this and getting a glimpse of the forest, you can &lt;a href="https://aws.amazon.com/developer/community/community-builders/?intClick=dev-center-2021_main" rel="noopener noreferrer"&gt;join the waitlist&lt;/a&gt; to get notified when the application process opens again.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gfk0v9p1l1u3v37ycbq.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gfk0v9p1l1u3v37ycbq.png" width="800" height="370"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fay9xcfrpmoi39kbnmd6u.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fay9xcfrpmoi39kbnmd6u.png" width="800" height="836"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzhh9uooqfbyqsizj3brf.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzhh9uooqfbyqsizj3brf.png" alt="tree" width="800" height="656"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbo5ml05h25kjmh9fknre.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbo5ml05h25kjmh9fknre.png" alt="tree" width="800" height="628"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fscneocyy24p4p1c96gy9.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fscneocyy24p4p1c96gy9.png" alt="tree" width="800" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>thankfulforest2024</category>
      <category>firevalleyrocks</category>
      <category>awscommunity</category>
    </item>
    <item>
      <title>Tree-ly thankful</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Fri, 15 Dec 2023 19:25:02 +0000</pubDate>
      <link>https://forem.com/aws-builders/tree-ly-thankful-5001</link>
      <guid>https://forem.com/aws-builders/tree-ly-thankful-5001</guid>
      <description>&lt;p&gt;It's easy to get busy with all the activities that happen around year end, and to forget to pause and just be grateful for all the good. So I decided to be deliberate about pausing for a moment to take a good look at some of the trees in this beautiful forest of life I am surrounded by.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what am I grateful for this year?
&lt;/h2&gt;

&lt;p&gt;Well, there's always the standards:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Health&lt;/li&gt;
&lt;li&gt;Family&lt;/li&gt;
&lt;li&gt;Friends&lt;/li&gt;
&lt;li&gt;A great career&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What else do I appreciate?
&lt;/h2&gt;

&lt;p&gt;And then there are the extras, those trees that fill out the forest and make it really stand out. These include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The AWS Community Builders&lt;/li&gt;
&lt;li&gt;Becoming an AWS Ambassador&lt;/li&gt;
&lt;li&gt;The global tech communities I am part of, like &lt;a href="https://techstudyslack.slack.com" rel="noopener noreferrer"&gt;TechStudySlack&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Music and art&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's even better?
&lt;/h2&gt;

&lt;p&gt;It's even better when a myriad of things I am grateful for can combine into a true forest, where the sum is far greater than the parts. The AWS Ambassadors and Community Builders programs, and TechStudySlack, are all places where multiple trees combine into a forest, because in each I have friends from around the world, who are interested in the tech that makes my career so great, with leadership who put heart and soul into making the community great, and where creativity is encouraged.&lt;br&gt;
I just joined the Ambassadors in November this year, so it is the community I am newest to. And it is truly an honor to be part of this community of recognized experts from AWS Partner companies around the globe. There are less than 500 of us globally, and less than 10% of all AWS Ambassadors are women. I'm thrilled to do my small part to add to the diversity of the group, and every Ambassador I've had the privilege of interacting with over the last month has been fantastic.&lt;br&gt;
TechStudySlack is the community I've been part of for the longest amount of time. I am part of the small group of co-founders of the community, and it's been amazing helping it grow from the initial tiny community to the more than 86,000 members it now embraces globally.  We celebrated when it reached 2,000 members, then 10,000, then 25,000, and it continues to grow and thrive, providing a welcoming, inclusive community for anyone seeking to learn and build their career in a multitude of tech topics.&lt;br&gt;
And finally, the AWS Community Builders organization. I've been part of this community for 4 years now, and had the honor of joining the community in its first open call for member applicants (I wasn't part of the beta group). This is another group it's been a privilege to help grow, from the initial few hundred up to the nearly 3,000 people active in the group, whether organizers like the indomitable &lt;a class="mentioned-user" href="https://dev.to/jasondunn"&gt;@jasondunn&lt;/a&gt; and his merry band of AWS employees, Community Builders who have become AWS Heroes like &lt;a class="mentioned-user" href="https://dev.to/lockhead"&gt;@lockhead&lt;/a&gt;, or current Community Builders like myself.&lt;/p&gt;
&lt;h2&gt;
  
  
  How can I honor that great community in a way that is worthy?
&lt;/h2&gt;

&lt;p&gt;By making a tree, of course. Not just any tree - a tree that is grown using AWS Step Functions, and which celebrates all the things that make the AWS Community Builders something I am so grateful to have been a part of for the last 4 years, and something I am excited to continue to be part of for however much longer I am able to. My tree is the image at the top of this post, and it calls out some of the cool things about the Community Builders throughout its branches. &lt;br&gt;
I couldn't list &lt;em&gt;EVERYTHING&lt;/em&gt; that is awesome about the Community Builders in my tree, of course, or it would be too tall to show. But I called out a few of the things I appreciate. &lt;br&gt;
AWS Step Functions are fun to play with - I made a similar tree and posted about it &lt;a href="https://dev.to/aws-builders/using-aws-step-functions-as-art-4em2"&gt;here&lt;/a&gt; several months ago - and allow you to combine multiple AWS services into a cohesive, organized workflow to accomplish a task that may take a long time to fully complete. Step Functions allow users to create workflow that last seconds to months, and you pay by the transition from one step to another, which makes them quite affordable to use. I like that the console provides multiple templated functions you can begin with and then modify to suit your customized needs. I also like that you can catch errors, log them, and then continue processing through the workflow. You can build quite a bit of resiliency into your workflows with minimal effort. And of course, you can pull a bit of art into the adventure by organizing your workflow to paint a picture!&lt;/p&gt;
&lt;h2&gt;
  
  
  Wrapping this up
&lt;/h2&gt;

&lt;p&gt;No matter how messy life gets, it is beautiful. Take time to stop and appreciate the trees that make your life wonderful. I promise you, they are there. I'm thankful for all the standards that make life awesome, and I'm thankful for the bonuses that make it outstanding. The Community Builders is one of those bonuses. The really cool thing? You can check out the Community Builders &lt;a href="https://aws.amazon.com/developer/community/community-builders/" rel="noopener noreferrer"&gt;here&lt;/a&gt; and get on the wait list for the next time the applications open. Come build stuff with us!&lt;/p&gt;
&lt;h2&gt;
  
  
  Oh, and here's a pic of my tree and its code for fun
&lt;/h2&gt;

&lt;p&gt;Here's my whole tree if you'd like to take a closer look:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulwiq0293sirumhnoobf.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulwiq0293sirumhnoobf.png" alt="Image showing a multi-stage AWS Step Function. The stages make the function look like a pine tree with orange pinecones scattered over it."&gt;&lt;/a&gt;&lt;br&gt;
And the code used to create it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Comment"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Making a tree to join the forest of thanks"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"I am thankful for"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"I am thankful for"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"The AWS Community Builders"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"The AWS Community Builders"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Task"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:lambda:us-east-1:xxxxx:function:RedLight"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Catch"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"ErrorEquals"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"States.TaskFailed"&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Friendships around the world"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Friendships around the world"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Friendships around the world"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Early access to new services and capabilities"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Early access to new services and capabilities"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Parallel"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Branches"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Organizers"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Organizers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Succeed"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Who care"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Who care"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Task"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:lambda:us-east-1:xxxxx:function:RedLight"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Catch"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="nl"&gt;"ErrorEquals"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
                    &lt;/span&gt;&lt;span class="s2"&gt;"States.TaskFailed"&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"And are fun"&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"And are fun"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Result"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"With fun events and SWAG"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"To be around"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"To be around"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Succeed"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"With fun events and SWAG"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"With fun events and SWAG"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Parallel"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"And smiles all around"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Branches"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"I am"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"I am"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Glad"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Glad"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Task"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:lambda:us-east-1:xxxxx:function:RedLight"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Catch"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="nl"&gt;"ErrorEquals"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
                    &lt;/span&gt;&lt;span class="s2"&gt;"States.TaskFailed"&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Community Builders abound"&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Community Builders abound"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Result"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"And smiles all around"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Rooted in growth"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Rooted in growth"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Fun"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Fun"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Task"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:lambda:us-east-1:xxxxx:function:RedLight"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Catch"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="nl"&gt;"ErrorEquals"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
                    &lt;/span&gt;&lt;span class="s2"&gt;"States.TaskFailed"&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
                  &lt;/span&gt;&lt;span class="nl"&gt;"Next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"And friendship"&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"And friendship"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Result"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"And smiles all around"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"StartAt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"We play"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"States"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"We play"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"And smiles all around"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pass"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"End"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>communitybuilders</category>
      <category>stepfunctions</category>
      <category>thankfulforest2024</category>
      <category>firevalleyrocks</category>
    </item>
    <item>
      <title>PartyRock on! Excellent!</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Thu, 16 Nov 2023 17:19:21 +0000</pubDate>
      <link>https://forem.com/aws-builders/partyrock-on-excellent-51h1</link>
      <guid>https://forem.com/aws-builders/partyrock-on-excellent-51h1</guid>
      <description>&lt;h3&gt;
  
  
  Such a triumph!
&lt;/h3&gt;

&lt;p&gt;Getting an early look at the new &lt;strong&gt;PartyRock, an Amazon Bedrock Playground&lt;/strong&gt; AWS just released was non-heinous. Actually, it was better than non-heinous - it was &lt;strong&gt;EXCELLENT&lt;/strong&gt;!&lt;/p&gt;

&lt;h3&gt;
  
  
  Righteous!
&lt;/h3&gt;

&lt;p&gt;I created a silly app using the tool. The app is silly, but &lt;strong&gt;PartyRock&lt;/strong&gt; is most definitely &lt;em&gt;not&lt;/em&gt; bogus. My app takes the user's mood and scenario as inputs and then provides a "Bill and Ted's ..." quote that fits both, along with an image of Bill and Ted (the header image for this article is one of the generated images) that fits the mood, scenario, and quote. It also gives the user a chance to chat with Bill and Ted! The app is called "Bill and Ted's Excellent Communicator" and you can check it out &lt;a href="https://partyrock.aws/u/jennworks40/VxRI1mWiu/Bill-and-Ted's-Excellent-Communicator" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Both the quote generation and the chat bot responses are handled using the &lt;em&gt;Claude Instant&lt;/em&gt; Large Language Model (LLM), which is one of several you can choose to work with depending on what you want as outputs. You can also adjust the &lt;code&gt;Temperature&lt;/code&gt; and &lt;code&gt;Top P&lt;/code&gt; of the responses to give a bit finer control over how the LLM builds its answers. You can even specify maximum word count and other elements using prompt engineering if you choose to!&lt;/p&gt;

&lt;p&gt;As you can probably see from the header image on this article, it doesn't quite actually get Bill and Ted true to character, but it tries hard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Totally non-heinous to use.
&lt;/h3&gt;

&lt;p&gt;What's really amazing about &lt;strong&gt;PartyRock&lt;/strong&gt; is how easy and accessible it makes creating a working application using LLMs. I didn't have to spend hours or days writing code to create my app. Instead, I spent a few minutes to write the following: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;Create an app that takes a user's mood and scenario description and provides a 'Bill and Ted's ...' quote that fits both. Then generate an image of Bill and Ted that fits the mood and scenario. Bill is short with short, tightly curly blonde hair. Ted is tall, with straight black, shoulder length hair. Both are holding guitars. They are best friends.&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PartyRock&lt;/strong&gt; extracted the inputs and outputs needed and connected LLM elements using multiple widgets to provide the quote, image, and chat bot as requested.&lt;/p&gt;

&lt;p&gt;Once the initial app is created, of course, you can go in and edit each of the widgets, or add new widgets. You can even &lt;em&gt;"Remix"&lt;/em&gt; the app, taking the basic idea of it and creating something similar, but also different. You aren't limited to doing that with just apps you've created, either. Instead, you can go to any publicly shared &lt;strong&gt;PartyRock&lt;/strong&gt; app and use it as a basis for something new you create. I did quite a bit of editing for both the photo prompt and the quote generation prompt after &lt;strong&gt;PartyRock&lt;/strong&gt; provided its first attempt, but even the editing only took a few minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Party on!
&lt;/h3&gt;

&lt;p&gt;I invite you to check out my app &lt;a href="https://partyrock.aws/u/jennworks40/VxRI1mWiu/Bill-and-Ted's-Excellent-Communicator" rel="noopener noreferrer"&gt;here&lt;/a&gt;, and to join in the fun by creating your own. Take mine and make it better, or craft something completely new. &lt;/p&gt;

&lt;h3&gt;
  
  
  Good vibes.
&lt;/h3&gt;

&lt;p&gt;Oh, a few more non-heinous notes about &lt;strong&gt;PartyRock&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You don't need an AWS account to use it&lt;/li&gt;
&lt;li&gt;Log in using a federated identity (such as your gmail email address)&lt;/li&gt;
&lt;li&gt;For a limited time every user gets an exceptionally generous free trial. Which means you can play, experiment, and create apps that harness the power of LLMs &lt;strong&gt;for free&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This isn't bogus, it's &lt;strong&gt;EXCELLENT&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;Come join the Party and start building your own most excellent apps.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>communitybuilders</category>
      <category>partyrockplayground</category>
    </item>
    <item>
      <title>Using AWS DeepComposer to Upskill Employees</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Wed, 26 Jul 2023 21:44:46 +0000</pubDate>
      <link>https://forem.com/aws-builders/using-aws-deepcomposer-to-upskill-employees-3coi</link>
      <guid>https://forem.com/aws-builders/using-aws-deepcomposer-to-upskill-employees-3coi</guid>
      <description>&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;Generative AI, and specifically Large Language Models (LLMs) like ChatGPT, have been all over media lately. When OpenAI unleashed GPT3.5 on the masses November 30, 2022, it was like opening Pandora's box. The Generative AI genie is out of the box and I'm pretty sure no one is putting it back in again.&lt;/p&gt;

&lt;p&gt;But beyond the current reality star of the Generative AI world, Generative AI models have quietly been having a significant impact on the way many businesses operate day to day for several years now.&lt;/p&gt;

&lt;p&gt;My belief is that these types of models and systems are here to stay, that the way we operate will adapt to include them, and that the world won't end as a result.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenge
&lt;/h2&gt;

&lt;p&gt;For senior leaders and managers the rapid incorporation we are seeing poses a few challenges:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;How do we enable our teams to use these great new resources effectively, securely, intelligently, and safely to add value to the products and systems we deliver for our clients? Bias in AI is real and has been documented already with many of the AI systems that have been deployed into the wild. Whether you look at Amazon's now discontinued AI tool used for recruiting, &lt;a href="https://becominghuman.ai/amazons-sexist-ai-recruiting-tool-how-did-it-go-so-wrong-e3d14816d98e" rel="noopener noreferrer"&gt;discussed in this link,&lt;/a&gt; or other examples of bias, it doesn't take long to realize that bias can influence the decisions made by AI systems even with the best of intentions in their creation. It's important to consider the impact AI can have on the way we operate, especially from the perspective of preventing improper bias. And there are also security concerns related to these resources, such as those talked about in this article &lt;a href="https://www.pluralsight.com/blog/security-professional/chatgpt-data-breach#:~:text=What%20data%20was%20exposed%20during,the%20credit%20card%20expiration%20date." rel="noopener noreferrer"&gt;about the ChatGPT data breach.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How can we encourage our employees to build the new skills they need quickly? Individuals vary widely in their acceptance and adoption of change; it is up to senior leaders to provide their teams with the tools they need to understand the change and its value, develop the skills they need to use the new tools, and reinforce usage of the new tools until doing so becomes part of the organization's culture.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How can we keep our employees engaged and enthusiastic in the transactional employment environment so many operate within? Loyalty to employers, and to employees, has been in an overall decline since 2020. Between the impacts of the pandemic, the move to a more remote workforce, and recent widespread layoffs across the tech sector, employees don't feel as engaged as they used to with their company. In fact, over 50% of employees in a recent poll indicated they're looking for new opportunities. This is documented &lt;a href="https://www.sandiegouniontribune.com/top-workplaces/story/2022-11-20/workers-are-doing-plenty-of-soul-searching#:~:text=Employees%20showed%20a%20steady%20decline,74.4%20percent%20in%20April%202020." rel="noopener noreferrer"&gt;in this San Diego Union Tribune article.&lt;/a&gt; Hiring employees is costly; much more so than keeping existing employees. According to &lt;a href="https://resources.skillwork.com/cost-of-hiring-new-employee-vs-retaining#:~:text=In%20short%2C%20when%20you%20retain,recoup%20for%20years%20to%20come." rel="noopener noreferrer"&gt;this article&lt;/a&gt; "the average turnover cost per employee is equivalent to 6-9 months of an employee's salary, while others state it could cost up to two times the employee's annual salary."&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A Solution
&lt;/h2&gt;

&lt;p&gt;So how do we address these challenges cost effectively? There are many ways to go about targeting pieces of the problem, and no single right answer. But here's one I've used successfully to improve employee engagement, increase mutual loyalty, skill up our staff, and give employees a great, memorable experience in the process.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gamification to Encourage Upskilling
&lt;/h3&gt;

&lt;p&gt;The concept of gamification is not new. Using it to upskill employees isn't new either. The term itself was coined by Nick Pelling in 2002. But the idea behind it was used way, &lt;strong&gt;WAY&lt;/strong&gt; back in 1896 by S&amp;amp;H, who issued stamps to customers in a rewards program designed to encourage customer loyalty. &lt;a href="https://spinify.com/blog/gamification-history" rel="noopener noreferrer"&gt;This article&lt;/a&gt; has a great history of gamification across industry and is a quick read.&lt;/p&gt;

&lt;p&gt;Using this strategy to upskill can build community, give employees a sense of excitement, and just inject flat out fun into the workplace. But...planning gamification events can be tricky. Especially when you are looking to upskill quickly in a topic as broad as LLMs and their proper usage.&lt;/p&gt;

&lt;p&gt;Thankfully, AWS has provided tools to help companies who wish to upskill their teams. Last year, I organized a &lt;a href="https://aws.amazon.com/blogs/machine-learning/leveraging-artificial-intelligence-and-machine-learning-at-parsons-with-aws-deepracer/" rel="noopener noreferrer"&gt;company-wide DeepRacer event&lt;/a&gt; to encourage our employees to build knowledge in Reinforcement learning. We had so much success with that initiative that this year I was able to plan a new gamification event - this time one centered around Generative AI - which is currently underway.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Event
&lt;/h3&gt;

&lt;p&gt;What is this year's event, you ask? We are calling it "Parsons' Battle of the AI Bands" and it is exactly that. Unlike the DeepRacer event last year, this event is a team, or &lt;em&gt;band&lt;/em&gt;, event, where each band uses AWS' DeepComposer service to craft an original song. The band provides the melody; DeepComposer's Generative AI model adds the harmony. Each band also picked their band name, created a band logo, and came up with album art to represent their song. Songs and album art were loaded to SoundCloud, and now the entire company is listening to the playlist and voting on their favorite entries across 4 distinct categories.&lt;/p&gt;

&lt;p&gt;We will be holding an awards show after all the voting concludes to announce the winning bands, and winning teams will receive prize packs that include a cash bonus along with band-related paraphernelia including band t-shirts, custom cut vinyls with their album art and all the submitted tracks, and other fun awards. &lt;/p&gt;

&lt;p&gt;Bands are really getting into the voting, reaching out to coworkers and peers across the company and encouraging them to vote for their favorite submissions. And participants are learning about Generative AI in a fun and memorable way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benefits of Using AWS DeepComposer
&lt;/h3&gt;

&lt;p&gt;One of my favorite things about running an event like this using AWS DeepComposer to enable the process is that doing so allows us to benefit from AWS' prioritization of enabling learning through and about their tools. When you log in to the DeepComposer console, you are greeted with a few links set up specifically to help you learn Generative AI.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxao74nuwovzx7kkghwj.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxao74nuwovzx7kkghwj.png" alt="This screen shot shows the console and the included links for training"&gt;&lt;/a&gt;&lt;br&gt;
These links lead to a lovely &lt;a href="https://d32g4xocucupjo.cloudfront.net/#welcome" rel="noopener noreferrer"&gt;7-chapter learning module&lt;/a&gt; that takes its viewers through the basics of Machine Learning and on into Generative AI specifically. Then it dives into the specific algorithms available in AWS DeepComposer, U-Net and MuseGAN, and what they were designed to do, followed by a strong look at Generative Adversarial Networks (GANs), Variational Autoencoders (VAEs), and Autoregressive (AR) Models. The next chapter talks about how computers understand music, which is different than how humans do, and the whole module wraps up with an intro to AWS DeepComposer itself. Just working through the module provides a good foundational understanding of Generative AI. And for those who are curious after going through the module, AWS provides a deeper dive directly from the console into 5 additional topics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sounds Fun, But So What?
&lt;/h2&gt;

&lt;p&gt;Humans are curious creatures. Giving them a memorable experience with friendly competition draws them in. Giving them an easy opportunity to learn from that experience with hints and easy routes to deeper dive learning encourages exploration. And bringing the whole company together through an organized event gets people talking, builds engagement, and demonstrates the company's commitment to its people.&lt;/p&gt;

&lt;p&gt;Does the exercise of creating music using AWS DeepComposer make our people experts at Generative AI? No, of course not. But it plants the seeds, gets people talking and thinking about the realm of the possible, and encourages them to stay curious.&lt;/p&gt;

&lt;p&gt;Admittedly, AWS DeepComposer doesn't train our folks in Prompt Engineering, which will become a more and more essential skill as AI continues to become ever more ubiquitous. So we will still need to do that. I bet we can come up with a fun gamification event to build that skillset in our teams!&lt;/p&gt;

&lt;p&gt;What have you done to encourage your employees to stay curious, to learn new skills, and to adapt to the game changing (see what I did there?) capabilities at our fingertips?&lt;/p&gt;

</description>
      <category>generativeai</category>
      <category>gamification</category>
      <category>creativeupskilling</category>
      <category>gans</category>
    </item>
    <item>
      <title>Using AWS Step Functions as Art</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Thu, 29 Jun 2023 23:57:23 +0000</pubDate>
      <link>https://forem.com/aws-builders/using-aws-step-functions-as-art-4em2</link>
      <guid>https://forem.com/aws-builders/using-aws-step-functions-as-art-4em2</guid>
      <description>&lt;p&gt;AWS Step Functions are a service I find is undervalued in my organization. But they are a powerful tool for managing workflows and automation, especially in situations where many different tools, services, and possible flow paths need to be brought into the mix. According to the documentation here &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://docs.aws.amazon.com/step-functions/latest/dg/integrate-services.html" rel="noopener noreferrer"&gt;
      docs.aws.amazon.com
    &lt;/a&gt;
&lt;/div&gt;
 you can incorporate AWS Lambda, AWS Batch, Amazon DynamoDB, Amazon ECS, Amazon SNS, Amazon SQS, AWS Glue, Amazon SageMaker, Amazon EMR, and even other AWS Step Functions into your step function workflow (along with many more; look at the table at the bottom of the linked page).

&lt;p&gt;I was feeling a bit restive last week and decided to see what else I could do with AWS Step Functions. As I was playing with the capabilities, I realized that what I was forming looked vaguely tree-like. So I decided to build on that theme.&lt;/p&gt;

&lt;p&gt;By using a Lambda function invocation that is designed to always fail as an output generator for a step, I was able to add colors other than the blue of an unexecuted step and the green of a successful step. Specifically, I could add orange.&lt;/p&gt;

&lt;p&gt;In my code poem below, you can see the structure of the tree. It is a combination of Pass states, Task states, and Parallel states, all working together to create a nice pine-tree-like form.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "Comment": "Building a tree is fun!",
  "StartAt": "Time to plant a seed",
  "States": {
    "Time to plant a seed": {
      "Type": "Pass",
      "Next": "To grow a beautiful tree"
    },
    "To grow a beautiful tree": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:Fail",
      "Catch": [
         {
            "ErrorEquals": [
               "States.TaskFailed"
            ],
            "Next": "As tall as it can be, so wild and free"
         }
       ],
       "Next": "As tall as it can be, so wild and free"
    },
    "As tall as it can be, so wild and free": {
      "Type": "Pass",
      "Next": "My needles are green my trunk is brown"
    },
    "My needles are green my trunk is brown": {
      "Type": "Parallel",
      "Branches": [
        {
          "StartAt": "Im the tallest",
          "States": {
            "Im the tallest": {
              "Type": "Succeed"
            }
          }
        },
        {
          "StartAt": "Healthiest",
          "States": {
            "Healthiest": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:Fail",
              "Catch": [
                {
                  "ErrorEquals": [
                    "States.TaskFailed"
                  ],
                  "Next": "Pine cones are my future"
                }
              ],
              "End": true
            },
            "Pine cones are my future": {
              "Type": "Pass",
              "Result": "Love em",
              "End": true
            }
          }
        },
        {
          "StartAt": "Tree around",
          "States": {
            "Tree around": {
              "Type": "Succeed"
            }
          }
        }
      ],
      "Next": "Whether growing up or growing down"
    },
    "Whether growing up or growing down": {
      "Type": "Parallel",
      "Next": "My trunk roots me to the ground",
      "Branches": [
        {
          "StartAt": "I reach for the sun",
          "States": {
            "I reach for the sun": {
              "Type": "Pass",
              "End": true
            }
          }
        },
        {
          "StartAt": "PC",
          "States": {
            "PC": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:Fail",
              "Catch": [
                {
                  "ErrorEquals": [
                    "States.TaskFailed"
                  ],
                  "Next": "Squirrels and birds"
                }
              ],
              "End": true
            },
            "Squirrels and birds": {
              "Type": "Pass",
              "Result": "Beautiful",
              "End": true
            }
          }
        },
        {
          "StartAt": "I burrow deep underground",
          "States": {
            "I burrow deep underground": {
              "Type": "Pass",
              "End": true
            }
          }
        },
        {
          "StartAt": "!PC",
          "States": {
            "!PC": {
              "Type": "Task",
              "Resource": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:Fail",
              "Catch": [
                {
                  "ErrorEquals": [
                    "States.TaskFailed"
                  ],
                  "Next": "Home for many critters"
                }
              ],
              "End": true
            },
            "Home for many critters": {
              "Type": "Pass",
              "Result": "Good company",
              "End": true
            }
          }
        },
        {
          "StartAt": "I fill the air with scent profound",
          "States": {
            "I fill the air with scent profound": {
              "Type": "Pass",
              "End": true
            }
          }
        }
      ]
    },
    "My trunk roots me to the ground": {
      "Type": "Pass",
      "End": true
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lessons learned from my creative endeavor:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Unless you want to implement a large-scale parallel workload, a single uncaught failure (even a Fail state) leads to the entire step function failing. Since I wanted to use failures as a way to inject some color for the pine cones, this was a little frustrating. I was very happy when I realized that I could use a Task and catch the error off of that Task failure to get the color pop without the failed step function.&lt;/li&gt;
&lt;li&gt;Every name for every state in your step function has to be unique. If you try to reuse a name anywhere, the system will yell at you and refuse to go through its states until you correct the duplicated name. Generally not a problem, just something to note.&lt;/li&gt;
&lt;li&gt;You CAN, however, reuse external sources within your step function. If, for example, you want to be super lazy and not create unique Lambda functions that will each always fail, you can use a single one and just call it multiple times. And that works really well.&lt;/li&gt;
&lt;li&gt;Make sure that your State names are 100% consistent with the execution names you call. Down to the spacing and punctuation! Or your step function will fail to execute.&lt;/li&gt;
&lt;li&gt;You don't have to pass an input into your step function if you don't want to. Even though the default json string into the function has an input specified, it's not actually required.&lt;/li&gt;
&lt;li&gt;For larger, more complex artworks, consider moving into a Map Run instead of a basic Step Function. Using a Map Run allows you to set a tolerated failure for your stages, which in turn gives you more flexibility in your artistic construction of the system.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Interested in learning more about how to work with Step Functions? Check out the tutorials in the documentation. There are quite a few there. I'd love to see the art you create!&lt;/p&gt;

&lt;p&gt;Here's my super fancy schmancy tree art:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fek65ckd2emq5f38e6d7h.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fek65ckd2emq5f38e6d7h.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>art</category>
      <category>awscommunitybuilder</category>
      <category>stepfunction</category>
      <category>playfulfun</category>
    </item>
    <item>
      <title>Community Builders - Christmas Edition</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Tue, 20 Dec 2022 12:45:36 +0000</pubDate>
      <link>https://forem.com/aws-builders/community-builders-christmas-edition-4lh0</link>
      <guid>https://forem.com/aws-builders/community-builders-christmas-edition-4lh0</guid>
      <description>&lt;p&gt;A holiday story of cloud builders, this is the Jenn Bergstrom edition, check out the other posts from my fellow AWS Community Builders on why they love the program and learn more about them too!*&lt;/p&gt;

&lt;h2&gt;
  
  
  What surprises you most about the community builders program?
&lt;/h2&gt;

&lt;p&gt;How much we all have in common even though we come from vastly distinct areas of expertise, years of experience, job roles, countries, etc. The Community Builders really drives home the fact that we are all part of the human race and that we can all learn and grow from each other, which I adore.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s your background and your experience with AWS?
&lt;/h2&gt;

&lt;p&gt;When I stepped back into my career after nearly 7 years of focus on my two kids, I found a job with a small company. We didn't want to invest in building an on prem network so looked to AWS as an alternative. And our customers were hungry for expertise in Cloud, so skilling up made a lot of sense. I transitioned from being a software engineer to a cloud developer, then to a cloud infrastructure / cloud architect, and now (6+ years down the road) I'm a multi-cloud solutions architect with experience building solutions using AWS, Azure, GCP, and OCI. (But AWS is my favorite).&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s the biggest benefit you see from the program?
&lt;/h2&gt;

&lt;p&gt;Definitely the connections and support everyone in the program provides to each other. It is wonderful having friends from around the world who all share a common interest and drive to learn. The AWS credits, which enable a lot of fun play using AWS services, the certification voucher, and the swag are lovely as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s the next swag item that you would like to get?
&lt;/h2&gt;

&lt;p&gt;I love swag that is eco-friendly and fundamentally useful. Things like reusable cups and straws, charging banks, and apparel are always awesome. As random as it may seem, kitchen utensils / gear would be amazing - spatula, apron, hot-pads, bowls, etc. Another thing that would be super cool is a Community Builders flag that we could take with us and plant somewhere temporarily for photo ops and so on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are you eating for dinner today? Share the recipe!
&lt;/h2&gt;

&lt;p&gt;I am probably cooking Pork Katsu with rice and veg for dinner tonight. Pretty simple recipe - coat pork chops with sour cream and seasoned panko breadcrumbs and pan fry to desired done-ness. Cook rice in salted water with a little chopped garlic, fluff with fork and stir in butter to taste; sprinkle with a pinch of salt and pepper. Chop a selection of veggies and steam to al dente, drizzle with olive oil and season with salt, pepper, and garlic powder to taste. To serve, slice pork into 3/4 inch (about 2 cm) thick slices. Put rice on plate, spread pork over rice and spoon veggies beside. Drizzle pork with warm katsu sauce and sriracha to taste. Enjoy!&lt;/p&gt;

&lt;h2&gt;
  
  
  Is there anything else you would like to share about the community builders program in 2022?
&lt;/h2&gt;

&lt;p&gt;Anyone who loves to learn, grow, and help others to do the same, who is passionate about building well-architected solutions on AWS, should consider applying to be a community builder! I was just recently renewed for my 3rd year and I am thrilled to be able to continue growing with this amazing cadre of individuals from around the world. The Community Management Team at AWS is fantastic and put their heart and soul into making the program a truly wonderful offering, and it is an honor to be a part of the Community. Thank you so much, Jason Dunn and team, for your dedication to all of us! &lt;/p&gt;

&lt;p&gt;*Introduction sentence stolen wholesale from Alex Radu, who made a simply lovely post about this topic too.&lt;/p&gt;

</description>
      <category>awscommunitybuilders</category>
      <category>aws</category>
      <category>benefits</category>
      <category>cbchristmas2022</category>
    </item>
    <item>
      <title>Cloud Agnostic, Multi-Cloud, Hybrid Cloud: What's the difference and when would you use each?</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Tue, 12 Oct 2021 20:27:37 +0000</pubDate>
      <link>https://forem.com/aws-builders/cloud-agnostic-multi-cloud-hybrid-cloud-whats-the-difference-and-when-would-you-use-each-2gk2</link>
      <guid>https://forem.com/aws-builders/cloud-agnostic-multi-cloud-hybrid-cloud-whats-the-difference-and-when-would-you-use-each-2gk2</guid>
      <description>&lt;h2&gt;
  
  
  I thought they were all the same?
&lt;/h2&gt;

&lt;p&gt;If you deal with cloud environments in your career, you've likely heard one, two, or all three of these phrases mentioned. In my experience, they are used interchangeably quite often. However, they are not actually interchangeable. Though the phrases are related they mean significantly different things, and the architectural choices you will need to make to adhere to any one of them are distinct.&lt;/p&gt;

&lt;h2&gt;
  
  
  They're really not? Let's see some definitions!
&lt;/h2&gt;

&lt;p&gt;In the vein of 'The Giver', &lt;em&gt;"Precision in language!"&lt;/em&gt; is key here. Before we can define each of these phrases, though, we need to define a few types of clouds, as well as a few examples of things that, while cloud-y, are NOT actually cloud environments. &lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud Environments
&lt;/h3&gt;

&lt;p&gt;Cloud environments are those which conform to the National Institute of Standards and Technology's (NIST) definition of cloud computing. According to this standard, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction." &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This definition is provided in Special Publication 800-145 and includes the following key criteria:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;On-demand self-service&lt;/strong&gt; - a consumer is able to provision compute resources automatically and without human interaction with the service provider&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Broad network access&lt;/strong&gt; - services and resources are available over the network and accessed through standard mechanisms such as cell phones, tablets, laptops, and worksations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource pooling&lt;/strong&gt; - the provider's compute resources are pooled to serve multiple consumers using a multi-tenant model; this also refers to location independence for the resources&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapid elasticity&lt;/strong&gt; - resources can be provisioned and released elastically, often automatically, so that the resources appear to the consumer to be limitless&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measured service&lt;/strong&gt; - resource usage is monitored, controlled, and reported to the provider and the consumer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Great! Now we know what the definition of &lt;em&gt;Cloud&lt;/em&gt; is. Let's look at the definitions of public and private clouds next:&lt;/p&gt;

&lt;h4&gt;
  
  
  Public Cloud
&lt;/h4&gt;

&lt;p&gt;Public clouds are cloud services that can be used by multiple to many different clients/customers. These services are multi-tenant, meaning that each customer's use is isolated from other customers. Examples of public clouds include Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, Alibaba Cloud, IBM Cloud, etc. There are many public cloud providers in the market today.&lt;/p&gt;

&lt;h4&gt;
  
  
  Private Cloud
&lt;/h4&gt;

&lt;p&gt;Private clouds are cloud services that are used by a single client/customer. Typically, these are cloud environments that are set up in a private data center, with the hardware managed, secured, and monitored by the cloud environment owner. Examples of these would be an AWS Outpost deployed in a company datacenter and Azure Cloud Edge.&lt;/p&gt;

&lt;h4&gt;
  
  
  Other Clouds
&lt;/h4&gt;

&lt;p&gt;You may have heard the term Community Cloud as an intermediate between public and private clouds. Community cloud is a subset of public, because it meets the qualities of the public clouds as defined above, but is only made available to a limited set of clients/customers. Examples of this would include Azure Federal, AWS GovCloud, or Google and T-Systems' German sovereign cloud.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud-y Environments (but &lt;strong&gt;NOT&lt;/strong&gt; cloud environments)
&lt;/h3&gt;

&lt;p&gt;Each of the cloud environments mentioned above meet all of the NIST SP 800-145 definition requirements to be labeled as clouds. There are several other environments out there that meet &lt;em&gt;some&lt;/em&gt; of the requirements but not all. These are &lt;strong&gt;not&lt;/strong&gt; true clouds, though they do provide some of the benefits of a true cloud.&lt;/p&gt;

&lt;h4&gt;
  
  
  Virtualized Environments
&lt;/h4&gt;

&lt;p&gt;Virtualized environments are often called private cloud, but they are rarely configured to meet all of the requirements and thus are most of the time &lt;em&gt;not&lt;/em&gt; actually true clouds. Examples of virtualization systems include VM VSphere, Virtuozzo, Nutanix AHV, and SYSE Linux Enterprise Server. These environments generally allow for rapid provisioning and deprovisioning of compute resources and usually provide broad network access. But they are typically resource constrained and access to the ability to provision assets usually passes through system administrator gatekeepers due to the constraints. &lt;/p&gt;

&lt;h4&gt;
  
  
  Container Clusters
&lt;/h4&gt;

&lt;p&gt;Containerized clusters, often managed using a tool like Rancher or OpenShift, are sometimes used to build in scalability and fault tolerance in deployed systems, but they are dependent upon the hardware they are deployed upon, which means they themselves are not cloud. Though deployment of software applications in container clusters can feel very cloudy the clusters and their management systems are not by themselves clouds.&lt;/p&gt;

&lt;h3&gt;
  
  
  Multi, Hybrid, and Agnostic definitions
&lt;/h3&gt;

&lt;p&gt;Now that we know a few different types of clouds, let's look at a quick definition for the three phrases mentioned in the title:&lt;/p&gt;

&lt;h4&gt;
  
  
  Multi Cloud
&lt;/h4&gt;

&lt;p&gt;Multi-cloud systems are systems that are deployed across two or more similar-type clouds. This would be a system that uses GCP and Azure, or Azure Federal and AWS GovCloud, or AWS Outpost and Azure Cloud Edge. &lt;/p&gt;

&lt;h4&gt;
  
  
  Hybrid Cloud
&lt;/h4&gt;

&lt;p&gt;Hybrid cloud systems are systems that are deployed across two or more dissimilar cloud types. Examples of this would include AWS Outpost connected to Azure and AWS, or AWS GovCloud interfacing with an AWS Outpost. Hybrid cloud systems seek to use the best possible tools across their dissimilar cloud types, such as using Azure AD for their access management and Azure Cloud Edge for low-latency data processing.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cloud Agnostic
&lt;/h4&gt;

&lt;p&gt;Cloud-agnostic systems are systems that can be deployed across any mix of cloud environments because they don't care what they are deployed upon. These systems most typically do not use specific services from any given cloud environment unless an analogue service is available in other cloud environments. Typically the specific service in use is abstracted away through the use of tools such as Ansible, Terraform, Puppet, or Chef, so that the system doesn't need to know which cloud it is running on. As an example, a cloud-agnostic system might use AWS S3 and Azure Blob storage to store data, and that storage configuration is controlled by the Terraform script used to define the infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ok, so when would I use multi-cloud, hybrid cloud, or cloud agnostic architectures?
&lt;/h2&gt;

&lt;p&gt;You can make an argument for using any of the three options for your system architecture in most cases. However, here are a few cases where one option is better than the others:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hybrid cloud: If you need to combine capabilities hosted in your private cloud with global reach and low-latency. As an example, you need to do on-prem data preparation work using a system you already have set up in your private cloud environment before you send the data into a new machine learning model as training material, and ultimately deploy the trained model for your clients, located around the world, to use. Cost is important to consider, as is data latency and weight. Because you have an on-premises component you know that you cannot use a single cloud solution, so you must make a choice. What makes the most sense here? Most likely a hybrid cloud, with your data prep being done in your on-premises private cloud, and the models trained and deployed in a public cloud. &lt;/li&gt;
&lt;li&gt;Multi-cloud: If you need to use specific services in a few different public cloud providers. As an example, your company currently uses Microsoft products such as the Office suite along with Microsoft AD, but some of your developed systems are using AWS' AI/ML services such as Lex, Transcribe, and Comprehend. You may decide to move the Azure AD, and integrate that with the AWS services you are using to provide your access controls. Multi-cloud allows you to choose the best-in-class solutions for your specific problem across cloud providers. Multi-cloud can result in higher cloud bills than hybrid or single cloud solutions.&lt;/li&gt;
&lt;li&gt;Cloud agnostic: If you are unsure where your system will be deployed, or if you know you have a mix of environments that it will be deployed into. As an example, you have a proprietary in-house developed engineering application that your civil engineers use to enable them on the job. They need to be able to use the application whether in a city, in wilderness areas with no cell signal, or out of country at a variety of international locations. The application is standalone or can store things independently for extended periods of time, or perhaps is REQUIRED to execute without internet connectivity because of its use cases. It would make sense in this setting to design your application as a set of stateless microservices deployed into containers, which could then be deployed on a cloud environment, bare metal, or some combination of the two.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A quick takeaway
&lt;/h2&gt;

&lt;p&gt;As always when designing system architectures, the optimal architecture will depend upon your customer's needs and wants. Take the time to talk with your customer and understand what is essential when beginning to design a new system. Try not to assume you know the right answer before you've considered the options. You may be surprised at the way you end up going!&lt;/p&gt;

&lt;p&gt;What have your experiences been with respect to these three deployment architectures? Have you built multi-cloud systems? Hybrid? Agnostic? I've had the opportunity to use all three for various use cases in my job. There is value in each, and none of the three are perfect. I would love to hear from you!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudagnostic</category>
      <category>multicloud</category>
      <category>hybridcloud</category>
    </item>
    <item>
      <title>Fault Injection Simulator: You know a tech is growing up when AWS has a service to do that!</title>
      <dc:creator>Jenn Bergstrom</dc:creator>
      <pubDate>Sat, 16 Jan 2021 12:37:20 +0000</pubDate>
      <link>https://forem.com/aws-builders/fault-injection-simulator-you-know-a-tech-is-growing-up-when-aws-has-a-service-to-do-that-36g5</link>
      <guid>https://forem.com/aws-builders/fault-injection-simulator-you-know-a-tech-is-growing-up-when-aws-has-a-service-to-do-that-36g5</guid>
      <description>&lt;h1&gt;Chaos Engineering as a Service&lt;/h1&gt;


&lt;p&gt;re:Invent is usually a one-week extravaganza in Vegas the first week of December, and it is amazing to attend! So many events, sessions, information, swag, and PEOPLE. It's overwhelming and exciting and educational...&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;My favorite part of re:Invent, though, has always been the new service reveals at the keynote speeches. And even though re:Invent went virtual this year, those still did not disappoint.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;As a fan of Chaos Engineering, and as someone who uses Chaos Engineering experiments as part of my system test process, I've been largely home-rolling the code to implement the experiments. &lt;br&gt;
&lt;/p&gt;
&lt;p&gt;There's definite risks with creating my own experiments. Did I build in guardrails that will sufficiently protect my system from unanticipated ripple effects? Did I write a proper experiment kill-switch? Did I write an experiment that will render my system vulnerable to real failure because of something I didn't consider when crafting the experiment?&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;There are product offerings out there that are fantastic for providing the instrumentation and the protection you want to have in place for chaos experiments, of course. But if your company is anything like mine, they are a bit reluctant to invest a lot of money in application licensing, so those products are largely not an option.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;AWS has a reputation for paying attention to the needs of their customers. And they paid attention in this case too! The Fault Injection Simulator is a new service that AWS revealed during re:Invent 2020, and I am &lt;b&gt;SO EXCITED&lt;/b&gt; about it!&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;So what IS Fault Injection Simulator? Simply put, it is Chaos Engineering as a Service (CEaaS). The website says that it is coming in early 2021, which means any day now. What does CEaaS look like? According to the documentation, "AWS Fault Injection Simulator supports creating disruptive events across a range of AWS services, such as Amazon EC2, Amazon EKS, Amazon ECS, and Amazon RDS". The listed services are ones that are particularly vulnerable to failure, and that are often not designed for full resiliency to that failure. &lt;br&gt;
&lt;/p&gt;
&lt;p&gt;You'll be able to inject faults into the system and see how it responds. You'll be able to define safety rails and stop experiment criteria that AWS will automatically apply when the triggers are met, which will help you prevent widespread ripple effects from your experiments.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;Another benefit I am looking forward to exploring with the Fault Injection Simulator are the prebuilt templates that you can use to jumpstart your system's Chaos Experiments. These templates will represent common chaos experiments and will make adding Chaos Engineering into your system even easier.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;I look forward to playing with this new service AWS is offering. Chaos Engineering is a powerful tool, and being able to incorporate it more easily and safely into our CI/CD pipelines, run the experiments consistently, and have full results documentation available after the conclusion of the experiments is something I am really excited about using!&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;Are you using Chaos Engineering experiments in your systems today? Will you be giving the Fault Injection Simulator a try? I'm watching the documentation page and will definitely be diving in as soon as it goes live! Once I start running it, I will post more about my experience with the service here.&lt;/p&gt;

</description>
      <category>chaosengineering</category>
      <category>faultinjection</category>
      <category>aws</category>
      <category>breakthingsinproduction</category>
    </item>
  </channel>
</rss>
