Get Your Head in The Cloud – Why Developers and Designers Need to Sign Up For AWS
We’ve all seen this internet meme about the cloud, right? To a certain extent this is true; however, the reality is not so simplistic. The cloud is not just some new buzzword that’s going to die down any time soon. It is quickly becoming the modus operandi of most organizations for running their computer, networking, and storage infrastructure.
“So what?” you might ask. You’re a UI designer or a developer and it’s not like you’ll ever be managing cloud infrastructure, right?
Yes, it is unlikely that you will ever be required to become a cloud architect. However, if you think that you don’t need knowledge of the cloud to advance in your career, you are sadly mistaken.
If you are a developer, designer, or (insert almost any IT related job title here), then you must get a cloud certification—or at the very least, learn some basics about cloud computing.
In this post, I will be discussing how cloud computing will affect all aspects of software development, as well as how (and why) developers and designers must prepare to meet the future in the cloud.
What Is The Cloud
“What is the cloud,” you might ask, “other than just someone else’s computer?” How about we ask the sage of sages, Wikipedia.
Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet. — Wikipedia
The most important term in that definition is “data center.” In the public cloud model, anyone with a credit card can gain access to the most powerful data centers in the world, such as those created by Amazon, Microsoft, and Google.
Where in the past, designers and developers were limited to their personal machines (or at most the compute power of their organization’s data center), now every developer and designer has access to the most powerful computing platforms ever created. The best part is that you can choose to pay as you go, that is, only paying for what you use. You can even do quite a bit in the free tier, without ever paying a cent.
So, is all this power changing the development and design landscapes? You bet it is.
The cloud is no longer a data center that is different from your own. It is a paradigm shift in computing, storage, and networks, as well as the way we think about computing. Unlike what the meme above suggests, the cloud is not just about Linux servers.
Are you running your machine-learning models on your little laptop and it takes forever to spit out a workable model? Why not run that model on a cloud server or better yet, why not use a managed AI development platform where you only need to focus on building and deploying your models?
Are you stuck paying hundreds of dollars for software licenses that go obsolete every few years, causing you to end up paying the same price all over again? With Software as a Service models coming out for most major design tools such as Adobe, you can pay monthly access fees instead.
This way, if you have some downtime or are not getting as much design work, you can choose to stop the subscription and not pay the monthly fee. This saves you money in the long run.
Let’s talk about how the cloud will impact you, shall we?
How the Cloud Will Impact Developers
“Developers, developers, developers, developers…” — Steve Balmer
If you are a developer, you’ve at least heard of the cloud, and maybe you are already working in the cloud. If that’s the case, congratulations; you are ahead of the game.
As a developer, what you want to do most is write code. Due to the rise of cloud computing, everyone is expected to do more with less, including developers.
You might be working with a client who does not have a dedicated server or operations team. You might even be a one-man operation (ever heard of full stack developer? That‘s just another way of saying that you do everything). Because of this, you might soon be expected to come up with the infrastructure that will run your code.
You might also be expected to show working proof of concept applications before anyone will take your code seriously. In the age of the cloud, if you can’t show a running application in a full-sized workload, you are behind the eight ball.
As more and more companies migrate to the cloud, “the shift to cloud continues, with cloud spending representing 25 percent of IT spending, which is surpassing on-premises software spending (22 percent).”
Traditional models of software development are also slowly becoming obsolete. With the CI/CD tools that cloud providers make available, the speed at which features and fixes are expected to be deployed to production environments is increasing. As of 2011, Amazon was deploying changes to their production environment every 11.6 seconds.
Can you imagine working in an environment in which you don’t have two-month deployment cycles, but 11.6-second deployment cycles?
How the Cloud Will Impact Designers
“Design won’t save the world, but sure makes it look good.”— Unknown
Do you design websites? Perhaps you create the images/logos and icons for web sites or other graphic material for the web. Well, all websites will sooner or later be running in the cloud, but it is a lot more than just hosting capability.
The cloud is making it easy to integrate nontraditional user interfaces for websites. More and more users now expect to be able to interact with websites using some kind of voice controls. Chatbots and voice-based virtual assistants are popping up everywhere, and if you are designing UIs that are not integrating with these new developments, you are falling behind.
Other UIs that the cloud will make easy to integrate include AR and VR. Recently, I was in the market for a new home. Around the same time, I ordered the new Oculus Quest 2 VR headset. When it arrived, I was sure I was going to put it on, visit the home builders site, and it would have 360 degree tours of their model homes in VR. However, it was quite frustrating to visit the builder’s site to only view the virtual home tour on a flat screen.
AR, VR, chatbots, and machine learning: Cloud vendors are innovating at a dizzying pace and it is important that cloud-based applications have good UIs. If there is a cloud migration happening, you are much more likely to get in on the action if you know about cloud computing. The bottom line is, you are much more likely to get hired.
The cloud is accelerating the average bandwidth available to each user. Average bandwidths are rising and, as a result, so are the expectations of users for load times. Where in the past users were willing to wait for up to 30 seconds for a web site to load, they are now not willing to wait any more than 3 seconds before they move away.
All these developments are either in the cloud or due to the cloud, so you better learn the cloud and learn it fast!
Ok, now that I have convinced you about cloud computing and its importance, you must be asking, which cloud provider is the best? Here is a good rule of thumb I have always used: If you are new to a technology, try learning about it from the industry leader. When it comes to cloud technology, the clear industry leader is AWS.
“Invention requires two things: 1. The ability to try a lot of experiments, and 2. not having to live with the collateral damage of failed experiments.”— AWS cloud CEO, Andy Jassy.
What is AWS?
There are multiple reasons that I am recommending AWS.
Shameless plug alert! I recently passed the AWS certified Architect associate exam and it is the cloud provider that I have the most experience with.
However, that is not the only reason.
“If I'd lived in Roman times, I'd have lived in Rome. … Today America is the Roman Empire and New York is Rome itself.” John Lennon
If you are living in cloud times (which you are), AWS pretty much counts as Rome. AWS is also the Gartner magic quadrant leader, so if you learn AWS, you are making a rather safe bet that AWS won’t be going away any time soon.
AWS is now the largest systems business in the world so fret not, any certification you take or knowledge you possess of AWS is likely to come in handy for a long time.
AWS For Developers
AWS was among the first cloud providers. It has been innovating at an incredible pace, and the number of services that are likely to interest developers and designers is huge. They also provide an excellent free tier where you can do a lot without paying a cent.
So what is in AWS for developers? Let’s go over some of the basics.
RDS (Relational Database Service) is a service that developers should definitely get familiar with. It allows for provisioning of AWS-managed database servers for relational databases such as MySQL and Postgresql.
If you are a developer and have ever wished that you could test your code on a production scale database server, then look no further than RDS. No more testing in a local instance or even a tiny docker container. Feel free to provision an instance the same size as your production environment, and once you are done testing, tear it down and only pay for what you used.
Where there have been lots of buzzwords in cloud computing, the “serverless” buzzword is unlikely to die. Serverless computing is not just a new method of computing power, it is an entirely different way of writing and architecting applications.
AWS Lambda sits at the backbone of AWS’s serverless offerings. It is a serverless compute engine with which you can run a single function in almost any runtime language of your choice. Which server, you ask, does the function run on? That is the beauty of it. There is no server and as such, you don’t pay for any server or compute capacity that sits idle. You only pay for when the function executes and performs a task and nothing more.
Where lambda is the backbone of AWS serverless compute offering, S3 is the backbone of the AWS serverless storage offering. It is an object-based storage with limitless storage. Ok, so that last part is an exaggeration, but for all practical purposes, the storage capacity on S3 is liimitless.
The availability, durability, and scalability of S3 is industry-leading, and due to tiered storage offerings, you can store 1 terabyte of data for 1 dollar per month (really). You will never have to worry about running into server disk space limitations with S3. If you are still not convinced, S3 also offers built-in data compliance and governance capabilities.
Block storage doesn’t exactly fit your needs, and you need a file system for your application instead? Don’t worry, my developer friend, EFS is here. Elastic File System is a completely managed network file system storage solution that grows and shrinks based on the number of files you store on it, while you only pay for what you use.
Did I already mention serverless? Well, if you are looking for a serverless database, DynamoDB is what you want. All of Amazon.com is now running on DynamoDB. Need I tell you more?
AWS For Designers
AWS is not just for developers. There are plenty of tools and services that will interest designers as well. Some tools and services that will be of interest for developers are below.
Although conversational and voice user experiences used to be cutting-edge technologies, these days any application running without them seems a little dated. Most users expect to be able to talk to their devices and they expect those devices to talk back. Polly is the AWS text to speech offering, and if you are designing applications or websites, better get on the voice and text to speech bandwagon or risk getting left behind.
The rise of digital assistants such as Alexa, Siri, and Cortana has given rise to end user expectation that users should be able to control their devices using their voice. Lex allows you to create chat bots and voice-based digital assistants that can perform actions based on user voice input.
Designing a florist website? What if using the website assistant, you can order the flowers as if ordering them over the phone? With Amazon Lex, you can create voice- and text-based bots that can do just that. Other use cases include help-desk automation and lead generation.
I mentioned S3 in the developer section already so I won’t explain what it is here, but S3 can also be used to store and host static websites and static content such as images, style sheets, and HTML pages. If you are looking for a quick hosting solution for a small business site that is static in nature, S3 is an incredibly cheap but enterprise-class solution for hosting static sites.
Whereas designers are switching to Software as a Service offerings such as Adobe Creative Cloud, designers are still using traditional desktop machines to do their work. These machines become obsolete quickly and then have to be replaced.
With Amazon Workspaces, you can quickly provision a desktop, give it as much CPU and RAM as you need, do your work, and deprovision the desktop without ever needing to buy any of the associated hardware. Only pay for what you use. Compute and memory intensive design work such as video editing or 3D modeling can now be done on demand without the need to purchase newer hardware every few years.
As most designers reading this post know, you must buy new hardware every four to five years to keep up with the performance requirements for more and more demanding workloads. As performance requirements increase, so does the cost of ownership of desktop and laptop hardware, and if you are a small business or a freelancer, those costs can add up. Amazon Workspaces is the answer.
The 3-dimensional web is on the rise, as are the number of users of VR headsets. With Amazon Sumerian, you can create 3D front-end experiences for AR and VR.
The number of active VR users as of 2018 was 171 million, and this number is expected to rise. Before you know it, having AR- and VR-ready user interfaces for websites will not just be nice to have, just like mobile-responsive design is no longer optional. Besides, it’s really really cool!
Get Your Head in the Cloud
There you have it, folks. Whether you are a developer or a designer, learning about the different tools and services available to you in the cloud has become absolutely essential.
Some services that are likely to be of interest to both developers and designers include RDS, Polly, Lambda, Amazon Workspaces, EFS, and S3. But really, there are countless options for you that can help your productivity.
If you wish to remain relevant in the future, if you want to progress in your career as a developer or designer, and if you don’t want to get left behind, then you better get your head in the cloud.