Category Archives for Architecture

AWS Static Website with S3 and Lambda (Part 2)

In the previous post we created a single-page responsive static web site from html, CSS and javascript and hosted it on AWS S3 with a CloudFront Distribution. The purpose for this website is to be a simple point-of-presence on the internet to hopefully generate some traffic and perhaps lure some interested party to reach out for more information. In the past, many would have listed an email address or even a phone number on a contact page, but those days are gone and for some good reasons. First, I don’t know about you, but getting thousands of spam emails would be a real drag. Bots are continuously scanning the web and  your pages for an email addresses that they can sell in mailing lists. It’s even worse if you provide a phone number. The better way to have people contact you is to use a Contact Form with Captcha to eliminate bots and call a Web API to deliver a message to you. Here’s how to do it with AWS Web API Gateway and Lambda.

Continue reading

Elastic Beanstalk vs OpsWorks vs CloudFormation

AWS provides several choices in services when it comes to provisioning resources and deploying applications. If you are not sure which service is best for a particular situation, you’re not alone. I’ve been studying for the AWS DevOps Engineer Professional Exam and, at least for me, there is a lot of confusion surrounding when to use which service. I am certain there are many others who are also looking for answers as well. Just open your browser and type something like “OpsWorks vs  “. You will see what I mean. Unfortunately, many of those articles are a bit vague and provide advice such as “Elastic Beanstalk is for developers. OpsWorks is for operations and CloudFormation is for fine grained control”. Unfortunately, the problems on the exam don’t quite slice-and-dice it that easily. This post is going to explore the question from a standpoint of the following three domains: Application Deployment, AWS Resource Allocation and Configuration Management. All three tools provide some level of support for these domains, but in slightly different ways. Let’s dig in.

Continue reading

Authenticating to Amazon Cognito from Windows Desktop Application

From Aws: “Amazon Cognito provides authentication, authorization, and user management for your web and mobile apps. Your users can sign in directly with a user name and password, or through a third party such as Facebook, Amazon, or Google”.

I am going to assume that you have a basic understanding of what authentication, authorization all the rest means, and that you are actually here because you’ve noticed that Windows Desktop Applications was not included in the list of supported application types.  Also, perhaps you have waded into the AWS documentation and have noticed that User Pool Client Side Authentication Flow is supported by the AWS SDK, BUT only for Android, iOS and JavaScript. If you are a .Net developer and you are either building a new client-server application with RESTful Web API or porting legacy services to the cloud, Identity and Authorization is usually the first challenge. It certainly would be a waste to have to stand up and Windows server just to run ASP.Net Identity to protect some simple Web API. With Amazon Cognito User Pools, the task seems trivial, if only there was an easy way to authenticate users from your client side code. Here’s how.

Continue reading

AWS Static Website with S3 and Lambda

I wonder how many simple “presence” websites are still out there running on hosted services like GoDaddy or similar. What’s a presence website, you say? Have you ever had an idea for a new business or product, maybe even registered an awesome domain name. You want to test the waters to see if your idea has legs. So you need a point of presence on the web that gives your idea some substance and a way for prospects to contact you. I’ve created more than a few of these websites over the years, and each time, I usually over-buy and drop another $100 at GoDaddy. What if you could have virtually free hosting for that website and only pay a few bucks for the domain? 

Continue reading