Multi-tenancy

It’s been more than a year since I last posted here.  Actually, I forgot how long it has been since the last post.  My computer broke down yesterday, and is in the shop for a fix, so wouldn’t it be great if I pop on WP and blog a bit?

It’s been an interesting year.  I was put in charge of building an event registration application for a department within the University.  And of course, me being an idealist, decided to make sure the system can be reused by other departments.

Technically, it’s not that hard, but this is going to get technical: (1) basically involve linking all the top level tables in the database to one master table (I called it operational unit, aka op unit).  And the op unit is where all your users would belong to.  (2) You need to start generalizing all naming conventions in the system, for example, you can’t call it “learner’s report” and call it “attendance summary” because not everyone is going to use it as a learning reporting tool.  (3) Administratively, there will be a few more CRUD screens to build, but the extra effort it’s well worth the end results.

The other wrinkle is to make the URL work either by subdomain or subdirectory, e.g.

acme.app.university.edu, and
omega.app.university.edu,
OR
app.university.edu/acme and
app.university.edu/omega.

It’s not hard because this is a custom app we build from the ground up, if this were any other app, it would be hard to remodel it to include this feature.  In essence, this is “multi-tenancy” as the industry calls it.  One application/system, multiple groups of occupants/users.

Fantastic.

Advertisements

On Managing Activities

I mentioned in the first post that a university is a mini-society.  It has its own pattern of getting things done, and as an IT manager I get questions about how certain things can be done on the Web.  While anyone can google and learn about HTML syntax, there are a few extra steps before anyone can putting a web page on the Internet with the university’s logo.  One way to look at my role is to help others figure out how things should work in the university’s setting.  Another way to look at this is, as a manager in the IT department, I have a limited set of services to offer to everyone at the university.

Let’s not talk about services yet because that would take a while.  Instead, let’s explore a set of common activities we offer regardless of the service.  They are:

  • consultation
  • communication
  • research
  • development
  • provisioning
  • training
  • support
  • accounting and finances
  • maintenance
  • overall management

The list could go on and each item can be broken down into many more items.   Half of these activities are client-facing but the other half are behind the scenes.  Maintenance, for example, includes a load of activities that are happening behind the scenes: backup, restore, managing db records, monitoring system usages, increasing capacity, security, rotating log files, managing the servers and the network.  It takes a whole operations team (aka Ops) to sustain and maintain the IT infrastructure.

Well, having this list is useful at least for my sanity.  Sometimes I review this list just to reflect on the activities I have been focusing on or have neglected.  There are at least a dozen times I drill down on one of the items and realize that the activities involved are beyond my team’s capacity.  There are also times when I look at it and wish the list would just go away.

About this blog

Hi there,

This is the first post of this blog, so I’ll write something about myself.

I’m an IT manager in one of the major universities in Canada, and I manage the Projects and Development team for education technologies.  The team consists of eight people ranging from designers, programmers, and client reps.  A big chunk of our work has to do with the Web, because that’s how education technologies are delivered these days, and my team also started from designing websites for the university.

There are over 300 websites we manage.  These sites range from large to small, for major faculties to small programs.  We run websites on proprietary content management systems (CMS), WordPress, Drupal, or simply basic HTML.   We also run the main university website, which gets millions of visitors a year.  I have only been in this role for a little over a year, so I won’t take credit for all the websites we have.

Aside from websites, we are also responsible for building and integrating teaching and learning technologies.  The Operations team runs and manages the university’s Learning Management System (LMS), and my team is responsible for designing and integrating new technologies.

This job is challenging not only because we have many things to manage, it’s also because IT is always changing.  The university, in a sense, is a mini-society with it’s own supply and demand pattern.  New technologies appear every year in the IT industry, and I need to be strategic/selective about how my team operates.  Throughout my work, I often find interesting new ideas and problems I want to share, and maybe someone can give feedback.  This is what this blog is about.

For now, I won’t mention the name of the university.  I’ll reveal that in future posts.