Saturday, January 24, 2015

Private Maven repository in Amazon S3

This blog post explains a convenient and cost-effective way to setup private Maven repository in Amazon S3 with CyclopsGroup awss3-maven-wagon open source package. It also talks about a few general recommended practices about setting up private Maven repository for an organization.


Monday, September 1, 2014

Cloudpave started new open source project, Gitcon

Gitcon is an Java open source library that strives to provide a cheap solution for dynamic configuration problem. As a start, it gets properties file from a Git repository and hands it over to Spring context. Please read on in this article.

Thursday, July 17, 2014

Cloudpave blog site created

This is the very first post of Cloudpave blog site.

Cloudpave, LLC. provides software products as service. Its main focus is SaaS(software as a service) and cloud computing. The company is formed in early 2014 in the state of corns, Indiana, U.S. Check out Cloudpave at The rest of this article talks about how is setup in AWS.

Following figure is a high level diagram of components and technologies involved in the setup.

1. In Route 53, is a CNAME record that points to a Cloudfront distribution.

2. The origin of Cloudfront distribution is URL of the S3 static website from bucket Note that here we used custom origin with the URL of static website instead of S3 origin. This is to allow request to be mapped to object s3://

3. In Route 53, is an A record with alias pointing to static website directly. This means any HTTP request to domain is handled by S3 website in US east-1 data center first, unlike CDN.

4. The S3 static website is an empty redirection bucket in US east-1 that redirect any request to domain This means request is redirected by server in US east-1 to

5. An VPC in US east-1 is setup to host Cloudpave applications.

6. In Route 53, is a CNAME record pointing to a web application(in form of an Elasticbeanstalk environment) that shows website of

7. The web application communicates with a RESTful application(in form of an Elasticbeanstalk environment) built on top of Datamung. It also relies on an RDS instance in same VPC, a few DynamoDB tables and Simple Workflow.

8. In Route53, is a CNAME record pointing to a blog in Google Blogger.

In general the design is quite simple, straightforward and typical. It follows very basic design rules:
  • Static content is distributed through Cloudfront.
  • Dynamic applications run in Elasticbeanstalk. 
  • RESTful service is physically separated from web application.
  • Instances are caged in VPC
They might be common sense to you if you know AWS well. But for people who just started with AWS, I hope this article is useful to you.