{
    "version" : "https://jsonfeed.org/version/1",
    "content" : "news",
    "type" : "single",
    "title" : "The Data Briefing: Microservices and Serverless Apps — A New Direction for Federal Government Mobile Apps? |Digital.gov",
    "description": "The Data Briefing: Microservices and Serverless Apps — A New Direction for Federal Government Mobile Apps?",
    "home_page_url" : "/preview/gsa/digitalgov.gov/cm-topics-button-component/","feed_url" : "/preview/gsa/digitalgov.gov/cm-topics-button-component/2016/08/24/the-data-briefing-microservices-and-serverless-apps-a-new-direction-for-federal-government-mobile-apps/index.json","item" : [
    {"title" :"The Data Briefing: Microservices and Serverless Apps — A New Direction for Federal Government Mobile Apps?","summary" : "Continuing from last week’s column on DevOps and containers, I will explain two other hot trends in IT — microservices and serverless apps. For those who want official federal government guidance, the National Institute of Standards and Technology (NIST) has released a draft special publication on microservices, application containers, and system virtual machines (PDF, 660","date" : "2016-08-24T10:00:00-04:00","date_modified" : "2024-04-02T09:45:13-04:00","authors" : {"bbrantley" : "Bill Brantley"},"topics" : {
        
            "application-programming-interface" : "Application programming interface",
            "emerging-tech" : "Emerging Tech",
            "mobile" : "Mobile",
            "open-data" : "Open Data",
            "software-engineering" : "Software Engineering"
            },"branch" : "cm-topics-button-component",
      "filename" :"2016-08-24-the-data-briefing-microservices-and-serverless-apps-a-new-direction-for-federal-government-mobile-apps.md",
      
      "filepath" :"news/2016/08/2016-08-24-the-data-briefing-microservices-and-serverless-apps-a-new-direction-for-federal-government-mobile-apps.md",
      "filepathURL" :"https://github.com/GSA/digitalgov.gov/blob/cm-topics-button-component/content/news/2016/08/2016-08-24-the-data-briefing-microservices-and-serverless-apps-a-new-direction-for-federal-government-mobile-apps.md",
      "editpathURL" :"https://github.com/GSA/digitalgov.gov/edit/cm-topics-button-component/content/news/2016/08/2016-08-24-the-data-briefing-microservices-and-serverless-apps-a-new-direction-for-federal-government-mobile-apps.md","slug" : "the-data-briefing-microservices-and-serverless-apps-a-new-direction-for-federal-government-mobile-apps","url" : "/preview/gsa/digitalgov.gov/cm-topics-button-component/2016/08/24/the-data-briefing-microservices-and-serverless-apps-a-new-direction-for-federal-government-mobile-apps/","content" :"\u003cp\u003eContinuing from last week’s column on \u003ca href=\"/preview/gsa/digitalgov.gov/cm-topics-button-component/2016/08/17/the-data-briefing-devops-and-containers-and-why-they-are-important-to-transforming-federal-government-it/\"\u003eDevOps and containers\u003c/a\u003e, I will explain two other hot trends in IT — microservices and serverless apps. For those who want official federal government guidance, the National Institute of Standards and Technology (NIST) has released a draft special publication on microservices, application containers, and system virtual machines (\u003ca href=\"http://csrc.nist.gov/publications/drafts/800-180/sp800-180_draft.pdf\"\u003ePDF\u003c/a\u003e, 660 kb, 12 pages, February 2016). \u003cdiv class=\"image\"\u003e\n  \u003cimg\n    src=\"https://s3.amazonaws.com/digitalgov/_legacy-img/2016/08/600-x-324-Differences-between-System-Virtual-Machines-and-Application-Containers.jpg\"\n    alt=\"A screen capture of Figure 1 from the PDF file, NIST Definition of Microservices, Application Containers and System Virtual Machines showing the differences between System Virtual Machines and Application Containers.\"/\u003e\u003c/div\u003e\n\n\u003c/p\u003e\n\u003cp\u003eI wrote about \u003ca href=\"/preview/gsa/digitalgov.gov/cm-topics-button-component/2015/02/11/the-api-briefing-two-api-trends-to-watch-in-2015-microservices-and-containers/\"\u003emicroservices and containers\u003c/a\u003e in February 2015 as two API* trends to watch. Both containers and microservices have become widely adopted, although there are some who argue that containers will quickly give way to serverless applications. To understand the transition from containers to serverless apps, let me first explain microservices and how they work.\u003c/p\u003e\n\u003cp\u003eThink about a restaurant. When you first enter the restaurant, a host or hostess will seat you. The host or hostess is the first microservice because his or her function is to determine if there is enough room to seat you in the restaurant. If there is enough room, then the next function is to seat you. There are other duties for the host or hostess, but these are the two major functions.\u003c/p\u003e\n\u003cp\u003eNext, another microservice, the server, visits your table to take the order and transmit it to the kitchen. The server also delivers the food to your table when the kitchen has finished preparing your food. The kitchen is also composed of several microservices such as the sous chef, prep cooks, dishwashers, and other kitchen personnel. What makes these microservices work is they are constantly communicating with each other. The microservices are also loosely coupled with each other. That means, if the dishwasher is not present that night, the other microservices can still function (although another microservice may perform the dishwashing function that night).\u003c/p\u003e\n\u003cp\u003eFor a more technical explanation of microservices, this is a good \u003ca href=\"https://www.youtube.com/watch?v=eDjZRP56HTg\"\u003eintroductory video\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eMicroservices can run on servers whether the server is a physical machine or a virtual machine. Microservices also run well on containers because the containers contain enough server functionality for the microservice to still function. However, microservices developers are moving to the serverless model. The main reason is that going serverless means that developers need not worry about setting up and maintaining a server or container to run the microservice. Serverless does not mean there are no servers. Servers will still be used, but the developer can let the server handle itself while he or she concentrates on building the microservice. \u003cdiv class=\"image\"\u003e\n  \u003cimg\n    src=\"https://s3.amazonaws.com/digitalgov/_legacy-img/2016/08/600-x-441-Cloud-Computing-Collage-Color-mikiekwoods-iStock-Thinkstock-158222053.jpg\"\n    alt=\"Colorful collage of cloud computing apps.\"/\u003e\u003c/div\u003e\n\n\u003c/p\u003e\n\u003cp\u003eMajor cloud hosting companies offer serverless environments for microservices developers. An app developer can create a front-end for an application that uses a collection of microservices to provide functions. The advantages are that microservices can be mixed and matched to handle unique customer demands. There may be a federal government mobile app that handles vacationing at the U.S. national parks. The mobile app uses one microservice to provide lodging information while another app handles reservations for special events. If the user is physically challenged and requires special accommodations, the mobile app can find and incorporate the necessary microservices to allow the physically challenged user to complete transactions.\u003c/p\u003e\n\u003cp\u003eMicroservices and serverless apps offer a great opportunity for federal agencies to collaborate with each other to build citizen-centered mobile apps. Each agency can concentrate on building microservices that are specific to the data assets that each agency possesses. The Census Bureau can create a good set of census data microservices while the Bureau of Labor Statistics (BLS) can create microservices from BLS data. These microservices can be blended into a mobile app. The mobile app can also be configured if the user wants to mix in Department of Veterans Affairs data. These federal government mobile apps can be truly responsive to user needs and help agencies better serve the American public.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e*API – Application Programming Interface. How software programs and databases share data and functions with each other. Check out \u003ca href=\"/preview/gsa/digitalgov.gov/cm-topics-button-component/2013/04/30/apis-in-government/\"\u003eAPIs in Government\u003c/a\u003e for more information.\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEach week, \u003ca href=\"/preview/gsa/digitalgov.gov/cm-topics-button-component/topics/emerging-tech/\"\u003eThe Data Briefing\u003c/a\u003e showcases the latest federal data news and trends. Visit this blog every week to learn how data is transforming government and improving government services for the American people. If you have ideas for a topic or have questions about government data, please contact me via \u003ca href=\"mailto:bill@billbrantley.com\"\u003eemail\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDr. William Brantley is the Training Administrator for the U.S. Patent and Trademark Office’s Global Intellectual Property Academy. You can find out more about his personal work in open data, analytics, and related topics at \u003ca href=\"http://billbrantley.com\"\u003eBillBrantley.com\u003c/a\u003e. All opinions are his own and do not reflect the opinions of the USPTO or GSA.\u003c/em\u003e\u003c/p\u003e\n"}
  ]
}
