Last week I’ve attended the AWSome Day Athens 2018 (huge thanks to Qobo for the opportunity). There aren’t that many technology events in Cyprus, so I’m constantly on the lookout for events in Europe.
AWSome Day Athens is part of the Amazon’s AWSome Day Global Series, which are one day events organized all throughout the world. The events are usually for a single day, featuring the speakers from both Amazon AWS team and some of their prominent clients from the area. AWSome Day Athens 2018 was done in partnership with Beat.
A few words on the organization of the event. I think it was excellent! The venue is a concert hall, which provided plenty of space, both for the talks and networking. The registration process was smooth. There was plenty of coffee and snacks for the attendees, and a decent lunch. WiFi seemed to be working fine, even though I personally haven’t used it (thanks to no extra roaming charges on the 4G throughout Europe). If there was one thing I was missing – that’d be beer. But again, not a big problem, as there’s a really nice Irish Pub almost across the road.
Now on to the talks …
“The Real-World Approach to Enterprise Transformation” by Jonathan Allen, AWS Enterprise Strategist, EMEA.
This talk wasn’t very technical. It was more on how to transform the technology, processes, and people for the cloud computing – something that many companies, big or small, are still struggling with now. Before joining Amazon AWS, Jonathan Allen spent 15+ years in Capital One, one of the largest American banks, so it was very interesting to hear his approaches and lessons learned.
Given the level of bureaucracy in most large organizations, and particularly in banks, it was quite surprising to hear Jonathan say that companies should “just start”. Instead of making long plans and big decisions, it’s easier and faster to simply provide at least some access to Amazon AWS to developers and sysadmins to start playing around. This approach will help get going. I strongly agree with this point, and one more that he made as well – an organization needs a single person, rather than a committee, that is responsible for the transformation.
A couple of interesting quotes from the talk:
- “Plans are worthless, but planning is everything“. Which I heard as “plans are worthless”. Period. :)
- “Dance like nobody is watching. Encrypt like everybody is“.
One other important subject that Jonathan iterated on was the learning, training and certification. That is not surprising for companies that push technical solutions to emphasize this, but particularly in case of Amazon AWS, I strongly agree with him on this point as well. Amazon AWS offers a huge variety of services and tools, and most of those have a steep learning curve. So allocating time and money for learning (and failure), training, and certification makes a lot of sense.
“How We Innovate at Amazon” by Yiannis Nasios, Territory Manager, CEE South, AWS
The next talk by Yiannis Nasios, provided some insight into how Amazon innovates and how it keeps moving so fast, even at the size they are now.
The gist of it seems to be relying on small, decentralized teams, microservices, and embracing failure and learning from it.
Allowing one change per second rate of development on a project like the Amazon.com website is NOT an easy feat by any means.
He also spoke a bit on a rather well-known Jeff Bezos’ rule for the size of the team – not larger than what two pizzas can feed. Which in practice means anywhere between 7 to 20 people.
Learning from failure is also an important part of the Amazon’s culture. An example from the talk is the Amazon Fire Phone, which was a $100M+ failure with a lot of lessons for the company to learn.
“Nimble Engineering: Building a future-proof, scalable and cutting-edge stack at Beat” by Dimosthenis Kaponis, VP of Engineering, Beat
This was the first technology-only talk of the event. Dimosthenis gave a small overview of how Beat uses Amazon AWS, with a separate VPC for each new geographical market they target, and then which particular technologies they use. It was interesting to see how they chose to use multiple different technologies for different purposes. For example:
- PHP for the web application, Python for Big Data, and Go for some other bits, rather than sticking to a single programming language.
- Aurora (MySQL) and MongoDB for their database needs, and Elastic and ElastiCache (Redis) for their caching needs.
- Jaeger/Opentracing, Prometheus/Grafana, and Elastic for logging and monitoring.
- Kafka and RabbitMQ for streaming and events.
He also spent quite a bit of time on how Beat had to transform from a single monolith application into a smaller monolith with a variety of microservices. A particular suggestion for transforming legacy monolith applications to microservices was the Strangler Pattern, of which I haven’t heard before. Here’s a good article to read up on that.
One particularly interesting approach that he mentioned was the organization of the microservices, using the very well familiar MVC pattern. Some microservices are responsible for model layer, some for view layer, and some for business logic and routing, or controller layer.
Once that is done, the microservices can be further grouped into horizontal layers, by related functionality. These are almost like mini applications.
One common theme that was running through the whole event was the importance of automation. Automate everything! Provisioning, deployment, testing, and so on and so forth.
Monitoring is also crucial for any modern business or application. And not just monitoring the health of the infrastructure, but of the application itself as well.
Part of the talk was also dedicated to Big Data and Machine Learning. One interesting application of that is predicting network traffic spikes, which was covered in more detail in a later talk.
Here’s another slide on automation and some tools that help with that:
And here are the summary and the takeaways from this talk:
“Building Cloud AI that works” by Vladimiros Tsamouridis, Omilia
The next talk was by Vladimiros Tsamouridis, the Head of System Engineering at Omilia. Omilia is a company that provides conversational customer care to larger companies like banks and ISPs.
Anything that deals with Artificial Intelligence these last few years is mind blowing. Particularly so, when it is applied to human-machine interaction. Omilia deals with voice and some of the stuff they are doing is nothing short of magic.
Vladimiros did not just the talk, but also a demo, where he fired up the console that traced and showed what was going on, while he did a call to the system, showcasing the scenario of a bank customer calling the support.
Of all the things that I’ve seen at the event, this one was the most impressive! Forget the old problem of speech recognition and speech synthesis. There’s now real-time context driven conversation, with background biometric analysis of the caller, using his voice, speech tempo, and vocabulary. In fact, to some degree, the machine that was on the other end of the call, sounded more human than Vladimiros who was standing in front of us. :)
He then went into some examples of how Amazon AWS made it possible for a smaller company like Omilia to compete with much bigger players, with a fraction of money, effort and time. In some cases, even going from months or weeks down to days or hours for new features.
Here’s a slide showing which particular Amazon AWS they use in Omilia:
Fireside discussion: AWS Team and Reference Customers
The next part of the event was a Q&A panel with some Amazon AWS people and reference customers. While it gave a good overview of who the people and the companies are, I think, this was the least interesting part of the event. I think it could use a bit more of a structure (introductions and a theme for the discussion), but it was still good to see different businesses and approaches to solving their technical challenges with the Amazon AWS services and tools.
“Architecting and Migrating on AWS” by Leonidas Drakopoulos, Solution Architect, AWS
The next two talks were by the same speaker – Leonidas Drakopoulos. The first one was more of an overview of some of the Amazon AWS services and how to start using them.
Here’s the slide with the overview of the Amazon Global Infrastructure, which you can read more about here.
Leonidas presented some of the different services that solve the same problem, going from self-managed to fully-managed. For example, for the databases:
He then presented a step-by-step approach of moving from self-hosted solutions to some of the managed Amazon AWS services. Even for something as basic as a WordPress website, there are many scenarios to choose from. Starting from a very basic single Amazon EC2 instance that runs both the web and database on the same machine, all the way to a fully redundant load-balanced setup with Amazon RDS, application servers, caching servers, auto-scaling, and more.
While technical, I think this talk was a bit too generic. It covered scenarios which are interesting for people who are just considering the Amazon AWS service, to people who have very demanding, load intensive applications. But again, it was nice to see that Amazon AWS can be used by anyone – big or small.
“Serverless Architectures on AWS” by Leonidas Drakopoulos, Solution Architect, AWS
The second talk by Leonidas Drakopoulos was a lot more interesting for me. He was talking about building serverless architectures. This is the area where I don’t have much practical knowledge apart from a couple of “hello world” proof of concepts here and there.
Obviously, a lot in this talk was around the microservices and Lambda functions. Here’s a slide showing the Amazon.com website page with different parts of the page being served by different services.
Note that even tiny little bits, like ratings, are handled by a completely separate service, which can be extended and improved independent from the rest of the page.
He also gave a good introduction into what “serverless” means and why it is all the hype these days.
Interesting bit of statistics, which sounds very true (at least based on my experience): organizations with their own servers are utilizing only up to about 20% of their capacity. So there’s a lot of idle time and overhead costs. With Amazon AWS serverless architectures you only pay for what you use. And that’s a huge difference.
Also, Amazon AWS is once again applicable for all kinds of workloads. Here are some of the examples of companies and services running on serverless architectures.
A couple of very handy tools mentioned here that I haven’t heard about before were SAM – Serverless Application Module. Which is basically a CloudFormation tool for your application.
And SAM Local, which is a way to run your serverless applications locally while developing. There is even a Cloud9 IDE, which makes working on cloud applications a lot easier. And it comes with SAM Local integration already too.
CodeStar and Step Functions are also a couple of things to look into.
“Monitoring unanticipated network connections on AWS: a case study” by Panagiotis Atmatzidis, DevOps Engineer, Beat
The last talk of the event was also quite technical. Panagiotis Atmatzidis (@atmosx0) was talking a lot about Amazon OpsWorks and related services.
I liked this talk in particular because it was covering both Pros and Cons of different approaches, not just saying how amazing Amazon AWS is (which we all already know about anyway).
Here’s an example take on Amazon CloudWatch. The good parts:
And then, here’s the other side:
For each case he also shared how they were solving the problem and optimizing the setup in Beat. Here’s an example with costs on the Flow Logs:
And then here is the part of the solution:
And a Reporting cherry on top:
Summary and other notes
Overall, this was a great event to attend for anyone either thinking about the move to Amazon AWS or anyone who’s already using the services. There’s a tonne to learn, try, and benefit from.
Here are a few random observations, thoughts and notes from the day:
- The event was much larger than I expected. I don’t have the precise numbers, but it looked like about 400 people or so were there.
- The split between the geeks and the suits is about 90% to 10%.
- The split between guys and girls is about the 90% to 10%. I think there were slightly more women than at other technology events that I’ve attended in the past. That’s a good trend.
- Most of the attendees and speakers are from Greece, which is not surprising.
- Average age of the audience and speakers is somewhat higher than other technology events that I’ve attended in the past. More 30’s, 40’s and 50’s people than 18-25 year old’s.
- Interestingly enough, Amazon Elastic Beanstalk wasn’t mentioned once. While a viable option, I see the trend of EC2 for servers, Docker/Kubernetes for containers, and Lambda Functions for smaller chunks.
- Lots and lots of microservices, and Lambda Functions mentions. I think that we’ll see Amazon Marketplace for Lambda Functions soon enough, even though nobody said it out loud.
- Price, scalability and security seem to be the primary benefits of the Amazon AWS solutions. Including a lot of work done in regulatory/compliance/legal domains.