DEV Community

I am an AWS solution architect, Ask Me Anything AWS!

Abdul Jaleel on March 31, 2019

 
andrewbrown profile image
Andrew Brown 🇨🇦

I can tell you why I use AWS over other cloud providers:

  • Support and exhaustive documentation
  • More services than any other cloud provider
  • More services that seamlessly integrate
  • The most mature cloud provider
  • Constantly improving with new features weekly

and I can tell you what I don't like about AWS:

  • Some services are rushed out the door.
  • So many services that some are neglected.
  • The GUI is either ugly or now being "refreshed" to put design over function
  • Worrying about being overbilled due to misconfiguration or misunderstanding
Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

50% of startups are using AWS so more jobs in it.
AWS has excellent support in direct-help via paid support plans and amazing free documentation
Startup culture lends towards AWS over the other cloud providers

I was making 120K CAD and then when then when the bootcamp started pumping out grads calling themselves full-stackers my value dropped and now the offers were 90K and below.

I learned-up on AWS and now the offers are 150K-200K CAD per year.

You aren't going to see that with Azure or GCP at least not in Canada.

So two things, you either go all in on AWS or you go all in all three to some degree, but going all in on just Azure or GCP I think is not a good career choice in terms of job availability.

Collapse
 
dame_in_dev profile image
Samvedna Kaloty

Hi,
I am a newbie in the AWS world. I want to explore and ramp up. Any advice on how I should aim at doing the same. Tips and advice around the approach, any recommended source or tutorial etc. would be really helpful.
Thank you :)

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

Heroku to Elastic Beanstalk

If you are use to Heroku then the first place to get your toes with in AWS is moving an app from Heroku to Elastic Beanstalk.

Static Website Hosting on S3

Static Website Hosting is a good starting challenge and Hiro has an article on that targeted towards beginners on here Setting Up a Static Website on AWS S3 for Newbies

She also has some eBooks I believe for paid for beginners

Deploy a Web App for Real End to End

Once you are comfortable with the two above the next challenge I recommend is end-to-end deployment, so basically you do everything Elastic Beanstalk does for you under the hood.

If you can accomplish these three things you have basically obtained more than half the knowledge for AWS Certified Developer or Sys Ops and you could pass with a bit of study.

I have a workshop that I charged $250 CAD in person for but if you're interested I can grant you free access. I have it hosted on ExamPro so if you want just go on my website and email me and I'll hook you up.

Collapse
 
david_j_eddy profile image
David J Eddy

What is your opinion regarding big box retails (Wal*Mart, Target, et al) declining to do business with vendors that use clouds offerings from competitors? Specifically Wal*Marts statement to drop any vendor that uses AWS.

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

So Here's the video if anyone is wondering what you're taking about.

It's anyones best guess, just depends who makes them more money. Have yet to hear of any vendors leaving AWS

Collapse
 
antonfrattaroli profile image
Anton Frattaroli

Say you have a small ecommerce site (IIS app server, SQL Server backend) - how would you migrate to AWS: Lightsail or direct EC2/RDS?

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

AWS Lightsnail is intended for people want to have the same experience with Godaddy where you press buttons and you have a wordpress server.

AWS Lightsnail gets in the way when you know what you're doing and so you would want to migrate straight to EC2 and RDS.

If you're new to AWS and want to get productive as you get familiar with the AWS ecosystem you should consider using Elastic Beanstalk.

Elastic Beanstalk is like AWS Lightsnail in that its GUI that automates the setup of multiple services and configures them for you but provides you better visibility and control over your web-app.

Elastic Beanstalk is not recommended for production meaning if its for a small startup that it will work but if you're a serious business with serious users its not somewhere you should call home since deployments can get stuck or experience downtown. You can do blue/green deployment with Beanstalk but its clunky.

Summary

Use Beanstalk, learn up on services that and learn to configure services manually eg. ALB, ASG, EC2, CodeDeploy, CodePipeline

Collapse
 
antonfrattaroli profile image
Anton Frattaroli

Very cool, didn't know that thanks much!

Collapse
 
lassiter profile image
Lassiter Gregg

Are there non-AWS services that think are better, or prefer, than the AWS service?

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

So my co-founder for ExamPro who works with all cloud platforms as an enterprise consultant would summarize as such:

GCP for containers, Azure for Platform, AWS for everything else

You see mixing and matching either in two cases:

  • early on stage startups trying to save money
  • insanely large fin tech companies where the computing power of specialized instance is per cents cheaper it ouweighs the fact that its not within the ecosystem of their primary could provider

My buddy who is a quantitative analysis say Azure is really good for R.
I know IBM's ability to translate text and ML is much better than GCP and AWS

The big attraction of GCP is it looks like nice and the UI is easy to use just like Digital Ocean.

The big thing that makes AWS such a winner is support. GCP has better support in that you get a native english speaker who has excellent communication skills but AWS support and exhaustive documentation availability outweighs GCP.

Its hard to for GCP and Azure to catch up in terms of offerings so they have to look for strategic ways to provide unique services just as we see Azure does with R.

Collapse
 
antonfrattaroli profile image
Anton Frattaroli

We've migrated away from AWS' CloudSearch to Algolia - same outcome but much better dev and admin experience.

And then dropping AWS' Cognito for Auth0 - Cognito has some weird case-sensitivity issues and password reset annoyances. Auth0 has some neat features like password-less log-on.

Collapse
 
jorgemasta profile image
Jorge Masta

Have you experienced problems with the Amazon Simple Queue Service (SQS)?

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

So here is me sending a message to SQS with a Lambda anytime a new record is inserted into DynamoDB. So I find the json object being passed along a bit verbose.

require 'aws-sdk-sqs'

def handler(event:, context:)
  puts 'events'
  puts event.inspect
  event['Records'].each do |record|
    if record['eventName'] == 'INSERT'
      url      = record['dynamodb']['NewImage']['github']['S']
      username = record['dynamodb']['NewImage']['username']['S']
      puts "url: #{url}"
      client = Aws::SQS::Client.new()
      resp = client.send_message({
        queue_url:    ENV['QueueUrl'],
        message_body: url,
        delay_seconds: 0,
        message_attributes: {
          "username" => {
            string_value: username,
            data_type: "String"
          }
        }
      })
      puts "message_id: #{resp.message_id}"
    end
  end
end

Having to pull your queue is feels slow and annoying. I'm used to Sidekiq which is super fast.
I normally provision an EC2 instance with Sidekiq and back it with ElastiCache Redis.

Though SQS as a dead simple straight forward queue is great but I generally miss all the plugins Sidekiq comes with.

Collapse
 
shreyasht profile image
Shreyash

AWS or GCP? Also, why?

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

AWS has more services, more better support in terms of availability and documentation and more configuration.

GCP has a nice looking GUI and easier to use services but if you're stuck good luck with the docs because they are of poor quality. GCP has some advantages with specific services but if you had to pitch up tent or one in the other AWS has more overall than GCP.

Also consider at least 50% of startups are using AWS as their primary cloud provider.

Collapse
 
yaser profile image
Yaser Al-Najjar

From all of the plenty AWS techs available, what are the top 5 dominant in your opinion?

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

Over 100+ AWS services so hard to choose top 5 without contextualizing it.
If you had to go deep on 5 AWS Services I would suggest:

  1. CloudFormation
  2. CloudFront
  3. Systems Manager
  4. Organizations
  5. Athena
Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

If you were an EC2 instance Type? Which Instance Type would you be?

Collapse
 
danclem profile image
DANIEL CLEMENT

How can i become a solution architect as an entry-level person