AWS, Kubernetes, Microservices

EKS – Kicking the tires

Before EKS, running Kubernetes on AWS was non trivial as you had to install KOPS, etc.. No, I never tried to install KOPS, etc..

There are a whole bunch of resources now on learning Kubernetes and containers so I did not attempt to really go into any of that in these videos.  The same applies to the concepts of microservices (bounded context, aggregates, etc..) as that’s outside the scope here.  This demo assumes that you have a basic understanding of Kubernetes. My intended audience are those who are familiar with K8 have heard of EKS but never looked at it as well as those who are familiar with K8 and may never have heard of EKS. The end result of the videos is (hopefully) you will walk away with a better understanding of EKS and enough to get you going to try some of the tutorials on your own.

I meant to create 1 video here demonstrating EKS and running a sample program but I kept accidentally ending the recording session so I ended up with 3 videos. I apologize about that. They’re meant to be viewed one after another.

Corrections in the video I need to make: 

I refer to the K8 resource definition files (ie, .yaml) such as deployments, services, etc. as “Cloudformation scripts”.  I am sorry as I did not mean to as those are “resource definition files”.  Doing the videos are hard and I have a lot of respect for instructors who create online courses.  It’s very easy to make mistakes  🙂

 

Some good resources are Amazon’s EKS site, kubernetes.io, etc..

Also, the Stephane Maarek course is a great course to take to get an understanding of EKS. It assumes you already know the basic/intermediate level K8 (Pods, Services, Deployments, Volumes, etc..) and the basics of AWS as it discusses EC2, Loadbalancing, S3, VPC, etc..

 

Azure, N/A

Azure Containers and Clusters

So a few months ago I attended an Azure Bootcamp in St. Louis that was produced/sponsored by Kevin Grossnicklaus at Architect Now. Kevin is an expert at many technologies (including Azure) and has done some amazing things for the city of St. Louis with respect to “sharing the knowledge” with all of his work and effort in the devUp (formerly Days of .NET) and the St. Louis .NET users group,e tc.. Just wanted to thank him there. As a benefit for attending the boot camp a few months back, we received $300 of free Azure credits. I had to “claim” them by July 8 or they would expire. So naturally (as I have a lot of other things going on as well as learning), I needed to prioritize my learning and would wait until about now before claiming the credits. You have 3 months to use them. So this gives me a good opportunity to dig into Azure.

One of the things I already noticed is that the ARM Templates are pretty much what the AWS Cloudformation service does in AWS. So I like how you can take your hands on knowledge in AWS and immediately relate most of it to the equivalent in Azure (and vice/verse).

As I’m focusing much of my time and effort outside of work on microservices, I’m digging into Containers and eventually Clusters in Azure.

ACI (Azure Container Instances)is Azure’s service that allows you to run your containers (usually Docker as I’m not sure if they support Rocket) in Azure. They do all of the heavy lifting for you behind the scenes.

https://docs.microsoft.com/en-us/azure/container-instances/

Provides a quickstart.

If you have Pluralsight, you can take the following course (which is very good):

https://app.pluralsight.com/library/courses/azure-container-instances-getting-started/table-of-contents

ACI is not to be confused with AKS which is the Kubernetes service on Azure that will handle the load balancing and clustering of your containers into Kubernetes PODS.

I enclosed a great start video for AKS which explains what that is about.

Angular, AWS, Azure, Cloud, Web

Angular app using AWS Cognito, AWS Api Gateway and AWS Lambda

 

Wanted to put together this quick demo (which is not really a tutorial per se) that shows how you can use AWS Cognito to authenticate a front end (in this case an Angular app but it could be React, etc..).  Once authenticated, you can then invoke a restful API via the AWS Api Gateway service (which invokes a Lambda function).

AWS Cognito is what you could use if you’re using AWS and you’re developing a mobile app out there that needs to securely persist/use users/passwords out there.

I’d love to know what the equivelant in Azure would be.

Angular source

https://github.com/kousekt/angularcognitotest

 

 

I was curious of the Azure equivalents so I found this link

https://docs.microsoft.com/en-us/azure/architecture/aws-professional/services

 

AWS, Cloud

How to delete an S3 bucket that Elastic Beanstalk leaves behind.

Elastic Beanstalk is a handy dandy service to quickly deploy your applications up to the AWS cloud.   One thing I’ve noticed tho is when you delete your application from AWS, it leaves behind a bucket that I cannot seem to delete.

Here’s how I was able to get around that.  I’ve seen others post this question out on the internet so I thought I’d share it here.  Thanks for watching.  Hope this helps someone  🙂

AWS, Web

Deploy .NET Core 2.0 app to AWS using Cloudformation/CodePipeline/CodeDeploy

Elastic Beanstalk is one way to do this fairly easy. Another way is using Cloudformation templates (there are several Cloudformation tutorials out there).

I share my experience in two youtube videos demonstrating how I was able to create a test .NET Core 2.0 web app and deploy it to AWS. The cloudformation template provisions a windows server 2016 EC2 instance and installs the CodePipeline/CodeDeploy agent to it. Part1 ended abruptly for reasons I explain in the beginning of Part2.

I hope this helps someone out there as there really is not much out there in the way of documentation that brings this particular task together for a .NET Core 2.0 web app deployed to an Windows 2016 AWS instance in the cloud utilizing CodePipeline/CodeDeploy.  I attempted to do that here.

Thanks!!

Part1

Part2

Scripts can be found here
https://github.com/kousekt/CloudFormationCodeDeployWindowsDemo

AWS Powershell toolkit
https://aws.amazon.com/powershell/

The original project (.NETCore 1 RC2) that this was based off
https://github.com/awslabs/aws-blog-net-exploring-aspnet-core

The .net core runtime and windows hosting downloads can be found here:
https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.5-download.md