AWS Cloud Summer School Switzerland was scheduled as a five-day event organized by Amazon. The event took place from September 3 – 7, 2018 in Zurich, Switzerland. From the outline, it appeared worth attending as it offered high-quality educational modules and hands-on labs. The SPLab was thus present at the event and this blog post aims to briefly summarize what took place and what implications can be inferred for the near future of cloud applications.
The event was structured into three days of training sessions, and two days of exploration of advanced and special topics.
On the first day, all participants received an introduction to core AWS concepts, knowledge (like Regions and Availability Zones), and services (e.g., S3, Lambda, EC2, etc). The introductory modules were followed by a lab that showed us how to deploy a web application on AWS using services like EC2, DynamoDB, and S3. The remaining two modules for the day focused on designing AWS environments that are highly available, a challenge we face in our research in cloud-native applications. Finally, we completed a lab on making an environment that consists of a single EC2 instance highly available.
The second day started with a group activity. We were divided into groups and were tasked with designing an environment to forklift a traditional 3-tier app onto AWS. After that, we continued the module on designing highly available environments from the first day. Following that module, we had a lab that used AWS Lambda to create and scale-out a new EC2 instance without human intervention, using notifications. Then we touched on automating and decoupling AWS environments and the available tools that AWS offers, like CloudFormation, to achieve best practices. We ended the second day with a lab on implementing a serverless architecture with AWS services such as AWS Lambda, Simple Notification Service, DynamoDB, and Simple Queue Service. The need for better understanding and tooling around serverless is still obvious, which confirms our ongoing research in improved service tooling.
The main topic of discussion for day 3 was the AWS Well-Architected Framework that aims to build secure, efficient, and cloud-enabled applications. We discussed in detail the five pillars of the AWS Well-Architected Framework which are: Operational Excellency, Security, Reliability, Performance Efficiency, and Cost. After that, we tackled troubleshooting the most common AWS problems that beginners face and some design patterns and sample architectures. Finally, we did a lab using Amazon Route 53 that ensures an application’s cross-region availability.
Day 4 and 5:
The last two days were designed for exploring advanced special topics. During the first half of day four, we explored Continuous Everything (DevOps and CI/CD) on AWS using tools like CodeStar, CodePipeline, and CodeCommit. The second half of the day was dedicated to AWS IoT. We used AWS IoT Core and Lambda to display information captured from an IoT device with a temperature sensor on a website hosted on S3. On the last day of the event, we explored BigData and Data Analytics using tools offered by AWS like AWS Athena and AWS Glue to query the data, and AWS QuickSight to general visual representations of data.
Three major conclusions can be drawn. First, a hands-on style tutorial is always valuable to get exposure to current technology and dust off prior experience which may be outdated now due to the still fast-paced innovation in cloud computing. Second, the industry nature of the event means that it presented a lot of solutions without a clear problem statement and without considering potential alternative solutions. Here, teaming up industry and academic voices would be great, and we invite AWS to be present at our future cloud events. Third, the use of recent technologies such as FaaS was shown, but their pre-selection along with virtual machines still reflects a point of view which is mostly on the infrastructure level. Catering to developer mindset and guiding to a conscious mix of technologies to achieve the best architecture and to get most of what is running as a platform is somewhat lacking in the AWS offering. We hope to see potential improvements and work hard to contribute our part for the benefit of software developers and DevOps teams.