Here at UKCloud we pride ourselves on giving our customers innovation and choice through a range of cloud technologies including OpenStack, Oracle, VMware and Azure Stack, although actually developing and running these technologies is no easy feat. I spent twenty minutes with Chris Black (our Technical Authority for Azure Stack) to find out what happens behind the scenes and what goes into developing our clouds.
What has the Azure Stack team been working on recently?
The key focus recently has been enhancing and improving the Azure Stack on-boarding procedure. In order to do that, we had to write new code to speed up the process between a customer requesting an environment and them getting access to it. This new code enabled fast provisioning by leveraging the Microsoft Partner Center API for Stack registration as well as creating Azure Active Directory groups for easier Role Based Access Control. It makes management of permissions more streamlined as customers can add additional users at the click of a button. All of this means that our users can quickly start consuming resources within their tenancy.
Integrating Terraform into Infrastructure as Code workflows allows us to provide a seamless experience for people who may already have experience working with it on Azure public. We wanted to bring in familiar tools so that administrators can utilise their existing knowledge and skills to operate the platform as an extension of Azure – which is exactly what Azure Stack really is. Having looked through available documentation, we quickly realised that there was a lack of quality guides or examples available on how to integrate Terraform. Therefore, I have developed processes and code (see this Knowledge Centre article for more information) to remedy this. We also looked at using Ansible as it is yet another tool built into Cloud Shell; unfortunately, there is currently very limited support for Azure Stack – hopefully that will change soon.
We are always looking into new ways to automate management and evergreening of the Azure Stack cloud – in the most efficient ways possible. For example, we needed a way to apply frequent updates and hotfixes programmatically. The official process for that was entirely GUI driven, which was not good enough for us. We decided to design and develop our own code to conform to the automation-first approach; a core theme within the Azure Stack team – more on that later. As a result of this work, software updates can be pushed live across the whole Stack without any manual interaction and, more importantly, without service impact to customers. The code that we have written even automatically sends an email every hour with progress and status updates to the Azure Stack Teams channel. This is just one example of how we have innovated the administration of the platform.
How many lines of code do you write?
Lots of code! Every day we are writing something new to improve and optimise the experience for both the Azure Stack team and our customers. My team has adopted an automation-first approach as I mentioned earlier, so nothing is done through the GUI. The reason behind this is two-fold.
Firstly, from my experience working with other products, we spent too much time manually performing tasks that should have been automated from the start. Azure Stack presents a unique opportunity because I can build automation around it from the get-go.
Secondly, as we introduce more deployment options for customers such as private cloud, we need to be able to deploy at scale, which is not easy using the UI and in most cases is simply impossible to do. Furthermore, a GUI-based approach is prone to error and does not scale. For this reason, we created custom code, which can be used for multiple Azure Stack deployments, saving time and costs.
Why do we need to create new code, why not use out of the box?
To provide our customers with the best user experience and access to innovative features, the code that we need is not always readily available. In many cases, when we are looking for something to help us, we find that either it does not exist, is outdated, or simply does not work for our specific use case.
Do you share code back into the community?
When developing any code, we always share it with the Azure Stack community so that others do not need to go through the same pain – I want to fix things for everyone, not just for us. We upload everything to GitHub as this leads to faster innovation within the IT sector and drives adoption of this new and amazing piece of technology called Azure Stack.
How big is the Azure Stack team?
My team is relatively small but is constantly growing. As of late, it includes an undergraduate, Bailey Lawson, who is currently undertaking his placement year working at UKCloud as part of his university course. He had a massive positive impact on the team and together we are responsible for maintaining, developing and looking after the entire Azure Stack product.
I also run an Azure Stack Meetup Group – the last event happened in October last year. I am very much looking forward to the next Meetup on the 21st of June where we will share some cool stuff and knowledge with customers and partners and talk all things Azure Stack. To register, click here.
Can you describe the feeling you get when you finally see a piece of code working?
It is such a great feeling, especially when I spend hours or days trying to get the code to do what I want! Sometimes all it takes is to be away from the office, maybe a drive home or exercising at the gym, to finally get that eureka moment in which I usually figure out what I was doing wrong – I know it makes no sense, but it is true.
Which technology team works harder then?
I believe the Azure Stack team works the hardest, as can be seen through the aforementioned Terraform and on-boarding examples. Hopefully customers can benefit from the great things that we do here, most of which have never been done before. I am immensely proud of the work we have done on Azure Stack thus far and I am very much looking forward to the coming months, as we write more code, drive innovation and develop this cloud technology further. Features that our customers can now get their hands on include Azure Site Recovery automation – the world’s first ever free and proven code to move VMs from Azure Stack to Azure and back. In the near future, we will be adding community network support; look out for further blogs as we roll this out.
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 Azure Stack visit: https://docs.ukcloud.com/articles/azure/azs-gs.html
To read my colleague Steve Relf’s blog on developments in the OpenStack space visit: https://ukcloud.com/hub/news/the-multi-cloud-experts-behind-the-scenes-with-openstack/
Happy Azure Stacking!!!
For more useful information, visit my twitter account here.