Tag Archives: Hosting

Convert a Folder to an Application on a Remote IIS Host

The topic recently came up of the best way to convert a folder to an application on remote shared hosting server. Some hosts may have this built-in to their control panel. I know many (like Cytanium) have options in the control panel to create Virtual Directories, but sometimes an application specifically needs its folder to be marked as a literal “application” within IIS.

Since I’m most familiar with Cytanium’s shared hosting I’ll use their service as a base in this example.

Within the Cytanium control panel first make sure that you have enabled Remote Management. This feature will allow you to directly connect from IIS Manager running on a remote server to the IIS service running on the hosting server.

Enable Remote Management of your shared hosting site

From your Website Properties page in the control panel, click on the Management tab (red box above), fill in the information for the new account you want to create for managing the site (blue boxes above), then click Enable (green box above). After a moment or two you will have Remote Management enabled for your shared site.

Next you set up the connection from your local IIS Manager service. If you don’t already have this installed, grab a copy here.

Open your IIS Manager and choose the option to Connect to Site. Do *not* choose Connect to Server (it won’t work) unless you have full administrative access to the server, which won’t be the case with shared web site hosting.

RemoteIIS-ConnectToSite

Specify the connection information. This should be the name of the server in which to connect (your host can clarify this for you) and the *exact* name of the site within IIS – the host can also clarify this for you if you don’t already know. The name should not have http:// and it may or may not match the domain name of the site, so if you can’t connect, the first thing I’d do it confirm these two settings.

RemoteIIS-ConnectToSite2

Assuming the IIS Remote Management service is running and enabled for the site, the next dialog box you see will be asking you for your username and password information (which, in this example, we set in the Cytanium control panel above).

RemoteIIS-ConnectToSite3

You might get a certificate warning (you will at Cytanium). As long as you trust the source (and I sure hope you trust your host if they’re supporting your site for you :>) you can click Connect and move to the next screen.

RemoteIIS-ConnectToSite4

On this last screen it is going to ask you to name the connection. You can leave it as the name of the site or give it a name that has more meaning to you – it doesn’t matter technically and is only a reference that will be displayed in your IIS Manager.

RemoteIIS-ConnectToSite5

Viola! Your connected now!

Here is what it will now look like in the IIS Manager GUI. Note also that I’ve drawn a red box around the folder that we’re going to convert to an application.

RemoteIIS-ConnectToSite6

Right click on the folder and choose Deploy -> Convert to Application.

RemoteIIS-ConnectToSite7

You’ll now see that the icon next to the folder has changed to denote that it is an active “application” within IIS.

RemoteIIS-ConnectToSite8

That’s it – your done! That folder is now an application and should work exactly as-if you had made the changes locally on the server.

By the way, you might want to poke around with the other features you can manage from the Remote IIS Manager tool. Depending on what your web host has enabled, this is a nice way to make configuration changes to your IIS hosted site.

Happy hosting!

OrcsWeb Cloud Servers Compared to CloudServers.com

MeInRedJacketI’m running two primary brands now – still one company, ORCS Web, Inc., but two main brands… www.orcsweb.com (high-touch managed hosting) and www.cloudservers.com (IaaS unmanaged cloud servers).

Both brands sell cloud servers. Both brands have both email and phone support.

CloudServers.com Windows servers start at $34/month. OrcsWeb Windows cloud servers start at $99/month. BUT, when you go through and configure both apples-to-apples, the OrcsWeb server is only about 10% higher priced. And there are additional services included, and differences, that justify that difference in price:

  • Every OrcsWeb server has uptime monitoring that pages the support team 24×7 and they will respond to address any issue that arises – or contact the client as needed – even with the minimum level of managed services that are included in the base rate. CloudServers.com clients are responsible for configuring their own monitoring and responding to any issues specific to their server (not architectural).
  • OrcsWeb cloud servers are members of the OrcsWeb domain – allowing the support team to access the server to assist customers with any troubleshooting, performance analysis, or problem solving. CloudServers.com servers are not joined with any domain and the support staff has no direct administrative access to the systems.
  • Everyone OrcsWeb cloud server sits behind redundant high-powered physical firewalls that not only block all but primary ports, but also provides intrusion prevention services. Every CloudServers.com cloud server comes with its own virtual firewall. This provides a great additional layer of security but doesn’t have the advanced features of the OrcsWeb firewall solution.
  • OrcsWeb cloud servers are powered by VMware’s enterprise class (and license level) product solutions that are feature-rich and targeted toward a more enterprise level project and customer. CloudServers.com leverages CentOS, KVM, and a variety of different products for its cloud server architecture.

So which is best? It really all depends on your needs. If you want Linux, then CloudServers.com is the only choice today – OrcsWeb may start supporting Linux soon but it doesn’t currently. If you want an extension of your IT team to help with crafting solutions and assisting with any issues that might come up, OrcsWeb is best for you. If you self-administer your servers and just want cost-effective, yet still full-featured and fast-performing cloud servers, then CloudServers.com is best for you.

Hope this help clear up any confusion. If you are looking for cloud server hosting, be sure to check out whichever brand best matches your needs. Feel free to email and/or call in and speak with someone about either solution.

Happy hosting

DevOps. What does it mean?

MeInRedJacketWhat does DevOps mean?
Like many terms, there are a variety of slightly different (in some cases vastly different) definitions. The current definition per Wikipedia seems pretty good:

DevOps is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.” – Wikipedia

There has always been an important relationship between the people who develop applications, and the people who manage the servers where these applications live long-term. It hasn’t always been a positive relationship, but there is a relationship nonetheless.

What concern does this movement address?
Not everything fits into a generic generalization, but the contention historically relates to:

1)      Developers love to be nimble and make changes (bug fixes, updates, etc.) very quickly as they are ready. This is not a bad thing – especially if your business is dependent on the success of a particular application. A developer makes a change on their development machine, runs through some tests, and wants to push these updates to the production servers… where the contention arises…

2)      Operations people (think server, storage, security, and network administrators) are responsible for the 24x7x365 monitoring, operation, and support of the organization’s IT systems. These people thrive on consistency and plans. To do their jobs well they need to know the operating system, how it was configured, what changes were made, what changes are planned, how will those changes impact the running systems? Will there be performance impacting changes? Will changes push capacity thresholds? Will the changes impact the stability?

See the potential issue there? I can’t count how many times I’ve heard from a developer “but it works fine on my machine” after deploying code and either it doesn’t work as expected or it creates operational support challenges. It is very likely that the development environment isn’t as secure as the production systems. It’s also fairly common for a developer to install an update – perhaps the latest version of some development framework – and assume that it is either already on the server or that installing it there won’t be an issue.

So what’s the solution? What is DevOps?
The solution is actually rather simple in concept (but not always easy to get people to follow). A main ingredient needs to be communication. Operations people need to communicate the environment, its constraints, generalized reasons for certain “restrictions” (permissions, changes, etc.). Developers need to communicate what they’re planning, what dependencies exist, what changes made need to be made to the systems, and generalized reasons justifying the changes.

Another key ingredient needs to be education. It’s fine to communicate things, but both departments need to understand what the other is doing and why. It will make the communication part easier, and will help both departments appreciate the reasons for certain guidelines.

DevOps in hosted world
Addressing the DevOps topic is often a easier in a corporate enterprise environment. Communication not working? Let’s get the IT Director involved and they’ll referee to straighten things out. There are a lot of hosting companies that either hide from this type of interaction or don’t have the experience and expertise to deal with it. The support teams may know operating systems but not know a model view from a case statement from a dynamic query (whatever – you know what I mean). This increases the challenge level but definitely does not rule out successful DevOps implementation. It just takes a bit more work up-front before engaging with a hosting company.

First, successful DevOps interaction with a site or server host is going to require managed hosting. In an unmanaged situation the client is generally on their own. Super-cheap hosting models are generally unmanaged – it costs money to maintain quality, experienced, and educated operations people, and make them available as-needed.

Second, you’ll want a host that doesn’t hide. Does the host respond quickly to email tickets? Do they provide telephone access not only for critical issues, but for talking about plans and changes and working proactively through upcoming deployments?

Third, you’ll want a host with knowledge and experience. Do they have developers on staff that work in the same development stack that you do? Are those people available to help out if needed? Sometimes development topics can be extremely technical and it might help to have a developer-to-developer interaction. Do the support people have some basic development knowledge? If you explain to them that your code is doing X, Y, and Z – do they get it?

Lastly, you’ll want a host who is proactive. Communication should flow both directions – not just from the customer’s developers to the host – but the host should also proactively review the systems and communicate and trends being noticed. Patching and change schedules should be communicated and coordinated. Operations people should make themselves available during deployments to assist and closely monitor for any issues. Scheduling a planning meeting to discuss ideas, plans, and suggestions (from both sides) shouldn’t be a hassle.

Do any hosts really operate at this level?
Yes, some do. Definitely not all of them though – in fact, in a world with thousands of “hosts” available, a small percentage provide this level of quality interaction.

If you don’t already know, OrcsWeb was founded 17 years ago (1996) and focuses on exactly this level of interaction with its customers. Its goal is to operate as an extension of the customers IT team and work proactively together for the overall success of the project. The Complete Care Managed Services (CCMS) that is available to all cloud server and dedicated server hosting clients provides all of the above: Proactive system reviews, system operational analysis, performance analysis (slow load pages, long running queries, optimization pointers, etc.), architectural guidance as needed – in addition to 24x7x365 monitoring with immediate alert response, 24x7x265 critical issue resolution, security solutions (VPN, firewall, ISP, etc.)

There may be other options too – I’m just not familiar with any. Before you decide who to partner with, I’d suggest picking up the phone and calling candidates. Chat a little with the person who answers the phone. Ask about the possibility of having a pre-sales architectural call to discuss your project and their solutions. Are you dealing with just a sales person or do they engage experienced architects to understand your concerns and needs?

I hope this helps you better understand the DevOps topic and some of the surrounding challenges (aka opportunities), and I hope it helps you make a good decision with selecting your hosting partners. Remember that group of people is going to be key to your success as a developer/manager/owner, so take the time up front and choose wisely.

Happy hosting!

Basic IIS Performance Statistics

There are some neat counters available in Windows Performance Monitor for showing some IIS (Internet Information Server) statistics. My three favorites are:

  1. Current Anonymous Users: This counter shows the number of current anonymous HTTP connections. Since most web sites serve content to anonymous users, it’s the one that seems to make the most sense to me when trying to gauge current traffic / activity on the site.
  2. Anonymous Users / Second: This counter shows the data above, but how many connections per second those site visitors are generating.
  3. Maximum Anonymous Users: This counter just show the peak number of anonymous users that were connected at a single time. Sometimes it’s neat to see where the site activity peaked.

How do you see these? Here are the steps and screenshots:

First find the Performance Monitor by clicking the Start Menu then Administrative Tools then Performance Monitor:

Find PerfMon

 

Then click on Performance Monitor in the left-hand pane under Monitoring Tools. After that you are presented with the graph window and you can click the green plus icon to add counters to this window (play around and different counters – there is a LOT of really neat information available).

PerfMonIISCounters2

After clicking the green plus icon, you are presented with a huge list of counter groups. Within each of those groups are individual counters. There are a ton – you really do need to just play around and check out the options.

For web (IIS) counters though, look for the group named Web Service and click the plus sign next to it to expand and show the individual counters.

PerfMonIISCounters3

After you add the counters you’ll see them listed at the bottom of the graph window, along with the color of each counter so you can match them easily.

PerfMonIISCounters4

There you go. Play around and have some fun checking out what type of traffic is hitting your site and how well the server is performing.

Happy hosting!

CSS Style Overlaps, Duplicates, and Priorities

I sent most of this past weekend trying to get a nice looking responsive table to work. At first I tried to mess with it from scratch. Then someone recommended I look into Twitter Bootstrap. Wow, am I glad I looked into Bootstrap because that has saved a ton of frustration.

Okay, so I have the general framework but now need to make it look the way I want. I created my own custom CSS file and started “prettying up” the look over the table. I ran into a few things though that Bootstrap did by default that I didn’t like. The two big things were that I wanted the column widths a different size on 980px+ browser windows, and I wanted to get rid of the “padding” (technically a left-margin) between the columns.

So, being myself, I started to customize the Bootstrap file. After a while I realized this was a bad idea. So then I took parts of the Bootstrap CSS and moved (copied) it into my existing CSS file and started to modify things. Well, this got pretty messy quickly.

After sending out a tweet for assistance earlier today my buddy Joseph Guadagno lent a hand and pointed me in a much better direction. What I wound up doing was to revert all of my changes and then start overlapping CSS styles. I’m not sure if that’s the right terminology – I didn’t even know it was an option until today. Basically I’d set something like <div style=”style1 style2″> and both styles would be applied. That was great because I could have my formatting style applied and also the Bootstrap style for the responsive table. This was CSS lesson #1 for me today.

But while that helped clean up the mess I was creating, I still needed to override some settings that were in the Bootstrap CSS file. So I duplicated the same attribute but with a different setting to see whether mine or Bootstrap would take effect. Bootstraps did every time – even when I messed with the order of things. I have no idea what determines who wins a fight like that, but while trying to figure it out, I stumbled upon “!important”. What I found out that was when there are multiple values applied to the same item, you can set “!important” just after the value that you want to take precedence over any other values that might exist. Wow! This was CSS lesson #2 for me today.

So now this was great. I had my responsive table; it looked nice; and I could override the Bootstrap settings that I didn’t like and force them to take effect with my handy new “!important” statement.

Score! Now I wish I could have my weekend back. Can anyone help with that? :)

Brad on Google+