E-guide

2017 Guide to Application Modernization Redesign or restructure? An expert compares methods and tools

E-guide

In this e-guide In this e-guide:

What's the best method of Cloud services, massive data collection and aggregation and application modernization for analysis are pillars of today's modernized app. And your business? pg. 2 businesses don't have to search hard for the benefits to justify a modernization initiative: In addition to the typical reasons App modernization starts with (performance, features, usability, and reliability), moving knowing how to evaluate PaaS providers pg. 10 applications to the cloud also improves application scalability, deployment flexibility, responsiveness for today's mobile When assessing container users, and efficient use of IT resources. management software, think interoperability pg. 17 But once your business determines the need for application modernization, you need to figure out which method fits best, To choose the right PaaS whether it's restructuring with PaaS, redesigning with APIs, or vendor, know thyself pg. 24 replacing.

Evaluate and settle on the container software that's best As Kurt Marko explains, the right approach for you will depend for business pg. 32 on your existing application architecture.

Further reading

Page 1 of 42 E-guide

In this e-guide What's the best method of application What's the best method of modernization for your business? application modernization for your business? pg. 2 Kurt Marko, Engineer and Technology Analyst, Marko Insights In IT, each generational transition has called for modernizing and App modernization starts with redesigning applications, business processes and IT infrastructure to exploit knowing how to evaluate PaaS new capabilities and efficiencies. This occurred when PCs and LANs providers pg. 10 usurped the mainframe and drove client-server computing, eliminating expensive hardware and the issue of data scarcity. Innovation happened again when the and WANs disrupted client-server computing, and When assessing container then subsequently tech modernized again when gained management software, think popularity. interoperability pg. 17 Consequently, the need for application modernization is a regular, if not To choose the right PaaS entirely predictable occurrence in IT. App modernization isn't carried out as vendor, know thyself pg. 24 a fashion statement, status symbol or to keep up with nimble tech startups, but for cold, hard business reasons. Regardless of the era, the benefits of a periodic app overhaul include better performance, more features, greater Evaluate and settle on the usability and higher reliability. But while the need to modernize is obvious, it's container software that's best unique to each business. And choosing the modernization approach to go for business pg. 32 with can be difficult because there are several options.

All the business reasons for application modernization are addressed in the Further reading current cycle of modernization. However, moving to the cloud, whether public or private, also provides much greater application scalability,

Page 2 of 42 E-guide

deployment flexibility, responsiveness for today's mobile users and efficient In this e-guide use of IT resources.

What's the best method of application modernization for The third platform: foundation of modern apps your business? pg. 2 The third platform is one model for understanding modern application design. It derives its name as the successor to prior mainframe and client- App modernization starts with server frameworks, and its impetus is the nexus of four primary knowing how to evaluate PaaS technologies: mobile devices, social networks, cloud services and big data providers pg. 10 analytics. Together, these change nearly everything about applications: their features, UIs, internal instrumentation, how they are designed, developed When assessing container and deployed, even the application lifecycle and update frequency. management software, think The explosion of mobile devices and web users, along with the speed of interoperability pg. 17 information flow and memes that social networks can produce means public-facing apps must handle highly unpredictable workloads, demand To choose the right PaaS spikes of unprecedented scale and users from all geographies accessing vendor, know thyself pg. 24 the web via public networks. Mobile and social technology have also changed the way that users interact with apps along with their expectations about usability, convenience and performance. All these factors affect app Evaluate and settle on the design and the related need for modernization. container software that's best for business pg. 32 The explosion of data collection, fueled by cheap storage and networking, enables aggregating so-called data lakes of immense capacity that require Further reading new database and software systems designed for the task. Smart devices (or the internet of things) and apps themselves contribute to the data deluge by logging data from remote sensors, app usage, performance telemetry

Page 3 of 42 E-guide

and crash reports. All are useful to organizations seeking competitive In this e-guide advantage through analysis of previously unavailable data.

Big data analytics, machine learning and cognitive systems that can all make What's the best method of sense of massive, complex data sets that are seemingly meaningless have application modernization for become powerful tools for improving business decisions. However, the scale your business? pg. 2 and specialization of big data and machine learning infrastructure and software mean that it is best consumed as a service, not built into a App modernization starts with monolithic app. While not limited to big data, the decomposition of apps into knowing how to evaluate PaaS a mashup of independent microservices that can be reused, reconnected, providers pg. 10 widely distributed and simultaneously executed is another core tenet of modern, third-platform apps.

When assessing container Although mobile and social interfaces have revolutionized app front ends, I management software, think focus on the infrastructure side where cloud services, massive data interoperability pg. 17 collection and aggregation and big data analysis are pillars of the modernized app.

To choose the right PaaS vendor, know thyself pg. 24 Cloud benefits to enterprise modernization

Evaluate and settle on the Cloud services are central to app modernization; however, we use them in container software that's best the broader sense as defined by the NIST. for business pg. 32 The NIST definition lists five essential characteristics of cloud computing: on-demand self-service, broad network access, resource pooling, rapid Further reading elasticity or expansion, and measured service. It also lists three "service models" (software, platform and infrastructure), and four "deployment

Page 4 of 42 E-guide

models" (private, community, public and hybrid) that together categorize In this e-guide ways to deliver cloud services.

There are various deployment options that can include shared, public What's the best method of services such as AWS, private infrastructure based on something like application modernization for VMware vCloud or a hybrid design using a mix of public and private your business? pg. 2 infrastructure such as Microsoft Azure (public) with Azure Stack (private).

App modernization starts with Although public clouds often get a toehold in the enterprise as a quick and knowing how to evaluate PaaS dirty way to deploy software development and test systems, when providers pg. 10 incorporated as the foundation of modern applications, cloud computing provides many benefits, including:

When assessing container • Rapid, virtually unlimited scalability management software, think • Higher utilization and resource efficiency via shared services interoperability pg. 17 • Growing portfolio of built-in, higher-level services for application integration, data management and analysis, infrastructure automation and security To choose the right PaaS • Enhanced staff efficiency via APIs and scriptable CLIs for service vendor, know thyself pg. 24 automation and through a consolidated management portal for service administration, monitoring and reporting Evaluate and settle on the • Fine-grained data about infrastructure use that can feed container software that's best consumption-based billing by user or product for business pg. 32 • Lower IT overhead by offloading hardware and low-level operations management

Further reading Together, these benefits percolate to the bottom line through lower costs for IT staff and infrastructure to run a given workload. Cloud services also

Page 5 of 42 E-guide

provide greater flexibility and agility in application provisioning, whether for In this e-guide development, testing or production deployment. By using a consistent set of services and APIs, the cloud inserts a portable abstraction layer between applications and infrastructure that allows apps to be easily moved to new What's the best method of locations, cloned for testing or non-disruptively updated. Such ease of app application modernization for modification, testing and deployment also enable new processes such as your business? pg. 2 Agile development, DevOps and continuous integration and delivery.

App modernization starts with knowing how to evaluate PaaS Core application modernization strategy: Going providers pg. 10 cloud

When assessing container Microsoft's Azure execs are fond of characterizing the cloud as a model, not management software, think a place. This is an important distinction to remember throughout this series. interoperability pg. 17 The cloud is a way of presenting, deploying and consuming information and application services, not just some computing capability one rents over the internet. The initial cloud experience at most organizations will be on a To choose the right PaaS public service such as AWS, Azure or Google Cloud Platform, but there are vendor, know thyself pg. 24 other options for bringing the cloud infrastructure service model in-house. So the core architecture won't change when moving between platforms, although modernized apps may need some redesign to use different APIs Evaluate and settle on the and services for various platforms. container software that's best for business pg. 32 Applications can treat clouds like a traditional hypervisor with the core application running on a virtual machine (VM) such as AWS EC2. An Further reading increasingly popular technique involves deconstructing the app into a set of microservices that run in separate software containers. Containers, also known as OS-level virtualization, allow multiple applications to run in isolated

Page 6 of 42 E-guide

environments on the same OS, which increases resource efficiency, reduces In this e-guide load time and simplifies deployment and management of distributed applications that are spread across multiple systems and locations. Because containers can be rapidly instantiated and scaled, they are a perfect fit for a What's the best method of modularized application design composed of microservices. Managing application modernization for clusters of containers distributed across multiple systems is the job of a your business? pg. 2 container orchestrator such as Kubernetes or Docker Swarm.

App modernization starts with knowing how to evaluate PaaS Moving to the cloud providers pg. 10 Moving apps to the cloud can happen in a couple of ways. One way is to When assessing container migrate existing virtualized apps to use cloud services. The other is building management software, think cloud-native, service-oriented apps that essentially replace the features and interoperability pg. 17 services available through a server OS with cloud services accessed via APIs. The latter is done using several techniques that I explore in depth throughout this series, but I'll share the highlights below. To choose the right PaaS vendor, know thyself pg. 24 Rearchitecting to be cloud-friendly Evaluate and settle on the container software that's best Enterprises typically run most applications on a VM using virtualization for business pg. 32 management systems like VMware vCenter or Microsoft System Center to handle configuration, provisioning and monitoring of VMs and associated storage. Most virtualized apps can move to the cloud by running their VM Further reading image on cloud computing instances, then migrating their associated storage to object, file or block storage services. From this base level of

Page 7 of 42 E-guide

cloud operation, apps can be transformed into something more cloud-native In this e-guide by opportunistically using higher-level infrastructure as a service databases, load balancers, in-memory caches, search and load balancers to replace software running within the VM. What's the best method of application modernization for your business? pg. 2 Redesigning cloud-native apps

App modernization starts with Some organizations already have apps born in the cloud, but those apps knowing how to evaluate PaaS might have been built around specific cloud services that make them difficult providers pg. 10 to migrate to other environments. For these, app modernization isn't a reconstruction project but more like minor remodeling that eliminates the When assessing container use of proprietary features, inserts service abstraction layers and develops management software, think functional APIs that can plug into multiple cloud implementations. interoperability pg. 17

To choose the right PaaS Full stack redesign using cloud platform services vendor, know thyself pg. 24 Virtualization abstracts application interactions with the OS from the underlying hardware. For example, a MySQL database running on CoreOS Evaluate and settle on the can be deployed as a machine image on an x86 system running VMware container software that's best vSphere, a Power8 server running Kernel-based VM or an AWS EC2 for business pg. 32 instance running Xen. Platform as a service (PaaS) extends the concept by abstracting application services such as databases, identity management systems, a message queue, load balancing and auto-scaling as consumable Further reading services. PaaS instances typically run in a container and include a development runtime environment like Java, Python or Go. Like all cloud

Page 8 of 42 E-guide

services, PaaS technology automatically updates code and features without In this e-guide user intervention or management.

Using PaaS can significantly reduce the complexity of building cloud-native What's the best method of apps, thus speeding up the development cycle. PaaS is particularly useful application modernization for when building cloud back ends for mobile or web apps by allowing your business? pg. 2 developers to focus on the user experience, features and interface instead of the server-side plumbing. Many software as a service applications like App modernization starts with Salesforce expose features through a PaaS to enable customization or to knowing how to evaluate PaaS extend their packaged software. Using PaaS this way can help non- providers pg. 10 developers such as business analysts or end users create cloud-native custom apps that automate business processes or fill specific niches.

When assessing container Technology improves, languages emerge, new provisioning and deployment management software, think methods arise and users adopt new clients with vastly different workload interoperability pg. 17 characteristics. Application modernization is the rubric for reacting to the changing environment and exploiting new technologies to provide innovative new features and significantly better performance at a lower capacity- To choose the right PaaS normalized cost. The present generation of application modernization offers vendor, know thyself pg. 24 many approaches to meet those goals, but as we've seen, a common denominator exploits the availability of infrastructure and platform functions Evaluate and settle on the encapsulated as cloud services. One's preferred modernization strategy is a container software that's best function of the existing conditions for both IT infrastructure and legacy for business pg. 32 applications, an organization's tolerance for risk and enthusiasm for fundamentally new application designs.

Further reading Next article

Page 9 of 42 E-guide

In this e-guide App modernization starts with knowing What's the best method of how to evaluate PaaS providers application modernization for your business? pg. 2 Kurt Marko, Engineer and Technology Analyst, Marko Insights Platform as a service occupies the vast gray area between raw App modernization starts with infrastructure, things like virtual machines, object storage or various flavors knowing how to evaluate PaaS of databases, and packaged software delivered as a subscription service. providers pg. 10 This ambiguity largely explains why there are so many PaaS variants. With a number of options, it's difficult for enterprises to know which kind of PaaS technology they should procure when trying to modernize their legacy When assessing container applications. management software, think interoperability pg. 17 When evaluating platform as a service (PaaS) providers for legacy application modernization, the most important criteria to consider are To choose the right PaaS deployment models, product features, language and integrated development vendor, know thyself pg. 24 environment (IDE) support, ease of integration with existing on-premises applications, and the security features of both the development platform and the resulting applications. Evaluate and settle on the container software that's best for business pg. 32 PaaS overview and deployment models

Further reading Due to the ambiguous definition of PaaS, there's much disagreement about what true PaaS is. Some PaaS stacks take a bottom-up approach, building on infrastructure as a service (IaaS) technology with developer-oriented

Page 10 of 42 E-guide

services; while some are top-down, extending software as a service (SaaS) In this e-guide products with programmability and exposed APIs. One thing all PaaS products have in common, though, is that they are made for application developers, not IT administrators or application users. They provide What's the best method of developers with the tools and flexibility they need to build applications application modernization for successfully. Indeed, many offerings from PaaS providers resemble cloud- your business? pg. 2 era versions of client-server IDEs.

App modernization starts with knowing how to evaluate PaaS Private versus public infrastructure providers pg. 10 The IaaS versus SaaS orientation isn't the only way to categorize and When assessing container understand PaaS products. They can also differ by means of deployment. management software, think Some are distributed as traditional software products, like IDEs and interoperability pg. 17 software development kits (SDKs). These are installed locally and run either on an internal cloud infrastructure, like OpenStack, or as a standalone commercial product, like Apprenda, Mendix or Stackato. To choose the right PaaS vendor, know thyself pg. 24 The more familiar option entails using PaaS as an online, pay as you go service -- like a SaaS for developers. Here, the PaaS provider operates the infrastructure and platform stack, stores data and runs jobs on shared Evaluate and settle on the infrastructure. Since major PaaS providers like Amazon Web Services container software that's best (AWS), Microsoft Azure and Google also operate IaaS, they can provide for business pg. 32 tight integration between software development services and applications built on their PaaS stacks and lower-level infrastructure, like storage, Further reading databases, identity management systems and cloud service management portals. Although tightly coupling the application runtime environment with a particular IaaS can simplify the development and deployment of complex,

Page 11 of 42 E-guide

multi-tier applications, it can also hamper portability, since features and APIs In this e-guide aren't compatible across the major IaaS providers.

Some PaaS products embrace a hybrid model by offering both public and What's the best method of private implementation options. Notably, Microsoft Azure Stack, currently in application modernization for preview release, promises to bridge the deployment gap between private your business? pg. 2 and public PaaS by allowing organizations to run a subset of the Azure public cloud on internal servers. Red Hat uses a similar strategy for App modernization starts with OpenShift by offering both a cloud-hosted service and downloadable knowing how to evaluate PaaS software sharing the same features, as well as providing full compatibility to providers pg. 10 run applications developed on either infrastructure.

The obvious difference between private and public PaaS is the former's When assessing container need for investment in capital equipment and software licenses, along with management software, think higher overhead in ongoing software maintenance and system interoperability pg. 17 administration. In contrast, public PaaS operates like other public cloud services, with no upfront costs and a usage-based billing model. As with the public versus private cloud decision, the choice of PaaS deployment model To choose the right PaaS requires that you build a cost model comparing the amortized cost of vendor, know thyself pg. 24 equipment and software and ongoing support and maintenance (generally a cost associated with private PaaS) with total service usage over a given Evaluate and settle on the project lifecycle. container software that's best for business pg. 32 Pricing for private and public PaaS Further reading Pricing for on-premises PaaS technology does vary vendor to vendor. This price is on top of the cost of the systems used to run the environment. But

Page 12 of 42 E-guide

with today's testing and development systems hardware, that is probably In this e-guide less than the software -- $20,000 buys a lot of server or workstation capacity. Deploying an application where the back-end system requirements are dependent on the mix of compute, storage and network workloads is What's the best method of another matter, and costs can vary widely. For example, a four-node, two application modernization for sockets per node hyper-converged appliance with local storage will run your business? pg. 2 around $50,000-$100,000.

App modernization starts with The price for developing and deploying on public PaaS is highly variable; this knowing how to evaluate PaaS is a function of resource usage for both PaaS development and IaaS runtime providers pg. 10 resources. For example, a basic Azure installation with one single core instance of App Service, a single SQL database, 50 GB of Azure Blob storage and 50 GB of file storage, a single D1 virtual machine (VM) with 50 When assessing container GB of local solid-state drive, all running 24/7 will cost $170 per month, or just management software, think over $2,000 annually. Given that it's unlikely you would operate these 24/7 interoperability pg. 17 unless doing a globally distributed, follow the sun development project (in which case, each would be shared by several developers), it's entirely To choose the right PaaS possible to run at least 50 of these Azure configurations for the price of, for vendor, know thyself pg. 24 example, a small private PaaS installation.

SaaS-based application development environments often have an even Evaluate and settle on the simpler subscription pricing model, albeit one that can get expensive, since it container software that's best is based on the number of application users, not developers. For example, for business pg. 32 Salesforce App Cloud costs $75 per month, per end user for a package that includes the use of up to 100 Salesforce data objects per user. The upside to the expense is that Salesforce, like other customizable SaaS products, Further reading doesn't require any programming to produce an app, since piecing together app objects is done via a GUI.

Page 13 of 42 E-guide

In this e-guide PaaS product features

What's the best method of Of all the criteria to evaluate when researching PaaS technology, the most application modernization for fundamental are the choice of programming languages and IDEs, because your business? pg. 2 it's important to fit a PaaS to a development team's expertise and work style, not the other way around.

App modernization starts with Most products support several programming environments. For example, knowing how to evaluate PaaS AWS has SDKs for most popular programming environments and application providers pg. 10 targets, including Android, iOS, Java, Node.js (JavaScript), .NET, Python, PHP and Ruby, while Azure is similarly agnostic. When assessing container Online services shine in areas requiring a lot of back-end infrastructure, management software, think most notably big data storage and analysis. For example, Azure has interoperability pg. 17 relational, NoSQL and distributed big data (Hadoop) databases to suit a variety of application needs. It and other similar PaaS providers can be To choose the right PaaS paired with services like Azure HDInsight for data analysis using various vendor, know thyself pg. 24 tools, including Apache Hadoop and Spark, the R statistics language or even Excel. IaaS-based PaaS stacks from the big three mega cloud players, AWS, Microsoft Azure, and Google, also support application containers that Evaluate and settle on the provide lightweight, efficient application isolation without the overhead of a container software that's best full VM. for business pg. 32 PaaS products also provide a variety of mechanisms for integrating with Further reading legacy, on-premises infrastructure and applications, including database connectors using Java Database Connectivity (JDBC), Open Database

Page 14 of 42 E-guide

Connectivity or .NET, API gateways and management services, message In this e-guide queue, and federated identity management.

What's the best method of application modernization for PaaS provider and product considerations your business? pg. 2 Potential PaaS customers should consider how the technology will connect with their existing applications, infrastructure and identity management App modernization starts with directories. PaaS technology lets businesses develop new apps, but it's also knowing how to evaluate PaaS important that a PaaS match up well with your existing apps and providers pg. 10 infrastructure. Businesses should ensure that PaaS stacks can access legacy APIs and data either through standard protocols (like server When assessing container message block, network file system or JDBC) or custom-developed API management software, think calls. interoperability pg. 17 Platform openness and the ease of migration are also important. Migrating to and from the platform, the availability of source code and documentation, To choose the right PaaS the completeness of APIs, and support for different access methods vendor, know thyself pg. 24 (RESTful API calls, scriptable command line interface, etc.) are vital to modernizing legacy software. Application development inherently entails a degree of lock-in (i.e., you are committed to a particular language and target Evaluate and settle on the client); however, buyers want to minimize the friction of moving data and container software that's best code to another PaaS stack. In fact, lock-in is one of the primary reasons for business pg. 32 organizations opt for PaaS stacks running on an open, portable platform like OpenStack. Further reading Buyers should also look into vendor stability and what they offer for support for cloud services, extending to the performance, reliability and security of

Page 15 of 42 E-guide

their infrastructure. Those in regulated industries will also need to In this e-guide investigate a cloud service's compliance with relevant regulations (e.g., Heath Insurance Portability and Accountability Act, Payment Card Industry, Federal Risk and Authorization Management Program, Federal Information What's the best method of Processing Standard and local data privacy sovereignty laws). application modernization for your business? pg. 2 Before using locally installed PaaS software based on open source projects like Cloud Foundry, OpenShift or Apache Stratos, an enterprise should App modernization starts with consider its development team's ability and inclination to use a do it yourself knowing how to evaluate PaaS product. If it makes more sense to opt for a commercial implementation, providers pg. 10 consider the vendor's commitment to the open source project by looking at the number of developers contributing, timely support of new releases and product support services. When assessing container management software, think interoperability pg. 17 Next article

To choose the right PaaS vendor, know thyself pg. 24

Evaluate and settle on the container software that's best for business pg. 32

Further reading

Page 16 of 42 E-guide

In this e-guide When assessing container management What's the best method of software, think interoperability application modernization for your business? pg. 2 Kurt Marko, Engineer and Technology Analyst, Marko Insights Much like the transition from client-server applications on discrete physical App modernization starts with servers to the virtualized data center, containers represent a significant knowing how to evaluate PaaS shakeup in the technology landscape. Working with them requires a providers pg. 10 rethinking of existing infrastructure architectures, processes and policies. This also means that IT organizations should consider ways of incorporating containers into their application modernization strategy. When assessing container management software, think It's not easy working with containers, a technology that seemingly changes interoperability pg. 17 by the month. There are two important steps to take to use this technology at its utmost capabilities The first step is gaining an understanding of the To choose the right PaaS complete container ecosystem, which includes parts like container vendor, know thyself pg. 24 orchestrators and container repositories. The second step is assessing container management software compatibility with existing system management software and processes, its potential security risks, and the Evaluate and settle on the interoperability and integration challenges. container software that's best for business pg. 32 An overview of the container ecosystem Further reading Containers are a new technology that is built upon a nearly 40-year-old idea of compartmentalization. Containers allow multiple applications to run in

Page 17 of 42 E-guide

isolated environments on the same OS. This increases resource efficiency, In this e-guide reduces load time and simplifies deployment and management of distributed applications that are spread across multiple systems and locations.

What's the best method of Hype around containers often obscures important distinctions. Containers application modernization for themselves are just the source code description of application components, your business? pg. 2 system libraries and configuration that can be turned into a binary image which is deployed and executed on an OS and container runtime. The App modernization starts with container runtime provides logical separation of application environments, knowing how to evaluate PaaS but adds process isolation and limitations on resource usage. providers pg. 10 Containers and their runtime engines provide a foundation for application and infrastructure modernization, but require many other subsystems to When assessing container create a production environment. Though many have tried, the nascence management software, think and dynamic nature of container development mean there are no universally interoperability pg. 17 accepted standard categorizations for the container management software. However, IBM offers a "Taxonomy of Building Blocks for Container Lifecycle and Cluster Management" that is useful for understanding the various To choose the right PaaS components of individual application containers: vendor, know thyself pg. 24

• A container runtime engine deploys (spawns), starts, stops, clones, Evaluate and settle on the suspends (snapshots) and decommissions containers. container software that's best • The container driver is a library file (e.g., liblxc, rkt) that provides the for business pg. 32 linkage between the container runtime and underlying OS and handles execution of kernel-level functions. • Container images and image descriptions -- for example, a Further reading Dockerfile -- are the collection of application code, OS libraries and OS configurations required to run a containerized application.

Page 18 of 42 E-guide

• The container repository is like a source-code version control In this e-guide system or container app store that provides a central location for publishing, storing, finding, downloading and managing container images. The repository also mitigates the risk of container sprawl. What's the best method of application modernization for Running multiple containers in a cloud data center requires components to your business? pg. 2 manage deployment on one or more machines, job scheduling and monitoring, networking, and the working state of each instance. IBM App modernization starts with categorizes these other pieces of the pieces of the container management knowing how to evaluate PaaS software: providers pg. 10 • Container orchestrators automate container deployment across one or more systems forming a container cluster. A container orchestrator When assessing container works with or includes a container scheduler that identifies the management software, think optimal location for new workloads, restarts cashed containers and interoperability pg. 17 provisions new instances as needed according to workload scaling policies. To choose the right PaaS • Container discovery services provide a registry of available vendor, know thyself pg. 24 containers, including the location of actively running instances, for use by composite applications built from a collection of microservices. • The resource monitor provides usage and application status Evaluate and settle on the information that enables the orchestrator and scheduler to optimize container software that's best cluster utilization and container placement. for business pg. 32 • As with virtual machines (VMs), containers require an overlay network because they share physical resources on a host including Further reading network interfaces. An overlay network allows containers to communicate both within and across hosts.

Page 19 of 42 E-guide

• State storage provides the container scheduler with knowledge of In this e-guide the state, location and configuration of running instances, which is often implemented, like in Apache Zookeeper, as an in-memory, key- value store. Note that state storage is distinct from persistent storage What's the best method of for containerized applications themselves, which can be provided by a application modernization for generic (e.g., libStorage) or vendor-specific plug-in library that works your business? pg. 2 with scale-out storage systems like network-attached storage arrays.

App modernization starts with The container management software market is quite diverse and knowing how to evaluate PaaS fragmented; however, vendors like Apprenda (which acquired Kismatic's providers pg. 10 cluster management software), CoreOS, Docker, Mesos and Rancher Labs have assembled most of the pieces necessary to run a container environment in production. These often include popular open source When assessing container projects like Google-backed Kubernetes, which is becoming a de facto management software, think standard for container orchestration. Complete container environments are interoperability pg. 17 also available from major infrastructure-as-a-service providers including Amazon Web Services (AWS), Azure, Google Cloud Platform and IBM To choose the right PaaS Softlayer. vendor, know thyself pg. 24

Evaluate and settle on the container software that's best Key features to assess before purchasing for business pg. 32 container management software

When assessing container management software to assist in executing an Further reading application modernization strategy, there are key factors that businesses need to consider.

Page 20 of 42 E-guide

Usage and workflow In this e-guide Initial implementations of container systems, including Docker, use an entirely new set of software and management tools that don't typically What's the best method of integrate with existing virtualization platforms and are quite disruptive. This application modernization for isn't a problem if an organization plans on building a greenfield environment your business? pg. 2 or using public cloud services for new containerized applications; however, recent developments from VMware (e.g., vSphere integrated containers, or App modernization starts with VIC) and Microsoft (Hyper-V containers) allow containers to run on legacy knowing how to evaluate PaaS server platforms using existing workflows that reduce the learning curve and providers pg. 10 greatly simplify process integration.

Container networks use the virtual networking concepts introduced with When assessing container server virtualization in that the container runtime engine creates an overlay management software, think network and virtual switch to move packets between container instances on interoperability pg. 17 the same cluster (e.g., Docker Swarm). Networking capabilities built into container engines like Docker are adequate for self-contained clusters. Connecting a container network to a public cloud service or across data To choose the right PaaS vendor, know thyself pg. 24 centers, however, is difficult without a network overlay controller. Products from CoreOS, Weaveworks and Project Calico provide a routable, Layer 3 network fabric that can span multiple locations but come with a learning Evaluate and settle on the curve and require careful implementation planning. container software that's best for business pg. 32 Security and policy

As a relatively new technology, the vulnerabilities and overall security of Further reading containers is notably tenuous. While containers do provide greater application isolation than user-mode system processes, they aren't as

Page 21 of 42 E-guide

impenetrable as VMs on a Type 1 hypervisor. Potential attack vectors In this e-guide include OS exploits, container breakouts, denial of service, embedded malware and credential theft.

What's the best method of Many of these exploits can be mitigated by running single containers within application modernization for a lightweight VM like Microsoft Nano Server or VMware Photon OS, albeit your business? pg. 2 with some loss of efficiency due to running a full guest OS, even a small one, for each application. App modernization starts with knowing how to evaluate PaaS Central control of access policies is another area where container providers pg. 10 management software is wanting. Microsoft recently made a significant investment in Israeli security startup Aqua Security with software that automates and monitors policy enforcement throughout the container When assessing container lifecycle. management software, think interoperability pg. 17 Interoperability

Most modern OSes -- including various flavors of Linux, Windows Server, To choose the right PaaS VMware ESXi (via VIC) and even IBM PowerLinux -- have a Docker- vendor, know thyself pg. 24 compatible container runtime. Although Docker gets most of the attention as the de facto standard for application containers, it's not the only one, and Evaluate and settle on the tensions between Docker and other open source developers led to the container software that's best creation of the Open Container Initiative (OCI). The OCI set industry for business pg. 32 standards for container image formats and runtime that allows running a container image on any runtime, including AWS, Google Cloud Platform, Kubernetes, Mesos, rkt or the Docker engine. Docker itself was the first to Further reading ship a runtime based on OCI technology. Container vendors and developers also must work to improve interoperability via creating standards for image

Page 22 of 42 E-guide

distribution and discovery (via a registry protocol) and APIs between back- In this e-guide end services like the orchestrator/cluster manager and resource monitors.

Containers are a great technology for hosting cloud-native, distributed What's the best method of applications that can automatically scale across dozens of physical hosts application modernization for with much less system overhead than a VM appliance. However, containers your business? pg. 2 can also be used to wrap legacy applications not designed for virtual environments in a package that can be easily distributed and deployed on App modernization starts with public or private cloud infrastructure. knowing how to evaluate PaaS

providers pg. 10 Next article

When assessing container management software, think interoperability pg. 17

To choose the right PaaS vendor, know thyself pg. 24

Evaluate and settle on the container software that's best for business pg. 32

Further reading

Page 23 of 42 E-guide

In this e-guide To choose the right PaaS vendor, know What's the best method of thyself application modernization for your business? pg. 2 Kurt Marko, Engineer and Technology Analyst, Marko Insights A critical enabler of enterprise application modernization is development App modernization starts with automation products broadly described as platform as a service. These are knowing how to evaluate PaaS public or private cloud services that build upon low-level infrastructure providers pg. 10 services and consist of a collection of middleware services. PaaS offerings target a broad spectrum of users, from traditional developers to spreadsheet jockeys and Salesforce gurus. This dichotomy makes it difficult When assessing container to assess a PaaS vendor. management software, think interoperability pg. 17 PaaS vendors roughly fit into two categories: the developer-focused PaaS, where products target application developers building custom applications To choose the right PaaS from the ground up; and the user-focused PaaS, which adds extensible vendor, know thyself pg. 24 features to existing software products that enable nondevelopers to create custom applications using cloud services and back-end infrastructure. Below are popular and representative examples of each and explanations of Evaluate and settle on the how they can help those looking to expand their business through building container software that's best cloud-native applications. for business pg. 32 The benefit for developers in using PaaS is the reduced complexity of building cloud-native apps, since the PaaS vendor assembles and maintains Further reading most of the underlying infrastructure and toolchain. As such, PaaS can offload much of the coding and infrastructure assembly for mobile and web

Page 24 of 42 E-guide

back-end services, as well as enable developers to focus on differentiating In this e-guide features and the user interface, not back-end plumbing. By removing developers from the task of infrastructure and tool management and allowing them to work at higher levels of programming abstraction, PaaS What's the best method of can significantly decrease the development cycle and enable Agile application modernization for methodologies, such as continuous integration and delivery. your business? pg. 2 Although PaaS is often used by traditional software developers, the concept App modernization starts with has been embraced by software vendors like Oracle, Salesforce, SAP and knowing how to evaluate PaaS others to allow customization of their packaged software by business providers pg. 10 application users. A top-down PaaS vendor -- one with a product that turns a sophisticated piece of packaged software into a platform for custom enterprise apps -- enables users like business analysts, who aren't When assessing container experienced programmers, to develop cloud-native applications that management software, think automate business processes, build custom information dashboards or fill interoperability pg. 17 other application niches not targeted by packaged software.

To choose the right PaaS vendor, know thyself pg. 24 The developer versus application-user PaaS vendor

PaaS technology that works best for developers takes care of coding and Evaluate and settle on the infrastructure setup to allow developers to program at higher levels and not container software that's best worry about the back end. Businesses must pay attention to the supported for business pg. 32 environments and operating systems of each PaaS vendor to see what best fits their technology and processes. Further reading

Page 25 of 42 E-guide

In this e-guide Developer-focused PaaS

What's the best method of Apprenda is a software package for private PaaS that provides an application modernization for application server and container for .NET and Java applications. It works your business? pg. 2 across both Linux and Windows, although it targets Windows developers. Apprenda includes an execution environment for application components using a distributed, scalable server architecture, with a central management App modernization starts with console for the underlying infrastructure, users and operations; a developer knowing how to evaluate PaaS portal; and a host of APIs, services and database connectors. Earlier this providers pg. 10 year, Apprenda acquired Kismatic to provide Kubernetes support for containerized, cloud-native applications. Apprenda is well-suited for When assessing container organizations building on-premises applications that want to exploit cloud- management software, think native technologies, such as distributed cluster management, without interoperability pg. 17 piecing together open source components and integrating them with existing data sources and security or user account infrastructure.

To choose the right PaaS The Cloud Foundry ecosystem is an open source PaaS project that vendor, know thyself pg. 24 originated at Pivotal Labs -- an EMC-VMware spinout -- and is now governed by an independent foundation. Cloud Foundry is designed for Evaluate and settle on the cloud-native applications that use a microservices architecture, containers container software that's best and RESTful APIs. It runs on a variety of both private and public virtualized for business pg. 32 infrastructure, including VMware, OpenStack, Amazon Web Services, Azure and Google Cloud. Notable features include service brokers for registration and application binding, service routers to direct traffic to the right Further reading component, and cloud controllers for system and application management. There is also a message bus, blob store for application code and packaged

Page 26 of 42 E-guide

builds, an authentication engine, and various logging and monitoring In this e-guide components.

Cloud Foundry is the basis for many commercial products and online What's the best method of services from Pivotal itself, Atos, CenturyLink (AppFog), GE (Predix, application modernization for targeting internet-of-things applications), Hewlett Packard Enterprise your business? pg. 2 (Stackato), IBM (Bluemix) and Mendix. Each of these may bundle added components to the base Cloud Foundry release and be optimized or more App modernization starts with tightly integrated with particular infrastructure-as-a-service (IaaS) platforms knowing how to evaluate PaaS -- e.g., IBM Bluemix with SoftLayer. providers pg. 10 Google App Engine (GAE) is the PaaS companion to the Google Cloud Platform IaaS suite. Unsurprisingly, being from Google, it is designed for web When assessing container applications and mobile back ends -- just the things you'd expect to see on a management software, think Chromebook or Android phone. App Engine uses containers that are interoperability pg. 17 preconfigured with a supported runtime environment, with a choice of Java, Python, PHP or Go. Teams who specialize in languages other than these four, such as C++, should keep in mind that code will have to be refactored To choose the right PaaS vendor, know thyself pg. 24 into one of the supported languages. The platform includes various persistent storage services, including NoSQL, Evaluate and settle on the SQL and in-memory caches; automatic instance scaling and load balancing; container software that's best asynchronous task queues, like a message bus; task scheduling; search --no for business pg. 32 surprise, being from Google; and tight integration with Google cloud and APIs for its other products, including use of Google accounts and its authentication engine. Further reading

Page 27 of 42 E-guide

Like GAE, Microsoft's Azure App Service has extended its infrastructure In this e-guide stack with higher-level application services that streamline the process of building cloud-native apps. The focus of Azure App Service is mobile and web applications using .NET, Node.js JavaScript, Java, PHP or Python. Aside What's the best method of from web and mobile back ends, App Service can also be used for service application modernization for interfaces between clients and servers, which is what Microsoft calls API or your business? pg. 2 Logic Apps.

App modernization starts with Like GAE, App Service automatically scales and load-balances client knowing how to evaluate PaaS application traffic, and it's tightly integrated with the underlying Azure IaaS providers pg. 10 services like SQL, NoSQL and object storage. But it also has connections with over 50 software-as-a-service (SaaS) products, including Office 365, Salesforce, Slack and Dropbox. Microsoft shops with seasoned Windows When assessing container developers will naturally gravitate to Azure due to its use of Window management software, think infrastructure, tight integration with the Visual Studio toolchain, and support interoperability pg. 17 for .NET and Windows APIs.

To choose the right PaaS Oracle Cloud is the umbrella term for the database giant's as-a-service vendor, know thyself pg. 24 products, including applications like ERP and human capital management, along with raw infrastructure. Its hosted PaaS stack exploits Oracle's core database technology and targets data-driven applications with services for Evaluate and settle on the SQL, NoSQL, big data -- Hadoop and Spark -- and real-time data pipelines container software that's best and event streaming (Apache Kafka). Given Oracle's Sun DNA, it's no for business pg. 32 surprise Java is the preferred programming environment with a cloud service for development and testing; staging and production; and support for WebLogic, mobile back ends and JavaScript/Node.js. Like other PaaS Further reading technology, Oracle provides API management, infrastructure and service monitoring, log analysis and task automation.

Page 28 of 42 E-guide

Red Hat OpenShift, the commercial implementation of the OpenShift Origin In this e-guide open source project, is a container-based PaaS that combines Docker packaging and Kubernetes cluster management. It is available as a shared or dedicated managed service, or as on-premises packaged software. The What's the best method of platform supports applications in Java, Ruby, Node.js, Python, PHP and other application modernization for languages through add-on modules that use the OpenShift API, called your business? pg. 2 cartridges. It includes MongoDB, MySQL, PostgreSQL and SQLite databases, as well as JBoss middleware, including the Red Hat BPM Suite, App modernization starts with web server, business rules management and push notification service. knowing how to evaluate PaaS providers pg. 10 PaaS is a growing market, but still dwarfed by IaaS When assessing container management software, think PaaS is the smallest of the three primary as-a-service categories, with interoperability pg. 17 roughly only one-third the revenue as IaaS; however, it is growing just as fast. According to the 451 Group, PaaS revenue is projected to grow 25% per year, with revenue doubling by 2020. Despite such growth, PaaS will still To choose the right PaaS be a much smaller market than IaaS and dominated by the mega-cloud vendor, know thyself pg. 24 players like Amazon Web Services -- which is adding many application-layer services -- Google, IBM and Microsoft. Evaluate and settle on the container software that's best for business pg. 32 User-focused PaaS

Business application users must look for a PaaS vendor with a stack that Further reading extends existing application platforms like Oracle, SAP or Salesforce, since these will provide the easiest access to data, metadata, user accounts and

Page 29 of 42 E-guide

higher-level application services to create custom dashboards, data In this e-guide visualizations or form-based collaborative workflows.

Oracle Application Builder is a browser-based visual development What's the best method of environment that allows nonprogrammers to build applications by application modernization for connecting prebuilt components using a GUI. Applications can use Oracle your business? pg. 2 SaaS applications via REST APIs to create customized forms and dashboards. As with any PaaS stack, Application Builder is typically used to App modernization starts with build custom extensions to existing applications, as well as integrate knowing how to evaluate PaaS packaged and custom applications by sharing data or passing calling providers pg. 10 functions from one to another. App extensions are often new, custom web or mobile UIs that can be created with a drag-and-drop interface.

When assessing container SAP HANA Cloud Platform is a managed service providing a set of management software, think application services that simplify development using any SAP application, interoperability pg. 17 including its HANA in-memory database. Typical use cases include building customized dashboards that can integrate HANA and on-premises data To choose the right PaaS sources, mobile front ends and internet-of-things data analytics. vendor, know thyself pg. 24 Salesforce App Cloud is the umbrella service for the Salesforce's Force.com and Heroku development platforms. It features a GUI, drag-and- Evaluate and settle on the drop environment -- Lightning -- for quickly assembling custom apps from container software that's best prebuilt components. Built upon the Salesforce customer relationship for business pg. 32 management application, App Cloud combines core infrastructure services like databases, storage and containers with platform services like a workflow engine, social collaboration, reporting and dashboards, a mobile Further reading back end and application UIs. Although developers can code microservices in Heroku DX, Node.js, Ruby, Python, Java and PHP, App Cloud targets

Page 30 of 42 E-guide

business users without formal programming experience. Typical use cases In this e-guide include mobilizing existing Salesforce apps, integrating one or more Salesforce apps -- such as customer-facing and employee apps -- and building data analytics dashboards from Salesforce activity. What's the best method of application modernization for your business? pg. 2 The right PaaS vendor depends on development

App modernization starts with team knowing how to evaluate PaaS providers pg. 10 Selection of a PaaS product is highly dependent on an organization's existing infrastructure, new application requirements, and the target audience of both the applications and developers. Those using experienced When assessing container developers to build greenfield, cloud-native applications should focus on the management software, think developer-centric PaaS frameworks and their associated infrastructure. interoperability pg. 17 Conversely, cloud-first startups often prefer GAE for its container support and automatic scalability. They also gravitate toward an OpenStack-Cloud To choose the right PaaS Foundry combination due to the vibrant open source community and ability vendor, know thyself pg. 24 to use both on-premises systems or a multitude of cloud services.

Evaluate and settle on the container software that's best Next article for business pg. 32

Further reading

Page 31 of 42 E-guide

In this e-guide Evaluate and settle on the container What's the best method of software that's best for business application modernization for your business? pg. 2 Kurt Marko, Engineer and Technology Analyst, Marko Insights Container software is the hottest new technology for running applications App modernization starts with on shared, cloud infrastructure. However, as with any emerging and dynamic knowing how to evaluate PaaS market, it's like the Wild West, with new products, technologies, vendors and providers pg. 10 alliances popping up every month.

Among the most important subsystem in the container ecosystem is the When assessing container container orchestrator, a tool designed to wrangle resources and herd management software, think container instances into the most efficient system. For companies heading interoperability pg. 17 into uncharted territory of using containers, it's beneficial to examine orchestrators and the key features of the important and popular products. To choose the right PaaS vendor, know thyself pg. 24 Explore the new frontier of container software Evaluate and settle on the While simple in concept, the contemporary use of containers to build cloud- container software that's best native applications requires a complex supporting cast of software for business pg. 32 management components. A container orchestrator manages such a cast. The container infrastructure consists of a cluster of physical systems that Further reading can be used by dozens or hundreds of applications. The orchestrator, often called a cluster manager, treats the clustered hosts as a single, logical resource pool and automates deployment across one or more systems.

Page 32 of 42 E-guide

As new containers are requested, the orchestrator's scheduling engine finds In this e-guide the best system based on workload requirements and resource availability. It then provisions new container instances to the right cluster node or nodes, adds instances as needed according to application resource usage and What's the best method of restarts crashed instances. A container orchestrator decommissions application modernization for containers when a batch job completes, or when they are no longer needed your business? pg. 2 by running applications. Orchestrators also propagate container updates and patches to all instances in a cluster. App modernization starts with knowing how to evaluate PaaS Orchestrators come in many varieties. Depending on a company's container providers pg. 10 implementation -- for example, when using public cloud container services or an OS virtualization product with built-in container management -- it may not need to set up a discrete orchestrator at all, since the choice is implicit When assessing container in the selection of cloud service. management software, think interoperability pg. 17 The container software market at a glance To choose the right PaaS vendor, know thyself pg. 24 Container software garners a lot of attention among IT analysts, press, developers and system architects. But they still primarily appeal to those building cloud-native applications. A survey by 451 Research found less than Evaluate and settle on the 10% of developers are using container orchestration for applications that container software that's best are not cloud-native, although 36% plan to do so in the next two years. The for business pg. 32 majority of those doing anything with containers use them for application development, followed by engineering or technical computing and web Further reading infrastructure, with only 22% using containers for line-of-business applications.

Page 33 of 42 E-guide

In contrast, among cloud-native developers, container use is the norm. In this e-guide According to one survey of mostly developers and those in DevOps teams, 76% of respondents were already using containers in production, double the rate from the same survey a year ago. Even when the results were filtered What's the best method of for those in large organizations, the share using containers in production application modernization for was 73%. your business? pg. 2 The survey found Docker to be the most popular container engine and App modernization starts with packaging format, with 94% penetration. When it comes to the choice of knowing how to evaluate PaaS orchestrators, the results show organizations are experimenting with providers pg. 10 multiple products, with Kubernetes being the most widely deployed, followed by Docker Swarm, internally developed tools and Apache Mesos. A developer-focused industry analyst firm, RedMonk, conducted a separate, When assessing container much larger and more diverse survey of developers that found most aren't management software, think using any orchestrator, meaning it's unlikely that they have yet to do more interoperability pg. 17 than just experiment with containers. Of the rest, most use Swarm or Kubernetes, with Mesos a distant third. To choose the right PaaS vendor, know thyself pg. 24 Rounding up the important container orchestrators Evaluate and settle on the and managers container software that's best for business pg. 32 The orchestration market is confusing, because there are so many commercial container software products that incorporate orchestrators into container management suites, along with several using proprietary Further reading orchestrators. Below are highlights of some important products.

Page 34 of 42 E-guide

Docker Swarm was the native cluster manager for the Docker platform that In this e-guide has since been integrated into the core Docker Engine. This makes it the natural and most convenient choice for organizations using the Docker runtime and other tools, such as Registry, Compose -- for multicontainer What's the best method of application bundles -- and Kitematic management UI. Swarm handles cluster application modernization for management using a decentralized design with automatic workload scaling; your business? pg. 2 support for virtual network overlays; service discovery -- by assigning unique domain-name-system names to each service in a cluster; load balancing; and App modernization starts with incremental, rolling updates. knowing how to evaluate PaaS providers pg. 10 Kubernetes is a container manager originally developed by Google. The technology is based on Google's experience and deployment model of running billions of containers a week. Kubernetes provides automatic When assessing container workload placement -- what it calls binpacking -- based on resource management software, think requirements; available capacity and other constraints, like latency; and interoperability pg. 17 programmatic -- via GUI or command-line interface (CLI) -- or automatic scaling based on CPU usage. To choose the right PaaS vendor, know thyself pg. 24 Kubernetes also performs automatic container restart and replace for nodes that die; batches jobs using CLI scripts; executes version control with automated rollbacks -- in the event that a deployment fails; and hosts Evaluate and settle on the service discovery, like Docker using DNS and load balancing. Kubernetes container software that's best supports Docker containers and runs on many cloud services, including for business pg. 32 Azure and Google Cloud, and it's supported by VMware. Because of this, Kubernetes could become the de facto standard for container cluster management. Holding it back is the complexity of configuring Kubernetes, Further reading which is an area both the open source project and cloud implementations continue to improve.

Page 35 of 42 E-guide

Apache Mesos is a distributed operating system for compute clusters that In this e-guide provides resource management and scheduling with APIs that allow applications like Hadoop, Spark or Elasticsearch to run across hundreds or even thousands of nodes. Mesos is also the foundation for platform-as-a- What's the best method of service (PaaS) stacks and container frameworks, including the Marathon application modernization for orchestrator, which provides the usual features of container placement, your business? pg. 2 monitoring, instantiation, disposal and scaling.

App modernization starts with Mesosphere sells a commercial product, DC/OS, based on Mesos and knowing how to evaluate PaaS Marathon that adds service discovery, load balancing, user and service providers pg. 10 authentication and authorization, and both CLI and GUI management interfaces. DC/OS also supports packaged services that simplify the installation of distributed applications, like Cassandra, Jenkins, Spark and When assessing container Storm, on a Mesos substrate. Mesos is the default cluster manager for management software, think Azure and makes a good choice for organizations building hybrid, private- interoperability pg. 17 public architectures with Azure that need to move workloads between the two environments. To choose the right PaaS vendor, know thyself pg. 24 Apcera Trusted Cloud Platform is a proprietary container-based system that provides a complete set of application management features, including orchestration, package and job management; health and performance Evaluate and settle on the monitoring; a message bus; authentication and policy management; and container software that's best management console. for business pg. 32 Apcera recently introduced features that can automatically containerize and deploy legacy applications that currently run on traditional virtual machines Further reading (VMs) without any modifications. Once containerized, traditional applications can be deployed to multiple cloud services, like Amazon EC2 Container

Page 36 of 42 E-guide

Service (ECS), Google Compute Engine or local OpenStack infrastructure. In this e-guide Apcera is a good choice for organizations not afraid of committing to a proprietary container stack and that want to deploy on multiple clouds, both private and public. What's the best method of application modernization for VMware Photon Platform is a full container stack built on top of VMware's your business? pg. 2 core virtual infrastructure -- namely ESXi for compute and VMs, NSX for networks and services, and VSAN for storage. It includes a lightweight Linux App modernization starts with container host (Photon OS) with a container runtime engine; a clustering knowing how to evaluate PaaS engine and manager (Photon Controller) that can use several orchestration providers pg. 10 platforms, including Pivotal CF and Lattice, Kubernetes, Docker Swarm, and Mesos and Marathon; and a management layer with GUI and APIs.

When assessing container Photon's key advantage for large enterprises building private container management software, think clusters is its use of VMware core technology as the infrastructure interoperability pg. 17 substrate, which allows IT teams to reuse systems for cloud-native applications, manage the infrastructure with vSphere or vCenter management consoles and use existing admin processes. VMware shops To choose the right PaaS vendor, know thyself pg. 24 should strongly consider Photon. Although it's new and still developing, Photon is tightly integrated with VMware's management suite and allows adding container clusters to one's existing virtualization infrastructure. Evaluate and settle on the container software that's best Rancher is something of a meta-orchestrator in that it supports all the for business pg. 32 popular container management frameworks, including Docker Swarm, Kubernetes and Mesos. Like Apcera, it inserts an infrastructure management layer that works with either physical or virtual Linux hosts, Further reading which can also be public cloud instances like Amazon Web Services (AWS) Elastic Compute Cloud or a bare-metal colocation server.

Page 37 of 42 E-guide

Rancher appeals to a similar constituency of those building multicloud In this e-guide architectures. Rancher adds an overlay network, persistent storage and load balancer to virtual or physical hosts. It also includes other components of a container ecosystem, such as user and security policy management and an What's the best method of application or service catalog. application modernization for your business? pg. 2 CoreOS Fleet and Tectonic are complementary clustering and orchestration software analogous to Mesos and Marathon. Fleet provides App modernization starts with system aggregation and distributed workload deployment. It also supports knowing how to evaluate PaaS several orchestration technologies, including Kubernetes. Tectonic is a providers pg. 10 commercialized version of CoreOS with the rkt container engine and Kubernetes that includes a GUI management console, regular software updates and technical support. When assessing container management software, think Joyent Triton Data Center is a commercial implementation of the Docker interoperability pg. 17 engine that includes a lightweight OS and hypervisor (SmartOS), orchestration software (ContainerPilot), a management portal and external To choose the right PaaS APIs. ContainerPilot works with Triton -- or other container managers, vendor, know thyself pg. 24 including Kubernetes and Marathon -- to deliver the standard features of an orchestrator, including container service registration, discovery, configuration and monitoring. Evaluate and settle on the container software that's best HashiCorp Nomad is a Docker-compatible container scheduler designed to for business pg. 32 work with the HashiCorp Terraform and its other DevOps products, although the orchestrator itself is open source. HashiCorp promises a packaged enterprise version of Nomad to complement the rest of its Further reading ecosystem.

Page 38 of 42 E-guide

In this e-guide Cloud services that put container software to work

What's the best method of Each major infrastructure-as-a-service (IaaS) vendor offers container application modernization for platforms that layer on a mix of proprietary and open source container your business? pg. 2 software to their core infrastructure.

Amazon ECS is a Docker-compatible container service the uses EC2 App modernization starts with instances with Amazon's proprietary orchestration engine, although APIs knowing how to evaluate PaaS allow users to integrate third-party schedulers, like Marathon. ECS providers pg. 10 deployments can be automated through APIs or using CloudFormation. The service automatically applies software updates, restarts failed containers When assessing container and load-balances -- using Elastic Load Balancing. management software, think ECS integrates with existing AWS offerings, allowing containers to forward interoperability pg. 17 logs to CloudWatch, use Identity and Access Management for user authentication and security policy, and store data and container images in To choose the right PaaS Simple Storage Service. ECS is the simplest way for AWS users to run vendor, know thyself pg. 24 containerized applications. Although ECS has built-in orchestration software, AWS recently open-sourced the Blox management software to enable users to integrate external container clusters controlled by Evaluate and settle on the Kubernetes, Mesos and more into an ECS cluster. container software that's best for business pg. 32 Microsoft's Azure Container Service adds a Docker-compatible container runtime to Azure VMs and uses either Docker Swarm or Mesos DC/OS Further reading (Marathon) for orchestration, making it compatible with most container development tool chains. As with ECS, applications using the Azure

Page 39 of 42 E-guide

Container Service can access other services in the Azure portfolio and are In this e-guide managed through the service's central console, Azure Resource Manager.

Google Container Engine (GKE) is another Docker-compatible container What's the best method of service -- detecting a theme yet? -- that uses Google-developed Kubernetes application modernization for for cluster management and orchestration. GKE provides a container your business? pg. 2 registry, autoscaling of container instances, logging, and it works with Google Cloud's identity and access management and hybrid, VPN-based App modernization starts with networking services. As with other container services, GKE can be managed knowing how to evaluate PaaS through the Google Cloud Console GUI or a Cloud Shell CLI. Like ECS, providers pg. 10 Azure's container service and GKE are the low-friction way of running containerized applications on their respective cloud services and will appeal to existing users. When assessing container management software, think interoperability pg. 17 How to survive in the new frontier

To choose the right PaaS There are no easy answers when it comes to selecting a container platform vendor, know thyself pg. 24 for building modern applications, and the choice will depend on many factors, including an organization's:

Evaluate and settle on the • Expertise in containerized, 12-factor applications; container software that's best • Use of IaaS and strategy, if any, for PaaS; for business pg. 32 • Comfort with open source software and DIY implementations; and • Infrastructure strategy and the roles of cloud services versus building Further reading internal platforms.

Page 40 of 42 E-guide

Given these constraints, businesses should use the following rules of thumb: In this e-guide When initially investigating containerized application architectures and container software, start with the cloud. All of the major services offer environments compatible with the most common container formats, What's the best method of runtimes and orchestration engines that make excellent test and application modernization for development platforms. your business? pg. 2 Also, companies should look to their current IaaS vendors to see what container service they offer. If a company isn't already using IaaS, it should App modernization starts with look first at GKE, since that has a compelling feature set with probably the knowing how to evaluate PaaS best Kubernetes implementation and is complemented by a strong PaaS providers pg. 10 stack -- Google App Engine.

If considering an on-premises implementation, businesses should assess When assessing container their comfort with DIY implementations, since many container software management software, think products are just bundles of open source software. Those looking for a interoperability pg. 17 turnkey, greenfield deployment should start with a packaged suite like Apcera, Rancher or Triton. To choose the right PaaS

vendor, know thyself pg. 24 Further reading

Evaluate and settle on the container software that's best for business pg. 32

Further reading

Page 41 of 42 E-guide

In this e-guide About SearchMicroservices.com

What's the best method of Over 4 million programmers, architects, IT managers, and developers turn to application modernization for our site for industry news, expert advice and peer-to-peer learning your business? pg. 2 opportunities around managing microservices and service-oriented architecture (SOA), application modernization and digital transformation, App modernization starts with Business Process Management (BPM), application integration and APIs, knowing how to evaluate PaaS software containers and microservices design and development, DevOps, providers pg. 10 and more.

Whether you’re looking to solve a specific application architecture problem When assessing container or just trying to stay on top of recent industry developments, our site is your management software, think online portal for in-depth and relevant information. interoperability pg. 17 For further reading, visit us at: To choose the right PaaS http://searchMicroservices.techtarget.com vendor, know thyself pg. 24 Images; Fotalia

Evaluate and settle on the ©2017 TechTarget. No part of this publication may be transmitted or reproduced in any form or by any means container software that's best without written permission from the publisher. for business pg. 32

Further reading

Page 42 of 42