Amazon Application Services

awsapplications

Hello everyone! I want to thank you for tuning into my introductory series on Amazon services. We are now at Part 3, and this week we’ll be exploring Application Services offered by AWS.
Typically, when building applications, you start with an idea, sketch it out on a whiteboard, then implement it using a code editor. You compile the code and deploy the final build. But what if there was another way — a cloud-based way? Let’s dive into some workflow concepts that showcase how AWS can streamline application development.

AWS Step Functions (SF)
AWS Step Functions make it easy to coordinate the components of distributed applications and microservices using a visual workflow. For example, you might want one function to always follow another, executing only if the first succeeds, or even run multiple functions in parallel. The beauty of Step Functions is that you define your application logic and flow visually, as a series of steps.

Amazon Simple Workflow Service (SWF)
While similar to Step Functions, SWF focuses more on coordinating workflows based on a business process model. It’s typically used after initial development with Step Functions to manage complex, long-running workflows across different processes.

Amazon Simple Notification Service (SNS)
SNS is a flexible, fully managed messaging service used to facilitate data flow and communication. You can create a topic for any issue, workaround, or solution, and users can subscribe to that topic to stay informed. Recently, SNS has integrated push messaging for mobile platforms, making notifications more accessible.

Amazon Simple Queue Service (SQS)
Though SQS may sound similar to SNS, it serves a different purpose — it’s a powerful, fully managed queuing system. SQS allows you to decouple your applications from immediate processing demands by storing messages in a queue until your server can process them.

An Example of Decoupling an Application
Let’s look at how these services work together. If you followed my previous AWS blogs, this should start to make sense.

Imagine an application utilizing EC2 auto-scaling, running on a process server. As users interact with your app, their actions generate demand. Auto-scaling handles increased load by creating new instances, similar to horizontal scaling. Vertical scaling, by contrast, involves replacing instances with larger ones to handle spikes — but this can be slower and less flexible.

Now, to manage sudden surges, Amazon SQS stores requests in a queue until they can be processed and distributed via Elastic Load Balancing. This allows us to decouple demand from the application, ensuring smooth handling of high traffic without disruption.

What if some instances become unhealthy? This is where CloudWatch comes in. You can set up metrics that trigger SNS notifications to alert you to issues, so you can investigate and fix problems promptly.

1*zfYDTJD9ntg4vilCWlbBUA

Final Thoughts
While this example is just a small glimpse, it highlights how these AWS services work together to help manage your application efficiently. Although initially daunting, AWS’s suite of tools collaborates seamlessly, providing alerts for damage, overload capacity, and resource management.

I hope you enjoyed this read! Stay tuned for Part 4, where I’ll explore Analytics and Machine Learning.

Thank you!