Posts Tagged 'Amazon cloud'

Implementing a Data Storage Tier in the Cloud Using Amazon DynamoDB

One of the most important aspects of application design is the storage tier. For many developers a relational database has traditionally been the engine of choice. While that is often a good solution, the cloud has certainly brought other options to light. NoSQL is increasingly gaining popularity as an alternative that offers internet-class scalability when the benefits and overhead associated with a relational database are neither needed nor desired.

Of course good system design would incorporate a logical model of the data anyway which would be abstracted from any particular physical storage technology. That logical model could be implemented  using a variety of products and would mitigate the risk of vendor lock in. That is not, however, a subject I am going to cover in this post. Here I am going to just move ahead with how a simple data model can be implemented using Amazon DynamoDB.

It is very easy to get started using DynamoDB. After you subscribe to the service you can use the AWS Console to provision resources. At some point, though, you will have to write some code. Amazon provides an SDK for Java, .NET and PHP. If you use the Eclipse or Visual Studio IDE there is also a plug-in toolkit which will enable you to easily create projects that use DynamoDB and will allow you to interactively create tables right from within your development environment. You can also create tables in your code.

Figure 1. Installing the AWS toolkit for Visual Studio allows access to AWS Services from within the IDE

NoSQL databases such as DynamoDB are schema-less. That means tables are defined simply in terms of a hash key and an optional range key. Tables contain items and each item has one or more attributes. Attributes are simple name-value pairs. Items in a table do not necessarily all have to have the same attributes. Tables in DynamoDB are also provisioned for a “throughput capacity” (read and write) and may be configured for alarms using CloudWatch. Relationship semantics between the tables are handled in the code. While this may seem a little strange to someone who is used to working only with relational databases it does allow for a lot of flexibility.

Figure 2. Creating a table in DynamoDB

For example the application I am building is going to be used to track golf betting games that might occur in a regular weekend choose-up. On any given Sunday’s foursome there may be one or more of these games in play. Each game has a slightly different set of rules, point count, stake and payout logic. The goal of this application is to minimize confusion when it comes time to settle up on the 19th hole!

Now, this application could become pretty complex because of all of the possible sub-games that could occur on a round. Also golf betting is usually done based on net strokes per hole which may be taken as they lay or played off the low handicap. We will leave most of these complications aside for now and start by building something simple which can be later refined. This, to me anyway, is one of the beauties of a NoSQL approach to storage.

So, to get started, let’s say at a minimum I will need to store data for each Round, the Players involved and the Games in play. I will create three tables in code as follows after downloading the AWS SDK and re-using some sample code:

Figure 3. Creating Rounds table in code. Players and Games are similar but do not require a Range Key.

Next week we will populate these tables and start using them for storage in the application.

To learn more about cloud computing with Amazon, check out Learning Tree’s course, Cloud Computing with Amazon Web Services.

Kevin Kell

Demystifying Private Cloud Computing

Last week I was on a consulting assignment for a client that is interested in cloud computing but concerned about the security of the cloud. A private cloud is something that could clearly benefit this organisation but then the question arose about how they would provision and deploy a solution and what would the skill requirements be for their staff. Further discussions then lead to considerations such as how big should the private cloud be so that it could cater for peaks in demand as well as future growth. What was clear was that this organisation was considering hosting the private cloud themselves and had not even considered using a third party supplier to provide the private cloud.

Our discussion widened to Amazon AWS and their Virtual Private Cloud (VPC). This is an incredibly powerful private cloud solution that enables the provision of an isolated section of the Amazon AWS cloud. The real power of the Amazon VPC is that it enables the configuration of a network topology that resembles a traditional on premise network with sub networks exposed to Internet access and others totally isolated from Internet access with multiple layers of security including security groups and access control lists. In addition a hardware Virtual Private Network (VPN) connection can be made from the on premise data centres to the VPC resources enabling the Amazon VPC to provide an extension to the corporate data centre that scales on demand.

What is clear is that the power of private cloud computing is not being exploited by many organisations, often due to the misconception that they must be on-premise. To help demystify private cloud computing, Learning Tree have developed a 4 day hands-on course Implementing a Private Cloud Solution that covers in great detail the possibilities that private cloud computing offers together with hands-on exposure to the products from the major vendors. If you are interested in private cloud computing, why not consider attending. If you would like to know more about Amazon AWS and the Amazon VPC why not consider Learning Tree’s 4 day Amazon AWS course.

Chris Czarnecki

Customized Cloud Computing Training

With the rapid growth in Cloud Computing, Learning Tree provides a growing number of Cloud Computing courses designed to equip attendees with the skills required to gain the maximum benefit for their organisations from Cloud Computing. Current courses offered include :

A new four day course on Amazon Web Services is under development. All of these provide a good coverage of the current state of the art in Cloud Computing. One of the things that is less advertised about Learning Tree courses is that they can be customised for onsite delivery to match your specific training requirements. Recently, both in the US and Europe a number of custom Cloud Computing courses have been delivered by Learning Tree, including a five-day course covering Cloud Computing and security, and a two-day cloud technology bootcamp. Both of these courses used sections from the standard brochure advertised courses but also had custom sections developed to meet the customers’ specific requirements. By running a course onsite–whether standard or customised–an organisation potentially gains a number of additional benefits over the public training courses including

  • Onsite consultant for the course duration
  • All course questions are specific to your organisation
  • Course material can be customised to cover exactly what you require in a time period that fits your project schedule
  • Examples can be related to your organisation

With Cloud Computing being such a wide ranging subject, with products from so many vendors available, it may be that the Learning Tree brochure advertised courses may not exactly match your training requirements. If that is the case, a customised onsite course may be the perfect solution for you. If one of the courses is a perfect match and you have a team to train, a private onsite delivery may be an appropriate solution for you too. If you have a Cloud Computing training requirement, contact Learning Tree to discuss your requirement and see which solution can best meet your needs.

Chris Czarnecki

Improved Amazon Private Cloud Security: EC2 Dedicated Instances

Back in October last year I posted an article titled ‘How Dedicated is Your Private Cloud ?‘. The main theme was that whilst organisations like Amazon offer private clouds on Amazon infrastructure, your virtual machines may actually be co-hosted on the same physical hardware as other organisations virtual machines. What is private in such scenarios is the virtual network your instances are connected to.

Without a good understanding of cloud computing and the underlying technologies that make this possible, private cloud means one thing, yet to those with a good understanding of cloud computing will know that there are different levels of ‘private’ cloud when that cloud is hosted by a third party. Amazon, as part of their AWS have offered a virtual private cloud (VPC) for some time now. With the Amazon VPC, instances are co-hosted with instances from other organisations. Until today that is. Today, Amazon have announced EC2 dedicated instances which ensure that all EC2 compute instances will be isolated at the hardware level. It is possible to create a VPC in EC2 that has a mixture of dedicated and non-dedicated machine instances all on the same network based on application requirements.

In addition, earlier this month Amazon made some changes to the way VPC’s can be accessed. Originally, the only way of accessing an Amazon VPC was from an IPSec Virtual Private network (VPN). This required extra onsite resources for many organisations. The VPN restriction has now been relaxed and and Amazon VPC can now be accessed by the Internet. Amazon are certainly making the private cloud something that is now comfortably within reach of all organisations.

For anybody who would like to gain an understanding of what cloud computing is, the underlying technologies and how it can benefit their organisation, Learning Tree have developed a Cloud Computing course that provides hands-on exposure to a variety of cloud computing tools and services. In addition, currently under development is a course dedicated specifically to Amazon AWS. If you are interested, more details are provided here.


Learning Tree Logo

Cloud Computing Training

Learning Tree offers over 210 IT training and Management courses, including Cloud Computing training.

Enter your e-mail address to follow this blog and receive notifications of new posts by e-mail.

Join 53 other followers

Follow Learning Tree on Twitter


Do you need a customized Cloud training solution delivered at your facility?

Last year Learning Tree held nearly 2,500 on-site training events worldwide. To find out more about hosting one at your location, click here for a free consultation.
Live, online training
.NET Blog

%d bloggers like this: