Learn AWS

Time to Learn Amazon Web Services?

Curious about what cloud computing can do for you and your organization? Looking for a beginners tutorial covering the technical essentials of AWS?

Well here’s a quick and relatively painless introduction to the basics of cloud computing and in particular its AWS flavor. Hopefully you’ll find enough to get you pointed at the best way to quickly pick up the skills you’ll need. Got more questions I don’t answer here? Let me know.

So what is cloud computing?

Cloud computing is the provision of on-demand, self-service compute, memory, and storage resources remotely over a network.

Since cloud-based services are billed in very small increments, you can quickly configure and launch a wide range of projects. And since the resources are all virtual, launching them as part of an experiment or to solve some short-term problem – and then killing them off when you’re done – will often make lots of sense.

Why should I care?

Cloud platforms let you do things that would be impossible – or impossibly expensive – anywhere else.

Unsure how long your project will run or how much demand it will attract? Perhaps purchasing, building, and housing all the expensive hardware you’d need to properly support your project in-house presents can’t be justified. Investing heavily in server, cooling, and routing equipment might just not make sense.

But if you could rent just enough of someone else’s equipment to match fast-changing demand levels and pay only for what you actually use, then it might work.

Why AWS?

Well for one thing, according to the research firm Gartner, AWS…

“has the largest share of compute capacity in use by paying customers—many times the aggregate size of all other providers in the market… It has the richest array of IaaS and PaaS capabilities. It provides the deepest capabilities for governing a large number of users and resources. It continues to rapidly expand its service offerings and to offer higher-level solutions.”

In other words, the move to cloud-based service delivery is accelerating, and  AWS is dominant. So if you – or the employer you know and love – has any digital service delivery plans on the horizon, being up on the key cloud technology stack can only help.

What is a virtual compute resource?

Virtualization is the division of physical compute and networking resources into smaller, more flexible units, presenting these smaller units to users as though each was a discrete resource.

So instead of assigning specific computing tasks to individual physical servers—which may sometimes end up being over- or underused—a single physical server can be logically divided into as few or as many virtual servers (known in the Amazon world as instances) as needed. That means there can be dozens of individually installed operating systems running in parallel on the same hard drive, each effectively unaware that it isn’t all alone in its local environment. Practically, each operating system instance can be accessed remotely by both administrators and customers in exactly the same ways as any other server.

What is elasticity?

Elasticity_ is a system’s ability to monitor user demand and automatically increase and decrease deployed resources accordingly. This quality is a big part of cloud computing’s secret sauce, as it’s what lets you design and deploy an application. You can be confident that the cloud provider will invisibly provision or retire resources according to need, ensuring that you never get stuck with the bill for unused services.

What is scalability?

Scalability describes the way a system is designed to meet changing demand. That means the underlying design supports rapid, unpredictable changes. As an example, software that’s scalable can be easily picked up and dropped onto a new server—possibly in a new network environment—and run without any manual configuration. Or, in other words, the composition of a scalable infrastructure can be quickly changed in a way that all the old bits and pieces immediately know how to work together with the new ones.

How to learn AWS skills?

Ah. Now I was hoping you’d get around to asking me that. Well, throwing modesty to the wind, I’ll tell you about my own book – published by Manning – “Learn Amazon Web Services in a Month of Lunches“. Using practical projects, the book guides you through all of the core AWS services, allowing you to move just about any application onto a secure, load balanced, and highly available cloud infrastructure.

Learn AWS in a Month of Lunches

But there’s also a lot of documentation available for free online. In particular, you should be aware of Amazon’s own documentation collection. It can sometimes feel like too much of a good thing, but there’s no denying that AWS has done a great job pulling together a wealth of text-based guides to using their platform.

Should you take certification exams?

It certainly can’t hurt. AWS’s own certs are popular and will probably make a difference if your CV finds itself sitting on a desk next to one or two others that lack the credential.

It’s also worth considering that the certification training process has its own value: just following the AWS curriculum can itself expose you to many critical administration skills and best practices.

As I say, it can’t hurt.

And, along with my co-author Ben Piper, I just happen to have written books for Wiley/Sybex on both the AWS Solutions Architect associate exam (to learn how to administration AWS resources):

AWS - Solutions Architect exam guide

…and the AWS Certified Cloud Practitioner exam (to help managers learn to understand the value of choosing cloud resources over traditional data centers):

AWS Certified Cloud Practitioner Study Guide: CLF-C01 Exam

My friends over at Search3W took the plunge and moved to AWS, why not you?