Share →
Buffer

Your Future, in the cloud.

Azure is amazing.  It can fundamentally change your organization.  When mindfully used, it can not only reduce your applications total cost of ownership, it can help you refocus the way you do software development.  But in order to understand how it can change your organization, you need to understand the three basic service models that define Azure’s service offering.  Once you understand these three service models, you’ll have the core tools needed to define your long-term application development strategy as it relates to the cloud. The three cloud service models I’m referring to are SaaS, IaaS, and PaaS, or Software as a Service, Infrastructure as a Service and Platform as a Service.

Azure as 3 four letter words

Before describing SaaS, IaaS and Paas, I’m going to set the stage.  Let’s say your company has a web-based music cataloging application.  We’ll call it AudioLeaf.  Your customers use your application to track their music collection.  As a side benefit, they can also purchase music from an e-Commerce portion of your website.  You currently host the website on your on-premise servers.  Your developers do all their development locally.  They do their testing on environments hosted on local machines.  Testers run their tests on the Test environment, which is hosted on another, which is local.   The database team manages the SQL servers which host both the information for each customer’s music library as well as well as the eCommerce transaction data.  The IT Infrastructure team is responsible for provisioning the servers in support of development and testing.  The deployment team oversees the deployment of the website application to the webservers which are managed by the operations team.  Webservers are hosted by a well-known ISP.

The CIO has tasked you with defining the company’s long-term strategy for using Azure and needs to understand how to best use Microsoft’s cloud services.  Here’s what you should know.

SaaS

Software as a service, or SaaS refers to a product that is centrally hosted and managed, and is often licensed through a subscription model.  Office 365 and Visual Studio Online are examples of Software as a Service.  They provide services and features yet are centrally hosted and managed.

Using the cloud for SaaS provides several benefits.  1) Hosting and uptime are the responsibility of any cloud-service provider that (presumably) is an expert in the area and will provide better uptime and hosting functionality than an on-premise hosting solution.  2) Geographic distribution of access points means people from around the world will be able to access the application from a node that is nearest them, and 3) Total cost of ownership of the infrastructure is potentially reduced because its management costs are more evenly distributed across all the customers using Azure.

In our example, AudioLeaf is currently hosted on premise.  There are a couple of ways to take advantage of the Azure’s SaaS capabilities, and each has it’s pro’s and con’s.  One way is to just recreate our on-premise infrastructure in-the-cloud.

IaaS

Providers of infrastructure as a server, or IaaS, offer physical or virtual machines as resources.  Typically, cloud service providers offer virtual servers, virtual disk storage, raw block storage, firewalls, network load balancers, VLANs, etc.  The list goes on.  The advantage of using IaaS is that you will likely have a lot more flexibility and resource availability using cloud-based IaaS then you would using your own infrastructure.

Using IaaS provides several benefits.  1) Creating a virtual machine is generally easy and quick.  2) It’s easier to scale a virtual machine than a physical one.  3) The cost of managing a virtual machine can be nominal compared to the fully-burdened cost of managing a physical one.

In our example, AudioLeaf, we could, in Azure, create a virtual machine configured as a web server and a virtual machine configured as a SQL Server, configure them to reflect our existing environments and then move our website to the Azure-hosted virtual machines, essentially replicating our on-premise environment, in the cloud.  By moving to Azure we reduce the cost of managing on-site webservers and database servers.  We reduce the cost of having to keep up with firewall and DMZ configuration, and we can focus our efforts on what we do best – develop great software.  In addition, the long-term cost of hardware maintenance and replacement go away as that burden is now on the shoulders of the cloud-service provider.

Keep in mind that we have not removed the need to have a DBA or system administrators.  We still need experts who can manage the virtual machines and the databases – we’ve just moved the infrastructure to the cloud and therefore still need to manage the virtual infrastructure.

Infrastructure as a service offers us a way to easily create server and networking technologies that would otherwise require us to purchase expensive hardware to support.  Organizations that want to remove the expense of managing virtual machines and database infrastructure have another option – Platform as a Service or PaaS.

PaaS

PaaS providers offer a platform and a solution stack that enables the customer to create applications that will be hosted by the cloud-service provider.  The advantage of using PaaS is that customers can spend more time focusing on the application they are building and less time on the infrastructure required to host it.

In our example, AudioLeaf, we would have Azure host our website, and we would have their large-data storage objects house our data and not rely on our own managed server infrastructure.  With proper coding we can take advantage of the auto-scaling built into the cloud-service infrastructure and we wouldn’t need to be concerned about spinning up another webserver to handle increased traffic or load-balancing.  That would be done automatically by the provider.  In addition, we wouldn’t need to have to physically add more disk space because the host provider could provide us with the ability to grow our space as we needed it.  By moving our website to Azure’s Platform as a Service, we can reduce the cost of infrastructure management and we reduce the risk exposure of having insufficient space of data or capacity for more users.  By removing the need for infrastructure management and network management, we can focus on what we do best – developing awesome software.

Keep in mind that our developers will need to become familiar with the Azure API’s and framework to take full advantage of it’s capabilities.  Platform as a Service offers us a way to easily host our software solutions while maintaining the ability to scale our solution as needed.  It takes away the need to manage on-premise infrastructure and empowers us to focus on what we do best.

How to view it

Moving your software to Azure is not incredibly difficult.  Doing it right, however, requires mindful planning and a thoughtful strategy.  A staged approach, using IaaS and then rebuilding to support PaaS is usually how organizations move to cloud technologies, but there are many considerations – do you have adequate resources to manage your current environment, is your current infrastructure plagued with issues, how agile are you with giving your development team the infrastructure it needs to build and deploy it’s software?

At Northwest Cadence we can examine your existing development practices and provide guidance (and justification) to get you to Azure.  It may just be one of the best choices you could make for your enterprise development organization!

To learn more visit www.AzureCloudCadence.com and check out our Azure and ALM Guidebook!

Print Friendly
Tagged with →  
  • BraveHeart Wallace

    I have looked at the cloud before, Microsoft salesmen tell you that your data is safe. The real problem is that you have hired a very expensive service to replace your local service. In the cloud they will manager your growth at a cost, none of this service is free. If you manage your own growth, you could save your company a whole lot of money. This can be done at a lower cost than hiring someone else to do it. Are any of these salesmen listing?

  • That’s a pretty common rationale for not moving to the cloud, and potentially reasonable for many organizations.

    Historically, organizations have made the choice to move their infrastructure from
    on-premise to off-premise based on what was perceived as a potential
    management cost savings. Then they moved away from off-premise back to
    on-premise when they did further analysis and the off-premise services
    provided were inadequate.

    There is some clear rationale for
    moving some infrastructure to the cloud, based on services provided.
    For example – many larger enterprises take a long time to provision
    machines (3-6 weeks in many cases), so development organizations lose
    their ability to be agile since any infrastructure request impacts their
    timeliness. IaaS provides those organizations in a relatively easy (and
    straigt-forward) way of spinning up standard environments for their
    dev/test/UAT environments. Once through the testing phase, they can
    then deploy on-premise if it’s assessed that the costs of onsite
    management make more sense.

    I would suggest, however, that PaaS
    can provide a clear cost benefit if you architect your application
    correctly. By abstracting away SQL services and networking services
    (such as on-the-fly load balancing and storage scalability) your
    organization can focus the resources that were put into infrastructure
    management into the areas where their strength truly is.

    I do
    agree that there is a cost to moving to the cloud as well as to manage
    the cloud and that cost needs to be assessed before moving all services
    to the cloud.

    It is not clear to me what you mean by ‘manage
    your growth’. There are many types of growth, hardware infrastructure,
    database, load, user, node, etc. If you are referring to hardware
    infrastructure growth, then I agree that there can definitely be cost
    savings to managing your own hardware. This is exactly why organization
    moved away from outsourcing their data centers. (Over the last 25
    years I’ve seen the trend to outsource datacenters and then back to
    on-prem repeat itself.) BUT I think it’s wise for an organization to
    take a broader look at various costs involved.

    Those costs include:

    Hardware infrastrcuture
    Updates to OS
    Updates
    to services (Such as web services, database engines, firewalls, load
    balancing technologies, messaging infrastructure, etc)
    Fully burdened cost of each individual required to manage the related technologies
    Network management
    Data infrastructure scaling
    (the list can continue)

    As
    for data being safe – there is something to be said for organizations
    being mindful of this risk. I can’t speak to Azure’s data security vs.
    other cloud technologies. I suspect this will be an issue that won’t be
    resolved to everyone’s satisfaction. Many companies that need tight
    security will choose to NOT leverage the cloud just because they want to
    ensure that their data is not accessible to a third party. I would
    support that decision.

    Thanks for your comment!