DEV Community

Cover image for SETTING UP A COST-EFFECTIVE AWS INFRASTRUCTURE FOR YOUR STARTUP.
Barakat
Barakat

Posted on

SETTING UP A COST-EFFECTIVE AWS INFRASTRUCTURE FOR YOUR STARTUP.

Building a startup can be both time and money-consuming. While your team's passion and expertise are crucial for your startup growth, your technology infrastructure equally plays a vital role. Having the right, robust, scalable, and cost-effective tech infrastructure can accelerate your startup's journey, allowing you to focus on what matters most: your product and customers. Amazon Web Services(AWS) offers a comprehensive suite of cloud computing services that can help you achieve these goals.
This article will guide you through the process of setting up a cost-effective AWS environment tailored to the needs of a growing startup.

WHAT IS AMAZON WEB SERVICE (AWS)?
AWS is a subsidiary of Amazon that provides cloud computing platforms to individuals, organizations, and governments to help them lower costs, become more agile, save, and innovate faster.

Happy I guess
Interesting right? Let's go ahead and dive into the numerous opportunities AWS has for your startup.

GETTING STARTED
To leverage AWS full potential for your startup or use AWS, you need to be a user. User represents the person within your organization that interact with AWS console.
There are two(2) types of user in AWS;

  • Root User: this is the initial owner that is created when the AWS new account is created. Do not share this with anyone.

  • IAM User: this user is created by the root user or an administrator of the account.

CREATING AN AWS ACCOUNT (ROOT USER)

  • Click on this link to start your account creation
    Amazon

  • Click on create a free account to create your account.

Let create your account

  • Enter necessary details as indicated below or sign-in with your details if you already have an account.

Now fill in your details

  • You will be required to input a card details for verification.

Don't Panic
Don't panic, you won't be charged for creating a free tier account as long as you follow the above steps.

  • You will receive an email after a successful account creation.

Important
*Do not give the credential of the root user account for your AWS account to anyone. Anyone who has this information has unrestricted access to all the resources in your account, including billing information. *


AWS MANAGEMENT CONSOLE
The AWS Management Console is the web based interface for accessing and managing AWS services. It provides a user friendly way to interact with AWS resources without requiring deep technical knowledge. With the AWS Management Console, users are able to:

  • View/Search for Services

AWS Services and Search Bar

  • Access AWS CloudShell

AWS CloudShell

  • Notification

Get Notified

  • Support, User settings, Origin, and Access Account.

Know your AWS Management Console

NAVIGATING AWS SERVICES
To navigate through different AWS services, you can:

  • Search Bar: Type the service name in the search bar at the top of the console.

  • Services Menu: Click on the "Services" dropdown menu and select the desired services.

There are lot of AWS services that can be leverage for the growth of your startup.

Below are Key Services for a startup

  • EC2(Elastic Compute Cloud): provides virtual servers that can be scaled according to demand for running applications.
  • S3(Simple Storage Service): offers scalable object storage for storing data, content distribution and more.
  • IAM(Identity and Access Management): manages user access to AWS resources.

INDENTITY AND ACCESS MANAGEMENT(IAM)

IAM is crucial for managing user access to AWS resources and preventing unauthorized access.It enables you to control who can access your AWS resources and what actions they can perform. It helps ensure security and compliance.

IAM COMPONENTS/RESOURCES

  1. Users
  2. Groups
  3. Policies
  4. Roles

IAM USER

  • User represent the person within your organization that interacts with AWS console and services.
  • You can create a user and add permission directly to the user.
  • Multiple users can be part of a group.

GROUP

  • A group is a collection of IAM users
  • A user can belong to multiple groups but groups cannot belong to other groups.
  • Groups can be granted permissions using access control policies. This makes it easier to manage permissions for a collection of users.

CREATING AN IAM USER

  • Login to your Root User Account Amazon

Root User Login

  • Search IAM in the Search Bar.

  • Click on Users and then Create User

Now Create an IAM User

  • Enter a Username and tick the box below it.

Create a Unique Username

  • Tick the "I want to create an IAM User" box and create a custom password or use an Autogenerated Password.

Create a password

  • Tick or Untick the box that allow user to create a new password on next login. It is advisable to tick this box if you are creating the account for others then click "Next"

You're Progressing

  • Attach Policy Directly to the user.

Policy Access

  • Review and create User.

CREATING AN IAM GROUP

  • Type IAM in the search bar.
  • Click on "User Groups" then "Create Group".
    IAM group Creation

  • Enter a group name and add users to the group.

Image description

  • Viola! you have just created a group with multiple users.

IAM POLICY

  • IAM policies are JSON documents that specify the permissions granted to a user, group, or role.
  • When you create an IAM user, they can't access anything in your account until you give them permission.

Types of Policy

  • AWS Managed: predefined policy created by AWS that can be attached to the user, group, and role.

Get Familiar with AWS managed policies

  • AWS Managed - Job Function: Policy created by AWS for specific job functions, For example Data Science.

Get Familiar with AWS managed-job function policies

  • Custom: policy created by you to meet specific requirement: Click on Create policy at the top write corner and input necessary code for the permission needed. ChatGPT and google will help to learn more about this.

Yippee! its time to create your own policy

Common IAM Permissions

  • Full Access: Grants the principal full control over a resource (e.g., "AmazonS3FullAccess").
  • Read-Only Access: Grants the principal permission to view but not modify resources (e.g., "AmazonEC2ReadOnlyAccess").
  • Write-Only Access: Grants the principal permission to modify but not view resources.
  • Specific Actions: Grants the principal permission to perform specific actions on resources (e.g., "ec2:DescribeInstances").

IAM ROLES
Roles provide temporary security credentials to users, applications, or services that need to access AWS resources. Unlike IAM users, which have permanent credentials, roles are associated with specific use cases and provide access only when needed.

Creating and Using IAM Roles

  • Create an IAM Role: In the IAM console, create a role and attach appropriate policies to define the permissions granted to the role.

IAM Role

  • Assign the Role: Assign the role to a user, group, or service that needs to access AWS resources.
  • Assume the Role: When a user or service needs to access resources, they assume the role, obtaining temporary credentials.

Cheers
You have come this far and I really commend your effort.

In conclusion, building a cost-effective and scalable AWS infrastructure is crucial for startups to achieve rapid growth and maintain competitiveness. By following the guidelines outlined in this article, you can effectively set up and manage your AWS environment, ensuring security, cost-efficiency, and flexibility.

Key Takeaways:

  • IAM Policies and Permissions: Understand the importance of IAM policies and best practices for managing access to AWS resources.
  • Cost Optimization: Implement cost optimization strategies to maximize efficiency and minimize expenses.
  • Awareness: make sure your teams are aware of how your resources are running. For most startup it is advisable to start with a free tier account and grow as the business and workload grows.
  • Continuous Learning: Stay updated with the latest AWS features and best practices to ensure your infrastructure remains relevant and secure. As your startup continues to evolve, remember to revisit and refine your AWS environment to align with your changing needs. By doing so, you can leverage the services of AWS to drive your business forward and achieve your goals.

Don't forget to follow me for more articles on AWS Cloud Computing.

Cheers to connecting with y'all

Top comments (0)