cloud-native - august schellcontinuous integration and continuous delivery (ci/cd) allows changes in...

12
CLOUD-NATIVE: ACHIEVING FASTER DEVELOPMENT AND FACILITATING TEAMWORK BETWEEN DEVELOPERS AND IT

Upload: others

Post on 20-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

CLOUD-NATIVE: ACHIEVING FASTER DEVELOPMENT AND FACILITATING TEAMWORK BETWEEN DEVELOPERS AND IT

Page 2: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

TABLE OF CONTENTS

IntroductionThe Omnipresence of the Cloud Demand for a Better, Faster Development Methodology

Streamlining the Development Process with Developer-Ready Infrastructure

DevOpsContinuous Integration and Continuous Delivery (CICD)MicroservicesContainers

Operationalizing the Cloud-Native MethodologyPivotal Cloud FoundryVMware Cloud Foundation

ConclusionHow Cloud-Native Accelerates Delivery and Gives Developers FreedomReferences

Page 3: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

INTRODUCTION

The Omnipresence of the Cloud

Today, there are very few applications being created that aren’t born in and for the cloud. There’s no way around developing applications specifically for cloud platforms—the cloud model is scalable, efficient, fully redundant, and routinely used by the masses, from federal agencies to the enterprise. While local and colocated servers will remain, they’re not viewed as the panacea that the cloud is. According to a study conducted by Peak 10:

• 70% of businesses plan to increase cloud usage within the next 2-4 years

• Over the next 2-4 years, IT decision makers report that cloud usage will increase from 23% of infrastructure to 38%1

Cloud-native is all about building and deploying applications for the widely used cloud model to maximize efficiency, make management easier, and give application developers greater freedom. It’s a development methodology geared toward the endless, on-demand, pay-as-you-go computing power available to businesses as a result of the cloud. For development projects, capital investment isn’t much of a focus anymore, as organizations are either building their own infrastructure or leveraging public clouds when possible. Since IT has already budgeted for cloud capacity and jumped through the necessary regulatory hoops, time to market is expected to be significantly faster, which means operators have a better shot at reaching or exceeding their goals for an innovative application—if it’s developed quickly.

Page 4: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

Demand for a Better, Faster Development Methodology

Prior to the proliferation of cloud-native design methodologies, the traditional development approach involved more bureaucracy. Guidelines, rules, and inflexible steps that both developers and IT personnel had to abide by dominated the process of bringing an application to life. At each stage, manual interference was required, which actually achieved the opposite of the intended effect. According to VMware, the inflexibility of the traditional development methodology resulted in:

• More errors• Project delays• Inconsistency• Overall ineffiency2

In taking the cloud-native approach, applications are built and deployed quickly to a platform that scales easily and utilizes autonomous hardware, by separate development teams who are dedicated to a specific functionality, Pivotal explained.3

Page 5: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

STREAMLINING THE DEVELOPMENT PROCESS WITH DEVELOPER-READY INFRASTRUCTURE The task of IT building cloud environments is not an easy undertaking. Here’s where developer-ready infrastructure comes in—it’s the platform upon which organizations can build and operate cloud-native applications. Developer-ready infrastructure significantly reduces manual infrastructure deployment, and it also lessens non-development-related tasks for developers, which results in better productivity. It also delivers secure, software-based compute, storage, operational tooling, and networking specifically for microservice-based application workloads that run in containers.2

Developer-ready infrastructure is made up of four components:

DevOps (or what’s now more often referred to as DevSecOps) is a group effort between developers and IT, aimed at automating software delivery and changes in infrastructure. The idea is to create the conditions necessary for the building, testing, and releasing of applications to happen fast, often, and in a reliable fashion.

Traditionally, IT operations maintain, install, and manage infrastructure, while developers are writing application code separately. DevSecOps combines the efforts of developers with IT to break down silos and enable technology professionals to work together and have a better understanding of project requirements. Developers are more involved in the infrastructure that their code runs on, and IT has better visibility into what developers are doing, as well as the resources they might need. DevSecOps refers to the inclusion of developers, IT security, and operations professionals.

“DevSecOps is the market driver. It’s about constantly making change and constantly improving—it’s about changing the development methodology and achieving truly agile development. You’re developing just in time, always updating, and always making improvements, rather than using a long, protracted development cycle.”

-Ron Flax, Vice President and CTO at August Schell Enterprises

1. DEVOPS (DEVSECOPS)

Page 6: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

Microservices allow developers to independently work on a specific aspect of an application. They break an app down into a group of small, separate parts or services. Each service has its own business capabilities, processes, and communications (typically via a REST API). Microservices can be upgraded, scaled, deployed, or restarted separately from other services that make up an application. They’re supported by an automated system that makes continuous updates without affecting end users.

Modern cloud-native application developers use microservices as a methodology for cloud-based development, taking into account that an instance, whether running as a VM or container, is not persistent. Any instance can exit and disappear, and rather than backing it up and restoring it, a developer can simply instantiate a new one in its place. Before micro-service based applications, traditional applications needed a computer or VM which required meticulous maintenance with persistent storage and patching. Using containers, or cloud in general, significant care and feeding of applications is no longer necessary. A VM or instance can be used as the mechanism for enabling a compute engine to get work done, perform a task for however long it is necessary, and then exit and disappear, leaving behind nothing to maintain. If the service is needed again, it can be resurrected, and any data consumed or provided by this service can be restored from a separate storage implementation. A developer only has to worry about writing, fixing, and maintaining their code, and IT only has to worry about providing the means to execute or run it.

Netflix is an excellent example of microservices at work.

Think about how Netflix is delivered: it works with mobile phones and tablets, DVRs that have the Netflix client built-in, laptops through a browser, and other devices such as Apple TV or Amazon Fire. Netflix works through a multitude of delivery platforms, and each one is part of the application, broken up into small microservices.

On the backend, a database keeps track of all of the content and contains data on Netflix subscribers: payment information, length of subscription, and shows and movies watched. There’s also a component of the app that delivers the content to the correct Amazon Web Services data center so it’s closer in proximity to the user, and then delivers that same content to subscribers.

Given that Netflix is such a large application, there are many moving parts and pieces, and it’s updated constantly, though a user would never know it. Whether it’s the client side for iOS on iPhone, the Android interface, web browsers, or the backend database, Netflix accomplishes constant updates and delivery of content using microservices.

2. MICROSERVICES

MICROSERVICES AT WORK FOR NETFLIX

Page 7: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

Continuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities or rigid next steps. Releasing changes becomes a quiet, yet consistent process. Organizations can keep delivery going, risk stays low, and deployment eventually becomes part of the business cycle.

When developing a microservice, it’s necessary to identify which specific inputs are needed and which outputs will be provided as a result. A contract is developed which specifies the development components which must be abided by and relied upon, and as long as the contract isn’t changed or broken, a microservice can be developed without regard for any other part of an application, which means code can be updated and improved continuously. This ability is the essence of integration—being able to do better with code constantly. Delivery is such that when a new release is ready, it’s pushed immediately. The first piece of code written as part of a set is a validation or test that specific code does what the contract says it will, and the output is tested prior to being pushed to production to ensure validity and functionality. The risk of deploying a service that breaks the application is effectively minimized.

3. CONTINUOUS INTEGRATION AND CONTINUOUS DELIVERY (CI/CD)

Page 8: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

Containers eliminate the incompatibilities of running workloads on different cloud environments, allowing developers to more easily write application components and deploy them successfully any place where a selected container platform runs. Containers can run natively on hardware servers or virtual machines. Since they’re not persistent, they offer mechanisms for maintaining persistent data when required. Containers also offer a great way to scale an application based on performance or capacity needs. Many developers are choosing to rely on Kubernetes or Docker Swarm to manage collections of containers in a more efficient and consistent manner.

4. CONTAINERS

Page 9: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

OPERATIONALIZING THE CLOUD-NATIVE METHODOLOGYToday, the market leaders in enabling cloud-native capabilities for on-premise private and hybrid cloud are Pivotal with Cloud Foundry and VMware, via the Pivotal-VMware Cloud-Native Stack.

Pivotal and VMware are making infrastructure and application transformation possible by working together to deliver full stack capabilities that support business innovation. Implementing developer-ready infrastructure brings enterprises secure, software-driven storage, compute, and networking. Operational tooling is optimized for containerized workloads and microservices, reducing manual infrastructure tasks and giving developers the freedom to build and deliver cloud-native applications, VMware explained.3

Pivotal Cloud Foundry is a cloud-native platform which enables the deployment and operation of modern applications. It’s designed to benefit both developers and operators, bringing teams together to enable high-velocity development and unparalleled operational efficiency, as described by Pivotal.4

Through Pivotal Cloud Foundry, both developers and IT teams gain:

• SpeedPivotal Cloud Foundry allows developers to deploy new code on an unlimited basis. Changes in code can end in production quickly.

• Built-in securitySecurity is built into Pivotal Cloud Foundry, supporting adherence to industry compliance requirements and eliminating the risks of retrofitting security.

• ScalabilityApplications can run reliably, at cloud scale. Operations can deliver enterprise SLAs using the highly automated platform that scales at pace with business.

PIVOTAL CLOUD FOUNDRY

Page 10: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

VMware offers two configuration options of the underlying virtualization technology for Pivotal Cloud Foundry.

1. PCF + vSphere vSphere creates the Software Defined Data Center (SDDC) foundation for a uniform hybrid cloud environment, and supports both traditional and cloud-native workloads.

Use Cases:• Leverage existing VMware ecosystem• Support traditional and cloud-native workloads• Maximize current investments in vSphere and VMware

technology

2. Pivotal-VMware Cloud-Native Stack (PCF + Photon) The VMware Photon Platform is specifically designed for the scale, speed, and elasticity requirements of cloud-native workloads. Photon Platform delivers a simple architecture to enable continuous and rapid provisioning and disposal of infrastructure associated with cloud-native workloads.

Use Cases:• Work on new, cloud-native application development without the

need to support existing applications• A single, integrated cloud-native platform with a unified

purchase, deploy, manage, and support model is preferred• Infrastructure to quickly adapt to churn resulting from dynamic

scale is necessary

VMWARE

Page 11: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities

CONCLUSION

Here’s what businesses really get from cloud-native:

• Competitive advantage, thanks to the cloud. It’s not all about IT cost savings anymore. This is the era of software, and the faster applications are built and delivered, the faster customers are satisfied.

• Flexibility for IT teams—it doesn’t matter which cloud is used. Teams can migrate and distribute applications across their preferred private, hybrid or public cloud and adhere to internal priorities and budget constraints.

• Freedom for developers—they’re not burdened with writing code that has to work across an array of cloud infrastructures so much as they’re focused on writing code that brings value to customers, and they’re doing it solely for the microservices they’re responsible for.

By bringing together previously disparate technology teams and deploying the right solution set, businesses are empowered to embrace digital transformation and accelerate the rate at which applications are delivered, and as a result, make customers happier faster, thus enabling IT to deliver at the speed of business.

August Schell Enterprises is a partner to both VMware and Pivotal, and we’re focused on helping enterprises and federal agencies enable digital transformation, which includes delivering cloud-native capabilities and deploying developer-ready infrastructure. If your organization is interested in learning more about how to make cloud native work for you, reach out to an August Schell expert, or call us at (301)-838-9470.

1. The Peak 10 Hybrid IT Study: A Solid Business Case for Mixed Infrastructure. (n.d.). Retrieved June 14, 2017, from http://www.peak10.com/hybrid-it-study/?utm_source=website&utm_medium=hybrid-it-study-homepage-banner&utm_campaign=hybrid-it-study-banner

2. Robertson, D. (2017, May 11). Join VMware at Interop 2017 and See How to Take Containers from Dev-Test to Production. Retrieved May 15, 2017, from https://blogs.vmware.com/cloudnative/2017/05/09/microservices-meets-micro-segmentation-delivering-developer-ready-infrastructure-modern-application-development-2/

3. Digital Transformation with Pivotal and VMware. (n.d.). Retrieved July 10, 2017, from https://www.vmware.com/solutions/cloudnative/photon-pcf.html

4. Pivotal Cloud Foundry. (n.d.). Retrieved July 10, 2017, from https://pivotal.io/platform 5. Cloud-Native. (n.d.). Retrieved May 15, 2017, from https://pivotal.io/cloud-native

HOW CLOUD-NATIVE ACCELERATES DELIVERY AND GIVES DEVELOPERS FREEDOM

AUGUST SCHELL ENTERPRISES

Page 12: CLOUD-NATIVE - August SchellContinuous integration and continuous delivery (CI/CD) allows changes in applications to be released almost instantly. No one has to wait for formalities