AWS Nepal
Menu
DevOps

AWS for Startups in Nepal: A Practical Place to Begin

Updated

Image of a server rack with glowing lights in a modern data center.

Starting on AWS does not mean deploying every available service. For most startups, the first job is simpler: run the product reliably, protect customer data, and understand what the infrastructure costs.

AWS is useful because it lets a team begin small and grow without buying servers in advance. But flexibility can become expensive and confusing when there is no clear design.

Start with the workload, not the services

Before choosing AWS services, write down what the application actually needs.

  • Is it a static website, a web application, an API, or a mobile backend?
  • Does it need a relational database such as PostgreSQL or MySQL?
  • Will users upload documents, photos, or videos?
  • Is traffic steady, or does it rise sharply during campaigns, admissions, events, or sales?
  • How serious would an hour of downtime be?

The answers should drive the architecture. A small business website does not need Kubernetes. A customer-facing financial or learning platform should not rely on one unmanaged server.

A sensible first AWS architecture

For many early-stage web products, the following is a good starting point:

  • Route 53 for DNS.
  • CloudFront to deliver static files quickly and reduce load on the application.
  • S3 for images, documents, backups, and frontend assets.
  • EC2 or ECS for the application.
  • RDS for a managed PostgreSQL or MySQL database.
  • Application Load Balancer when more than one application instance is needed.
  • CloudWatch for logs, metrics, and alerts.
  • IAM and Secrets Manager for controlled access and secrets.

This is not a mandatory checklist. It is a baseline that separates application code, data, files, monitoring, and access control.

EC2, Lightsail, or containers?

Lightsail is a good fit for a simple WordPress site, portfolio, proof of concept, or low-traffic application. It is easier to understand because compute, disk, and networking are packaged together.

EC2 gives more control. It works well when a team can manage Linux, Nginx, deployments, backups, and security updates. It is still a practical choice for many Node.js, PHP, Python, and .NET applications.

ECS is a strong next step for teams already using Docker. It makes deployments and scaling more consistent without introducing all the operational overhead of Kubernetes.

EKS is powerful, but it should be a deliberate choice. Use it when the organisation already has container and Kubernetes skills, multiple services, clear deployment processes, and a real reason to operate a cluster.

Protect the account before deploying anything important

The root AWS account should be locked down immediately.

  1. Enable multi-factor authentication on the root user.
  2. Do not use the root user for day-to-day work.
  3. Create individual IAM access with only the permissions each person needs.
  4. Turn on CloudTrail so important account activity is recorded.
  5. Create a billing budget and alert before spending reaches an uncomfortable level.
  6. Store database passwords and API keys in Secrets Manager or Parameter Store, not in source code.

This is not paperwork. A leaked access key or a public database can cost much more than the time spent setting up access properly.

Keep the first AWS bill understandable

New teams often see surprise costs from services that were enabled during testing and never removed. The common ones are unused EC2 instances, EBS volumes, snapshots, NAT Gateways, load balancers, old Elastic IPs, and large CloudWatch log retention periods.

Set up these controls on day one:

  • AWS Budgets with email alerts at 50%, 80%, and 100% of the monthly budget.
  • Cost Explorer access for the person responsible for cloud spending.
  • Tags such as Environment, Application, Owner, and CostCenter.
  • A monthly review of idle resources and the largest services by cost.

Build for recovery, even at a small scale

Backups only matter if they can be restored. At minimum, define where backups live, how long they are retained, who can restore them, and how restoration will be tested.

For example, RDS automated backups protect the database, while S3 versioning can protect uploaded files from accidental deletion. Neither one replaces an application recovery plan.

Final thought

AWS should make a startup more dependable, not more complicated. Start with a small, secure architecture that the team understands. Add services when there is a clear operational or business reason to do so.