Category Archives for "Architecture"

Jul 03

Who Loves SQL Server? Linux loves SQL Server 2017

By Charles | Architecture

You read that correctly SQL Server 2017 is coming to LINUX.


Good question. Linux has been around for decades and is a very stable and solid platform but it has usually been offered ‘free’. I started using Linux before I had used SQL Server so my excitement is at record levels right now. In fact I can actually remember a client asking if it was possible to run SQL Server on Linux back in 2008! If you are after a Continue reading

Jun 15

Around 95% of Performance Issues are Design Based

By Charles | Architecture

Performance issues are like a plague. Everyone seems determined to treat the symptom when they should be focused on the cause. There is a sense that any performance issue can be resolved by increasing the hardware spec that it is running on. I believe this is a fallacy and an expensive one at that. By scaling up the hardware you are most likely scaling up and obfuscating the problem.

application design

Prevention is better than cure

With a bit of planning and by following application design best practices you can save an inordinate amount of time troubleshooting performance issues. Issues that would just not exist in a well designed application. There are really two types of application performance issues that you will find. One is an issue in a third party piece of software which Continue reading

May 23

When did you last patch your systems?

By Charles | Architecture

sAs of the very recent and no doubt still stinging cyber attack I thought I would hit this question head on with some rather frank honesty. When did you last patch your systems?

Patch your systems

I have mentioned patching before and this time I’m not pulling any punches. Everyone and I mean everyone should know security patches are something to install each month as part of continuous improvement. Microsoft release patches on roughly the second Tuesday of every month. They should in my opinion be deployed to test systems on that day or within 7 days. What happens to the test system if the patches screw it up? Well, you restore from backups. You do have backups right?

IT service providers

These patches once installed then lead to some testing of those servers to make sure that any software on them still functions. If it stops working you roll back the patches and work out which one is causing the issue. Then you try again without the patch causing the issue to start with to confirm it is a problem. Then you either do not install the offending patch if you believe it is not needed or you make it work with it installed. The one thing you never do with patching is NEVER patch anything.

When do good IT service providers patch systems?

As soon as patches are released the information about them is available to hackers. That can literally read through the latest vulnerabilities being patched and create exploits for them. This is a dangerous time to be sitting on unpatched systems. Google give Microsoft a 90 day lead to fix any issue they find. Then they announce it to the world no matter if people feel it is right or wrong even if Microsoft have not got a patch for it yet. Any decent IT service provider would have tested these patches for their clients and rolled them out through their change management processes.

Any company with an internal department worth their salaries should have been doing the same each month. Cyber security is not a joke. The losses in respect to data theft, reputation and financial losses can be staggering even over short periods of time. The company you work for could be out of business in a matter of weeks or a few months after a devastating attack.

If you think a single piece of equipment like a firewall or anti virus are going to stop an attack you are living in the dream world. Security has to be a broad strategy and in depth. Multiple defences on multiple lines just like a standard battlefield.

Personally I would expect every system to be patched within 2 weeks of patches being rolled out to your test systems. That should be a complete patching of all systems within 2 to 3 weeks of release. Rolling patches straight to production systems is risky hence the time to test them first. Not rolling them out at all should be a P45 generating event.

Wake up call

This weekend past will have been a serious wake up call to many companies and organisations around the world. If anything is to be learned, the need for regular patching schedules should be at the top of your list. I foresee tens thousands of man hours of overtime being spent as unprepared departments scramble to patch every neglected system on the net. Both in terms of biological health and in IT, prevention is better than cure. You will most likely find it a lot cheaper too.

So when is the best time to patch your systems the answer is before a major cyber attack and not during/after it. So spend the next few days creating a patching schedule and patch your systems!

May 25

Where Does Your Network Security Begin?

By Charles | Architecture

network security

Decades ago when we talked about network security the perimeter was very easily defined. The perimeter of a business used to be the front door or the edge of the carpark. Network perimeters however have been growing since the creation and expansion of the internet. At the start networks had a mainframe and terminals which were most likely on site. This then became desktops and servers and we are now in the cloud wave of computing. Your perimeter has been slowly expanding along with it. To start with everything was in the building then a few devices were outside the building. Now smartphones and tablets have enabled your entire systems to be outside of your own building and in someone else’s.

When sales people come round to your office to do a demo the first thing they ask is can I use your WiFi? Now hopefully you have a guest network with separate broadband lines to create a physical perimeter between your business systems and visiting devices. If not at least have a separate VLAN for guests to use to provide some sort of separation. The point is that IT has become so blurred it is hard to figure out where the network perimeter actually is. Some of your systems will live inside someone else’s business and other businesses devices will end up being used inside what used to be your perimeter (your building).

Every device you use is what we call an end point. Each endpoint is a potential entry into your systems and your business. Each endpoint needs to be secured from both internal and external threats but those devices may not be on your site and may not even be in the same country. When you think about network security you need to assume any foreign environment is hostile but you must also be vigilant when it comes to trusted devices. Any devices on your network like laptops and servers will be trusted by the domain but they could be infected by a virus or some malware so it is vital that all endpoints be considered potential threats even if they are internal.

Knowing where your perimeter is and what the end points are is the first step to designing a network security strategy.

May 06

Should I migrate to SQL 2014 or wait for 2016?

By Charles | Architecture

You may have seen either my blog post about SQL 2016 found here or one of many of the other posts by SQL professionals leaving you with the question. Should I migrate to SQL 2014 or wait for 2016? Microsoft gives access to several release candidates of SQL server prior to the general release to the public. Software vendors rarely announce support for the latest version as soon as the general release is available. Either they have not completed all their testing or they might be waiting for any initial teething issues to be fixed by Microsoft first.

That leaves a gap between the general release and vendors announcing that they will support the latest version of their applications on the latest SQL platform. This then leaves businesses that want to move to the latest version with a dilemma. Do I move to SQL 2016 anyway and hope I do not have any support issues or do I wait for it to be formally announced.

This is hard enough to decide for just one application but what if your environment is shared and you have dozens of different applications using your SQL servers. You now need to decide if you only move the applications with announced support and split your environment into two. Those supported on SQL 2016 and those that are not or wait for all of your applications to announce they are supported. Splitting the environment can literally double your licensing costs overnight which can be very expensive.

[h2_heading]Should I migrate to SQL 2014 or wait for 2016[/h2_heading]

SQL does allow you to put a database into compatibility mode which makes it feel like it is running on a previous SQL Server. You can usually go back about two versions prior to the server version. This may or may not allow your application to work you will need to test it on each database as it will be application specific.

If you are currently on any version of SQL Server prior to SQL 2014 then it might be worth ignoring SQL 2016 for the near future. By getting everything that is currently on a previous version of SQL server onto SQL 2014 you can make sure that all of your databases are on a supported platform. Supported by both the vendors and by Microsoft. This will also give you a good idea about your applications and if they will work on SQL 2016. If any of your application vendors do not support SQL 2012 or SQL 2014 then it is very unlikely that they will support SQL 2016.

By consolidating any SQL versions in your business onto a supported SQL platform you might be able to save on licensing costs which can be substantial especially if your business is suffering from a rapid growth cycle creating server sprawl. This will at least give you a good starting position to move to SQL 2016 later on.

I personally do not like running applications on SQL versions, OS versions or even hardware that is not supported by the vendor. I like the security of knowing if I phone up about an issue they will not tell me that is an unsupported configuration. Two words which can strike fear into the heart of any administrator. If you hear those words they are basically saying you are on your own.

The reason that you might want to jump to SQL 2016 could be the need to use one of the new features such as the support for R or the new mobile reports. You might just want to get access to the faster query processing or latest version of AlwaysOn. If you need these features then you will of course need to check that your application will run on SQL 2016 and do thorough testing.

So should I migrate to SQL 2014 or wait for 2016?

If you absolutely need one of the new or latest versions of features then you need those features and will need to go to SQL 2016.

If you do not need the new features and are worried about using an unsupported application on SQL 2016 they do not go to SQL 2016.

If you want to go to SQL 2016 but can wait for your application vendors to announce support then wait a bit longer. Once they announce support you can test and then move in your own time.

What do you think the answer is for the question ‘should I migrate to SQL 2014 or wait for 2016?’ for your business?

May 03

SQL Server 2016 commeth on June 1st

By Charles | Architecture

Its been a long wait, well almost exactly the same 2 year wait that the last version took to release but with all the latest and greatest features available in SQL 2016 it has been a very exciting wait indeed.

[h2_heading]SQL Server 2016 commeth on June 1st[/h2_heading]

It might seem a bit weird for a DBA to be championing BI (Business Intelligence) features however they are just to exciting to ignore so lets start with those. You may have heard of DataZen a company Microsoft bought in April 2015. They create platform independent BI dashboards and using their dashboard server everything would be rendered in html 5. It was and is a fantastic product and Microsoft have only gone and integrated it with SQL 2016 as mobile reports giving businesses two ways to view and consume reports the other being the standard paginated reports.

So what other features appear as SQL Server 2016 commeth? Built in support for R but what is R? R is a programming language used for statistical reporting bit of a mouthful and not something I have much experience with however noise about R has been getting louder and louder over the last few years especially with the growth of Big Data and SQL 2016 is certainly a platform that is all about data.

I feel the need for speed. SQL 2016 comes with serious speed increases. If I told you that you could gain up to a 34x increase in query performance on your current hardware would you be interested? If your reports or applications are currently running slowly this could be a reason for you to at least test out your current apps to see if you can get a very decent performance increase. Personally I prefer to dig into the code if there are any issues with application performance however up to 34x improvement for a migration to the latest version could save you time digging through code although you will still need to take some time to do thorough testing prior to migration.

I love encryption so should you and now Microsoft have finally given us encryption to get excited about. The aptly named Always Encrypted technology protects your data at rest and in transit with zero database performance impact. I think someone has been peeking at my Christmas list.

So now we know the date it might be time to put some serious thought into should I upgrade to SQL 2016? I will write another post on exactly this topic very shortly.

Apr 28

I want to move to the cloud but don’t know how

By Charles | Architecture

[h2_heading]I want to move to the cloud[/h2_heading]

Ever since the popularisation of tablets and smartphones the move to the cloud has seemed inevitable. Users want on demand access to all of their data across all of their devices at all times. Owning and even storing their data themselves has become less of an issue. Users do not mind it being hosted on public servers as long as it is secure and available from anywhere. These shifts in user behavior have allowed the rise of streaming services such as Netflix and Amazon which allow access to subscription services with vast catalogs of content to be viewed.

Business users have also been moving in the same direction. Long gone are the days when you hire an IT person to install, configure and manage an expensive Exchange server with all your users data stored on site. Cast into the abyss are the days of configuring, patching and troubleshooting issues which have zero ROI in those very early days when you need to make money the most.

There are a few obvious reasons for this move. The old approach has two single points of failure.

  1. The broadband line into your business (unless you have a backup line which is of course recommended)
  2. Only having one server increasing the chance of an outage as there is no server level redundancy

Businesses need resilient systems without the massive overheads of disaster recovery, redundancy and the time needed to maintain these systems. To have these highly available system on site you would need two Exchange servers which unsurprisingly would be twice the price. Which brings us to the benefits of the cloud.

[h3_heading]The cloud and the 3rd wave of computing[/h3_heading]

This shift to the cloud is also known as the 3rd wave of computing. The first being Mainframes and the second being client/server. The cloud delivers just about everything you need to get up and running quickly without having to worry about redundancy, disaster recovery or patching. You just say how many users you want to use the system and provision them. So where should I start?

The first step to move to the cloud for businesses is usually with email as part of Office 365. You get your email hosted by Microsoft in the cloud in almost the same way that web hosting companies have offered hosted email for decades. Some Office 365 subscriptions give you extras like the latest version of the Office suit of apps included. This can really help with licensing or SAM (Software Asset Management) which if not tracked can get out of hand very quickly.

For any business that does not want to worry about installing, configuring, patching, maintaining and troubleshooting server issues this is by far the best option.

  • All upfront hardware costs are removed so you no longer have to worry about buying outdated physical servers living in a server room on site.
  • Users can be added and removed as necessary allowing you flexibility to focus your resources on the services you need and use.
  • Monthly subscription payments improve business cash flow by spreading costs over the year.
  • Business is not dependent on your broadband connection. So if it does go down users can still get email on mobiles devices and from home.

The cloud does not end here it is only the start. You can have your CRM systems hosted in Microsoft Dynamics CRM, your project management stored in BaseCamp and your accounts and payroll stored in FreeAgent. The best thing is that most cloud suppliers build their APIs so you can connect all of these systems together giving you a full view of your business.

If you would like to discuss the advantages a move to the cloud can bring to your business and even have a free trial of Office 365 we would love to help you.