What is Amazon Route 53?
Who uses Amazon Route 53?
Amazon Route 53 Integrations
Why developers like Amazon Route 53?
Here are some stack decisions, common use cases and reviews by companies and developers who chose Amazon Route 53 in their tech stack.
I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.
I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).
As per my work experience and knowledge, I have chosen the followings stacks to this mission.
Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.
Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.
Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.
Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.
Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.
Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.
Happy Coding! Suggestions are welcome! :)
I'm the CTO of a marketing automation SaaS. Because of the continuously increasing load we moved to the AWSCloud. We are using more and more features of AWS: Amazon CloudWatch, Amazon SNS, Amazon CloudFront, Amazon Route 53 and so on.
Our main Database is MySQL but for the hundreds of GB document data we use MongoDB more and more. We started to use Redis for cache and other time sensitive operations.
On the front-end we use jQuery UI + Smarty but now we refactor our app to use Vue.js with Vuetify. Because our app is relatively complex we need to use vuex as well.
On the development side we use GitHub as our main repo, Docker for local and server environment and Jenkins and AWS CodePipeline for Continuous Integration.
In 2010 we made the very difficult decision to entirely re-engineer our existing monolithic LAMP application from the ground up in order to address some growing concerns about it's long term viability as a platform.
Full application re-write is almost always never the answer, because of the risks involved. However the situation warranted drastic action as it was clear that the existing product was going to face severe scaling issues. We felt it better address these sooner rather than later and also take the opportunity to improve the international architecture and also to refactor the database in. order that it better matched the changes in core functionality.
PostgreSQL was chosen for its reputation as being solid ACID compliant database backend, it was available as an offering AWS RDS service which reduced the management overhead of us having to configure it ourselves. In order to reduce read load on the primary database we implemented an Elasticsearch layer for fast and scalable search operations. Synchronisation of these indexes was to be achieved through the use of Sidekiq's Redis based background workers on Amazon ElastiCache. Again the AWS solution here looked to be an easy way to keep our involvement in managing this part of the platform at a minimum. Allowing us to focus on our core business.
Rails ls was chosen for its ability to quickly get core functionality up and running, its MVC architecture and also its focus on Test Driven Development using RSpec and Selenium with Travis CI providing continual integration. We also liked Ruby for its terse, clean and elegant syntax. Though YMMV on that one!
Unicorn was chosen for its continual deployment and reputation as a reliable application server, nginx for its reputation as a fast and stable reverse-proxy. We also took advantage of the Amazon CloudFront CDN here to further improve performance by caching static assets globally.
We tried to strike a balance between having control over management and configuration of our core application with the convenience of being able to leverage AWS hosted services for ancillary functions (Amazon SES , Amazon SQS Amazon Route 53 all hosted securely inside Amazon VPC of course!).
Whilst there is some compromise here with potential vendor lock in, the tasks being performed by these ancillary services are no particularly specialised which should mitigate this risk. Furthermore we have already containerised the stack in our development using Docker environment, and looking to how best to bring this into production - potentially using Amazon EC2 Container Service
We recently went through building and setting up free SSL for custom domains for our #SaaS customers. This feature is used for hosting public status pages and dashboards under the customers' own domain name.
We are in the #Node.js, #AWS and #Heroku world, but most of the things we learned are applicable to other stacks too.
The post linked goes into three things:
- Configuring the Let's Encrypt / ACME client called Greenlock.
- Getting DNS right on Amazon Route 53
- Actually determining what content to serve based on hostname.
All seem pretty straightforward, but there are gotcha's at each step.
Hope this helps other budding SaaS operators or ops peeps that need this functionality.
Yesterday we moved away from using CloudFlare towards Amazon Route 53 for a few reasons. Although CloudFlare is a great platform, once you reach almost a 100% AWS Service integration, it makes it hard to still use CloudFlare in the stack. Also being able to use Aliases for DNS makes it faster because instead of doing a CNAME and an A record lookup, you will be able to receive the A records from the end services directly. We always loved working with CloudFlare , especially for DNS as we already used Amazon CloudFront for CDN. But having everything within AWS makes it "cleaner" when deploying automatically using AWS CloudFormation. All that aside, the main reason for moving towards Amazon Route 53 for DNS is the ability to do geolocation and latency based DNS responses. Doing this outside the AWS console would increase the complexity.
Amazon Route 53 is a convenient way to manage our DNS routes. We just use the web UI for now, since we don't have any complex DNS setups. Amazon Route 53
Amazon Route 53's Features
- Highly Available and Reliable – Route 53 is built using AWS’s highly available and reliable infrastructure. The distributed nature of our DNS servers helps ensure a consistent ability to route your end users to your application. Route 53 is designed to provide the level of dependability required by important applications. Amazon Route 53 is backed by the Amazon Route 53 Service Level Agreement.
- Scalable – Route 53 is designed to automatically scale to handle very large query volumes without any intervention from you.
- Designed for use with other Amazon Web Services – Route 53 is designed to work well with other AWS features and offerings. You can use Route 53 to map domain names to your Amazon EC2 instances, Amazon S3 buckets, Amazon CloudFront distributions, and other AWS resources. By using the AWS Identity and Access Management (IAM) service with Route 53, you get fine grained control over who can update your DNS data. You can use Route 53 to map your zone apex (example.com versus www.example.com) to your Elastic Load Balancing instance or Amazon S3 website bucket using a feature called Alias record.
- Simple – With self-service sign-up, Route 53 can start to answer your DNS queries within minutes. You can configure your DNS settings with the AWS Management Console or our easy-to-use API. You can also programmatically integrate the Route 53 API into your overall web application. For instance, you can use Route 53’s API to create a new DNS record whenever you create a new EC2 instance.
- Fast – Using a global anycast network of DNS servers around the world, Route 53 is designed to automatically route your users to the optimal location depending on network conditions. As a result, the service offers low query latency for your end users, as well as low update latency for your DNS record management needs.
- Cost-Effective – Route 53 passes on the benefits of AWS’s scale to you. You pay only for managing domains through the service and the number of queries that the service answers for each of your domains, at a low cost and without minimum usage commitments or any up-front fees.
- Secure – By integrating Route 53 with AWS Identity and Access Management (IAM), you can grant unique credentials and manage permissions for every user within your AWS account and specify who has access to which parts of the Route 53 service.
- Flexible – Route 53 offers Weighted Round-Robin (WRR), also known as DNS load balancing. This lets you assign weights to your DNS records that specify what portion of your traffic is routed to various endpoints.