Pond is a website that allows teachers and students from New Zealand’s educational community to share resources and communicate their ideas. Pond users can also search a growing online database of more than 7,000 learning materials, including lesson plans, classroom resources, and user-curated collections of related items. Because Pond members are able to review and comment on educational material, the site’s built-in search engine can quickly guide users to the most relevant and highest rated resources available. Created by nine developers from July 2013, Pond is currently used by more than 7,500 teachers, as well as 315 organizations that provide educational content and services in New Zealand.
In 2013, the development team at Pond led by Chris South, Head of Dynamic Services, set out to make innovative teaching resources available throughout New Zealand’s educational sector. To do so, Pond would, in theory, need to create user accounts for all of the sector’s members including New Zealand’s 60,000 teachers and 750,000 students, as well as public sector organizations, commercial entities, government departments, and potentially millions of parents.
To achieve its goal, Pond needed a vast degree of flexibility, coupled with the confidence that its IT infrastructure would be able to handle extraordinary growth. In addition, South wanted a transparent IT infrastructure that would allow Pond to collect detailed usage statistics, model them accurately, and respond with easily adopted application upgrades. “It would have gone against our vision to limit the ideas that teachers and other education professionals could share on Pond,” South explains. “So it was critical that we incorporated various media-sharing services and made sure that our users would be protected by the best security protocols available.” Importantly, South didn’t need to worry about the transition from a pre-existing IT infrastructure to a new one. With Pond being a young company, South’s main challenge was to find a cloud provider that could support it from the very beginning of its journey.
“We looked at many infrastructure options, but we didn’t want to be burdened by a large capital expenditure,” South explains. “Nor did we want to suffer from the inability to move in an agile manner. Basically, we needed to make sure that our technology was scalable, sustainable, and very easy to deploy.” The company considered various cloud service providers, both local and international, before deciding upon Amazon Web Services (AWS) because it offered an unparalleled combination of maturity, scalability, and security.
“In my opinion, a cloud service is not a cloud service unless its server capacity is theoretically – if not practically – near-unlimited,” says South. “We had a rough idea of what our requirements would be in terms of instances and the like, but realized early on that, if we went with a local provider, we might risk overloading their capacity. By using AWS, that’s was not going to be a problem.”
Pond engineers used AWS from the beginning, making full use of training videos and documents available through the AWS website before starting development. Using AWS offered Pond developers the flexibility to design a website infrastructure that would suit their needs precisely. The front-end was created with AngularJS, HTML5, and CSS3; their proxy layer was designed using NodeJS on an Amazon Elastic Compute Cloud (Amazon EC2) hosted Linux Servers; and the APIs were built with .Net WEB API on a Windows 2012 Servers also hosted on Amazon EC2 instances.
When teachers visit the Pond website, they are able to access almost 400GB of learning material that are stored in a resizable Amazon Simple Storage Service (Amazon S3) buckets and delivered using Amazon CloudFront. Using Elastic Load Balancing and Auto Scaling, the company can scale the computational power it requires in response to fluctuating website traffic. This works alongside Amazon Simple Queue Service (Amazon SQS), which triggers messages between the AWS services Pond uses to preserve data consistency.
Pond uses Amazon Relational Database Service (Amazon RDS) for MySQL leveraging multiple Availability-Zones to manage a database of information on customers and their interactions with the Pond website. Using Amazon DynamoDB, Pond can log and audit user events in real-time. For top-level control of its AWS environment, Pond relies on Amazon CloudFormation, which enables its developers to manage, monitor, and update its development and production environment with ease. Pond’s entire AWS architecture is hosted on Amazon Virtual Private Cloud (Amazon VPC). Finally, Pond uses Amazon Route 53 as its DNS solution to manage its two domains and also redirect incoming traffic to a ‘maintenance in progress’ page if necessary.
To better understand the usage patterns of its vast client base, Pond has recently begun using Amazon Redshift, a data warehousing tool that allows it to better understand, for example, the relationship between different types of educational institutions and the media they access. Pond already has around 6GB of data in Amazon Redshift, and the amount continues to grow steadily.
South explains that Pond developers were attracted to the integration between the various AWS products. “Everything from security to scalability is built into the services so you seldom have to build your own solutions. It feels like a platform that has been carefully designed by people who actually use it.”
It took five months for Pond to develop its initial concept into a website ready to serve pilot customers. Development continues on an ongoing basis but the company has nevertheless enjoyed uninterrupted service since launching in October 2014. “Using AWS has been the key to our rapid growth over the past year,” South says. “Now that we’re more experienced with AWS, we can push updates to our environment without interrupting the service at all. This shows a solid application architecture on top of a great infrastructure environment.”
The company has also benefited from the reduced cost of choosing a cloud-based, rather than physical on-premises solution. “If we’d had to invest in the capital expenditure required to establish Pond, it’s doubtful whether we ever would have gotten off the ground,” South says. To achieve additional savings, Pond carefully scales the number of Amazon EC2 instances it uses during the day. Pond, for example, uses a minimum of 47 Amazon EC2 instances during the day and shuts off 23 of them overnight because they are used exclusively for Pond's quality assurance (QA) environment.
As it stands, the company has created a complete application environment that integrates all the necessary protocols for achieving desired performance and security outcomes. “We were assessed by a leading global security auditor earlier this year and passed with flying colors,” South says. “If you design, as we did, with the cloud in mind and take advantage of the security features offered by AWS, you have far fewer worries about your data being compromised by security breaches.”
Since launch, the company has now enhanced its platform so it's ready to support a user base that can scale to 750,000 students and 60,000 teachers. Over 7,500 teachers are already in Pond, and the content library has exceeded 7,100 items with both the user count and library growing rapidly. Out of the 7,500 teachers, roughly 40 percent of them are active on a monthly basis and generate between 3,000 and 5,000 page views each day, in addition to numerous requests for data stored on each page. “We’ve added 1,000 teachers a month in the last three months alone,” said South in March 2014. “This rate is climbing, so we are anticipating significant growth in the near future.” Importantly, Auto Scaling enables Pond to accept new students, teachers, and resources constantly without having to worry about the performance or storage capacity needed for the platform.”
“We’re extremely excited about what the future holds,” says South, “And a huge part of our optimism is owed to the confidence that using AWS provides us. We know that, however quickly we grow, leveraging AWS will keep Pond ahead of the curve and enable us to deliver an experience that makes education as fun as it always should be.”
To learn more about how AWS can help you run your website, visit our Websites & Website Hosting details page: http://aws.amazon.com/websites/.