Category: DevOps at IBM

  • DevOps and PaaS: ‘Give me a platform. Let’s rock, let’s rock, today’

    DevOps and PaaS: ‘Give me a platform. Let’s rock, let’s rock, today’

    Give me a platform. Let’s rock, let’s rock, today.

    – Dewey Finn, School of Rock

    The term Platform as a Service (PaaS) has become overloaded to define any ‘platform’ that provides ‘services’ to its users. The term PaaS is formally defined by NIST as:

    “The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.”

    – The NIST Definition of Cloud Computing, NIST, US Department of Commerce, Sept. 2011

    Like most terms in the IT industry (or to really generalize, the human communication medium known as language), PaaS is overloaded, overused and misunderstood. A quick web search or even a visit to the Wikipedia page on PaaS proves my point.

    I prefer to look at such overloaded terms in context. In this post I am going to look at PaaS thru the lens of DevOps (no surprise to a reader of this website). I will explore what it means to an organization looking to adopt DevOps and leverage the services offered by utilizing a PaaS platform. I will explore and contrast a ‘build your own’ in-house platform as a Service or a subscription based commercial PaaS offered by a vendor. I will use PaaS offerings from IBM to illustrate my points. (Disclosure – IBM pays my mortgage).

    Lets start.

    Defining PaaS:

    The most critical section of NISTs definition of PaaS, that differentiates PaaS from an ‘Infrastructure as a Service’ (IaaS) consumption model for cloud is:

    “… The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.”

    This picture better illustrates the differences.PaaS-IaaS

    As you can see in this picture, what distinguishes the two cloud adoption models – IaaS and PaaS – is how much of the stack is managed by the user (or client) vs how much is managed by the Cloud Platform provider. What is important to highlight is two things:

    1. Every capability in the stack is available as a managed service – this would be a shared, multi-tenant, service available to users, with the underlying implementation abstracted from the user
    2. The Client/user only has to be concerned about managing their own applications, data and user access, leveraging the services available on the platform, which manages the rest

    Platforms as a Service may be either public (IBM BlueMix, CloudFoundry from Pivotal, Google App Engine, etc) or private (hosted CloudFoundry; self built and hosted platform). Organizations may also build their own hosted and managed leveraging multiple technologies, self hosted on a private cloud. For a private instance of course, the organization hosting it in their own data center would be responsible for managing all the services hosted on the platform. Building a PaaS on an IBM PureApplication System, would be a good example.

    DevOps and PaaS:

    When one looks at DevOps on PaaS one has to look at the services that need to be hosted on the platform in order to implement a DevOps services platform. If one looks at a DevOps pipeline and the core components that make up a delivery pipeline up, each of the components need to be available as a service, in order to provide a complete ‘DevOps on PaaS’ solution. Namely:

    DevOps Services

    • Development tools as a service (and/or an ability to connect the services on the platform to a desktop IDE)
    • Build as a service
    • Deploy as a service
    • Test as a Service
    • Monitoring as a Service

    These would be what one refers to ‘DevOps Services’.

    In IBM’s new PaaS offering – Codename: BlueMix (in open beta), these DevOps are services are an inherent part of the platform. There services on Bluemix are:

    • Git hosting as a Service
    • Web based IDE
    • Agile planning & tracking, team collaboration as a Service (Jazz.net)
    • Mobile Quality Assurance (MQA) as a Service
    • Continuous Integration as a Service (Jenkins as a Service)
    • Deployment Automation as a Service (powered by UrbanCode Deploy)
    • Performance Monitoring as a Service

    These capabilities working in concert, provide a Continuous Delivery Pipeline on IBM Codename: BlueMix.

    DevOps as a Service (DaaS?)

    So, to conclude. The value proposition for adopting a PaaS platform is self-evident. If you are an organization that delivers software, and is looking to adopt DevOps, a PaaS offering that includes DevOps services allows you to adopt DevOps at a very low cost of entry. You do not need to craft a Delivery Pipeline and implement the whole Continuous Delivery toolchain. Integrations, hosting, servicing – not your problem. Pay-as-you-go, and allow for scale. It is however, not a viable option for all organizations, as it is a drastic shift in corporate culture and potentially policies. Especially if you look at a public PaaS. If you are a born-on-the-web organization, or an enterprise with born-on-the-web applications, you should take a closer look. Check out Codename: BlueMix at www.bluemix.net.

     

  • Chuck Norris doesn’t need DevOps, but have we beat “What is DevOps” to death yet?

    Chuck Norris doesn’t need DevOps, but have we beat “What is DevOps” to death yet?

    Chuck-Norris-Card (1)Some interesting and lots of the usual around the DeOps blog beat last week and over the weekend. An interesting piece by Daniel Bryant on his Tai-Dev Blog on why “Chuck Norris doesn’t do DevOps”. It is actually a video of a presentation he gave at the recent London Java Community event and is the subject of a talk that Bryant has been working on for some time.  You can also see the slides from the show on slideshare here.

    Chuck Norris doesn’t do DevOps because he doesn’t have to. Chuck can do everything and he can do it by himself. He has no need to work with Dev or Ops, he does it all. But for the rest of us, to get something done we have to work as part of a team. As such we need DevOps to help us work better, faster deeper. So until we are all as good as Chuck Norris, we need to keep at it.

    To understand why Chuck Norris doesn’t do DevOps, do we have to also define DevOps?  Hasn’t been there enough good descriptions of what DevOps is?  Usually when you keep seeing people trying to solve the same issue over and over again, it generally means it hasn’t been done satisfactorily to date. Is this the case with a definition of DevOps? You would think so by how “What is DevOps” blog posts we see.

    Vishal Biyani on his blog last week writes exactly that. It is actually part of one of a multi-part series of blog posts that will according to Biyani cover:

    • Getting basics right: What is DevOps anyway? (This post)
    • It’s all about delivering: CI & CD
    • Configuration Chaos :  Managing your infrastructure, as code!
    • Monitor, measure and move: From logs to performance and beyond
    • Putting it all together: Collaborate, communicate and continuously improve
    • Further Reading

    Giving Biyani credit he refers back to Magnus Hedemark at Redhat. The first part explains the basic premise behind DevOps, a brief history and the motive behind the DevOps movement.

    I think this is what we should do more often. Refer back to a well written definition that we can point to with consistency rather than having as many definitions of DevOps as there are stars in the sky. An example is OlinData who back in January wrote a well done “what is DevOps” post.  It is no worse than countless others I have seen.  The issue, how many more people will write their own definition instead of just pointing at OlinData’s or Dev2Ops.com definition or any others.

    As long as we spend so many cycles defining what DevOps is, we are wasting cycles that we could be using on doing DevOps and expanding DevOps knowledge. I think we have beaten the what it is fairly well by now, let’s move on.

    An example of moving on is the “BlueMIx” 100 Days announced by IBM and written about on this IBM blog. I will be writing more about IBM and BlueMix, but suffice to say here, IBM is scheduling 100 workshops around the world to help Developers do DevOps with some pretty cool tools from Big Blue.  It promises to be a great event if you can get to one in your area.

    Another good example of blogs moving DevOps forward is the Ranger4 blog. They had a good post up with the 7 Habits of Highly Effective Continuous Delivery Experts.  Good article that take it to the next level.

    Anyway, that is my report today. For those that notice these things, I will be handling the Cup o’ Joe blog here for a while, as reading blogs is something I do.  You can write me at ashimmy@devops.com if you have something on your blog you want us to mention.

  • IBM to Acquire Cloudant: Open, Cloud Database Service Helps Organizations Simplify Mobile, Web App and Big Data Development

    ARMONK, N.Y. – 24 Feb 2014: IBM (NYSE:IBM) today announced a definitive agreement to acquire Boston, MA-based Cloudant, Inc., a privately held database-as-a-service (DBaaS) provider that enables developers to easily and quickly create next generation mobile and web apps.  

    Cloudant will extend IBM’s Big Data and Analytics, Cloud Computing and Mobile offerings by further helping clients take advantage of these key growth initiatives. Financial terms were not disclosed.

    Clients across a variety of industries, including gaming, financial services, mobile device manufacturers, online learning, retail and healthcare are already using Cloudant technology.

    “IBM is leading the charge in helping its clients take advantage of big data, cloud and mobile,” said Sean Poulley, vice president, Databases & Data Warehousing, IBM. “Cloudant sits squarely at the nexus of these three key transformational areas and enables clients to rapidly deliver an entirely new level of innovative, engaging and data-rich apps to the marketplace.”

    Organizations are being challenged to quickly create engaging and data-rich mobile and web apps. Mobile device usage is proliferating rapidly worldwide, creating a surging demand for apps and an increased volume of structured and unstructured geographically encoded and globally distributed data.  Five petabytes of data are created every day by mobile phone subscribers around the world. To meet this growing demand, data must be always available and easily accessed by massive volumes and networks of users and devices.

    Cloudant, an active participant and contributor to the open source database community Apache CouchDBTM, delivers high availability, elastic scalability and innovative mobile device synchronization. Cloudant’s JSON cloud-based data service allows mobile and web developers to quickly and easily store and access the explosion of mobile data using an application programming interface (API) that is significantly easier to use than alternatives. Increasingly, developers have embraced NoSQL databases because of their flexibility, and JSON has become the predominant NoSQL database technology for mobile and web app developers.

    “IBM has a rich history in the field of data management, and one that will truly differentiate Cloudant’s technology in the marketplace,” said Cloudant CTO and Co-Founder Adam Kocoloski. “Joining IBM allows Cloudant to innovate faster than ever before, and IBM’s track record in open source software gives us complete confidence in our ongoing collaboration with the Apache CouchDB project. Cloudant could not have found a better home than IBM.”

    Cloudant complements IBM’s Big Data and Analytics portfolio beyond traditional data management by providing a database–as–a–service that enables clients to simplify and accelerate the development of engaging and scalable mobile and web apps. Cloudant also is integral to IBM’s MobileFirstsolutions. It enables developers who use Worklight, IBM’s mobile app development software, to quickly create flexible, reliable and scalable apps that include a variety of structured and unstructured data.

    Delivered as a managed cloud service, Cloudant technology ensures that app developers no longer need to be experts in database management, while database administrators (DBA) can focus on higher value tasks beyond day-to-day administration.

    The acquisition of Cloudant will also strengthen IBM’s cloud solutions by providing developers with the tools and resources to build, test, deploy and scale cloud apps on a variety of hosting layers. Cloudant runs on the IBM SoftLayer platform today and extends IBM’s recent investment in the SoftLayer cloud infrastructure. As a global service sold in 140 countries, SoftLayer provides an easy cloud “on-ramp” to help clients quickly deploy mobile capabilities with the security, privacy and reliability of private clouds and the economy, flexibility and speed of a public cloud.

    “Cloudant’s decision to join IBM highlights that the next wave of enterprise technology innovation has moved beyond infrastructure and is now happening at the data layer,” said Cloudant CEO Derek Schoettle. “Our relationship with IBM and SoftLayer has evolved significantly in recent years, with more connected devices generating data at an unprecedented rate. Cloudant’s NoSQL expertise, combined with IBM’s enterprise reliability and resources, adds data layer services to the IBM portfolio that others can’t match.”

    Cloudant’s DBaaS extensively leverages the availability, elasticity and reach of the cloud to create a global data delivery network enabling applications to scale larger and remain available to users wherever they are located.  In addition, the Cloudant managed cloud service:

    ·         Stores data of any structure as self-describing JSON documents

    ·         Leverages a multi-master replication system and advanced distributed design principles to achieve elastic database clusters that can span multiple racks, data centers, or cloud providers

    ·         Enables global data distribution and geo-load balancing to provide high availability and enhanced performance for applications that require data to be located close to users

    ·         Provides full-text search, advanced geo-spatial and temporal querying, and flexible, real-time indexing

    ·         Integrates via a RESTful application programming interface (API)

    ·         Enables easy data replication and sync for mobile applications, with open source, device-native software libraries

    ·         Offers 24×7 monitoring and management by its Big Data experts

    The acquisition of Cloudant is expected to close in 1Q14. Following the close, Cloudant will join IBM’s newly formed Information and Analytics Group led by Senior Vice President Bob Picciano, a business unit within the IBM Software & Systems Group.

    About Cloudant

    Cloudant provides the world’s first globally distributed database-as-a-service (DBaaS) for loading, storing, analyzing, and distributing operational application data for developers of large and/or fast-growing web and mobile applications. Delivered as a managed cloud service, Cloudant technology accelerates time-to-market and time-to-innovation because it frees developers from the mechanics of data management so they can focus exclusively on creating great applications. It also offers high availability, elastic scalability, and innovative mobile device synchronization. For more information, visit https://cloudant.com/

    For more information about IBM Big Data and Analytics, visit http://ibm.co/bigdataanalytics

    For more information on IBM Cloud, visit http://www.ibm.com/cloud-computing/us/en/

    For more information on IBM MobileFirst, visit http://www.ibm.com/mobilefirst/us/en/

    “Apache,” “Apache CouchDB,” and “CouchDB” are registered trademarks or trademarks of theApache Software Foundation in the United States and/or other countries. All other brands and trademarks are the property of their respective owners.