Weekly notes 1

For some time I’ve been reading several newsletters to keep note what happens in the field of software development and the intention was also to share the interesting parts here. And now it’s time to move from intent to action.

In the new “Weekly notes” series I share what interesting articles I have read with short comments. The overall topic is technology but other than that they can cover all things related to software development, from web applications to mobile development and from devops to user experience. I’ll publish my reading list every week or every two weeks.

I also tweet about interesting topics so follow me on Twitter:

Issue #1 // Week 48, 2015

Technical

Ludicrously Fast Page Loads – A Guide for Full-Stack Devs
Nate Berkopec explains in detail how can you diagnose performance issues on the frontend of your site with the use of Chrome Timeline. (from CSS Weekly, #185)

The Docker Monitoring problem
Detailed look at why monitoring containers is both different and difficult for traditional tools. Also a good introduction to Linux containers. (from DevOps weekly, Issue 204)

Tools of the trade

Continuous Integration Platform using Docker Container: Jenkins, SonarQube, Nexus, GitLab
Setting up CI is easy but moving beyond that and getting value out of the CI is different matter. This article covers some of the practices to employ. (from Java Web Weekly 42)

Amazon Web Services in Plain English
Amazon’s services are everywhere but with 50 plus opaquely named services, some plain English descriptions were needed. (from Hacker News)

Modern Java – A Guide to Java 8
Java 8 brings quite a lot of new things like default interface methods, lambda expressions, method references and repeatable annotations. This tutorial guides you step by step through all new language features. (from Hacker News)

To think about

Corporations and OSS Do Not Mix
Maintaining open source projects isn’t easy and that’s not about technology.

Not once has a company said to me:
“This bug is costing us $X per day. Can we pay you $Y to focus on it and get a fix out as soon as possible?”

(from Weekend reading)

Sustainable Open Source
Continuing the previous article’s topic, good read for anyone involved in or planning a community-driven open source project. (from Weekend reading)

Edward Snowden explains how to reclaim your privacy
“Operations security (Opsec) is important even if you’re not worried about the NSA.” Snowden gives 4 quick tips: Encrypt, use password manager, use 2-factor authentication, use Tor.

Event Sourcing – Capturing all changes to an application state as a sequence of events
Application architecture is the base for everything and Martin Fowler’s reference intro to this powerful style of architecture is worth reading.

Something different

How snowmaking works
If the Mother Nature isn’t doing its job and making snow, we can do it by ourselves. Important topic as couple of Winters even here in Finland have been mild and it’s not looking good this year either. “A resort that can guarantee 5+ inches of powder every day is a license to print money.” (from Hacker News)

ApiOPS and Test Automation at DevOps Finland Meetup

Couple of weeks ago at Tampere goes Agile the question was what’s beyond agile and partial answer was DevOps. I’ve read about DevOps before and tried to introduce it to use in my daily job but new things move slowly. So, it was good time to hear more about DevOps and how others are using it at DevOps Finland meetup about ApiOPs and Test Automation. The meetup was held at GE Healthcare building in Vallila and organized by Eficode. Delicious coffee and sandwiches were from Warrior coffee. Here’s my short notes about the topics discussed.

APIOps

Jarkko Moilanen, talked about APIOps – Focus on Iterative and Collaborative Design-First driven API development. How to automate and streamline API-strategy and development process. But what’s APIOps? In short, APItalist creates strategy and APIOps troops implement it.

APIOps

The talk was more about mindset related to developing APIs than tools but Swagger was mentioned for representing your API and SoapUI for testing. For API management Moilanen talked about APInf which is an API management platform.

Test automation with Robot Framework

Eficode guys talked about Test automation with Robot Framework which is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It’s originally developed in Nokia Networks 2005 and open sourced in 2006. Robot Framework uses keyword-driven testing approach and it’s capabilities can be extended by test libraries implemented either with Python or Java. Robot Framework is quite big in Finland but to get the work forward and more known worldwide there’s now Robot Framework Association put together by Eficode, Omenia, Reaktor, Eliga, Knowit, Qentinel and HiQ.

Automating payment terminal testing

After some technical difficulties with projector we heard intro to Robot Framework with Selenium2Library and saw video about using it. Selenium is a suite of tools to automate web browsers and with Selenium2Library you can use it with Robot Framework to easily implement and maintain automatic browser testing of your web application. Another use case which I find interesting is for testing REST APIs.

You can use Robot Framework in many was as we saw with the demo of a machine for automating payment terminal testing which Eficode had built (slides, blog post in Finnish). It was a Shapeoko 2 CNC milling machine where Arduino parsed g-code sent over terminal bus, payment terminal was captured with Tesseract OCR and it was controlled by Robot Framework running in Raspberry Pi. They had extended Robot Framework with new libraries for communicating over serial bus and reading images from Raspberry Pi camera.

What you can do with Robot Framework is up to you as the framework doesn’t limit you.

Future of DevOps Finland

The last talk of the meetup was about the future of DevOps Finland. DevOps Finland was started in 2013 by Erno Aapa and now the load is distributed over new planning team to keep things active. Sharing is caring and so we were encouraged to share our experiences and war stories about DevOps by talking in some future meetup.

Some possible future themes for the meetup were also discussed.

  • Infrastructure Orchestration
    • e.g. Coreos, Mesos, Kubernetes, AWS tools, Rancher.
  • DevOps on Windows
    • PoweShell and Azure.
  • DevOps without computers
    • AWS lambda, heroku, dokku, aws beanstalk, Google app engine, IBM Bluemix. (DevOps as a service).
  • How to move ops work to developers?
    • Hubot, configuration management, continuous delivery.
  • Security.
  • Ops do Dev. Dev do ops.
  • How to handle corporate IT?
  • Configuration management system
    • Chef, Puppet, Ansible, Salt.
  • Continuous integration
    • Jenkins, circleCI, Travis. Alternatives for Jenkins.
  • Working with legacy systems
    • Handling existing data, migrating legacy operations to modern operations, using old hardware to create a cloud.
  • DevOps in the cloud
    • what cloud services to use? Why?, developing in the cloud, build promoting practices
  • Measuring, monitoring, logging
    • elk-stack, Kafka, sentry, newrelic, loggly, graylog, practices & different needs
  • Containers
    • Docker, LXC, Xen, VMware, Qemu