Category: Editorial

  • The Azure Carrot

    Microsoft wants more people to move their database workloads to Azure. They are constantly adding new features, capabilities, even tools to help people move databases to some part of Azure. It’s working well, as the latest quarterly report shows tremendous growth in Azure revenue. We don’t know precisely how SQL Server or Azure SQL databases impact this, but I certainly see more and more customers moving relational workloads to the cloud. Some to Azure, some to other providers.

    In an effort to entice people, Microsoft has a promotion that they were running in March, which was asking SQL Server 2012 customers to move to Azure and save with free extended security updates. They reiterated the promotion on July 12, when SQL Server 2012 went out of support. They calculate savings and promote benefits, which might be tangible and desirable to some of you. After all, not having a supported platform isn’t an option for some people.

    I don’t know how I feel about this. While we recently had a security update for SQL Server 2012, I know that it’s an older platform and at this point, it’s 10 years past RTM. It is probably time to upgrade to a newer version, which should be 2019 if you can’t wait and SQL Server 2022 if you can wait until the end of the year. I can’t imagine that your workload from 2012 won’t run on 2019, but it’s possible there are some issues.

    I’ve run older versions of SQL Server that weren’t supported and often didn’t worry. I knew what worked and what didn’t, and after a few years, it was unlikely that anything in the product would break. However, that was in an environment that was not regulated or certified, which wasn’t always the case. I have worked in places where we would upgrade whenever we got to the end of mainstream support as we weren’t interested in paying for extended support.

    I also think that while SQL Server is very mature, and it’s possible that you don’t need new features, you do want a platform that is secure. That means you do want support and fast action if an exploit becomes published. There is also the case that we often want developers working on modern platforms, both because they can take advantage of better language constructs, but also because this helps retention. Try hiring for an all SQL Server 2012 environment v a SQL Server 2019 one. You might find people, but a lot of the talented ones would prefer to work on a modern platform, not a decade old one.

    If you are running SQL Server 2012 (or 2008x) and considering the cloud, check out the promotion. It might help you make a decision on whether to upgrade locally or move to Azure.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • AI Ethics

    I found this article to be an interesting look at how we might add ethics to AI systems in one area. As the article points out, “… today there is no broadly accepted AI ethics framework, or means to enforce it. Clearly, ethical AI is a broad topic …”.

    Glad someone is thinking, or many people are, but sad that we aren’t really moving in a direction that creates a better system for us humans to work under, or be bound by. To be fair, I do think this is a very difficult topic and hard for any large group of people to agree on what should be done.

    Network monitoring is a fairly narrow problem domain, at least compared to many others. The article notes there are places where AI can, and does help humans that work in computer networking. That being said, how does the AI handle ethical considerations. For example, can we ensure the AI handles data privacy appropriately. This could be in compliance with some regulation like GDPR. It could also be in a manner that doesn’t disclose data inside a company to other systems or humans who shouldn’t see the specifics of network traffic (like passwords, credit cards, or any sensitive information).

    There are also other considerations. While we see bias in AI systems trained on previous human behaviors, because humans are biased, will network AIs similarly have bias? Will they be less helpful for power users, who have a wide variety of traffic? Those are often privileged users, who might benefit the most from helpful monitoring. Will AIs discriminate against a user when another humans trains or influences it against them? A crude example might be a network admin that doesn’t like women. They enforce more strict rules against women, and influence the AI to do the same. How will the AI, or others, detect this type of issue?

    Maybe the most difficult thing with AI is with corner cases. The ethical dilemmas that might not be easy to solve can confound an AI. Maybe the most ethical choice here is to seek other counsel or let other people help make a decision. To be fair, this is hard for humans to do as well, but for some reason we seem to trust computers less. At least some of us do.

    Ethics is a challenging issue. I find it to be difficult as a human, and my own inconsistency means I might react differently at different times or in different places. How we translate that to AI systems, which are increasingly a part of our world, is going to be hard. I don’t have answers, but I lean towards transparency, accountability from the humans in charge, and the ability to reverse (and apologize for), poor decisions.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • Share Your Mistakes

    I wrote the other day about a culture of allowing mistakes. We know mistakes are going to happen, so we ought to accept them. Even stupid ones. I make them at times, my wife does, my kid does, so I have been working to not get upset and emotional about them. Instead, hold someone accountable, let them fix things, and try to do better in the future. It’s what I’d want, and what I am trying to do with my family, friends, kids I coach, and others.

    Many of us share knowledge and information. One of the reasons I love events like SQL Saturday is that others share their knowledge. I especially appreciate is when someone shares a solution and how or why they build it. Hearing their stories, the reasons for their decisions, and what works well is great. I learn in a similar way from blogs, which is why we syndicate blogs at SQL Server Central and include them in the newsletter.

    By the way, if you have a blog and want to syndicate it (full feeds, please), contact the webmaster or submit an article.

    We want to share knowledge, but we should also remember to share mistakes. We make wrong turns, and sometimes others might not take our advice because we recommend them. Instead, they might go down the same wrong path as we did previously. They might make the same mistake we did. Sharing and showing how a decision didn’t work well can be a powerful and valuable story. We all respond well when we empathize, and most of us can empathize with a mistake.

    Almost every interview I’ve been in has asked me about a mistake, misstep, or other error that I’ve corrected or learned from. Usually, there is some variation on “tell me about a difficult situation” that you need a story about. In a technical interview, this might be based on a programming or database administration problem. In other interviews, this might require you to think about interactions with others.

    In any case, I encourage you to keep stories handy for interviews or reviews. I’d certainly also suggest that you blog about them. Writing is a valuable communication skill we all need, especially in these days of mostly remote interactions. Practice writing, get better at presenting your thoughts, and learn to share stories that will help others in their journey to be a better professional.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • A Culture That Allows Mistakes

    Building a culture that promotes teamwork, efficiency, retention, and other positive attributes can be challenging. While many organizations want accountability and responsibility, it is easy for managers to tip over into a blame-and-chastise pattern. When someone makes a mistake and a deadline is missed or a client gets upset, how do you respond?

    I saw an article that gives some examples from the cybersecurity world about how to build a culture that allows mistakes and forgives them. We all make mistakes, and we should strive to correct them while working to avoid repeating the same mistake. But we will make mistakes again in the future, so how do we deal with them?

    One of the challenges with building a strong culture that is productive is with management. Far too many people react poorly when things go wrong. I find this is a similar challenge to parenting, where we often struggle to let go of control and accept that mistakes will occur. We can also worry that we will be blamed for others’ mistakes and want to push our employees or children to avoid mistakes. Often our reactions are more fear-based, for ourselves or even for others’ safety. However, we can’t completely avoid things going wrong. It’s never worked for me, either at work or at home.

    There are plenty of articles on creating blameless cultures (one, two, and searches), most of which give reasoning why this works better and hints on what you can do. For many of us, these might feel like a dream we cannot chase. With some managers, the idea of even broaching the topic might be too scary. In those situations, I might try discussing the ideas with peers and perhaps implementing ideas with them, rather than trying to convince management.

    Ultimately culture requires support from those in charge. Management has to actually believe in a culture that tolerates and accepts mistakes, while still striving to reduce their occurrence. Everyone deserves to make mistakes and recover from them. We’d like to prevent repeat mistakes, but those will happen. My goal is to work to be better over time and expect others to do the same. While I might need to move someone to a new job or even let them go, it wouldn’t be because of making a few mistakes. It would be because of constant mistakes without making an effort to change their behavior and be better.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.