As Serverless is on the rise, the art of debugging and tracing is changing, too, as well as the day to day work life of Developers and Admins. At the Serverless Architecture Conference 2019 in The Hague, Billie Thompson, one of Armakuni’s Cloud Native Consultants, took time to discuss how Serverless is affecting the IT industry and how tracing is done in the times of Serverless.
Google Cloud Run is Google’s new Serverless Container as a Service (CaaS) product. Serverless is a term with many meanings; in this case, it means your containers will scale to 0 running instances when no requests come into your service for a while.
Having 0 instances of quiet services means a service provider can afford to be a bit smarter with their pricing, only charging you when requests are hitting your application, and not charging you at all for the servers that do the scaling.
Internally it’s built on top of Knative (pronounced “Kay-native”). Knative is an open source platform for building Functions as a Service (FaaS) services on Kubernetes, so perhaps we will see extensions in that direction in the future from Google. You could build a version of this on a private cloud by deploying Knative and using the “kn” client, what makes this different is that you’re not paying for the idle capacity on the Kubernetes cluster….. Continue
In this article, I question whether there is a transformation missing from the Transformation Priority Premise (TPP). In my last article, I implemented a simple function which checked whether the input number was odd or even. The goal of the exercise was to strictly adhere to the TDD cycle while also making sure I had all the tests I wanted at the end. This exercise lead to an impasse problem, where I couldn’t write the next failing test without changing the behaviour.
To get beyond this impasse, I changed the behaviour in the refactor stage and claimed that it was OK to do so because it enabled the next step in the unfinished process…. Continue
In one of my previous blogs I talked about migrating an app to Lambda. One challenges I had with my migration was finding good example and guides for Lambdas written in GoLang. The “Getting Started” type guides were great but it didn’t take long to exceed their limits of usefulness.
In this article, I want to consider a situation where considering the next test we want to write, influences the way we refactor.
For this article, I want to consider implementing a simple function to check if a number is odd or even. The function will simply return true if it’s given an even number, and false if it’s given an odd number.
As with my previous TDD articles, we are working very rigidly with the TDD cycle — we must write a failing test, we must implement it in the simplest way possible, we may then refactor… Continue
At Armakuni, we like to keep our skills up-to-date. In this instance, we wanted to spin up a copy of Pivotal Cloud Foundry on AWS. Things change pretty quickly with PCF, so we thought we’d share how we did it, and our thoughts on the whole procedure.
Since we last used PCF, the peeps at Pivotal have done quite a bit of work to help you out… Continue
At Cloud Foundry Summit Europe 2018 our COO Zenon participated in a second panel discussion, this time focussing on how Armakuni’s use of Cloud Native technologies, in particular Cloud Foundry and Kubernetes, underpinned the crucial Comic Relief donation platform used for Sport Relief 2018
Last week I had the opportunity to attend the JAX London conference and I am so grateful to Armakuni for making this possible. It was a great way to learn more about the hot-topics now in our industry, to concrete some of the knowledge I gained over the last months and to get to meet new people!
The conference spanned across 4 days, where the first and last days were workshops and the two days in the middle where full-on presentation days from amazing speakers…. Continue
At Cloud Foundry Summit Europe 2018 our COO Zenon participated in a panel discussion which gave a fascinating insight into some of the technical challenges faced behind the scenes of Comic Relief, and how Armakuni’s Cloud Native practices helped mitigate the risks of failure
At Armakuni we spend one day every fortnight away from client work to develop practices and the way we work. This week Tom Oram and I decided to investigate ways of using Java Optional to get the most value from it. The motivation for this exercise was based on our observation how Java Optional is often not used to the same level of usefulness compared to how it used in other languages — and of course to get a better taste of TDD and pair programming.
We not happy with how the Optional is used within Java the ecosystem
The lifetime of an
Optional value in Java seems to usually only exist in a limited scope before it is unboxed with an
orElse or similar. This is different to how this type is used in other languages (mostly functional) where the unboxing is deferred to the latest possible moment… Continue