Being obsessed with automation, quality and continuous integration here at Covve means that we typically release something new on one of our platforms or systems every week. This is great because it allows us to quickly respond to user feedback, rapidly innovate and quickly seize opportunities. More importantly though, once a week I get the pleasure of a humorous auto-generated release name! So, here’s my top 5 release names from our cross platform app product.
“Always code as if the guy who ends up maintaining your code is a violent psychopath who knows where you live”. It’s motivational messages like this that keep the Covve engineering team operating at peak efficiency. They are delivered 24/7 by our homemade Raspberry powered LED matrix display and are accompanied by live values of our main KPIs (arguably the primary purpose of the device).
Last Friday marked the end of the internship for Jasmine and Sharon. They joined us all the way from the University of Toronto, Canada through the AIESEC program. In two short months they got immersed not only in Greek culture but also what it means to be part of a startup. They were both given challenging and meaningful roles in the team and now that its all over I’m pleased to say they both delivered exceptionally, or, in our CEO’s words “This is excellent! This is results!”.
The last Friday of each month is Pet Project day over here at Covve. Giving ourselves the time to experiment with new and exciting technologies, try out new approaches or just scratch that technological itch. April’s pet projects included a bottom up review of cross platform devops and experimentation with Watson and event sourcing.
With cloud services it is quite easy for costs to incrementally increase without any alarm bells going off. Increases tend to be small and can often happen automatically (e.g. due to changes in volumes or changes in unit pricing). As such it is good practice to monitor and challenge cloud costs on a regular basis. Our recent audit of our Azure cost enabled us to reduce our monthly bill by 33%. Here are the main ways we achieved this.
The last Friday of each month is Pet Project day over here at Covve. Giving ourselves the time to experiment with new and exciting technologies, try out new approaches or just scratch that technological itch. February’s pet projects ranged from an experimentation with progressive web apps to putting our code’s deisgn to test against Martin Fowler’s personal pet hate, the anemic model anti-pattern.
The Azure Blob service stores text and binary data as blobs in the cloud. Data can be uploaded using the Blob service REST API. In Covve we use this service in order to upload various binary files such as database backups etc. We use the block blobs type since they are optimum for streaming and we do not need append (append blocks) or arbitrary read/write operations (page blobs). Check this Microsoft post for a thorough description of these three kinds of blobs.
Managing a production environment consisting of numerous containerized microservices can pose quite a challenge. Coupling this with the requirement for rapid release cycles and just in time scaling, Azure Container Service (ACS) provides a very promising solution. Having adopted ACS at Covve for our production Docker environment, and having learnt tons along the way, this is a run through of some of the main lessons and gotchas we’ve gathered along the way.
Having just returned from the truly inspiring DDD Europe 2017 conference, this is a quick run-through of my experience and key pearls of wisdom I gleaned throughout, starting with Paul Rayner’s exceptional workshop on “Essential domain-driven design”.
The last Friday of each month is Pet Project day over here at Covve. Giving ourselves the time to experiment with new and exciting technologies, try out new approaches or just scratch that technological itch. January’s pet projects ranged from a microservices monitoring cross platform app to reducing an O(n^2) project to O(n) and playing around with Google’s Tensorflow AI platform.
Partly to celebrate a year’s work leading up to the release of Covve’s Android app and partly due to my long overdue promise of carnivorous heaven at my little hut in the Greek mountains, January featured Covve’s engineering team retreat. The weekend featured pizza making, “Antikristo” lamb (hardcore Cretan lamb on the spit), boardgames around the fireplace and Covve’s first land based FPV (drone) grand-prix. Here are some of the highlights.
For those of you not aware of it, Product Hunt is a website that features the world’s coolest new software products every day. It has tons of followers and being featured on PH can mean massive exposure in a period of just 24 hours. It’s also a tech team’s worst nightmare.
On the face of it, investing in a project manager for a small, young startup seems like an unforgivable luxury. Not only is this throwing money at a role that isn’t directly creating value but also seems to go against the philosophy of the startup; flat structures and super motivated crack teams surely don’t need managing, right? Well, despite this here I am, Covve’s PM, feeling not only valuable but actually indispensable. How come?
Microservices has been a buzzword for a while now, and rightly so. For many products, projects and teams they provide solutions to some of the problems of large and complex software systems. As such, when our very own Zafeiris first proposed its adoption at Covve back in 2014 (before all the hype) it felt most almost natural given our domain and approach to design. As such, Covve’s backend has been built on microservices principles virtually from day one. Here’s a glimpse of our microservices environment as it stands today.
Hi guys, A quick blog post to rave about my favourite tools that help our SaaS business run efficiently and, importantly, give us the depth of understanding and analytics we need to make educated fact based decisions. So, here goes, in rough order of awesomeness: