Here at UKCloud we pride ourselves on giving our customers innovative technology and choice through a range of cloud technologies from OpenStack to Azure Stack, although actually developing and running these technologies is no easy feat. I spent twenty minutes with Steve Relf our Technical Authority for OpenStack to find out what happens behind the scenes and what goes into developing our clouds.
What has the OpenStack team been working on recently?
The team have been working hard to improve processes internally which in turn impact customer experience. Things we have worked on include our ability to quickly build environments and general evergreening of the OpenStack cloud.
How many lines of code do you write?
Loads to be honest. We are always writing code; the features I mentioned earlier all involved some form of code drop. We don’t make any changes to our platform that aren’t in code. For instance, when we look to introduce a new feature or change, we work through a workflow which starts with a virtual lab. Virtual labs are all built from code and all use the same basic templates that our production environments use just with different personalities (IP addressing, SSH keys, SQL servers). We develop features and fixes in those lab environments and then promote those to our beta environments through code. Finally, we then surface those changes through a code drop to the production environment, which happens regularly, roughly every three months.
We’ve also been working hard on cool new features which are upcoming in this quarter and next. Which is exciting. Literally everything we do is through code, we’ve improved our monitoring systems internally which is all scripted. We’ve recently put in some code that helps with service reporting for our customers. All of our deployments are automated and pushed into production via code.
Do you share code back into the OpenStack community?
A lot of our code is glue code that sits around our stack, but we do also work on the upstream OpenStack products. I’ve recently done some work on the python SDK for OpenStack and have been working with Red Hat to develop new code. We’re always interested in learning about what’s going on upstream in the community and we do try and push things back into the community. A lot of the time it doesn’t necessarily involve us writing code but being involved in the community is something we actively do and, more importantly, like to do. For example, talking to people outside of UKCloud including our competitors to try and understand what pain points they see and what pain points we see, because a lot of the time the pain points are the same. We work as part of the community and we try and resolve issues not just for us but for all of us because the whole point of open source is that it is collaborative.
Why do we need to create new code, why not use out of the box?
As much as possible we do try to use code that’s available in the community, there’s no real reason to re-invent the wheel but a lot of the time it does come down to our specific installation or requirements for integration with certain tools. Therefore, we do need to write new code for those reasons and to fit in within our systems and workflows. In many cases, we see code that exists that looks useful such as hypervisor anti affinity which we have adapted for our specific use case. We acknowledge that it has been written by another organisation, but we adapt it and use it and that’s what the open source community is all about.
How big is the OpenStack team?
So, there are four of us and we’re responsible for two public cloud regions and one single private cloud region on OpenStack. Currently, we’re running Newton on OpenStack and the team are working hard to stand up the next OpenStack release version soon, which will most definitely involve us writing more code.
Can you describe the feeling you get when you finally see a piece of code working?
It’s a good feeling but actually no piece of code is ever finished, and nothing is ever perfect. Its good to see it go out into production and to see how it impacts customers positively. Often solutions to coding problems are fixed away from the computer, which is interesting but I’m sure is something that my coding friends would will relate to.
Which technology team works harder then?
Of course, that is going to be the OpenStack team! I would say the OpenStack teams write the most amount of code not just deployment code but also code to help surface more monitoring and feedback for customers if they’d like to see it. Everyday we are writing a piece of code, maybe a couple of lines right through to making huge changes on the platform.
This gives you an insight into how we at UKCloud work hard to deliver choice to our customers. The sheer volume of code produced by the teams over a year is staggering but is testament to our dedication and commitment to customers within the UK Public Sector community.
For more information on the platforms visit: https://ukcloud.com/what-we-do/