Contents


Top 10 reasons to use IBM Cloud and DevOps Services

Cloud developers, see why IBM Cloud is right for you

Comments

This article was written using the IBM Cloud classic interface. Given the rapid evolution of technology, some steps and illustrations may have changed.

If you have not heard about the cloud revolution in IT, you were probably living in a cave or on another planet for the past 3 years. The cloud is everywhere, and it drastically changes the way information is stored and shared. Cloud computing forces organizations to apply new business models, and teams have to re-invent the way they develop and deliver applications. In this article, I present ten reasons why you should consider IBM Cloud if you plan to create and deploy cloud applications. With extensive support for mobile and web applications, IBM Cloud provides all the services you need to your develop your next brilliant idea.

1. Cloud is mainstream

More and more businesses are moving to the cloud to achieve better flexibility, reduce costs, and enable IT innovation. Cloud computing (the cloud) is comprised of three major layers.

  • Infrastructure as a Service (IaaS) is the foundation that refers to the hardware, storage, and network capabilities.
  • Platform as a Service (PaaS) is the middle layer where you build and deliver cloud applications.
  • Software as a Service (SaaS) is the top layer that provides business services to consumers.

IBM ® Cloud ™ is a cloud platform for building, running, and managing applications. On IBM Cloud, mobile and web developers can easily assemble existing services from IBM or from third-party providers.

As part of IBM Cloud, teams can use IBM Cloud Continuous Delivery to develop rapidly in an open, integrated environment that scales. This SaaS supports collaborative planning, continuous integration, and continuous delivery to help you create better applications in the cloud.

IBM Cloud is based on Cloud Foundry, an open source PaaS. This layer provides middleware services such as data management, integration, or workload management. IBM Cloud provides enterprise-level services that can easily integrate with your cloud applications. IBM Cloud also facilitates and accelerates the provisioning of a cloud infrastructure (storage, network, clustering, virtualization, etc.) so development teams no longer have to worry about the plumbing (hardware, storage). They can focus of what really matters: delivering business value to their clients.

2. Microservices architecture

Microservices architecture is a software architecture style in which complex applications are composed of independently small deployable services. The main idea of microservices is to break monolithic applications into fine-grained, loosely-coupled services to achieve better flexibility, deployability, and scalability. In the image below you can see what it looks like when organizations move from monolithis applications to fine-grained microservices for easier horizontal scaling.

Fine-grained microservices for easier horizontal scaling
Fine-grained microservices for easier horizontal scaling

The IBM Cloud platform supports microservice architecture which is gaining in popularity. A lot of successful companies are adopting this modular approach to deliver better applications in the cloud.

With IBM Cloud, you can create and publish services to represent specific business functionalities. Exposed services are then available to compose cloud applications and your IBM Cloud application might also integrate with other applications via either web services or a message broker.

The IBM Cloud provides the environment to define and expose services and manage them, all in the cloud.

3. Rich catalog of reusable services

Software reuse is a great way to save time. Development teams want to take advantage of assets that have already been created and tested by others. Through its catalog, IBM Cloud provides reusable services to compose or extend the functionality of cloud solutions. The platform helps teams augment their applications with security, messaging, transaction, or integration services.

At the time of writing this article, the catalog contains over 75 services from IBM, third-party vendors, or the cloud community. If you need to build a web app, a mobile app (iOS or Android) or a hybrid cloud solution, you will find many services that you can leverage. Do you need data or big data management? IBM Cloud offers many options for different needs (SQL DB, NoSQL DB, large distributed storage). Maybe you have security concerns. Use scanning services to find vulnerabilities in your applications. Do you want to connect devices or leverage cognitive capabilities? Then review the IBM Cloud Internet of Things capabilities and the different Watson services available.

Whatever your objective, IBM Cloud provides a rich set of services to easily and quickly deliver applications.

Extract of the Bluemix catalog
Extract of the Bluemix catalog

4. Alignment with DevOps approach

IBM DevOps is an enterprise capability for continuous software delivery that enables organizations to focus on innovation and accelerate software delivery. To make the delivery process fast and efficient, IBM DevOps recommends specific practices to plan, develop and test, deploy, and operate applications.

IBM Cloud supports the whole application lifecycle. It provides services for continuous planning, collaborative development and testing, continuous deployment, monitoring and optimization. With IBM Cloud, you have your cloud solution for continuous software delivery using lean and agile principles. IBM DevOps uses the four adoption paths to give you continuous software delivery for faster time to market.

The four IBM DevOps adoption paths
The four IBM DevOps adoption paths

5. Support for hybrid cloud strategy

Most organizations will not move all of their environments to the cloud. They might decide to keep some systems on local physical servers (on premises) for security reasons, or for network constraints. Or simply because the teams are not ready to move them yet. This means that a hybrid cloud is a real need for a lot of us. It relies on a mix of on-premises and cloud services with orchestration between the two platforms.

IBM Cloud offers multiple models to support the hybrid cloud:

  • The Public option gives the flexibility needed to start developing apps in a public cloud.
  • The Dedicated option provides enhanced security and control of a private cloud, hosted and managed by IBM.
  • The Local option (coming Summer 2015) is a private cloud behind your firewall for most sensitive data.

And through integration services, you can always connect cloud applications with enterprise systems of records running on-premises. IBM Cloud provides all the cloud options that fit your hybrid needs.

Public, private, and on-premises solutions for hybrid cloud

6. Comprehensive collaborative environment in the cloud

Cloud computing and microservices architecture provide a lot of significant benefits (flexibility, reuse, granularity). But it also generates new challenges, specifically to deploy, maintain, and integrate multiple versions of services over time. Teams need a robust environment to collaborate efficiently, and to deliver high quality applications.

With IBM Cloud Continuous Delivery , your team can develop, track, plan, and deploy software in one place. From your projects, you can access everything that you need to build all types of apps. After you build an app, you can deploy it to the IBM Cloud. IBM Cloud Continuous Delivery provides these core capabilities:

  • Agile planning, through the Track & Plan service
  • A Web IDE for editing and managing source control from a web browser
  • Source control management (SCM), through Git, Jazz SCM, or GitHub
  • Automated builds and deployments, through the Delivery Pipeline service

With such a powerful collaborative environment, you can go from source code to a running cloud application in minutes. The four main Continuous Delivery capabilities can be seen below.

The four main Continuous Delivery DevOps Services capabilities
The four main Continuous Delivery DevOps Services capabilities

7. Flexibility for development teams

Just as all organizations will not move their systems in the cloud, all developers will not exclusively use a web browser to build and deliver applications. Some teams may prefer a local environment on their desktop to conduct their development activities.

If your team is currently using IBM Rational Team Concert ™ , it is very easy to connect to a IBM Cloud Continuous Delivery project. From your desktop, you can access the source code and the different work items that your team created to track work and progress.

You can also connect to IBM Cloud from any Eclipse client and deploy your JavaScript, WAR (web archive), EAR (enterprise archive) files, and Liberty Profile packaged servers to the IBM Cloud.

Nevertheless, some team members are more productive with their preferred text editor and with a set of command lines. This approach is also supported in IBM Cloud. You can use the Cloud Foundry command line interface to modify applications, service instances, and service bindings. You can also use a simple text editor to write code.

In addition to the comprehensive collaborative environment in the cloud (IBM Cloud Continuous Delivery), teams can decide to work locally from Rational Team Concert, from an Eclipse environment, or from a simple text editor. In the same project, some members can fully work in the cloud while some others are still using their preferred local environment.

Multiple clients to connect to IBM Cloud
Multiple clients to connect to IBM Cloud

8. Polyglot programming

One benefit of microservices is that you can write applications using multiple programming languages. With services exposed as REST APIs, there is no constraint to develop all of them using the same technology. You can mix languages to use the one that is best suited to each problem you need to address.

IBM Cloud provides a set of runtimes to execute an application in the language of your choice. Java, Node.js, and Ruby are some of the options. If you create mobile apps, you can choose from a large set of platforms, including iOS 8, Android, hybrid or JavaScript.

With IBM Cloud, you can assemble services developed by different teams, based on different programming languages.

IBM Cloud available runtimes
IBM Cloud available runtimes

Runtimes are not limited to those shown above. More programming languages will be supported over time. IBM just announced experimental support for ASP.NET 5 in IBM Cloud. If you cannot find the language that you want, you can use the buildpack capability to bring your own runtime on IBM Cloud. Polyglot programming is a need for many organizations, and IBM Cloud makes it real for your cloud solutions.

9. Prototype apps in minutes

As a developer, you know how frustrating it is to be stuck because you have to wait for an environment to be configured. You have completed a piece of code but you cannot fully test it because the server is not ready yet. Or you are able to deploy, but there is no configured database to support your needs.

With IBM Cloud, those days are over. You can set up and configure your development environment in minutes. Need a server to deploy, a messaging system, or a database to test your code? No worries, just add the appropriate service to your IBM Cloud dashboard and start using it right away.

Multiple services bound to a cloud application
Multiple services bound to a cloud application

With IBM Cloud, the creation of an environment for development and prototyping activities has never been so easy. With just a few clicks, add the database of your choice in your environment, and immediately use it. The process is the same if you need a business rule engine, a messaging provider or a Java application server in the cloud.

And you can even go a step further and automate the provisioning of a complete IBM Cloud environment. Imagine that you have an application and you want to share it with others. The Deploy to IBM Cloud service makes it easy. In just one click, IBM Cloud users can duplicate your project, clone your source code repository, create a delivery pipeline and deploy the application.

Project created and deployed in just a click
Project created and deployed in just a click

Try it yourself

Click the button below and see how quick and easy it is to configure and provision an environment (active IBM Cloud account needed). In this example, you will obtain a data management prototype: YummyShopping is a Node.js application that connects to an IBM Cloudant database to store items.

With IBM Cloud, forget about cumbersome environment provisioning and painful configuration. Just focus on development and innovation to deliver business value.

10. Easy deployment

Just like all development teams, those who develop applications for the cloud need to deploy and test often. The process to push an application to the cloud must be quick and simple.

IBM Cloud provides many different options to deploy cloud applications, from the basic command line (Cloud Foundry cf push) to the advanced Delivery Pipeline.

With a DevOps pipeline, you can automate builds and deployment to support continuous integration and continuous delivery. You can configure your environment so that code changes delivered to the team repository are automatically built, tested, and deployed, in just a few steps.

Build, development, and production stages
Build, development, and production stages

The DevOps approach stresses cooperation between software developers and systems operations teams. IBM Cloud supports all your DevOps needs, and makes deployment to the cloud easy and efficient.

Conclusion

This article showed you ten reasons to use IBM Cloud and Continuous Delivery Services:

  1. Cloud is mainstream
  2. Microservices architecture
  3. Catalog of reusable services
  4. Alignment with Continuous Delivery DevOps Services approach
  5. Comprehensive collaborative environment
  6. Support for hybrid cloud strategy
  7. Flexibility for development teams
  8. Polyglot programming
  9. Prototype apps in minutes
  10. Easy deployment

Now here is a bonus reason to use IBM Cloud: The free service plan . A lot of IBM Cloud services are free. And a lot of others have a freemium offering, which means you can use them for free to a certain extent.

As a result, you might end up building, deploying, and managing cloud apps at no cost. The IBM Cloud cost estimation panel; know what to expect each month.

Cost estimation panel
Cost estimation panel

If you need more services or resources, the pay-as-you go model ensures that you are charged only if you exceed your free allowances.

So if you are a cloud developer and you want to develop mobile, web, or hybrid solutions, go to IBM IBM Cloud and explore the different services to create your next cloud application.


Downloadable resources


Comments

Sign in or register to add and subscribe to comments.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=DevOps, Rational, Cloud computing
ArticleID=1009200
ArticleTitle=Top 10 reasons to use IBM Cloud and DevOps Services
publish-date=07072015