Azure SQL Database is a general-purpose relational database based on the latest Enterprise Edition of SQL Server. A fully managed SQL database engine, Azure SQL Database service is your platform as a service solution. That means you don’t have to worry about updates, patching, or managing the hardware, and it’s a great option when you need to get to market fast.
Within Azure SQL Database service, you have a couple of deployment options.
A single database is one with its own set of resources, including guaranteed compute size. A single database is portable and isolated from other databases. It is also optimized for the development of cloud-based applications. A serverless option is available which allows the database to “spin down”. When a database spins down, you not charged for compute resources only for consumed storage. Or you can go with a provisioned model where compute resources are available to your application at all times.
The dynamic scalability of a single database makes it a great option when you’re building your first app in the cloud. You can develop your app on a small, single database at a low cost in the serverless compute tier or a small compute size in the provisioned compute tier, and then change the compute or service tier at any time without downtime.
SQL Database Elastic Pool
A SQL Database elastic pool is a set of resources that are shared by a collection of databases and managed via a database server. If you need to manage and scale multiple databases that have fluctuating usage, elastic pools are a simple and cost-effective way to do so. You can easily move single databases in and out of an elastic pool as well as limit resources to individual databases so as to not consume the entire pool. Like single databases, elastic pools are optimized for the development of new cloud-based applications but using the multi-tenant software as a service model.
Whether you choose a single database or an elastic pool, before you create an Azure SQL Database, you must first create an Azure SQL Database server. As the central administrative point for multiple single or pooled databases, the Azure SQL Database server is used to manage logins, backups, firewall rules, auditing rules, threat detection policies, active geo-replication, and fail-over groups.
Unlike in the on-premises world, a SQL Database server is distinct from a SQL Server instance. While all databases managed by a SQL Database server are created within the same region, the SQL Database service makes no guarantees regarding the location of the databases in relation to the server that manages them. Nor does the SQL Database server expose any instance-level access or features. Finally, a SQL Database server can be in a different region than its resource group.
Times are stressful right now. There is an ongoing pandemic affecting people’s health and livelihoods. Schedules are messed up, kids are home. People who aren’t used to working remotely are fumbling through learning how to work from home. And then there are the normal stresses that aren’t taking a break just because there is a pandemic: arguments with family members, home repairs, student loan debt.
I recently read the book Design for Real Life by Eric Meyer and Sara Wachter-Boettcher. I discovered it because I read another book by Sara Wachter-Boettcher,Technically Wrong: Sexist Apps, Biased Algorithms, and Other Threats of Toxic Tech that encourages us to look at the technology around us and consider how it can and has negatively affected people. If you work in analytics or web design, I recommend both books. She approaches design more from the context of user interfaces and web apps, but there is a lot of applicability to data visualization.
What’s a Stress Case?
Design for Real Life encourages us to consider stress cases. The idea behind stress cases is to consider our users as full, complex, sometimes distracted, vulnerable, and stressed out people. They aren’t just happy personas who always click the right buttons and share all of our knowledge and assumptions.
Certain use cases, often labeled as edge cases, often go unidentified or dismissed as too infrequent. User interface designers, including data visualization designers, need to train ourselves to seek out those stress cases and understand how our design choices affect people in those usage scenarios. This helps us to minimize harm done by our design. But also, as stated in the book,
When we make things for people at their worst, they’ll work that much better when people are at their best.
Design for Real Life
There is a toxic trend in tech that we developers make things for ourselves, valuing the developers and designers over the users. Designing for stress cases helps us change that trend. We need to value our users’ time, understand our biases as designers, and make features that match our users’ priorities. A very applicable part of this for data visualization is to consider all the contexts that usage scenarios might happen.
Stress Cases in Data Visualization
Whether you are designing a visualization to be embedded in an app, included in an online news article, or published in a corporate dashboard, you can design for stress cases.
Let’s think about a corporate HR report built in Power BI that shows a prediction of employee retention. HR and team managers may use this information to help them assign projects or give promotions and raises. This dashboard and the conversation around it may address information related to identity (race, gender, sexual orientation). The use of the dashboard may affect someone’s compensation and job satisfaction.
How can we design for stress cases here?
We should be asking if we have the right (appropriate and validated) data to accomplish our goals, not just using whatever we can get our hands on. We definitely need to consider laws against discrimination that might be applicable to how we use demographic data. We need to consider the cost or harm done if we allow users to see these predictions down to the individual employee rather than an aggregation. And we should always be asking what actions people are taking as a result of using our dashboard. Have we considered any unintended consequences?
We want to use plain, easy to understand language. We want to explain our data sources and (at least high-level) how the predictive algorithm works. And we need to explain how we intend for this dashboard to be used. Basically, we want to be as transparent and easy to understand as possible. This dashboard can affect people’s livelihoods and happiness as well as the operational and financial health of the business. These data points are more than just pretty dots – they are people.
We also want to make sure our dashboard is easy to use. Think about digital affordances. We want it to be clear what happens when someone interacts with it. We can get fancy with bookmarks and editing interactions in a Power BI report. But does our intended user understand what is shown when they click a button that loads a bookmark? Can the intended user easily get what they need? Or do they have to jump through hoops to get to the right page and set the right filters?
Let’s say Sarah is a new manager at an organization that is trying to improve a high attrition rate, and she needs this information for a meeting with her boss and peers. She’s sitting in an online meeting using a 3-year-old tablet with 10 minutes of remaining battery life. Her two-year-old child is running around in the next the room. The group is discussing whether they should let some people go and then try to rebuild their teams. Can Sarah easily pull up the dashboard on her tablet and set the correct filters to see attrition numbers and retention factors for her team while trying to put on a brave face in front of her colleagues as she races against the tablet’s remaining battery time?
Visualizing the Coronavirus
Currently, it seems everyone in the data community wants to visualize the spread of COVID-19. Just look at the Power BI Data Stories Gallery. I get the appeal of using new and relevant data for practice, but consider your audience and the consequences of making it public. Do you trust and understand your data? Have you considered how the chart types and colors you choose can misrepresent the data? Who is it helping for you to publish your visualization out into the world? What message is your visualization sending? Is it unintentionally adding stress for your already stressed-out twitter followers? Most of us are not working with city officials or healthcare practitioners. We are visualizing this “for fun”. People are showing off Power BI/Tableau/D3 skills and not necessarily communicating clearly with purpose.
Your twitter friend/follower Frank is really stressed out about the pandemic. His daughter lost her job at a restaurant. He’s worried about lining up projects for the next few months. And his wife is immunocompromised and in a higher risk group for getting COVID-19. He feels scared and helpless.
Your friend Dave is worried about his mother who lives alone a few hours away from him. He is bombarded by messages every day that say older people are more at risk of getting COVID-19. His mom says she is fine, but he wants her to come and stay with him. It’s all he’s thought about all day.
If you know nothing about epidemiology and don’t understand the response from various national, state, and local governments in your data, and you publish your viz with a choropleth (filled) map covered in shades of red, how will that affect Frank and Dave and everyone else who reads it? Did you add value to the COVID-19 conversation, or just increase confusion and fear?
To sum it up — #vizresponsibly; which may mean not publishing your visualizations in the public domain at all.
Stress cases can be related to a crisis, mundane technology failures, or just situations that are stressful in the context of the user’s life. If you are visualizing data, remember there are people who may be interacting with our visuals in less than ideal circumstances. We need to design for them as much as for our ideal use cases.
If you have real-life examples of designing for stress cases in data visualization, please share them in the comments or tweet me at @mmarie.
Every day, more IT organizations decide to move their SQL Server databases to Azure. In fact, over a million on-premises SQL Server databases have been moved to Azure. There’s an interesting blog about how Microsoft is faster and cheaper than its competitors that’s worth a read. To assist with your move to Azure Microsoft offers a number of migration tools and services to make this move as smooth as possible which I think attributes to their success. Two of those options are below with some informational links.
You can also automate the database migrations using the Azure Database Migration Service PowerShell commands.
Azure Database Migration Service (DMS) is a fully managed service for migrating multiple database sources to Azure data platforms at scale. It supports SQL Server 2005 through SQL Server 2019, as well as a variety of other source-target pairs. Azure DMS enables a seamless migration with minimal downtime or effort.
Let’s see how it works.
Working with Azure Database Migration Service
A typical database migration using Azure Database Migration Service consists of the following steps:
Perform a migration assessment using Data Migration Assistant (DMA). Note any migration blockers that DMA reports and perform recommended remediations.
If you need to assess the whole data estate and find the relative readiness of the databases migrating to Azure SQL, follow the steps provided here.
Once you find the Azure SQL target, use Azure Database Migration Service to find the optimal Azure SQL target SKU that meets your performance needs.
Create your target databases.
Create an instance of Azure Database Migration Service.
Create a migration project specifying the source databases, target databases, and the tables to migrate.
Start the full load. Note: Select Online mode to include transaction log backups.
Pick the subsequent validation.
Perform a manual cutover of your production environment to the new Azure database.
Offline vs. Online Migration
The amount of downtime required to move to the cloud is always an important aspect in the decision to move to the cloud or not. Azure Database Migration Service allows you to do either an offline or online migration. The difference is the amount of downtime. With an offline migration, downtime begins at the same time that the migration starts. With an online migration, downtime is limited to the time required to cut over to the new environment at the end of the migration.
Microsoft recommends testing an offline migration. If you can’t tolerate the downtime, then switch to an online migration. It’s important to note, an Online migration requires an instance from the Premium pricing tier. However, they make it easy for you by offering it free for the first six months.
Azure Database Migration Service gives you a much better idea of what to expect when migrating large database instances at scale. It migrates your databases with ease using Microsoft’s best practices. Even better is that Microsoft continually invests in migrations by working to improve reliability and performance, as well as adding source/target pairs. I can easily see why they continue to lead in cloud technologies.
Teaching in front of a classroom of kids is a skill that many (including myself) don’t have. As many schools have transitioned from in-classroom learning (what we all did in school) to remote learning there are going to be a few differences that at teachers you are going to notice as you do these remote teaching sessions.
I’ve been teaching classes remotely to IT Professionals for years now, and I wanted to share some of what I’ve learned over time to explain some things, and hopefully make you realize that others are totally normal.
1. Talking to your monitor
Unless you’ve got a professional setup for recording in your house you will probably find yourself doing what most of us to, talking to your computer screen with some sort of microphone and webcam pointed at yourself. What you normally get from your audience is feedback, even if you don’t realize it. People sigh and fidget if they aren’t getting what you are trying to explain. You won’t get those little queues when you are presenting online. That means that you’ll need to explain things in more detail and ask questions, more than normal, to make sure the students get the topic. What this boils down to is that teaching remote classes just sucks because you don’t get that level of interaction from the students. But right now, it’s what we need to do.
2. People don’t ask questions
One thing that I’ve noticed after doing hundreds of hours of professional training for people, is that remote audiences don’t ask questions. I really hope that this is different for kids than the IT Professionals that I give classes to, but I get far fewer questions when I present a session remotely than I do when I present the same session in person to people. Part of it is because it’s remote people don’t think that they can ask questions, so if you’ve got an interactive way of talking to the students, ask if there questions. Ask that a lot. If they send if their questions via text (they have to type in the question) take a few minutes to let them type in their question before you move on. It’ll break your flow a little bit, but it will give those that aren’t great typers a chance to finish their question before you start talking about the subject again.
3. Order a decent Microphone and Camera
With the assumption that this remote learning approach is going to be happening for a while now (some schools like the ones here in San Diego, CA are going to be closed the rest of the school year) you’ll want to invest in a decent microphone and camera. The ones that are built into your laptop probably aren’t going to cut it long term. Personally I use this microphone from Rode which you can get on Amazon (only get the one that is fulfilled by Amazon, otherwise you risk getting a fake). The Rode that I linked to has a breath shield so that it’ll pick up your breathing while you talk less. A good microphone will pick up your breathing really well, and it’ll be really distracting to the people watching.
When it comes to the microphone play a little with the gain knob on the microphone. You want it to be fairly high, without picking up to much background noise. Keep in mind that if you turn up the gain on the microphone really high, it’ll pick up cars driving by, even if they a couple of streets away. When I first got my Rode microphone it could pick up cars driving by that I couldn’t hear.
For a camera, I use the Microsoft LifeCam Studio which is also available on Amazon. The camera I have is a few years old so I’ve got an older model, but even the older model has pretty good video quality. The microphone in it isn’t great, which is why I have the Rode.
4. Don’t put your microphone on your desk
Putting your microphone on your desk is a horrible plan. The microphone will pick up every tap of the desk that you make. Every time you tap the keyboard keys or click the mouse the microphone will pick up the vibration and it will be incredibly loud for the people that are watching. I use a swing arm that is similar to this one by Innogear (I can’t find the exact one that I have, but I bought it years ago). Mine is mounted clamped to a monitor arm, which is bolted to the wall. So unless I kick the wall by accident (and I’d have to kick right under the monitor) the microphone doesn’t pick up any tapping on the desk or the keyboard. If you think you can tap quietly enough on the mouse that a microphone on the desk won’t pick it up, you can’t. The microphone is picking up the touch to the desk and converting that into sound. If you don’t want to mount a microphone in the wall (which I totally get) look into a microphone stand like this one from Pyle. That way it can sit on the floor and it will come to you instead of you having to do to the microphone.
5. Speak Slowly
You’re a teacher so you probably know this one, but it’s worth saying. When doing remote teaching speak slowly. Slower than normal, painfully slow. What the watchers hear, will sound a lot faster then you think it does. Personally, this screws me up all the time, as I’m a fast talker naturally, so speaking slowly just feels so weird to me. But that’s how I know that I’m speaking slowly enough. Do a quick recording of you talking at your normal speed and see how it sounds. Odds are that you’ll want to slow down your sleep.
This whole working and teaching from home thing is going to be very weird, but this is going to be the new normal for a while. Hopefully, the pain that I went through when I started holding remote classes will help others so they don’t have to go through the same pain.
Register for our webcast on April 1st, or April 2nd (depending on which part of the world you are in) as Kevin Kline and Denny Cherry talk about the Top 5 Considerations When Moving Databases to Azure.
Watch our Webcast from March 12th, 2020 where Denny Cherry will cover what steps a company should go through in advance of a Ransomware attack so that you are protected from an attack; what a Ransomware attacker can (and probably will) go after; and what you can do after the fact to bring your company back after a Ransomware attack, without paying the ransom.
As Microsoft MVP’s and Partners as well as VMware experts, we are summoned by companies all over the world to fine-tune and problem-solve the most difficult architecture, infrastructure and network challenges.
And sometimes we’re asked to share what we did, at events like Microsoft’s PASS Summit 2015.