Thank you for joining today. This should be interesting, since it is not the typical webinar...
We are going to review the five trends that precipitated the change in application design, the four major outcomes, the need for an alterative approach to data and the four gaps these changes have created in people, process and technology.
The next wave of design, development and delivery is upon us and yet most are ill equipped. Worse yet, they do not know it.
In order to chart a course forward, it helps to know how we got here.
Once you understand the makeup of the people, processes and technologies at play, acting decisively is easy.
Now, I am making some potentially provocative statements and so, I’ll spend just a few minutes introducing myself.
My career started at IBM where I spent over a decade leading teams as a developer and architect;
Building all sorts of compelling innovation that changed the face of the company;
I left IBM as a Distinguished Engineer having most recently influencing the cloud strategy.
JPMorgan was another interesting adventure, where I built an organization around advanced and predictive analytics. Let your imagination run wild and that’s about what we did.
That brings us to MongoDB, where I am an enterprise architect, which means I am also a customer advocate, but better yet, a partner in understanding the technologies of the time and where MongoDB fits.
Most of the businesses doing most of the world’s business are trying to sort out the trend from the transform – there is a fundamental shift and we are going to explore this confluence and intersection.
Lets take a look at these four tends…
If you listened to the zealots a decade ago you would believe that there is no reason to ever pay for software, that it should be free.
Thankfully for most software businesses, open source or not, there viability in software as a business.
The impact of Open Source on the world was disruptive… Disruptive to the institution and Drives viable alternatives in the face of commercial conflict.
Another massive trend … the minute there were web services, there was a need for some to package it all up into an architecture that helped position products. SOA is good. All of SOA is probably less so.
It is very likely that some of you have been working on getting service oriented for a few years with little movement. It is hard to justify expense to a CIO when there is no apparent change in the IT. It takes some vision to believe the expenditure is worth it.
That said, we are at a point where all modern applications demonstrate this level of solution design.
The rise of the app stores where all the plumbing to write software to deliver, sell and manage gets rolled out creating an explosion of software producers – not engineers, just people building things.
Social software and social media rocked the way people we using the Internet.
We went from a consumption model to a production consumption model. To the point where its hard to know if the hype is real or if it’s a side effect.
One thing is for sure, the combination of Mobile and Social created an explosion of data (digital finger prints to photos to video to blog posts etc.)
From forums to creating content to making a living out of being networked.
So, Mobile and Social are another set of collaborative trends contributing to the current landscape.
Lets do a quick review of the following trends – different space.
Parallel computing …
The most exemplar expression is in super computers, where a massive amount of design thinking goes into the most powerful arrangement of hardware technology.
Of course its hard to program in these environments … in fact it wasn’t until the last several years that you even had modern day applications leveraging multiple cores, let alone the Sequoia’s 20 petaflops / second capability.
Grid computing … moving data to compute
Popularized by the search for extraterrestrial intelligence or computing for the greater good was something grids were useful for … however …
People started to realize this was only true if the work units were small enough and if you actually didn’t need access to do the computation.
In walks Hadoop … moving the compute to data
That at nifty programming approach (MapReduce) and a new generation of parallel computing is born.
Edward Tufte (Tuff tee) grew in popularity over the last decade and the design consciousness of data was born.
There were certainly others, but Tufte’s influence is now seen everywhere.
Mainstream data visualization in the Atlantic magazine…
So, we started out with this statement … there has been a fundamental shift in application design …
Someone might say, yeah but those trends cover the last decade … I agree … Yet, we are using for the most part antiquated approaches to modern applications.
Things have changed but most of our architecture have remained the same.
Modern day systems aspire for more and the amount of goopy code written to accommodate it getting unmanageable.
Web, mobile and wearables are the primary platform… yet most companies still maintain a large rich client footprint.
Companies are even leading with mobile first strategies as a way to reinvent their user experiences without having to deal with their legacy rich client and web deployments.
Breaking an application into components is where you decide … am I making a baby step or creating a platform.
When you consider cloud computing, it can either be about outsourcing your hosting – which is actually kind of boring and expensive
It can be about building out a platform so that, instead of solutions being a set of monolithic offerings, they are weaved together with a set of components, each of which is independently scalable, performant, resilient etc.
The maker culture and supporting technology nurtures the rise of innovators and early adopters, driving shorter cycles from experimentation to value.
Companies are hungry for the possibility of being agile and iterative and less exposed.
Analytics moves beyond the most basic of Business Intelligence… the technology and brains are emerging for a new order of data science that is no longer for the select few… in a decade the data scientist will be as common as software engineers.
Consider the following in support of these statements …
Web 2.0 represented not just a technology shift but a conceptual shift … components, aggregation, collaboration, sharing
Almost a revolt against the machine, where crowd sourcing is actually seemingly better than all the number crunching available.
Loosely coupled, well defined extension
Consider Eclipse (Open Source Software for rich client platforms) IDEs etc. Wordpress one of the most popular content management systems for creating websites and blogs
Both are well-defined engines that intentionally expose extension points to that the community is freed up to build loosely coupled but closely integrated offerings.
This approach nurtures the programming democracy and DIY culture shift with plugins that do everything abound.
Quickly lets look back at the Web 2.0 image …
The bottom half is really about Engagement – creating content and leaving fingerprints
Content sharing, tagging, rating, recommending etc. Socially connected … not just me and the content, but me and everyone I know.
This is a creative depiction from Ogilvy captured about a talk on recommendation engines at South by Southwest. All this data … fingerprints and all … drives the possibilities of getting the right content to the right person at the right time.
Consider the ultimate in personalization – Prototype – a game trailer that embeds your Facebook content to create the ultimate in personalization.
Its not like Facebook did anything special or Prototype did any heaving crunching … this is about understanding who you are and showing you elements that shift the perception from generic to tailor made.
The evolution of technology, Consumer driven experiences Cultural shifts
Give rise to NoSQL
The change is substantial.
It use to be a single request as a socket open call with a response on the same socket. Not the first socket is actually a list of all the other calls to make.
One call is now 10, 30 or 50 calls to render a much greater application.
To the point where we have optimizers from Yahoo and others that count these requests and offer strategies to optimize.
Things are getting smaller … simpler application layers like Node.js
Everyone wants to shift to an agile process to reduce overall risk while releasing early and often, capturing the eye-balls and wallets of their target users.
We have content proliferation and rich personalization – together they create fodder for social, crowd sourced information and…
…more advanced and “relevant” analytics.
There is a progression that people seem to find themselves in moving from a RDBMS to more alternative and distributed systems …
Both to find the right fit
To achieve different operating characteristics
If there is a commercial in this entire presentation its this slide.
I am bullish on MongoDB, and have been since I was at IBM, because it addresses all the things I am trying to do with my applications and architecture …
It is not a niche technology
So there are faster cars that drive in a straight line.
Most of use are experienced with problems that are more dynamic than that… in which case a more balanced sports car that is looking to win an endurance race is the answer.
And it delivers on the performance, scale flexibility, consistency, resiliency and automation everyone is trying to achieve.
Data scientists are the next kings and queens of the land … most people think you can take a software engineer and make them learn data, but these guys are an entirely different breed. Hire one data scientist from MIT and you will face the challenge of consuming the output.
Everyone thinks they have this one down, but here is what I see…
Companies are doing waterfall in smaller units. Companies are changing the rules of scrum and losing the social dynamics that make it work Companies are running agile, but allowing technology decisions, standards etc. to convert them back to waterfall during certain stages.
You need to know what to use when …
If a distributed hashtable is the same thing to you as a document store then we have a problem. This is the gap we are talking about. Knowing when to use what and why.
MongoDB makes for an easy answer because it is the only database alternative that actually provides all the capabilities you expect from how most people use RDBMs, which means it works for everything you do.
Distributed system are different.
Distributed systems are different.
My guess is you know a handful that actually understand what this means … have built these kinds of systems and understand the operating characteristics of them.
For example, consider what it takes to be able to take a point in time backup of a distributed system? I bet you could design a solution on the whiteboard. That’s the kind of thinking we have done at MongoDB in the MMS offerings you can use to backup and restore MongoDB.
So in summary …
Consider the layers …
We have the user We have the app We have the platform
We have been creating pressure at the data layer and it only makes sense to meet the increasing personalization, experiences and expectations
The single fat pipe to your single database is no longer viable. (either through cost or technologically)
A cluster of confluences drove the need to an alternative approach do data management
What we are running is no longer an obvious fit for our current and future work
And you already know the answer. So, its not that you wont use other technologies, but there is a very good chance that you will be using MongoDB.
It does what we all need it to do, in a way that lets us act and manage data in ways we have aspired to.
Modern Databases for Modern Application Architectures: The Next Wave of Design, Development and Delivery
The next wave of design,
development and delivery
Enterprise Architect, MongoDB
Brian D. Goodman
I have sat in your chair looking for answers
Source: Elephant by James Fujii @ http://jamesfujiistoryartist.blogspot.com/2010/05/dancing-elephant-april-2010.html
Source: Gorilla by Luigi Lucarelli @ http://loaduniverse.blogspot.com/2012/04/gorilla-sketch.html
13+ years 1.5 years Present
There has been a fundamental
shift in application design,
development and delivery
Service Oriented Architecture
Today’s solutions diverge from
the current running legacy
Hosted on a platform that is …
- Optimized and abstracted
- Elastic, performant, always-on
Shifting from physical to conceptual allowing for
programmatic control, placement, just in time, capx to opx
Sign up for our “ Path to Proof ”
Program and get free expert advice on
implementation, architecture, and
• MongoDB Seattle : September 16, 2014
• MongoDB Boston : October 1, 2014
• MongoDB DC : October 14, 2014
• MongoDB SF : December 3, 2014
Coming to you soon…
Register Now: www.mongodb.com/mongodb-coming-you
Stay tuned after the webinar and take our
survey for your chance to win MongoDB