Low threshold: Easy to get started
AWS provides a plethora of services; more than 200, as I write this, to accommodate a wide variety of potential solutions. It’s easy to get started with AWS, deploying your first server or even your first service.
Deploying a web application takes only a few minutes with services like the Elastic Beanstalk. AWS Elastic Beanstalk is an easy-to-use orchestration service for deploying and scaling web applications, which orchestrates various other AWS services developed in common programming languages such as Java, .Net, PHP, Go, Python, Ruby and Node.js. Not only does it provide a good starting point and a foundation but also allows you to make changes as your knowledge and skills grow over time. It runs on familiar servers such as Apache, IIS and Nginx. You simply upload your code and Elastic Beanstalk will handle deployment, capacity provisioning, load balancing, auto-scaling and application health monitoring for you while you still maintain full control over the application and the resources it consumes.
You can also optimize a web application by choosing a different route other than Elastic Beanstalk. It can be optimized in terms of both cost and performance by leveraging other services to solve the same task. This brings us to the next reason why AWS is a good choice – flexibility.
Range of flexible services and configurations
The AWS services are designed to allow vendors, application providers or almost anyone to quickly and securely host applications in the cloud. You start out by leveraging a few services through the AWS Management Console and as you build up your skills you can move into more fine-grained services and leverage programmatic access to resources and scripting to control your application landscape.
AWS allows you not only to select from a wide variety of services, they also provide support for a wide selection of operating systems, programming languages, web application platforms and databases. This eases the migration process for existing applications and allows for great flexibility when building new solutions. Cool, isn’t it?
Another benefit of cloud services is that one can deploy a new service or application within minutes without the need for purchasing and installing expensive hardware. You need more servers? Just add a few more with a few clicks and they are ready to use almost instantly!
Having a flexible solution that can match your needs is an important factor, not only in terms of what services, operating systems, programming languages, platforms and databases you can choose from but also in the amount of resources allocated and the limits to which you can stretch the services and applications to meet growing demand. Why else do you think it is called “Elastic”?
The flexibility and possibility of scaling resources brings us to our next attribute – performance.
Scale by demand
Every solution should provide a good user experience, i.e. provide at least enough computing power to render good performance. If you run your own datacenter you need to secure that you have enough servers to cover peak load for every service and application. This is easy if you have a predictable load allowing you the knowledge of both when traffic peaks and if you have the right number of servers to manage the load. You also need to forecast a drop in load on the servers to be able to plan maintenance properly.
In addition to the flexibility to commission and decommission resources as needed without having to keep a large pile of servers on standby for peak hours you can also setup a new environment in parallel with the existing one and perform any updates on that environment while the load is still hitting the current production environment. When the new environment is ready for production, simply direct traffic to this environment. This can, of course, be achieved in your own datacenter as well, but requires additional resources to carry this out, outside of peak hours.
AWS empowers you with automatic scaling and load balancing in a few simple steps, and also provides possibilities to further fine-tune performance by scheduled scaling to address sudden rise in demand and by routing users based on geographic location or server response times. All of this is backed by a massive global infrastructure giving you access to compute resources and storage as you need.
As performance requirement and demand changes over time you can increase computing power and number of service instances used by your applications, but also decrease compute power and instance count. If service instances are not needed for a while, they can be decommissioned and will no longer be counted towards your cloud spend and cost you money.
Secure and Reliable
Great performance is nothing if not secure and reliable. With AWS you have full control of where your data is stored, who can access it, and what resources your organization is consuming at any given moment. Fine-grain identity and access controls combined with continuous monitoring for near real-time security information ensure that resources have the right access at all times, wherever your information is stored.
To free time for you to focus on and innovate your business, AWS allows for automation of security to a great extent. Automating security tasks on AWS enables you to be more secure by reducing human configuration errors and giving your team more time to focus on other work critical to your business. Select from a wide variety of deeply integrated solutions that can be combined to automate tasks in novel ways, making it easier for your security team to work closely with developer and operations teams to create and deploy code faster and more securely.
AWS provides datacenters in multiple physical locations, called regions, across the globe. Each region consists of multiple, isolated and physically separated datacenters, called Availability Zones. Services can span multiple Availability Zones within a region to provide high availability and span multiple regions to provide disaster recovery. For some solutions a combination of multiple regions and multiple availability zones within each region might be needed to provide the best user experience and reliability.
Pay for what you use
Don’t need the servers anymore? As mentioned above you can dispose them and they won’t cost you any more money. The cost for cloud services is based on its usage, so keep track of what resources you use. And save money!
AWS provides you with a set of services that delivers near real-time visibility of cost and usage information to make informed decisions. If properly setup using AWS organizations and leveraging resource tagging for organizing your resources, it’s easy to visualize and analyze cost and usage data in a single pane of glass. The tools give you accurate chargeback to appropriate entities (e.g. department, project, and product). This enhances visibility within your organization.
If you are starting out small, AWS even provides what’s called Free Tier. You can try out most of the services, but at a limited scale or for a limited time.
Summing up: Will AWS fulfill your needs?
I know I am repeating myself, but I simply cannot over-emphasize this: AWS’ cloud allows you to start out small, even for free in some cases, with some simple services that are easy to grasp with a high amount of automation. As you learn more about the services and can manage more complex configurations you can build more complex solutions using less complex services and get a better fit for your specific needs. It’s the simplicity that kick-starts your journey and the flexibility that enables your growth.
Your solution can grow with your demand and the resources can be scaled in all directions: up, down, in and out, to suit your needs over time. No more time wasted in purchasing and installing hardware – it can all be automated through pre-defined services or more advanced scripting. With great flexibility and possibility to scale as you grow comes great agility. Since you pay for what you use, cloud and AWS is very cost effective – and at the end of the day who doesn’t want to save money?
What are your needs and requirements on compute infrastructure? Let me know and let’s see if I can answer your queries.
Published by: Henrik Soderqvist
Cloud Solution architect
With 15+ years of experience, Henrik is passionate about the latest technologies and he leverages his experiences to provide innovative and cost-effective IT solutions to his clients. Henrik is certified on the professional level as AWS Solutions Architect. In co-operation with AWS he delivers Well-Architected Reviews to aid clients in adopting best-practice for their cloud workloads. He enjoys building and coaching technology teams to bring new products and services to the market. His ability to understand both application software and hardware has proven fruitful when connecting physical products in IoT solutions. He daily navigates complex IT environments and never hesitates to take on challenging tasks. His deep technical knowledge and eager to explore new technologies strengthens his role as an architect when being able to give pointers to more information and hands-on examples directly to guide the development teams in their daily work.