As more and more cloud offerings come out, there is the opportunity to diversify an application’s infrastructure to gain the integral benefits from each offering. To help make this decision Google released a tool, PerkHitBenchmark, to compare the performance of each cloud. Using this tool Zach Bjornson performed an in-depth analysis of the storage perform between Amazon S3, Google Cloud Compute, and Microsoft Azure. An interesting point that Zach found was that Amazon and Azure perform best with small files (under 1MB) or streaming, but Google Compute is the clear winner for large files.
This is an awesome deployment strategy that I’ve always wanted to implement. Similar to Blue/Green deployments, the idea is to only release features to a subset of users – commonly used in Canary deployments.. cause like.. you get the idea. A well implemented toggle system can be very powerful, but very complex to architect properly. Pete Hogson thankfully has brought out a highly detailed article that walks through the implementation and refactoring.
CloudWatch Custom Metrics
CloudWatch is an AWS monitoring service that you can use to react and alert based on different metrics within your infrastructure. This is often used to implement auto scaling groups to fire when certain metrics exceed or drop below defined limits. Codeship have provided a tutorial on how to integrate application logs into the monitoring service and use THOSE metrics to trigger alerts. So where before you might have alerted based on the CPU usage, now you can trigger an auto scaling policy based on the number of a specific type of log messages.
Automated Failure Testing
Netflix is well known for the testing approach – purposefully bringing down services in production to assess how their systems respond. They have even released multiple frameworks under the name the Simian Army to automate this. As nerve-wrecking as this approach is, it instils a need for every developer in the company to question themselves on how each line of code they write would need to react to any potential failure. Netflix recently implemented a new POC on a testing framework called MOLLY that was devised in Berkeley. This framework examines existing successful requests to identify points of failure, you fail these points, analysis again to see how the system reacts and continue until all potential failure points are mapped. After this its the time based manual task of re-enforcing these points!
While AMD are just releasing their Seattle chipset and Qualcomm start up development, people start implementing hybrid clouds where they realize the cost-savings of giving up part of their data center to move to the ever expanding public cloud. This is why I particularly like this video that was shown at the AWS NY Summit back in 2014 of Conde Nast tearing down all their servers!
Developer Experience Design
I’m sure everyone has heard of UXD, User Experience Design, and the science and patterns that have developed over time. Developer Experience Design though is what it is called to develop a platform that other developers will build upon. We build APIs based on our own use, creating an interfacing framework. David Dollar runs the DXD unit at Heroku and he talks about the approach he takes . For anyone who has developed on the Heroku platform, the ease of use that they have crafted the system with is amazing. The benefits of a development system that is designed to enhance the developer, just like a well designed UX, can not be underestimated. David has three main criteria: Is it easy to get started? Is it easy to use? Is it easy to get help? He discusses DXD further with Steve Boak on a new DevOps podcast, Don’t Make Me Code.
AWS Certificate Manager
One of the coolest things to be released this week was the AWS Certificate Manager! This tool simplifies the generation, application, and automated renewal of SSL certificates. This appears to be the first step of Amazon getting into the certificate authority business as while their certificates currently have a root authority with Starfield Services, it turns out that Amazon bought them recently. Maybe the release of Lets Encrypt got them to release the Certificate Manager earlier, before they had a chance to fully incorporate the CA into their systems.
Docker and Jenkins Workflow
DevOps.com had a great webinar on Continuous Development with Jenkins Workflow and Docker, showing a very nice pipeline. They go through the entire development process, where Jenkins would integrate, migrating between environments etc. The pipeline is entirely coded within the Jenkinsfile, implanting the philosophy of Infrastructure as Code!
Backend-less Angular Apps
A major part of agile applications is the feedback loop, constantly ensuring that the development matches the client expectations. This can be difficult to achieve in multi-tiered applications where the entire infrastructure needs to be assembled. We work around this with different UX techniques to recreate the front end, that which the client actually interacts with – drawings, wireframes, static sites. Nam Tran walks through implementing an incredibly high fidelity front end with a mocked backend.
Internet of Things Security
As more and more devices become connected to the net, we integrate them into our lives and eventually become reliant on them to perform their tasks. When dial-up modems and wifi routers started rolling out, we faced the same security issues back then also. We eventually secured them, but now that IoT devices become more prevalent the security issues come up with even more frightening implications with such things as shodan.io – a search engine that trawls the internet for open ports…
I’m a fan of VR and AR, the advances have been amazing. This week saw the Teslasuit announced, a suit that seems suited to Neuromancer with its full haptic feedback system! Finally, with VR becoming more mainstream with the release of the GearVR and Oculus, we are seeing an increasing number of offerings and now Funny or Die have a VR sketch at Sundance – can’t wait to see it!