Tag: IaaS

  • Azure vs. AWS for the Enterprise

    Azure vs. AWS for the Enterprise

    In a previous post we discussed Azure & OpenStack, the less-explored hybrid cloud, and we thought we’d segue on the hybrid cloud theme, and follow up with an additional post focusing on a question we’re often asked …

    Azure or AWS?

    It’s one of the most common questions enterprise customers today face as they look to go to the cloud. According to this year’s Gartner’s Magic Quadrant report, the two cloud powerhouses are the clear market leaders, and as they each add new services to their arsenal and expand their service offerings, customers must decide which one is best-suited for their business needs. This, of course, is in the context of public cloud, whereas the question of OpenStack vs. VMware usually arises in the context of private cloud. And with reports popping up all the time that demonstrate growing numbers around every hybrid cloud mix-and-match scenario, many enterprises are debating on what to bet their cloud strategy.

    To begin this comparison, it’s important to understand how each has evolved. Azure was built as a holistic platform and has been geared toward the enterprise from the beginning. It began as a platform as a service (PaaS), making it easier for developers to build applications without worrying about the servers on which they’re running. In addition, part of the Azure approach always has been to think about how to integrate each service to the platform as a whole and support enterprises’ IT flexibility with keeping specific workloads on-premises while complementing their IT requirements with services running on the cloud.

    AWS, on the other hand, started scaling from the infrastructure from the beginning. Its approach has been to continually be ahead of the innovation curve and offer services that IT operations can easily comprehend and use to support their compute and storage requirements on demand.

    Market Share Comparison: The Path to Growth

    It’s not hard to see why both AWS and Azure have grown into their roles as the market leaders. Today more than 70 Amazon services can be utilized, including the basic compute, storage and network building blocks, as well as “up the stack” services such as database as a service and even frameworks to easily scale mobile applications, databases and more. AWS has a massive public cloud with the largest data centers in the world, and excels at allowing their customers to choose the building blocks they need to create a variety of service offerings.

    That said, Azure is growing as well, and quickly gaining ground on AWS. Microsoft has moved aggressively to match AWS by enhancing and building up its array of offerings. The company has been selling to the enterprise market for decades and, as a result, has garnered strong relationships with many large global organizations. These efforts and relationships seem to be paying off, as a recent survey of 100 CIOs by Morgan Stanley predicted that Azure would be the largest infrastructure-as-a-service (IaaS) vendor by 2019.

    Enterprise-Grade Product Capabilities

    AWS and Azure both provide comprehensive enterprise cloud services, and they both do it well. The core features of AWS include a large suite of infrastructure and application services that enable running nearly everything in the cloud, from traditional enterprise applications to large web-scale workloads. AWS is the clear winner these days in terms of the number of services it offers; the services are well-connected and provide full cloud capabilities for most enterprise needs.

    Azure is also fast closing the gaps with the enterprise cloud market, including with large-size virtual machines, StorSimple Virtual Array, itsNAS offering and the SQL Data Warehouse. In addition, with its recent announcement of Azure Stack, and via solutions such as Cloudify, Microsoft strengthens hybrid architecture and workload mobility between on-premises and public cloud workloads.

    Other factors that are driving enterprises to adopt Azure include the Azure Security Center (ASC), which provides a centralized view of security policies and configurations from multiple Azure subscriptions; the ability for customers to save time and effort through unified operations tools such as SQL Manager, Visual Studio and other such services; and seamless VM migration to migrate servers between disparate environments.

    Growth Strategies

    Microsoft also plans to invest heavily in cloud growth going forward, with a big push and investment in new features and infrastructure. Microsoft’s Intelligent Cloud unit continues to be the focal point of the company’s growth strategy, as the company claims that nearly 60 percent of Fortune 500 companies use at least three of Microsoft’s cloud offerings.

    Both AWS and Azure, in fact, are investing heavy capital expenditures on worldwide data centers and servers. AWS, for example, has just announced a new Asia Pacific region in Mumbai, India, with two availability zones. And with the introduction of new regions in the U.K., Microsoft has announced 34 Azure regions around the world, with 28 generally available today—more than any other major cloud provider. With certifications such as MCSE and many more, Microsoft has more certifications than any other cloud provider in the industry.

    Both AWS and Azure are poised to continue growing, and both companies have big futures in the cloud market. It’s clear, however, that in the cloud game today, Azure is narrowing the functional gap. Azure gives enterprises the ability to use existing Microsoft software licenses under the Enterprise Agreement (EA), giving enterprises better terms and packages. Microsoft enterprise users are potentially ‘power users,’ and prefer a DIY approach versus pre-packaged and opinionated options. This leaves the market open to more collaboration, such as through the use of Docker Swarm. With this type of approach, users have control over the way they run their apps on various platforms, with open-source orchestration to allow consistent management and control of their applications and services.

    — Sharone Zitzman

  • Financial Drivers for Cloud Migration in Enterprise

    Financial Drivers for Cloud Migration in Enterprise

    Clouds are a vast pool of usable and manageable virtualized means such as development platforms, hardware and services. These assets can be animatedly reconfigured to adjust to a flexible load, which helps in the optimal utilization of resources. Your enterprise breathes through IT—to keep your business moving forward, you must modernize and be more flexible to break the shackles of the orthodox technologies that are holding you back.

    The cloud’s pay-as-you-go business model enables enterprises to cut capital spending by leveraging the cloud service. It also offers several benefits required by the enterprise, including lower operating cost, no upfront investment, great scalability and much more.

    To gain the benefit of cloud computing and guard the current investment to the legacy system, companies are keen in migrating their legacy systems to the cloud. The cloud provides a cost-effective corridor to transforming legacy systems to more modern technologies. It offers modern efficient development structures, improved supervision of IT resource supply and demand and enhanced scalability, and it provides access to these assets from almost any part of the world. With this upgraded dexterity, you are able to respond more swiftly to the changes in the market, exploit newer business prospects, surge financial growth and drive innovation.

    However, to benefit from what the cloud could offer, you are required to spend money and time on launching your cloud and migrating data and applications to the newer environment.

    Migrating databases from on-premise machines to the cloud has a few crucial advantages: Cloud elasticity delivers instant flexibility in scaling up or down. And, the cloud model saves money by shifting companies from early heavy capital expenses (CapEx) of on-premise hardware to constant, known operational expenses (OpEx) on cloud facilities and more.

    Migration Ahoy

    But migrating live applications to the cloud is not an easy task. Listed below are few methods to migrate to the cloud.

    Rehost: This term refers to redistributing applications to a diverse hardware setting and changing the application’s structure configuration. Rehosting the application while making no changes to its construction can offer a faster migration to the cloud. The key benefit of infrastructure as a service (IaaS) is that the systems can be migrated by the teams quickly, with no modification to their architecture.

    Refactor: This term refers to applications run over the cloud provider’s infrastructure. The main benefit is combining innovation with awareness, as “backward-compatible” platform as a service (PaaS) means developers can reuse frameworks, languages and containers in which they have invested. Its biggest drawbacks include transitive risk, missing capabilities and lock-in framework.

    Revise: This method requires extending or modifying the present code base to assist the legacy transformation requirements, and then using the refactor or rehost options to position the cloud. This method enables enterprises to enhance the application to influence the cloud features of providers’ infrastructure. However, this method requires upfront development work, which needs upfront outlays to assemble a development team.

    Rebuild: This term refers to rebuilding the solution on PaaS, discarding code for the current application and restructuring the application. Though rebuilding involves dropping the familiarity of present code and frameworks, the benefit of rebuilding the application is admission to advanced and innovative features in the platform of the provider. They increase the productivity of the developer. Still, lock-in is a major drawback: Should the provider make a pricing or technical change, breaches the service level agreements or goes out of business, the customer is required to switch, possibly deserting some or almost all its application resources.

    Replace: This method requires discarding the present application and using the commercial software offered as a service. This method reduces or eliminates any investment in assembling a development team when there is a change in the business function. Issues may include issues in accessing the data, unpredictable data semantics and vendor lock-in.

    The Bottom Line

    Projects relating the migration be of any size entails careful planning. Evaluating its existing applications portfolio could help an organization understand the complexity, challenges and amount of effort required in migrating its databases to the cloud. Many tools assist application and database migrations, and each method differs in the amount of automation they provide and in the accurateness of the migrated system. Carrying out proofs of concept using these tools to understand their abilities will be constructive in the longer run for larger projects related to migration.

  • How to align your DevOps and Cloud Initiatives

    How to align your DevOps and Cloud Initiatives

    Infrastructure-as-Code (IaC) practices, which in turn are made possible through infrastructure or platform clouds (IaaS or PaaS), solve many important issues related to continuous delivery and DevOps. Therefore, the implementation of IaaS and PaaS in a private, hybrid or public cloud model should always be aligned with your DevOps initiative. In a previous article, I argued that OpenStack is the ideal habitat for DevOps. After all, OpenStack is backed by some of the biggest companies in software development and hosting, as well as thousands of individual community members. Indeed, many argue that OpenStack is the real future of cloud computing. However, that cloud environment might also be based on proprietary VMware technology, hybrid Amazon Web Services (AWS) or similar. Whichever you end up choosing, the cloud is an important enabler for companies looking for continuous delivery in agile environments.

    Why? Why is IaaS an ingredientfor a successful DevOps strategy? Through IaaS and ultimately PaaS, the bottleneck of infrastructure provisioning gets resolved; No more dependency on busy ops teams with long task backlogs and not enough of people, who are able to script and automate. Infrastructure provisioning is required to create all sorts of environments on-demand, including development, test and integration environments, all of which are required in different phases or steps within the continuous delivery chain or release pipeline. These environments can be created in isolation and dependencies from other projects, which are responsible for so many delays in a release, disappear.

    Test automation is critical for continuous delivery, but benefits are diminished if the provisioning of the necessary test environment takes days or weeks.

    Tips for DevOps-cloud alignment

    So we’ve made the case for the cloud as part of a DevOps strategy. How do you now go about aligning your DevOps and cloud initiatives together? What factors do you need to take into consideration as your developers instantly spin up environments at any time?

    First, start with IaaS. IaaS is easier to implement and more commonly applicable than PaaS. For quick wins, use public IaaS such as through AWS or Microsoft Azure. Get the necessary compliance and security aspects for dev or test environments settled and create a couple of deployment scripts on top of these services. Either prepare ready-backed images with middleware, application servers and databases or leave it to developers to install these components on their own. Alternatively ops can also prepare necessary install scripts and provide them to development.

    Second, build your own IaaS, based on OpenStack or other technologies. The toolsets and interfaces used by the agile development teams and the team responsible for the IaaS infrastructure need to be synchronized. For example, if you’re using OpenStack for the cloud environment, align your provisioning tools around that, possibly using Chef or Puppet. The good news is that many of these technologies really work together well.

    Third, once your IaaS implementation is mature and has been adopted, move towards PaaS. PaaS is the champion’s league in private cloud and usually requires an organization to commit to certain standards for databases, middleware, application servers, deployment architecture and more. It makes it super-easy and fast to provision not only a server, but really the complete runtime environment of an application and deploy the application on top of it.

    In all phases there needs to be tight collaboration between the departments. Your agile development, IT operations and infrastructure teams responsible for delivering the private cloud all need to be aligned around the common goal: delivering quality apps and updates to market more quickly. That means working as one to build a reliable, fast and adaptive cloud infrastructure in support of agile services delivery. It is imperative to understand and track individual development milestones. There’s no point in relying on the ‘big bang’ approach: the cloud infrastructure needs to be synchronized with all the development timelines.

    It has been proven particularly useful to use agile methods in structuring the infrastructure teams: Each platform gets a product owner, who works with development teams and manages all the requests developers have for the platform, i.e. the required APIs and their signatures or supported versions of specific technologies in a common backlog. This is done in the same way as product owners in development are managing their backlogs for the business.,

    Finally, make sure you have the right skills in place. DevOps and private cloud infrastructures command new skills sets—operations engineers, for instance—to prepare, manage and develop your private cloud and the application platform. There’s no point in buying in skills half way through the agile development process: they need to be built into the business plan from the start.

    DevOps,IaaS and PaaS go together like the PC and the keyboard; apps and the iPhone; Windows and Word. Together, DevOps within an IaaS infrastructure enables you to harness faster development and move to continuous delivery.

  • ARA tools can help you move apps easily to the cloud

    ARA tools can help you move apps easily to the cloud

    Chances are your organization has already moved some of its applications to the cloud. There, storage and computing capacity are provided as services, and everybody in your enterprise can access the apps and related data via the internet.

    As we all know, the cloud enables organizations to scale up or down quickly according to their needs, while giving them tremendous flexibility in maintaining their computing environment. One advantage for using the cloud is that it helps reduce time-to-market and removes the need for upfront investments in infrastructure.

    To help you simplify the process of moving apps, you should consider using an Application Release Automation (ARA) tool from a reputable vendor with experience in the cloud space.

    Moving to the Cloud Involves Research and Difficult Decisions

    The first decision is perhaps the hardest: determining which variant of the cloud is best for your apps and your organization. Private or public cloud? Factors you should consider are: data security, privacy, legal compliance, network latency, whether the organization has the in-house resources to create and maintain a private cloud, and which cloud flavor provides the best combination of flexibility, compliance and cost-effectiveness.

    Then, you have to weigh up the pros and cons of using the different cloud flavors, principally these:

    •       Software-as-a-Service (SaaS)

    •       Platform-as-a-Service (PaaS)

    •       Infrastructure-as-a-Service (IaaS)

    After the big decisions come the technical issues of how you are going to move your applications. Moving apps can be very difficult as many apps are complex and tied closely to the infrastructure landscape where they are deployed. Moving to a new landscape, such as the cloud, can be fraught with risks and challenges.

    What are ARA Tools?

    ARA tools focus on the modeling and deployment of custom application software releases and their associated configurations, often for Java Platform, Enterprise Edition (Java EE) and .NET applications. These tools, according to Gartner, offer versioning to enable best practices in moving related artifacts, applications, configurations and data together across the application life cycle. ARA tools support continuous release deployment. They often include workflow engines to assist in automating and tracking human activities.

    Core activities include:

    •            Packaging — creating a collection of multiple configuration items that must be deployed at the same time

    •            Dependency Mapping — modeling full application dependencies between components of the application

    •            Software Deployment — using package contents to install applications and configure their operating environments

    •            Promotion — delivery of tested packages to an environment of higher criticality

    •            Compliance — documenting adherence to processes and validating deployed application configurations

    At its simplest, an ARA tool helps developers to map application components and configurations to targets, such as binary code, connection configuration, database updates, queue definitions, and web service end-points. This helps to remove the coupling between the application and its host infrastructure.

    First Step in Using an ARA Tool to Move Apps to the Cloud

    Using a sophisticated ARA tool, you can install applications in a cloud environment automatically. Nearly all ARA tools will enable you to define the application in the tool, ideally specifying a package for each version of each application. Each package will contain all of the components to make an application run, as well as links to the environments where you want to deploy.

    If you use a model-based ARA tool, you will be able to eliminate much of your ‘how’ issues as the tool will automate most of the steps involved.

    Second Step

    Next, you must decide whether you want to move an app all at once or piecemeal. To err on the side of caution, you would be better off taking baby steps so you can learn and document as you go. Ideally, you might start by just moving some specific aspects such as static web content and front-end web servers. A model-based ARA tool will help you move forward quite effortlessly, whether your targets are in an on-premise or cloud environment.

    Interacting with your targets is easy, via SSH, WinRM, REST — in fact, you can choose pretty much any connection protocol. You won’t even need to define new workflows or steps for this, as the tool will take care of the changes and determine the new deployment plan. Of course, if you want to move the entire app to the cloud, ARA tools give you that option, too.

    In general, ARA tools will enable you and your team to move apps to the cloud quickly and safely, with full audit trails.

    Software deployment is often one of the sorest headache-inducing problems of moving operations to the cloud. However, if you use ARA tools, your problems should diminish if not disappear. Best of all: if you use a model-based ARA tool, you will be able to eliminate much of your ‘how’ issues as the tool will automate most of the steps involved.

    About the Author/Tom Batchelor

    Tom Batchelor_XebiaLabs engineerTom Batchelor is a sales engineer for XebiaLabs, a leading provider of automation software for DevOps and Continuous Delivery, helping companies to accelerate the delivery of new software.

  • Defining On-Prem

    Defining On-Prem

    Sometimes, the meaning of a word or a phrase changes so quickly that you don’t even notice that it’s changed; at some point, you just realize that you’ve been using it differently.  Take “on-prem,” for example. Not too long ago, if you said that a component of your IT system was on-prem, you meant that it was physically located at your facility. If it was hardware, the hardware was in the IT room down the hall. If it was software, it was running on a server in the IT room. But today it means something entirely different.

    (more…)

  • ProfitBricks shakes things up with new Docker hosting platform

    ProfitBricks shakes things up with new Docker hosting platform

    Organizations and developers that want to leverage Docker containers have a variety of cloud platforms to choose from. Rackspace, Amazon, Azure and others all support Docker containers. There’s also a relative newcomer in the mix looking to shake things up.

    ProfitBricks is an infrastructure-as-a-service (IaaS) company that believes it has a unique value proposition for companies that want to take advantage of cloud infrastructures and Docker container technology. ProfitBricks was co-founded by its CEO, Achim Weiss, and its CMO, Andreas Gauger. The two previously founded the Web hosting service 1&1 Internet.

    Weiss and Gauger launched ProfitBricks four years ago to solve a perceived problem. They saw the value of cloud infrastructure and cloud services, but felt that the existing platforms suffered in the areas of performance, flexibility, usability and cost. So ProfitBricks was born.

    ProfitBricks claims to have more speed and provide better value compared with rival cloud platforms. It calls its platform Cloud Computing 2.0.

    ProfitBricks Docker Hosting

    Docker has become a household name virtually overnight—quickly establishing itself as the de facto standard for container technology. David Bartletti, a principal analyst for Forrester, recently wrote in a research report, “Docker helps developers package code for quick assembly and hand-off to quality assurance, testing, and production release teams with greater confidence that their app will run consistently as it moves through the release process…The Docker open source community is growing quickly, with strong representation from nearly every major cloud vendor…As Docker containers proliferate, developers and operations teams alike will demand management tools that help organize and orchestrate hundreds or thousands of containers.”

    With so much momentum behind Docker and container technologies, it makes sense for a cloud infrastructure provider to integrate Docker into its ecosystem. Last week ProfitBricks announced its new Docker hosting platform. The platform features dedicated resources, redundant block storage, and 80 Gbps networking. It allows developers to choose images, link containers, and expose ports. The free tier offers customers 2,500 CPU Core hours as part of the Early Access Preview with up to 4 CPU cores, 8 GB of RAM, and 100 GB of storage.

    “When we first embarked on our Docker product architecture, we knew that it would not only need to meet the standards of existing Docker platforms, but also incorporate new, industry-leading features that addressed existing problems encountered with Docker,” said Achim Weiss, co-founder and CEO of ProfitBricks, in a press release. “Docker has been taking the DevOps world by storm since its widespread introduction to the community in 2014, and our platform will combine its impressive features with our flexible and painless cloud computing infrastructure.”

    ProfitBricks says that one thing that sets its Docker hosting apart from the competition is autoscaling. The ProfitBricks cloud infrastructure will ensure that resources are automatically managed to meet the demands of the Docker containers running on it. Developers don’t need to rely on standalone applications or custom scripts to scale resources because those capabilities are integrated seamlessly into ProfitBricks.

    ProfitBricks claims to be the best value in cloud computing. It offers a bold promise for the price / performance ratio on its site. “We guarantee that any workload deployed on ProfitBricks will cost less than the same workload running at the same performance level on the IaaS platforms of Amazon, Google or Microsoft.”

    You can check out the new ProfitBricks Docker Hosting for yourself. Visit this link for an Early Access Invite and find out if ProfitBricks can really deliver.

  • Migrating to the Cloud? Some practical advice

    Migrating to the Cloud? Some practical advice

    Oh if the world was only Greenfields. If everything was new and we didn’t have to worry about legacy systems, what a wonderful world it would be. But that is not the way of it unfortunately. More times than not using the cloud for our applications and infrastructure means migrating some existing infrastructure from an on premises install up to the cloud. How do you do that successfully?

    You have to break some eggs to make an omelet, but migrating to the cloud isn’t like whipping up breakfast. We can’t afford down time, broken links or broken apps. As more and more apps are moved to the cloud, a solid process needs to be put in place. I asked a few people I know to help me put together a checklist of things to consider and do in moving from on prem to the cloud or more likely deploying a hybrid environment with both on prem and cloud.

    I asked my friend JP Morgenthal who knows a thing or two about cloud migration and DevOps and I dug in a bit with Alex Rosemblatt from Datadog. Datadog actually has quite a bit of experience in this area. Their product/service monitors both cloud and on prem servers side by side, so they deal with this very situation quite a bit. Taking what both of these gentlemen had to say, here is a checklist that should help you:

    1. Evaluate application for functional limitations to running in the cloud. This could include operating system dependencies, storage performance, network bandwidth/performance. Some of the key requirements to note:
      CPU
      Memory
      Storage
      Attached storage vs block shares
      IOPS
      DR
      Performance
      Underlying hardware
    2. Choose your method of migration: Lift-n-drop or re-platform. Lift-n-drop is simply porting the application to the cloud without modifying the architecture and providing all the application components. Re-platforming takes into account using cloud services where possible in place of existing application components.

    3. Pick an IAAS vendor, some criteria to use:
      Available functionality – auto-scaling, additional services etc
      Instance type/AMI availability
      Regional zone distribution
      Support SLAs
      API availability
      Performance metrics/log access

    4. Put in place a migration project management plan that includes:
      Cutover date selection
      Testing project plan
      Acceptable performance benchmarks
      Cutover day ops
      Internal communication and additional training
      Ops team
      Dev team (s)
      Changes in app dev to account for new functionality?
      QA team
      Management
      Non-tech org teams affected

    5. If hybrid architecture (and it should probably be hybrid), select how the existing data center will integrate with the cloud service. This could be Layer 2 networking through telecommunications provider or Layer 3 through Internet. Now would also be a good time to think about how you will monitor both on prem and in the cloud. Again Datadog does this side by side.

    6. Establish the network scaffolding for the application. Develop the allowed pathways for various application components to communicate. This will simplify the deployment of application components later. Test that the right ports are open for sending and receiving.

    7. Deploy the application in a single subnet with full Internet access. Remove any barriers to ensuring the application will operate on the cloud service provider’s resources. This is simply a test environment to make sure the baseline components will operate and communicate with each other.

    8. Deploy the application into the appropriate subnets to ensure servers are not available via the public Internet.

    9. Port the data from the current application environment

    10. Perform a complete regression test of the system

    11. Add additional testing to see how the system will perform if cloud services become unavailable

    This is obviously not an exhaustive list, but should give you a start in your planning. Eventually you are going to have to make a cloud migration if you have’nt already. Better to start planning for it now.

  • Equalizing IT infrastructure with DevOps

    Equalizing IT infrastructure with DevOps

    IT is getting more complex. Managing on-premise servers, cloud servers, and hybrid environments that span various operating systems and standards creates challenges for IT admins. DevOps technologies and platforms, however, can be an equalizing force among the cloud chaos—making it easier for organizations to deploy servers and applications quickly and consistently regardless of platform or environment.

    Once upon a time most organizations were fairly standardized. Servers were located on-premise in some sort of closet or data center, and IT admins knew exactly what operating system they were working with. Now, those servers may be physical or virtual, on-premise or in the cloud, Windows or Linux, Azure or Amazon, and in many cases IT admins are dealing with an infrastructure that amounts to an all-of-the-above approach.

    As the name implies, the core of the DevOps movement is to remove the barriers between developers and operations. Many of the tools and technologies that comprise the DevOps movement, however, also have the added benefit of providing a consistent, modular approach to developing and deploying applications and infrastructure. Those technologies also reduce friction between on-premise and cloud environments, and allow organizations to streamline operations across different platforms and operating systems.

    “One of the biggest reasons for the increased interest in DevOps tools and practices is because businesses have to move and iterate faster today than at any other time in history,” declared Tim Zonca, director of product marketing for Puppet Labs. “So IT teams are pursuing DevOps flows, where development and operations practices, systems, and tools work in lockstep.”

    As IT infrastructures become more complex, DevOps becomes more crucial. Expansion of IT across physical, virtual, and cloud environments make even minor inconsistencies into critical issues as organizations grow, and brings additional burden to address those problems.

    Many DevOps technologies revolve around using virtualization to deploy applications inside pre-built environments, or modular blocks that can be deployed and re-used across various platforms and environments. These tools remove most of the chaos, and enable organizations to simplify deployment across virtually any infrastructure.

    Docker is a great example of the impact DevOps is having. Docker containers enable developers to package an application, and transport it anywhere Docker containers are supported without modification to the virtual environment. As Docker continues to spread influence across Azure, Parallels, and other cloud and virtual platforms, it is asserting itself as an equalizing force that eliminates the need to even care what the underlying infrastructure or operating systems are.

    Puppet Labs is another illustration of the equalizing force of DevOps. Zonca explained, “Puppet makes it easy to standardize and add consistency to your infrastructure so you can make fast, repeatable changes across physical and virtual machines, on premises or in the cloud. Because these tools create a predictable environment, you don’t have to worry about a simple update taking down an entire system your business relies on.”

    James Bottomley, CTO of server virtualization for Parallels, suggests that even DevOps has its limitations, though, and that it could eventually get in the way of advancing productivity. “However, one cannot help thinking that DevOps, while a leveler, is also a separator because it is only accessible to developers with the Ops skill, not to all developers. Additionally, the utility of DevOps depends upon the availability of Infrastructure and, while IaaS is clearly the dominant Cloud technology today; it won’t be forever. At that point, one might imagine that the DevOps technique might impede rather than assist the next paradigm shift in the cloud.

    For now at least, DevOps technologies enable developers and IT admins to take a modular, platform-agnostic approach to many aspects of applications and infrastructure to simplify and streamline regardless of the underlying environments or operating systems.

  • Ops is dead, long live DevOps

    Ops is dead, long live DevOps

    Yes, that’s a bold statement, but if the vibe at the recent AWS re:Invent conference was any indication there are a number of methodologies, technologies, and companies working to make that a reality. This article isn’t focused on whether this is a good or bad thing (my personal belief is that ops will always be a critical part of the IT delivery process). Regardless, it is critical for IT operations personnel to understand the implications of this tectonic shift. As Marc Andreessen, founder of the venture capital firm Andreessen Horowitz, has said, “software is eating the world.” As a result, ops professionals must have the ability to automate tasks that used to be managed manually. Whether or not you think that is the death of ops as we know it I will leave to you, but it does mean we will live in a world where DevOps will offer distinct advantages.

    Before we dive into what this change means to ops personnel, let’s review the underlying assumptions. The fundamental driver at the a high level has been the DevOps movement. Yes, DevOps is quickly becoming the buzzword dejour, but the underlying principles are lasting and changing IT to its core. DevOps is about integrating the various functions that it takes to release software or applications: software development, quality assurance, operations, and security among many others and rapid iteration. The process of integrating these tasks is accomplished through new processes and automation. Different functional areas such as development and operations are brought into the process earlier, and their processes are automated to the extent that they can be. This results in fast cycle times, increased quality, and hopefully increased innovation for the business. All of this is accomplished through software – at each functional level.

    Some technologies that have enabled this massive shift include Infrastructure as a Service (IaaS), Platform as a Service (PaaS), automated configuration management, server management tools, virtualization, and software defined networking. IaaS and PaaS offerings are eliminating the need for organizations to procure, provision, and deploy servers. Further, this class of technology is also dramatically reducing the need to deal with the network layer. This allows organizations to concentrate on their applications and development, and focus less on their infrastructure. The amount of time and effort spent on server and network configuration is minimized. Configuration management solutions are enabling the automation of server setup. An organization’s technology stack can be pushed, pulled, cloned and copied versus manual configuration thereby saving time and adding consistency. Top performing organizations employing DevOps go a step further and automate the scaling of capacity based on utilization. To reduce day-to-day operational activities and costs, organizations are also automating the management of servers, including users access, patches, security, and other areas through both traditional written code and SaaS solutions. Another area changing the game for ops personnel is software defined networking (SDN), which is effectively morphing data center and hardware functions into software programs.

    In short, DevOps and associated innovative new technologies are driving a paradigm shift in the way operations is done. No longer are ops personnel required to manually provision, configure, and manage the network, servers, and application stack. Combining technologies from organizations such as AWS, Rackspace, and SoftLayer along with configuration tools such as Chef and Puppet drives the provisioning and configuration of applications through software automation rather than manual effort. Once applications are deployed, the underlying infrastructure can be managed with tools such as my own company, New Relic, this author’s own JumpCloud, and others. Ops personnel have more companies than ever focusing on helping them automate the tasks that they need to deliver applications for their organizations.

    The result from all of this effort is that ops as we know it won’t exist in the future. The network operations wizard that could manually troubleshoot routing and switching issues, provision servers quickly, and tweak configurations will be tasked with automating those tasks through software. Some of that automation will be through code that ops person writes herself, some delivered by third party providers, and other portions delivered by open source or SaaS-based solutions. But, don’t shed tears for the forced obsolescence of the IT ops people. They will still exist and perhaps be more important and powerful than ever. In fact, because of DevOps ops personnel will in essence be set free from mundane, repetitive “busy work” to perform higher value tasks as well as managing over the software and systems at work. The black magic of enabling different layers of the stack to function together will be less about art and more about science, or rather good software. Solutions will be engineered to work together and be tied together through code. Caveat: yes, service providers and some large enterprises will  still run their own data centers and networks, but the same reasons that DevOps works in IaaS or PaaS will apply to private data centers or private clouds as well.

    If all of this trends toward being true as we see it happening today, what are the opportunities for ops personnel to be at the forefront of this shift? Beyond embracing DevOps – which many operations personnel are doing already – learning to code is the most critical step that ops professionals can take. Many ops professionals already know how to script which is absolutely a minimum, but many will need to go further. Embrace the DevOps movement and push further towards the development side by learning how to code. There are any number of amazing services to teach us how to code or code better. Take the step. It may be the difference between a vestige of the old school versus driving the new world in your organization. The second significant step you can take is to automate your job. Leverage the very best automation tools to code your network, server, and application infrastructure. Not only will you spend less time on these tasks manually, but you will increase availability, reliability, and performance. In most organizations, that’s more than a gold star. Finally, make the mental shift that operations in the future will be less art and more science. DevOps is driving action through data, and the technology stack is responding to this demand with more telemetry than ever. Problems are now solved through understanding performance, availability, and other metrics. And code.

    DevOps is the future. Automation is key. Code is the answer. Developers and ops are in it together for the good of their organizations. Ops pros that embrace this will win! Ops is Dead, Long Live DevOps!