A critical characteristic of self Service IT is the fact that users can utilize applications and instances. This characteristic leads to a higher demand for automation and integration of resources and processes. As described earlier, user interfaces should be easy to use and this can be achieved by taking away complexity from the end user. In any case, complexity for self Service IT Platforms should be at a very low level as this will lead to confusion of users.
Let us once again look at the process of creating a new website. The Marketing Department decides to create a campaign for a new product. This campaign needs a website promoting the product, which should be run on WordPress. The marketing department should have a link in their platform where they can create new instances. After clicking this link, they can create a new domain by buying one from the domain registrar. Most domain registrars allow automation of this task as well (Namecheap.com, 2012). Next, the user would configure what type of website it would be – in our case a marketing website. The user would select the template and in the last step configure elasticity by setting the maximum number of concurrent customers on the website. The process for the user takes some minutes and the instance gets launched immediately. Domain registration and assignment is done via API calls. This can significantly reduce the time-to-market. In the background, some tasks are handled:
- A virtual Instance with mySQL is launched. This instance is the database Backend for the Website. Since it is about elasticity, the Database has to be in a separate instance as we might have more Web-Frontends. Provisioning the Database on the Webfrontend will remove any scaling possibility, since Data won’t be consistent over different servers once updates to the content are done. Furthermore, this approach allows easier scaling since the database itself can also be scaled out if there are serious performance issues.
- A virtual Instance with WordPress is launched. This instance serves as the webfrontend for the new Website. No single data is stored on this instance as this instance will be cloned when the load increases. This instance is also connected to a Load Balancer. The instance will run a LAP-Stack (Linux, Apache, PHP) to execute WordPress.
- The Content Delivery Network is configured. To improove the website’s performance, content of the Website such as Videos and Images are not delivered by the instances themselfs but rather via a powerful content delivery network. This might be outsourced to popular providers such as Akamai.
- The Domain is registered with the domain registrar. Some Domain registrars provide the possibility to register domains via API Calls. When marketing launches a new instance, they also enter a Domain. As soon as they found a suiteable domain name, the task of registration is automated and once the domain is available (registration might take some hours) it is assigned to the new website instance(s).
- WordPress Services and Plugins are installed and configured. The WordPress services are configured and plugins are installed. Plugins like social Media integration are added automatically to the Platform.
As with Cloud Computing, resource and process automation sees different complexity based on the delivery model (SaaS, PaaS, IaaS). In case of IaaS, the self Service Platform would only provide virtual instances. The instances can be delivered with different configurations such as Web Servers. Key consumers of IaaS self Service Platforms are departments that require virtual Servers e.g. for Compute purposes. The complexity of automation is rather low since the only thing that are delivered to the consumers are virtual instances. The platform could provide some sort of scaling features but it is not explicitly available in IaaS environments. The next platform Level, Platform as a Service (PaaS) is aimed at development departments within the enterprise. A department could order or develop a new Software for internal or external use. The platform should provide deployment automation and automated scaling, which lowers deployment effort. Software as a Service has the highest level of automation complexity. Typically, when Software is deployed (either via the IaaS or PaaS model) a lot of configuration is necessary. As with our former example (WordPress installation for the Marketing department) a lot of steps are involved. The WordPress example is seen as SaaS by the marketing department but as IaaS by the IT department. Table 1: automation Complexity by delivery type outlines the complexity as seen by resource and process automation.
Image Copyright by L.C. NÃ¸ttaasen