Category: Editorial

  • Scaling Serverless Azure

    I enjoy reading articles and blogs about how people solve technical issues. The
    Trainline blog has had some good posts over the years, and the Netflix tech blog always gets me to think, even thought I don’t use many of their technology choices. There are others of course, but for the Microsoft tech, I run into some neat posts at the Microsoft Devblogs.

    Recently I saw one from Davide Mauri on streaming at scale using Azure SQL Database. I really like the platform, but it still feels like something that needs maturity. Seeing this post with metrics, testing, and evaluation of how the system works with data gives me more confidence that this might work for a scenario I hadn’t considered.

    I love that the post includes lots of references to code and other explanations, making me think I could set this up and test it. Certainly I’d like to know more about the actual costs of the test, which is something missing from too many discussions of cloud implementations, especially PaaS ones.

    An exception might be Troy Hunt’s series on Azure and how he’s built HaveIBeenPwned. This is a scaling post, though you can find others if you search around. He’s disclosed the costs of things in some of his posts, which help me to understand how important choices are to both performance and your budget.

    If you are looking to build systems in the cloud, I urge you to search out and read as many experiences as you can. Most of them boil down to write for the cloud, write good code, and test, but do so in a way that takes advantage of the cloud. Don’t expect to just have things work for you, no matter how good a developer you are. You need to understand your tools, and the cloud is just another tool.

    Steve Jones

  • Collecting Toxic Waste

    I was listening to someone talk about software development recently and they used this phrase: “are you collecting toxic waste?”. In this case, they were discussing technical debt, but I found the analogy to be good. I’ve often thought that long term technical debt can make a software project extremely question.

    The speaker in this talk had two questions, which I found to be good ones for software developer. The first was are you optimizing individual projects at the expense of longer term technical debt? This is a good way to think about each decision you make about how to build a feature. Asking yourself about short term, or limited scope thinking v longer time thinking is important. Often if we take fifteen minutes and discuss the future of a decision with colleagues, we can better view the trade-off. There are good reasons to sometimes implement something in a short term, fashion, but not every time.

    Even if we discuss with ourselves, perhaps by writing down the pros and cons, you might think through your issues. I often find that forcing myself to explain a concept helps me better understand it. It also helps me communicate better with others when I have to work through the issues. Of course, it is very easy to miss something or skip steps when you do this for yourself, I really, really recommend you get feedback from another person.

    The second question is are you tracking technical debt or finding ways to pay this down? I think this is one that you need to periodically revisit. Between sprints, maybe after mid length period of time has passed, review the items in your system that you’ve compromised on. Maybe you look at code no one wants to touch, or is afraid to touch. Maybe this is examining inefficient code, which is something that is crucial in a database. While a poor query might suffice with low volumes or data, or limited numbers of executions, this can quickly become a problem, especially as the number of inefficient items grow.

    The database suffers from often being a bottleneck, a single place where all clients connect. We often do have powerful systems here, and the platforms like SQL Server make efficient use of resources, but bad code and technical debt become problems. I often find broken code in database that can’t even be executed, and along with poorly written queries, this can hamper future development and flexibility.

    Periodically review your code, looking for things to remove or improvements to be made. Your future developer self will thank you.

    Steve Jones

    Apologies – Podcasts are still iffy with my voice and time. Hopefully after Thanksgiving I get back to them.

  • A Data Request Form

    This week I’m in the PASS Virtual Summit, watching some sessions around other work. Unlike a regular conference, I have more distractions, and I have other commitments. So while I have to be around to deliver or chat during a few sessions, and I am at the Redgate Booth, I also still have other work to get done. Being ill for most of last week put me way behind.

    As I was wandering around the Virtual Summit site, I’ve been experimenting and clicking, looking for how things work. After a little discussion on Twitter about the privacy policy, I was looking for what the platform offers. The vendor being used is Cadmium CD, and at the bottom of the Summit pages, there is a link that says “My Data”. Clicking it takes me here: Data Request Form.

    This is what is says. You can request all your data from the vendor, which is a provision of the GDPR, allowing you access to what data is being stored about you. You can also ask to be removed, forgotten, or transferred. I wonder if that last one will become a service item. Would you subscribe to somewhere that gets copies of and cleanses, analyzes, etc. your data, letting you know what mistakes or inconsistencies are out there? Or what is being tracked, with some privacy surface area or areas of concern?

    I don’t know if I would, but I do like the idea of being able to request my data. I’ve done this from some places, getting a look into how I have used services more than what people are tracking, but knowing what’s being captured and held is a concept I might embrace.

    Steve Jones

  • The Virtual Experience

    I just completed the 2020 DevOps Enterprise Summit a few weeks ago, and it was enlightening to me to see that so many people liked this experience. They appreciated not traveling, being able to drop in and out of sessions while near their home and family. I found that lots of people also liked the MVP Summit last spring, which was also virtual.

    The PASS Summit went virtual recently, and I went through an all day pre-con as well as a few sessions during the week. As many of you, I’m a bit screen and Zoom fatigued, and while I enjoy learning and seeing people passionate about a technology, I’m tired of seeing it inside these four walls.

    I worry that I’m in the minority. I recognize the value of the inclusion of those that don’t have the time or money to attend a conference live. I appreciate that the ability to watch when and where it fits into my schedule. I love that others can pause, rewind, get captions, and more that spread knowledge out.

    However, I think we’ve lost something, and certainly lost some of the collaborative, discussions and debates that we can have in live events. While I can reach out and discuss with anyone, it’s hard to discuss with just someone. Others can join in, and semi-private channels, and especially the times during breaks when I can get up and walk while talking, are things I miss in the virtual experience.

    If virtual events were spread out more, and not everything in my work world were virtual, perhaps I would feel differently, but for now, I don’t love the virtual experience, and feel it’s a pale shadow of a SQL Saturday, user group, or live conference. I hope that this isn’t something I do too often, but I suspect this will be a permanent part of our lives forever.

    Steve Jones