From Zero to Hero: My Journey of Personal Branding with AWS
Published on:
A long time ago, I always thought about creating my personal brand website. I even bought my domain (edmundormz.com) several years ago. And even though I used it to showcase some freelancing projects using subdomains (like amazingproject.edmundormz.com) I never really delved into building my own website. Until now.
The reason that changed my mind was primarily my job search. I’ve been looking for a job for months now, and even when I’ve been really close to get hired, the universe, the witches, destiny, or whatever you wanna call it, has stopped it. For real! This last time the company was already working on an offer package for me, when a top executive decided to change the company’s priorities. That was not a good day. But regardless, after this event, I decided I was tired of being just another resume in the enormous digital pile in the recruiter’s inbox. I was tired of feeling down with every rejection email about any exciting position I’ve applied to. Actually, now if I receive a rejection email, I just say “one less” but there are a hundred more opportunities on the way.
A long time ago, I read (or rather listened to) this book from Grant Cardone, “The 10x Rule”, which basically states that if you want to get results, you have to take 10 times more action. And well, it makes sense, right? It sounds like “common sense” for most of us. Many might think, 'That's obvious.' Yet the real challenge lies in implementation. To take action into that ludicrous amount of effort seems almost impossible with our daily occupations (or procrastination) but when you begin to do it, it really pays off. That’s how I achieved the AWS certification in just 36 hours. During those days, I did nothing other than keep my body functioning and dive deep into the study material. After a one hundred dollars charge on my credit card and an online test, I now have an additional credential that may help me to move up in that pile of hundreds of resumes.
But moving on to the actual topic here, how to build your personal brand using AWS services, it’s pretty simple. Let me explain that to you.
- First, you need a domain. A domain is the name of your website. www.linkedin.com is a domain, www.facebook.com is a domain. www.edmundormz.com is my domain. There are many ways to get a domain out there, but when talking about AWS, you just need to use the Route 53 service. (AWS is composed of services). In route 53 you can check for the availability of the domain name you want, select a couple of technical options, and pay for it. Price varies, but for mine I pay $12 USD annually. You have to renew it every year. On the AWS Route 53 panel, you have total control of your domain behavior and configurations, like records, that you may need to configure a custom email address (like hector@edmundormz.com), and to connect a certificate to your domain in order to provide a secure connection to your website. This is, in fact, the next step.
- A certificate is a method that the internet uses to establish secure connections between your
viewers
devices like a laptop or a cellphone, to your website. Search engines, like Google or Bing
prioritize
websites offering secure connections. However, the most crucial aspect of offering a secure
connection
to
your personal brand website is that your viewers won’t receive that annoying and creepy alert
message
from
their devices warning them that your site is not secure. You will be losing visitors, right?
That being said, you need to request a certificate on the AWS Certificate Manager (ACM) service. It’s quite simple, just click on “request a certificate”, type in your domain name, and choose a validation method. The most convenient validation method is the DNS validation.
Once requested, you have to go into the details of that new certificate and look for the CNAME name and CNAME value, copy those weird alphanumerical long words and use them to create a new record on the records table of your domain on AWS Route 53. After a couple minutes, your certificate will show as verified, and you’re ready to go. - Next step is to actually build your website. If you, like me, are not a master of web design then
we
might
need to call Houston because we have a problem… just kidding. If you’re reading this is because
you’re
proactive, and if you arrived until this point is because you have a genuine interest in the topic.
Don’t
fret. There are literally thousands of options for website templates out there, paid and free. In my
case
I
chose to use a free template from BootstrapMade
and
tweak it. I move freely and comfortable
around code, at the end of the day I’m a geek, so after a couple of days playing around with the
HTML,
JS,
and CSS files of the template within Visual Studio Code (my preferred IDE), I got rid of my
rustiness
with
this kind of projects and began to modify the template. To clarify: HTML, JS, and CSS constitute the
foundational trio for websites. Together, these file types display content beautifully on screens.
VS
Code
is an Integrated Development Environment (IDE), which basically means is just an editor for code.
Just
like
.docx, .xlsx, and .pptx files support the business operations, and you can edit those with
applications
like
MS Word or MS Excel. Same thing, different purpose.
But wait, to be honest, this redesign and tweak step is the most time consuming. You need to work on your profile picture, mine was generated using Retrato (just in case you haven’t noticed), the background picture was obtained from Unsplash, and the most important of that website, the content, was copied from my resume that literally has hundreds of hours invested on it. The logo was generated using Canva, and the word cloud there was a whim that I fulfilled by using the most powerful tools ever invented: Chat GPT. Okay, I might have exaggerated a little bit with that, but believe me when I say that learning to use this thing (after learning what prompt-engineering is) has helped me to be efficient as never before. I used it to learn how to create that cloud word on my website, and there it is. And I use it to many more things, daily.
Once I was 80% satisfied with how my website looked, it was time to publish it. I have this rule of publishing things when I feel it’s 80% ready. If I wait for things to be perfect, theyĺl never get published, shared, sent, given. But wait, how to publish it? That takes us to the next step. - AWS S3 is a straightforward service that allows you to store data. Just like that. It has many
other
special features that help you with scalability objectives but that’s not the focus here. Think of
S3
like
a
Google Drive or a Dropbox service. You can store files there, videos, pictures. You can also store
there
a
combination of HTML, CSS, and JS files that build a website. And, you can use this service to -host-
a
website. An static website. And voila!
Once logged into the AWS Management Console (the control dashboard of the platform), just look for the S3 service and create a new “bucket”. That’s how they call the containers of your files. Think of a bucket like a drawer in a filing cabinet. Create a new bucket, and disable the “Block all public access” checkbox down in the configurations because you want this files to be accessible, right? But not completely accessible and editable, we will use other service later to protect them. Leave all the other settings as default, and then go into the details of your new bucket, go to the properties tab, scroll all the way down an edit the “Static website hosting” configurations. Enable the static website hosting, specify your index document to be “index.html” (which should be the main file on your code) and save the changes. Now you’re ready to upload your files.
On your bucket details page, look for that big orange “upload” button and click on it. Then click on “Add folder” and select the folder where your website’s files are. All of them. Make sure that the index.html file is instantly visible once you open your bucket details under the “objects” tab. If you want to test it and check how your website looks over the internet, go to the properties tab, scroll all the way down, and click on the URL shown at the bottom. There you have you website published on the web. Beautiful, right? But unsecured and without your domain name. Let’s now connect it. - The next, and last, AWS service to use is AWS CloudFront. This is a content delivery network (CDN)
service
that, long story short, helps you to connect your domain with your static website files. This
service’s
superpower is that it caches your files on different edge locations around the world to make it
available
faster for your visitors. But we really shouldn’t concern about this, by now. So, we need to create
a
“distribution” on the CloudFront control panel. Once in there, select your recently created S3
bucket
for
the “Origin Domain”. On the “viewer protocol policy” select the “redirect HTTP to HTTPS” so that we
can
serve our insecure website from S3 to our secure domain using our certificate. Below you will find a
“Custom
SSL certificate” option, here select the certificate previously created and finally click on the big
orange
button to create your distribution. It will take a couple of minutes to be deployed, you may check
its
status on the CloudFront’s distributions control panel. Once deployed, look for the “alternate
domain
names”
setting and type in your domain. In my case this is edmundormz.com. Then go to the “Invalidations”
tag
and
create a new invalidation. Just type in “/*” to invalidate the caching of your files within the
distributions. This invalidation is very important for our purposes, because other way you won’t see
your
changes on your website immediately after you upload new versions of your code.
That’s it. Save the changes and wait for your distribution to deploy its changes.
Once you complete these steps, you should be able to visit your website using your domain name on any web browser.
This is it. Now you have a roadmap to have your own website published using AWS. You just started the car. Where you go, how you get there, and how fast depends completely on you and your objectives. You can modify as many things as you want to that car, you can make it faster, off-road, and even a semi truck. That’s the beauty of using cloud services, that you can scale it depending on your necessities.
My objective here is to share with the wwworld a little bit of useful information, because the wwworld has shared so much with me. (yes, the www is intentional)
If you need any help with your website project, send me an email (hector@edmundormz.com) or reach out to me via LinkedIn
ER
p.s. www = world wide web = internet