Buscar

CIOs guide to open application development

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CIO’s guide to 
open application 
development
CIO’s guide to machine learning and analytics
Table of contents
Introduction 1
The cloud’s open origins 5
Connected business platforms 9
Applications as lightweight, portable devices 15
Conclusion 22
Appendix 23
CIO’s guide to open application development | 1
Introduction
Today, information pervades every interaction – and companies are grappling 
with how to extract business value from growing volumes of data. This need is 
driving faster software development cycles in which IT is expected to deliver 
new functionality continuously. Cloud computing makes this possible: it brings 
on-demand scalability and efficiency to computing, allowing companies to 
consume both software and infrastructure flexibly based on need.1 To meet 
ever-rising user expectations, software developers can deploy changes through 
the cloud to users anywhere in the world, instantaneously, from their laptops. 
Given this new reality, it’s no surprise that total spending on cloud services is 
expected to exceed $300 billion by 2020.2 
But adopting cloud tools doesn’t always solve a company’s challenges. Today, nearly every 
IT organization must operate in a hybrid environment where applications take various forms: 
legacy systems that remain on-prem; existing applications migrated to the cloud; new 
applications built with cloud-native approaches (see “Three flavors of applications,” page 3). 
Each of these environments reflects a distinct era of enterprise application development. The 
combination makes for an increasingly complex IT landscape – one in which simply migrating 
to the cloud is not enough.3
CIO’s guide to open application development | 2
These emerging challenges call for new 
approaches to software development. The 
most effective approaches treat the cloud 
as a fundamentally new kind of platform 
– one marked by highly connected, open 
environments. This new emphasis on 
openness has profound implications for 
business. Openness means the latest 
innovation is available to companies (and 
their competitors) instantly through the Web. 
Software is increasingly interoperable and 
portable, helping to free companies from the 
risk of vendor lock-in. Code can be packaged 
and deployed as small, manageable chunks 
so that teams can nimbly deliver new 
functionality to users, multiple times a day.
This CIO’s guide to open application 
development helps IT leaders meet today’s 
challenges by capitalizing on the historic shift 
toward open, connected environments. This 
shift represents an opportunity for companies 
to redefine how they interact with customers, 
partners, suppliers, and their own employees.
This guide explores how CIOs and IT leaders can realize the cloud’s agility promise 
by applying two key strategies:
➊ Using APIs to fuel innovation. 
Application programming interfaces (APIs) let companies tap best-of-breed cloud 
services, promoting innovation by shifting focus away from reinventing the wheel on 
commodified tasks.4 Instead, developers can focus on delivering new business value 
to users. Beyond consuming APIs, companies can participate in digital ecosystems 
and create new platforms (and, ultimately, new revenue) by exposing their own APIs for 
others to consume.
➋ Using containers to power fast, flexible application development. 
With containers, companies can build software in the form of lightweight, portable 
services that can be deployed consistently across environments – whether in a private 
data center or in the public cloud. Containers help to insulate organizations from 
vendor lock-in by separating applications from underlying infrastructure. The latest 
tools give IT a consistent framework to deploy, scale, and manage containers across 
any environment.
CIO’s guide to open application development | 3
Today’s users expect seamless, instantaneous digital experiences. The approaches discussed 
in this guide help companies attain the levels of agility and responsiveness that modern 
consumers demand.
Three flavors of applications: legacy existing and cloud native
Legacy applications that will remain on-prem – together with applications that will migrate to the cloud 
– form important parts of an enterprise’s application portfolio. While modern “cloud-native” approaches 
position teams to deliver new applications with more agility, the key lies in carefully managing this trio of 
application types.
Existing applications may be migrated to VM-based infrastructure in the cloud (Infrastructure as a Service). 
These are x86-based applications running in Windows or Linux that can be migrated as is, including the 
ability to migrate existing software licenses in many cases.5 
Post-migration, business priorities should determine which applications get refactored into cloud-native, 
container-based architectures – and which get forklifted intact. New applications driven by lines of 
business need to move as quickly as possible, without being encumbered by legacy systems that can 
slow development speed.6 Containers can hide much of the legacy implementation detail and complexity, 
exposing only what’s needed as an API. Cloud providers and trusted partners can help organizations 
choreograph what stays and what goes, helping to find the right architectural balance to let developers 
and ops teams hit the ground running.
CIO’s guide to open application development | 4
Our roots
Each week, Google launches more than two billion containers across its data centers around the world.7 
Taken together, these containers house the full range of applications Google runs, including user-facing 
applications such as Search, Gmail, and YouTube.
For two decades, we’ve focused on serving our users effectively through the cloud: a unique model of 
computing that calls for a fundamentally different approach to deploying and managing applications. 
Customers value the scale and performance of Google Cloud as a platform for their applications. These 
qualities speak to innovations we’ve made internally in our data centers and in networking.8 Externally, one 
of our most promising innovations is Kubernetes, the container management platform we created and 
contributed into open source – now under the cross-company stewardship of the Cloud Native Computing 
Foundation.9 The incredible momentum of Kubernetes’s adoption inspired this CIO’s guide to open 
application development.
Kubernetes – the Greek word for the pilot or helmsman of a ship – was directly inspired by Google’s cluster 
manager, internally known as Borg.10 Borg allows Google to direct hundreds of thousands of software 
tasks across vast clusters of machines numbering in the tens of thousands. Borg and Kubernetes are the 
culmination of Google’s experience deploying resilient applications at scale. They are designed to remove 
complexity so that developers and ops teams can move fast and focus on delivering new features to users.
Most importantly, Kubernetes provides a foundation for modern application development and operations 
– called DevOps – one proven to keep pace with the responsiveness today’s users demand. Open by 
design, it places control firmly in the hands of customers, not vendors.
https://kubernetes.io/
CIO’s guide to open application development | 5
CHAPTER 1
The cloud’s 
open origins
CIO’s guide to open application development | 6
In 1974, Vint Cerf and Bob Kahn – the two 
pioneering fathers of the Internet – shared their 
design of the Internet openly in the publication 
IEEE Transactions on Communications.11 “Our 
design was intended to be available anywhere, to 
everyone, with no barriers,” Cerf said. “Openness 
was important from the get-go.” Cerf and Kahn’s 
Transmission Control Protocol (TCP) became the 
foundation of the Internet.
Today’s hybrid IT environments reflect the same 
degree of connectedness among systems: 
software is capable of running anywhere, and any 
device connected to the Internet can exchangedata via open standards.12 
IT has traditionally focused on developing and 
deploying software to internal systems. Yet 
the most profound change in today’s operating 
environment is the opportunity to connect with 
external systems and data sources beyond the 
company. Modern IT leaders have an opportunity 
to shape the way applications reach customers 
and other external stakeholders to deliver 
profound business impact.
The economic payoff of openness
As IT teams focus on getting the technology right, it is easy to overlook what has changed 
most dramatically in the last decade: user expectations. Fast connectivity has created 
expectations of immediacy.13 From web search to streaming video, users expect near-
instantaneous performance from familiar consumer products. They expect to move 
seamlessly between consumer and enterprise applications, without degradations in 
performance or quality.14
Users are task-driven: they care that systems fulfill their intent, regardless of whether the 
back-end systems are uniform or exist in silos – or whether systems are local or in the 
cloud. Interoperability is assumed, even if each back-end system comes from a different 
vendor running on a completely different platform. Users have little tolerance for poor 
experiences and take cues from popular consumer applications, where open connectivity 
is pervasive.
Consider the example of a ride-sharing app on a smartphone. A rich map interface shows 
nearby cars in real time. In a single trip, the ride-sharing app reaches out to one or more 
electronic payment systems to handle fare processing; messaging and telephony services 
enable communication between passenger and driver. Newer services let passengers 
order food delivery to coincide with their arrival. The same app surfaces ratings and 
indications of how busy surrounding restaurants are. And of course, the app integrates 
with the ride-sharing company’s own back-end systems, residing on-prem and in the cloud.
CIO’s guide to open application development | 7
Each of these service providers – maps, electronic payments, 
messaging, Internet telephony, food delivery – participates in 
the ride-sharing company’s growth and success. The service 
providers are suppliers to the ride-sharing company; the goods 
along this supply chain just happen to be digital. Critically, 
each connection point in this journey is made possible by 
openness and interoperability on both sides.
Whether today’s applications handle ride-sharing, reservations, 
payments, or connecting to the systems of suppliers and 
partners, mastering how software talks to software is a core 
discipline. It is the foundation of digital ecosystems, which 
help companies to tap into the scale and network effects 
enjoyed by successful platforms like Uber and Airbnb.15 The 
key to these powerful ecosystems is the ability for third parties 
(external to the company) to contribute content organically, 
thereby growing the value of the platform for all users. These 
ecosystems, made possible by open, cloud-based systems, 
present new business opportunities that were impossible in 
the relatively closed environments of the past.
The next section explores how organizations can realize 
the benefits of openness through these kinds of connected 
business platforms.
CIO’s guide to open application development | 8CIO’s guide to open application development | 8
Chapter 1 recap
Public cloud computing’s basis in the Internet 
has allowed it to inherit key qualities of 
openness and interoperability. These qualities 
enable rapid innovation and sharp growth – 
and are vital for competitiveness in today’s 
enterprise environments.
Users care that systems fulfill their intent, 
regardless of whether the back-end systems are 
uniform or exist in silos. Open, interoperable 
systems make seamless experiences possible 
for users regardless of how or where they 
interact with your company.
Mastering how software talks to software is 
essential to participating in digital ecosystems, 
which helps companies to tap into the scale and 
network effects enjoyed by successful platforms 
like Uber and Airbnb.
CIO’s guide to open application development | 9
CHAPTER 2
Connected 
business 
platforms
CIO’s guide to open application development | 10
APIs let software talk to software, communicating through open standards.16 The concept 
of APIs in the enterprise is not new. In the first decade of the 2000s, service-oriented 
architecture (SOA) aimed to standardize services so they could be shared internally by 
business processes.17
The focus of APIs has since shifted from internal to external. In contrast with the 
internally focused integration efforts of the past, today’s service-oriented approaches 
communicate via the Web and face outward. In considering their API strategy, IT leaders 
should start with users external to the company – customers, partners, suppliers – and 
ask how the organization’s assets may be surfaced to these different groups selectively 
and securely. Data, algorithms, and the output of business processes are valuable digital 
assets to offer as external services. These assets – exposed as managed APIs – allow 
outside developers and companies to extend the value of an organization’s assets in 
fresh, unanticipated ways. A flywheel of innovation often ensues. For instance, the digital 
suppliers including maps, electronic payments, Internet telephony, and food delivery likely 
could not anticipate ride-sharing creating such large demand for their services. 
Under this new model, a company’s services reflect external business value relevant 
to consumers – rather than simply reflecting internal system silos. An API serves as 
a public-facing contract that defines how the outside world derives value from an 
organization’s services.
For example, a financial services company might expose a data API that receives a 
stock ticker symbol as input, then returns the latest information about that stock. If the 
consumer supplies an optional date range, the system can surface more information, 
such as market events or SEC filings for that period. Information regarding how and from 
where the service actually sources this information is not accessible to the customer – by 
design. The sources are able to change freely without impact to the end user.
Yet exposing APIs forms only part of the solution. 
Modern API management provides a holistic 
mediation layer, enforcing discipline as systems 
interact locally and through the cloud. 
Today’s API management systems can:
• Help to secure API endpoints through 
authentication, authorization, intrusion 
detection, and encryption
• Scale incoming API calls through load 
balancing and internal routing
• Provide monitoring that displays the health and 
uptime of services
• Run high-quality analytics, trends, and reporting 
on API consumption
• Provide proper version control to ensure that 
changes don’t break API consumers
• Perform protocol and data translation steps to 
ensure interoperability among systems
CIO’s guide to open application development | 11
API management allows developers to tap services (both local and remote) in a way that’s 
centrally managed, auditable, and more secure. At the same time, developers work with the 
business to selectively expose data and processes to consumers externally. This enables 
companies to take part in – or create entirely new – digital ecosystems.18 Today’s top cloud 
providers have proven API management practices to help power these ecosystems, drawn 
from their experience managing some of the most popular services on the Internet.
APIs as business drivers
In industries where the primary product is information – broadcast and print media, 
advertising, entertainment, segments of banking and financial services – companies can 
deliver their products directly (and instantly) to customers. These industries were among the 
first to experience disruption as consumers broadlyadopted digital technologies.
In traditional industries, digital leadership is often overlooked. Take Walgreens, a 115-year-old 
company: Its Photo Prints API allows any mobile app developer to include functionality for 
users to send photos to any of over 8,000 Walgreens locations for physical printing. With every 
photo order placed and picked up at a local store, the participating app developer can earn a 
revenue share.19 Walgreens also offers a Pharmacy Prescription API that allows users to order 
prescription refills within third-party mobile apps, such as health apps like Glow and WebMD.20
CIO’s guide to open application development | 12
Walgreens reports that a customer visiting a store following a digital interaction spends six 
times more than a customer who walks in cold. “Customers come in for the [prescription refill] 
and then buy Band-Aids, they buy the candy, they buy the soda pop, they buy anything else that 
we sell in our stores six times as much as they would’ve just walking in. This is really exciting for 
us because it’s grown not only the value of our store, but it’s grown the value of the API program 
which provides all these services,” says Drew Schweinfurth, Walgreen’s developer evangelist.21
Many of the most promising opportunities for APIs as business drivers remain untapped. 
Established industries that traditionally haven’t attracted digital-native talent have great 
potential: manufacturing, industrial goods, retail, public sector, and healthcare. Customer 
focus in these industries might manifest as connected products where physical devices send 
data to APIs in the cloud. It may take the form of delivering analytics to users, or making it 
easy for external entities to transact with the business efficiently.22 For service industries, 
APIs facilitate communication with customers through familiar web and mobile experiences.
As companies begin to incorporate APIs into their technology strategy, it’s crucial to 
remember that technology and business-model innovation go hand in hand. The real potential 
of cloud computing is in business-model innovation. To drive business impact, IT leaders 
should start with the business and ask where they can take the customer.
CIO’s guide to open application development | 13
Google Maps is one of the industry’s most visible applications – and one of the most widely used sets of 
APIs in the world. Mapping-related use cases span industries, serving as the geographical engine behind 
everything from modern ride-sharing services to real estate apps to today’s most popular mobile games. 
Behind the application facade, Google Maps offers a collection of APIs: 
• Places API, connecting users to information 
about millions of places
• Embeddable maps that work natively in web, iOS, 
and Android platforms
• Street View Image API serving real-world 
imagery and panoramas
• Geocoding API that converts between addresses 
and geographic coordinates
• Distance Matrix API that shows travel time and 
distance between
Along with several other APIs – including a service that can tell you the elevation of any point in the world 
– it’s easy to see the wide-ranging applicability of these APIs. The impact of each of these APIs is amplified 
when applied to use cases the original team may never have imagined. As an ecosystem, developers and 
companies on both sides of these APIs win. Teams are able to amplify their productivity and have access to 
the best services available, just an API call away.
https://cloudplatform.googleblog.com/2016/09/bringing-Pokemon-GO-to-life-on-Google-Cloud.html
CIO’s guide to open application development | 14CIO’s guide to open application development | 14
Chapter 2 recap
To create value, IT needs to move away from 
the static mindset of internal applications and 
harness the potential of platforms. Platforms 
allow external developers and organizations to 
build new value on top of existing assets.
APIs can serve as public-facing contracts that 
define how the outside world derives value 
from an organization’s services; modern API 
management creates a mediation layer to help 
ensure APIs are centrally managed, auditable, 
and more secure.
APIs can be powerful business drivers, 
especially in established industries where digital 
opportunities may be overlooked. Walgreens 
is a 115-year-old company using modern API 
management to drive engagement by connecting 
digital and physical experiences for its customers.
CIO’s guide to open application development | 15
CHAPTER 3
Applications 
as lightweight, 
portable devices
CIO’s guide to open application development | 16
APIs hold powerful potential for businesses. But 
to keep pace with the digital ecosystem, IT teams 
need ways to build and deploy applications tailored 
to – rather than working against – the connected, 
multi-platform nature of the cloud. Forklifting old 
methods onto newer platforms is unlikely to yield 
gains in development velocity or agility.
Containers allow teams to build and deploy 
applications as lightweight, portable services. They 
house application code and the dependencies 
needed to run it, providing fully self-contained 
modules that developers can use without fear of 
incompatibility or conflict. Designed to run anywhere 
and accommodate the wide diversity of enterprise 
applications, containers are an excellent match for 
today’s open, interconnected systems.
Contrast this modern approach with traditional 
VMs. At its core, hardware virtualization was never 
designed to address complexity at the higher levels 
of application development. Traditionally, software 
was delivered as one large unit of complex, entangled 
dependencies. Such monolithic applications 
are difficult to change and become increasingly 
difficult to reason about as projects grow. As a 
result, developer velocity slows, defects increase, 
and technical debt mounts.23 To realize the cloud’s 
benefits, IT teams must take a different approach.
Containers offer several important benefits to IT teams: 
➊ Productivity from reduced complexity 
Because application code and dependencies are encapsulated into containers, 
teams needn’t worry about conflicts or inconsistent environments when 
deploying code – whether the deployment target is a private data center or 
a public cloud provider.
➋ Agility to respond to change 
Containers’ fine-grained footprint is a perfect fit for continuous development, 
integration, and deployment of software. Teams can ship smaller bits of new 
functionality to users more often.
➌ Openness and preventing lock-in 
Companies can avoid technical and vendor lock-in by building software using 
widely adopted open-source tools. The coupling between applications and 
underlying infrastructure should be as tenuous as possible – allowing for 
seamless migration on and off of platforms. Container management tools like 
Kubernetes have portability and interoperability as core design goals
➍ Efficiency 
VMs must boot up entire operating systems in order to achieve isolation among 
applications. Containers start in a fraction of the time and consume far less 
CPU and memory resources.24 A single container measures in megabytes, 
while a VM must house a full copy of the operating system and measures in 
gigabytes, severely limiting portability and how quickly developers can make 
changes to applications.
CIO’s guide to open application development | 17
How organizations remain in control
Technology and vendor lock-in can force organizations down complex, inflexible paths. Take, for example, 
the precursor to modern-day SaaS applications: packaged software products offered by vendors, sometimes 
called COTS (commercial off-the-shelf) software.25 Because no pre-packaged software could meet all of an 
organization’s custom needs, teams wrote custom code in-house that integrated deeply with the vendor’s 
software. Projects born of this approach quickly grew unwieldy, difficult to maintain,and in some cases 
impossible for the vendor to support. Customizations would break when vendors made product updates, and 
moving to a new vendor or platform grew more difficult as developers added code.
In today’s connected environments, the threat of lock-in can still loom. Custom applications written in-house 
depend on a broad ecosystem of cloud services to accomplish tasks. 
Without explicit steps to separate applications from infrastructure, IT leaders can:
• Risk tying their technical (and their contractual) destiny to a single vendor;
• Sacrifice flexibility if any part of an application needs to migrate to another platform; and
• Face escalating complexity by requiring teams to employ different tools for each environment in which they 
deploy software.26
Organizations that adopt open strategies for their applications have a rare opportunity to get their 
foundational architecture right – from the beginning.
CIO’s guide to open application development | 18
A new approach to building and 
deploying software
Modern container platforms take a different approach from the 
closed enterprise systems of the past (see “Rise of Kubernetes,” 
right). Rather than require developers and ops teams to work 
at the level of individual machines, they allow teams to work 
at higher levels of abstraction, independent of underlying 
infrastructure. Developers can break apart and modularize 
software, encapsulating bits of functionality into containers.27
Then, a container management platform like Kubernetes 
can automate the deployment, scaling, and management of 
this software onto any platform. Containerized applications 
deployed this way exhibit resiliency, able to heal automatically 
even if an underlying machine goes down. In fact, unreliability is 
assumed: when a machine fails, Kubernetes will simply assign 
a different, healthy node. The result for end users is a seamless, 
uninterrupted experience. 
Modern container management platforms treat the data 
center as a cohesive “cloud” of machines on which to deploy 
applications. Using these platforms, teams develop and deploy 
applications using a consistent set of tools which remain 
consistent whether the deployment target is a private data 
center or a public cloud provider. Organizations can begin 
application development completely on-prem, then migrate their 
applications to any cloud provider based on business need.
Rise of Kubernetes
Kubernetes is an open-source platform for automating 
deployment, scaling, and operations of application containers 
across clusters of hosts. It is an open, portable platform 
on top of which developers can build applications. Google 
launched the Kubernetes project in 2014, and shortly after 
handed control of the project to the Cloud Native Computing 
Foundation, run by The Linux Foundation. Kubernetes builds 
upon more than 15 years of experience at Google running 
container-based applications in production. These container-
based applications form the basis of popular Google 
applications, including Search, Maps, YouTube, and more.
With Kubernetes, developer and ops teams have a solid 
foundation to:
• Deploy applications quickly and predictably
• Scale applications seamlessly
• Roll out new features with no disruption to users
• Limit hardware usage to only the required resources
The goal of Kubernetes is to foster an open ecosystem of 
components and tools that relieve the burden of managing 
distributed applications – whether on a public cloud 
provider or locally in a private data center.
https://www.cncf.io/
https://www.cncf.io/
https://www.linuxfoundation.org/
CIO’s guide to open application development | 19
Cloud native computing foundation
The CNCF’s stated mission is “to create and drive 
the adoption of a new computing paradigm that 
is optimized for modern distributed systems 
environments capable of scaling to tens of 
thousands of self-healing, multi-tenant nodes.” 
As one of the largest members of The Linux 
Foundation, the CNCF is an independent entity 
governed by cross-company membership. It was 
created to help companies participate and thrive 
in today’s digital environments by promoting the 
cloud-native style of application development.
According to the CNCF’s site, cloud-native computing uses open-source software 
and is:
• Container packaged 
Running applications and processes in software containers as an isolated unit of 
application deployment, and as a mechanism to achieve high levels of resource 
isolation. Improves overall developer experience, fosters code and component reuse, 
and simplifies operations for cloud-native applications.
• Dynamically managed 
Actively scheduled and actively managed by a central orchestrating process. Radically 
improves machine efficiency and resource utilization while reducing the cost associated 
with maintenance and operations.
• Micro-services oriented 
Loosely coupled with dependencies explicitly described (e.g., through service endpoints). 
Significantly increases the overall agility and maintainability of applications. The 
foundation will shape the evolution of the technology to advance the state of the art for 
application management, and to make the technology ubiquitous and easily available 
through reliable interfaces.
https://www.cncf.io/about/charter/
https://www.linuxfoundation.org/
https://www.linuxfoundation.org/
https://www.cncf.io/about/members/
https://www.cncf.io/
CIO’s guide to open application development | 20
Philips Lighting, a global leader in lighting 
based in the Netherlands, wanted to 
transform the way people use lighting 
in their homes. The company aimed to 
connect light bulbs to the Internet, tie 
them to usage data, and make them 
interactive to offer benefits beyond 
basic lighting – for creating amazing 
experiences, home security, or to support 
well-being, like providing the right light for 
daily activities.
To do that, Philips Lighting launched 
Philips Hue connected lighting. “With 
Philips Hue, we don’t just sell light bulbs – 
we sell a way for lighting to change your 
home and life,” says George Yianni, head of 
technologyconnected lighting for the home 
at Philips Lighting and inventor of Hue.
Google Container Engine (powered by 
Kubernetes) and Google Compute Engine 
handle 200 million transactions every 
day, including 18 million remote lighting 
commands. “Google Container Engine 
provides the infrastructure that allows our 
lighting bridge to connect to any number of 
apps and devices,” Yianni says. “It delivers 
a high-performing, flexible infrastructure 
that lets us independently scale 
components for maximum efficiency.”
Philips Hue is also using the Apigee API 
management platform to help manage their 
Container Engine and Kubernetes APIs.
“With the help of Google Cloud Platform, 
we are changing the fundamental business 
model of selling lighting to consumers. 
We’re providing an entirely new set of 
value-based services that transform the 
home, rather than just replacing bulbs that 
burn out,” Yianni says.
CASE STUDY
Philips Hue: Lighting the way 
to home transformation
“With the help of 
Google Cloud 
Platform, we are 
changing the 
fundamental business 
model of selling 
lighting to consumers. 
We’re providing an 
entirely new set of 
value-based services 
that transform the 
home, rather than 
just replacing bulbs 
that burn out.”
Read more ›
http://www2.meethue.com/
https://apigee.com/
https://apigee.com/
https://cloud.google.com/customers/philips/
CIO’s guide to open application development | 21
Chapter 3 recap
To benefit from digital ecosystems, 
IT teams must approach application 
development in ways that take 
advantage of the cloud’s connected, 
multi-platform nature – rather than 
trying to forklift old models and 
practices into the cloud.
Containers house application code 
and the dependencies needed to 
run it, providing self-contained 
modules developers can use 
without fear of incompatibility 
or conflict. Developerscan build 
applications as lightweight, portable 
services that are inherently smaller 
in scope and easier to change, and 
can run anywhere.
In today’s connected environments, 
the threat of lock-in can still loom. 
Organizations must take steps to 
explicitly separate applications 
from infrastructure.
Open-source container management 
platforms like Kubernetes automate 
the deployment, scaling, and 
management of applications. They 
create a layer of abstraction on top 
of underlying infrastructure, allowing 
IT to deploy and run applications 
consistently in any environment.
CIO’s guide to open application development | 22
Conclusion
Today, companies have the opportunity to deliver new value to 
their customers – faster and more efficiently than previously 
possible. For the first time, three driving factors are coming 
together in ways that are accessible to every business:
➊ Cloud technology provides a foundation for faster, cheaper, more 
efficient computing.
➋ APIs allow companies to spend less time reinventing standard 
functionality, and more time innovating. A business’s valuable data 
and processes can in turn be surfaced for others to consume, 
creating new business opportunities.
➌ Containers usher in software practices based on openness, helping 
to accelerate development speed and free organizations from 
vendor lock-in. Container management platforms like Kubernetes 
provide companies a consistent foundation to build and deploy 
applications – locally or in the private and public clouds.
Since the very early days, Google has pushed what’s possible in distributed 
computing to serve our users. We’ve delivered applications to users in 
a way that has led to consistent performance and resilience. Having 
encountered and solved the hard technical issues early, Google Cloud is a 
comprehensive platform on top of which today’s companies can base their 
critical digital initiatives.
We look forward to collaborating with you – engineer to engineer – as 
you transform what’s possible for your customers in today’s digital 
environments. Contact us for a consultation to learn how Google Cloud’s 
experience in building open, connected systems can help your company.
Learn more about what Google Cloud can do for your business.
› Storage & databases › Big data solutions › Machine learning & AI
https://cloud.google.com/why-google/
https://cloud.google.com/products/storage/
https://cloud.google.com/products/machine-learning/
https://cloud.google.com/products/ai/
https://cloud.google.com/solutions/big-data/
https://cloud.google.com/products/storage/
CIO’s guide to open application development | 23
Appendix
1. For the survey question “What were your top reasons to adopt cloud services?” 
global enterprise software decision-maker respondents cited “ease of scalability” 
(33%) and “improved IT infrastructure manageability and flexibility” (31%) as top 
reasons for adopting public cloud services. See Forrester Data, Global Business 
Technographics® Software Survey, 2016.
2. In February 2017, Gartner projected the worldwide public cloud services market 
to grow to a total US$383.4 billion. See Goasduff, Lawrence and Pettey, Christy, 
“Gartner Says Worldwide Public Cloud Services Market to Grow 18 Percent in 
2017,” Gartner, 22 February 2017 (link).
3. For the survey question “What challenges have you faced/expect to face 
deploying/using multiple cloud platforms/environments?” 22% of global enterprise 
respondents cite “migration of apps and data between clouds” as challenges 
faced in hybrid cloud use. See Forrester Data, Global Business Technographics® 
Infrastructure Survey, 2016.
4. “Build with Google Cloud,” Google, 2017 (link).
5. “x86,” Wikipedia (link).
6. The use of containers to “wrap” or containerize existing legacy applications comes 
with a few advantages, including the ability to reduce complexity by leveraging 
container abstractions. The containers remove the dependencies on the underlying 
infrastructure services, which reduces the complexity of dealing with those 
platforms. This means that we can abstract the access to resources, such as 
storage, from the legacy application itself. This makes the application portable, 
but also speeds the refactoring of the legacy applications, since the containers 
handle much of the access to native cloud resources. See Linthicum, David, “From 
Containers to Microservices: Modernizing Legacy Applications,” TechBeacon (link).
7. From Gmail to YouTube to Search, everything at Google runs in containers. 
Containerization allows our development teams to move fast, deploy software 
efficiently, and operate at an unprecedented scale. Each week, we start over two 
billion containers. We’ve learned a lot about running containerized workloads 
in production over the past decade, and we’ve shared this knowledge with the 
community along the way: from the early days of contributing cgroups to the Linux 
kernel, to taking designs from our internal tools and open-sourcing them as the 
Kubernetes project. We’ve packaged this expertise into Google Cloud Platform so 
that developers and businesses of any size can easily tap the latest in container 
innovation. See “Containers at Google,” Google Cloud Platform, 2017 (link).
8. Google’s data-center networks deliver unprecedented speed at the scale of entire 
buildings. They are built for modularity, constantly upgraded to meet the insatiable 
bandwidth demands of the latest generation of our servers. They are managed 
for availability, meeting the uptime requirements of some of the most demanding 
Internet services and customers. Most importantly, our data-center networks 
are shared infrastructure. This means that the same networks that power all of 
Google’s internal infrastructure and services also power Google Cloud Platform. We 
are most excited about opening this capability up to developers across the world 
so that the next great Internet service or platform can leverage world-class network 
infrastructure without having to invent it. See Vahdat, Amin, “A Look Inside Google’s 
Data Center Networks,” Google Cloud Platform Blog, 17 June 2015 (link).
https://www.gartner.com/newsroom/id/3616417
https://cloud.withgoogle.com/build/editors-picks/serverless-computing-accelerates-programmer-productivity/
https://en.wikipedia.org/wiki/X86
https://techbeacon.com/containers-microservices-how-modernize-legacy-applications
https://cloud.google.com/containers
https://cloudplatform.googleblog.com/2015/06/A-Look-Inside-Googles-Data-Center-Networks.html
CIO’s guide to open application development | 24
9. For more information on Kubernetes, Google’s container management platform, 
see the Cloud Native Computing Foundation (“CNCF”) Charter, The Linux 
Foundation, 28 March 2017 (link).
10. Google’s Borg system is a cluster manager that runs hundreds of thousands of 
jobs, from many thousands of different applications, across a number of clusters, 
each with up to tens of thousands of machines. It achieves high utilization by 
combining admission control, efficient task-packing, overcommitment, and 
machine sharing with process-level performance isolation. It supports high-
availability applications with runtime features that minimize fault-recovery time, 
and scheduling policies that reduce the probability of correlated failures. Borg 
simplifies life for its users by offering a declarative job specification language, 
name service integration, real-time job monitoring, and tools to analyze and 
simulate system behavior. See Verma, Abhishek et al, “Large-Scale Cluster 
Management at Google with Borg,” Google, 2015 (link).
11. For more information from this publication, see Cerf, Vinton G. and Kahn, Robert 
E., “A Protocol for Packet Network Intercommunication,” IEEE Transactions on 
Communications, 5 May 1974 (link).
12. For a definition of the Web Services Architecture as well as the functional 
components and the relationshipsof these components, see the W3C Working 
Group Note. This is a public Working Group Note produced by the W3C Web 
Services Architecture Group, which is part of the W3C Web Services Activity. See 
“W3C Working Group Note,” W3C Web Services Architecture Working Group, 11 
February 2004 (link).
13. Google’s research shows that if search results are slowed by even a fraction of a 
second, people search less (seriously: a 400-millisecond delay leads to a 0.44% 
drop in search volume). And this impatience isn’t just limited to search: four 
out of five Internet users will click away if a video stalls while loading. But even 
though the human attention span has become remarkably fickle, much of the 
Web remains slow. The average web page takes 4.9 seconds to load—in a world 
where fractions of a second count, that’s an eternity. See Hoezle, Urs, “The Google 
Gospel of Speed,” think with Google, Google, January 2012 (link).
14. There is a big, important change happening in digital product design. For a 
long time, there has been a clear split between business software (often called 
Enterprise or B2B), and consumer software (B2C, or simply “products”). That split 
is becoming increasingly irrelevant. See Kolko, Jon, “Make Enterprise Software 
People Actually Love,” Harvard Business Review, 12 February 2015 (link).
15. Platform strategists call the cycle in which an ecosystem of developers attracts 
more end users—which in turn attracts more developers (and so on)—a “network 
effect.” Network effects often generate hockey-stickshaped growth curves, like 
those of Windows and iOS, respectively. See Kirschner, Bryan, “Survival of the 
Fittest: Platforms Beat Products,” CIO, IDG, 8 October 2015 (link).
16. The latest buzz is around web APIs, but APIs are neither a new concept nor 
unique to modern distributed computing. APIs have been used with procedural 
languages since well before personal computing and were typically delivered 
as libraries (first used in the 1960s). The separation between the user and 
implementation of function was achieved, but libraries still created strong 
dependencies between the API consumer and the API producer. See Frye, Alan, “A 
Bit of API History,” Benefitfocus, 15 April 2015 (link).
17. For more information on using SOA to enhance application portfolios, see 
Altman, Ross and Knoernschild, Kirk, “SOA and Application Architecture Key 
Initiative Overview,” Gartner, 12 June 2013 (link).
https://www.cncf.io/about/charter
https://research.google.com/pubs/pub43438.html
http://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/cerf74.pdf
https://www.w3.org/TR/ws-arch
https://www.thinkwithgoogle.com/marketing-resources/the-google-gospel-of-speed-urs-hoelzle
https://hbr.org/2015/02/make-enterprise-software-people-actually-love
https://www.cio.com/article/2990412/application-development/survival-of-the-fittest-platforms-beat-products.html
https://www.benefitfocus.com/blogs/design-engineering/bit-api-history
https://www.gartner.com/doc/2513915/soa-application-architecture-key-initiative
CIO’s guide to open application development | 25
18. According to Forrester Research, integrating capabilities and customer data into 
a flexible platform that allows business stakeholders and developers to assemble 
new experiences easily is precisely the unique value that the CIO’s organization 
should deliver. For more information on the business value of digital ecosystems 
and the technologies that comprise them, see Forrester, “Maximize Business 
Value with Fast, Connected Technology,” 15 July 2017 (link).
19. “APIs,” Walgreens (link).
20. Schweinfurth, Drew, “WebMD: New Platform Balance Rewards and Prescription 
API Integration,” Walgreens, adschwein’s blog, 27 April 2015 (link). Schweinfurth, 
Drew, “Introducing Glow: Now with Walgreens Rx Refill!” Walgreens, adschwein’s 
blog, 28 April 2015 (link).
21. “Walgreens, API Management, and the Evangelist’s Tool Belt,” Apigee, 22 February 
2017 (link).
22. Digital transformation initiatives are unfolding differently across verticals and 
organizations based on specific business needs. For more information for 
CIOs and CTOs on how enterprises from across different verticals are using the 
product organization as the catalyst for their digital transformations and how that 
decision is improving their relationships with customers, see Forrester’s “Vertical 
Needs Set the Course for Digital Product Transformations and Strategies,” 7 June 
2017 (link).
23. For more information on technical debt as a motivation for refactoring applications, 
see Ward Cunningham, “Debt Metaphor,” YouTube video, 4:44, 2009 (link).
24. In a study measuring the average boot time for both Docker and VM, Docker’s 
average boot time was 1.5 seconds, while that of VM was 11.48 seconds. See 
Seo, Kyoung-Taek et al, “Performance Comparison Analysis of Linux Container 
and Virtual Machine for Building Cloud,” Advanced Science and Technology 
Letters 66, 2014 (link). Also, Owen Rogers and Jay Lyman of 451 Research report 
that “451 Research believes containers are better placed, at least theoretically, 
to achieve lower TCO (total cost of ownership) than traditional hardware 
virtualization. In fact, we have found that double-digit resource savings are 
achievable even with relatively simple implementations.” See Butler, Brandon, 
“Which Is Cheaper: Containers or Virtual Machines?” NetworkWorld, IDG, 29 
September 2016 (link).
25. Every organization has a perceived software buy-versus-build policy. But one 
policy cannot fit all situations, and more nuanced options are available, such 
as borrow (open-source software) or rent (Software-as-a-Service). For more 
information on guidelines that organizations can use on sourcing software so 
that they can make form-factor decisions that match their architecture principles, 
requirements, and constraints, see Richard and Thomas, Anne, “Decision Point for 
the Build vs. Buy Software Sourcing Decision,” Gartner, 3 July 2012 (link).
26. For more information on ways to prevent or minimize the impacts of vendor lock-
in without refusing to use the IaaS provider’s high-value services, see Kavis, Mike, 
“Don’t Let Vendor Lock-In Fears Devalue Your Cloud Initiative,” Forbes, 21 January 
2016 (link).
27. For microservice-based applications, developers can choose from a variety 
of generalized and specialized container and cloud platform services to best 
implement each microservice. For more information on the business benefits of 
building a service-oriented architecture using containers and cloud platforms, see 
Forrester’s “Designing Microservice Apps for Containers and Cloud Platforms,” 27 
July 2017 (link).
https://www.forrester.com/report/Maximize+Business+Value+With+Fast+Connected+Technology/-/E-RES137523
https://developer.walgreens.com/apis
https://developer.walgreens.com/blog-category/balance-rewards
https://developer.walgreens.com/blog/rxapi/glow
https://apigee.com/about/tags/developer-evangelism-0
https://www.forrester.com/report/Vertical+Needs+Set+The+Course+For+Digital+Product+Transformations+And+Strategies/-/E-RES137944
https://www.youtube.com/watch?v=pqeJFYwnkjE
http://onlinepresent.org/proceedings/vol66_2014/25.pdf
https://www.networkworld.com/article/3126069/cloud-storage/which-is-cheaper-containers-or-virtual-machines.html
https://www.gartner.com/doc/2071619/decision-point-build-vs-buy
https://www.forbes.com/sites/mikekavis/2016/01/21/dont-let-vendor-lock-in-fears-devalue-your-cloud-initiative/#31e8de3f294b
https://www.forrester.com/report/Designing+Microservice+Apps+For+Containers+And+Cloud+Platforms/-/E-RES138811

Continue navegando