Canon 5D Mark III, Canon L 70-300mm, ISO-200, F/5.6, 1/250sec, 300mm
A Rhino in Leipzig Zoo.
Canon 5D Mark III, Canon L 70-300mm, ISO-200, F/5.6, 1/250sec, 300mm
A Rhino in Leipzig Zoo.
Last week I posted a tutorial on how you can run WordPress on AWS. In this post, I will explore a bit whether it is actually worth going down that path or whether it is better to just use WordPress.com
This is not going to be highly scientific and likely colored by my opinion. You will have to decide for yourself which option is better for you, but maybe some of my thoughts will help you make a decision. Also, I’m not sponsored by either Amazon or WordPress.com.
For those who don’t want to read the full article here is the summary:
As so often in life the answer is: It depends. You can get more flexibility for cheaper out of AWS. On WordPress.com, you have less headache operating your own server, but less flexibility unless you pay for the more expensive plans. I’d say that for 90+% of people the WordPress.com option is the better option. The only exception is if you need a lot of storage and/or plugins. In that case, you might be better off with AWS.
Now in more detail. Let’s first go over a couple of advantages to host your blog on AWS:
Some disadvantages of hosting on AWS
Now, let’s take a look at the plans that are offered by WordPress.com. The first advantage, of course, is that you can get started for absolutely free. As of today, this blog is running on the free version and I merely set up a forward from stefansiebel.de to stefansiebel.wordpress.com. Not nice, but works great. In this mode, I would be able to scale to as many readers as I can get. That is already one clear advantage compared to hosting your blog yourself on AWS.
The basic plan is available to you for 4€ and gives you three main advantages. You get a custom domain, no more ads are displayed and you double your storage for images from 3GB to 6GB. To be honest for 4€ a month that wouldn’t be enough value for me to consider (except maybe if I’m running out of storage).
The Premium plan essentially allows you to monetize your site and supports video. Again, additional storage is offered. You’ll probably need it if you want to store videos. The thing is that I don’t quite see why I would upload videos to WordPress. Youtube or Vimeo are the better platforms for that and you can embed video into posts even in the free version of WordPress.com.
Finally, the Business plan gives you the full flexibility. Only the business plan lets you install plugins. It comes with a very high price tag of 25€ a month. It gives you a ton of other advantages as well including unlimited storage and personal support. In my opinion that is only worth it if you are actually running a business and in that case the price is probably not too high. As I wrote already in the summary at the beginning of the article you are likely better off using AWS if the only thing you need is more storage and the ability to install plugins. You should have a minimum of technical expertise though if you are going for that option.
I hope this was helpful. There are plenty of other options available as well that you might want to consider. How are you hosting your WordPress Blog?
Canon 5D Mark III, Canon L 70-300mm, ISO-500, f/8, 1/500sec, 260mm
This is a red fox in Leipzig Zoo.
There are a ton of options out there to host WordPress including simply running it for free on wordpress.com. That’s the option that I chose for the moment to host this blog.
One option that I’m simply interested in is hosting a WordPress instance on AWS. AWS offers amazing capabilities, but also requires a fair amount of knowledge. So how hard is it to get a WordPress instance up and running?
Not hard at all, as it turns out. Let’s take a quick look into it.
I’m going to assume you already set up your own AWS account and logged into the AWS Management Console. Click on Services and select Lightsail under the Compute category.
On the Lightsail homepage, select to create an instance.
You may pick the region in which you want to run your instance. I picked Frankfurt as I live close to Frankfurt. Then select a platform (Linux) and an application, in our case WordPress! Further down on the same page you can pick a custom name for your instance but if you don’t plan to host a ton of sites the default name will just do fine. You also get to choose an instance plan. I’d recommend going with the cheapest option first except you expect a lot of traffic on your blog. You can scale later if needed.
When you are ready, click the create button and just moments later your instance is up and running and you can see it on your homepage.
In the background, the Bitnami WordPress AMI will be used to create an EC2 instance on AWS.
Next thing you want to do is assigning a static IP address. This way your blog is always reachable via just that IP address and also you can, later on, create a DNS Zone in order to assign a domain.
To do this click on your instance and navigate to the networking tab. Simply choose to create a static IP.
That’s it. We are ready … believe it or not, we have our WordPress instance up and running and it is reachable through a static IP.
Isn’t it amazing how quick that was?! So what are the next steps? One thing that needs to be done is to retrieve the credentials for the WP-Admin.
In order to get the login credentials for WP-Admin we need to log into our instance via SSH. Lightsail makes that really really easy and allows you to connect via your browser. It works for me when I use Google Chrome. So go back to your instance and click on the connect tab.
Now choose to connect using SSH. Lightsail will open a new browser window and automatically log you in securely.
When the machine got instanciated the username and password for WP-Admin were saved on the disk of the machine. You can view it by typing in the following command.
Now go to http://your-static-ip/wp-admin and you can login using the credentials from the file. It is recommended to delete the bitnami_credentials file and also to change the default password.
We could start customizing WordPress now, but the next thing I’d recommend to do is securing your blog. Right now it is only possible to connect via HTTP. So when you login credentials will be sent over the wire unencrypted. You might think that for your small blog that doesn’t matter but believe me it does.
In order to secure the site and implement SSL we first have to assign a domain name. We will do this by configuring a DNS zone. Go to your Lightsail homepage and then click on the networking tab. Now create a DNS Zone.
Enter the domain that you want to route to your newly created WordPress instance. If you don’t have a domain yet, you first need to register one. Either through Amazon Route53 or any other domain provider. I register all domains with united-domains.de.
Once the DNS Zone is created you can specify A-records so that the DNS knows to which IP to route traffic when a browser calls the domain. Below is my setup for the purpose of this example.
The IP address is the static IP we configured earlier. Finally, you need to configure the DNS name servers at your domain provider. Check the documentation of your provider should you have questions. Once that is done as well you will have to wait until the DNS setting propagates and the domain actually routes traffic to your WordPress instance.
Jens Neuhaus posted a fantastic write up for creating and installing an SSL certificate using Let’s Encrypt. You can find his post here: SSL for AWS Lightsail WordPress. I followed his instructions one by one and it worked flawlessly.
This was a rather long post, so thanks for bearing with me. I hope you find it useful. Also, I’m planning on comparing this kind of hosting to hosting your blog on WordPress.com. Stay tuned.
Canon 5D Mark III, Canon L 70-300mm, ISO-100, F/7,1, 1/400sec, 207mm
Look at this Meerkats… It was a very hot day in Leipzig Zoo so at first, all them were lying lazily in the shadow. See the pictures below. But then this one guy was curious enough to climb the rock and posed like a supermodel.
Last week I visited AWS Summit Berlin 2018 and I really enjoyed it even though some presentations were very AWS marketing heavy. I guess that is fair given that it is a free event.
I learned that this year it was the first time that they scheduled it for two full days. Hence the sessions were a good mix of more high-level presentations and some technical deep-dives. I enjoyed both kinds of presentations.
You also had the opportunity to talk to lots of AWS employees and partners which probably was useful for those coming with very concrete topics. For me, I only took the time to learn what some of those companies are doing which definitely was time well spent as well.
If you asked me my three main takeaways here is what I’d like to call out.
1. Don’t start with solutions, start with problems that your customers are having.
This reads so obviously and still, often we are not working like that. Instead of first deeply understanding the need of the customer and the problem that we’d like to solve we are suggesting a premature solution and later are surprised by the fact that we are not meeting „customer expectations“ or rather haven’t solved any real problem or have solved it in a way that doesn’t work for the customer.
It was also pointed out that this process needs to become part of an organizational flow in which you start with Design Thinking, you then work on solving the problem with Agile Teams and operate those solutions with DevOps in mind.
2. Generalists vs. Specialists
In a session about Artificial Intelligence and Machine Learning, the presenter made a point about generalists eventually becoming more important than specialists if you are talking about building successful solutions.
Take experts in artificial intelligence for example. There are only a few true experts in this field available globally. However, there is a huge demand for knowledge of AI / ML in the industry. The way AWS reacted on this is to offer three layers of AI / ML related services. First, the very basic level. It offers you the greatest flexibility, but it also requires you to understand the underlying models and math. The second layer gives you access to frameworks. You still need to understand the ML concept, but you can rely on algorithms doing the actual work. The third layer consists of application services which have a specific purpose and are pre-trained by AWS. E.g. voice recognition, image recognition etc.
So in above example, people who are not experts in AI / ML can apply ML to their solution because of the application services that are being offered by others. The specialist is not needed in that case. Who is needed is someone with a brought view on technology who is able to understand problems and find solutions given existing technology.
I still think there always will be the need for specialists, but I found that point of you refreshing and interesting.
The presenter also shared a fitting quote from Robert A. Heinlein:
“A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”
This one is more personal for me. Sometimes it is easy to become complacent. You know what you know and you are good at what you are doing. But what are you really doing? You’re are slowly killing your future. It is important to continue learning and stay curious. Why?
Learn to Learn and be Curious:
Have you visited an AWS Summit in your country? What were your main takeaways?
Canon 5D Mark III, Canon L 70-300mm, ISO-400, F/5.6, 1/125s, 300mm
We saw this Red Panda when visiting the zoo in Leipzig recently. Isn’t he cute? He is also a member of an endangered species. There are only 10000 mature individuals remaining in the wilderness. It is a shame. I hope my little daughter still will be able to see them once she is older.